基于深度学习的抗去同步攻击语音鲁棒水印方法及终端
文献发布时间:2024-04-18 19:57:50
技术领域
本发明涉及语音水印抗去同步攻击技术领域,尤其涉及的是基于深度学习的抗去同步攻击语音鲁棒水印方法及终端。
背景技术
数字化时代的到来,让音频数据的存储和传输变得越来越方便,但与此同时,随着诸如Audacity、AdobeAudition等音频编辑软件的流行,音频数据如音乐和一些有声读物等,也更加容易被盗取和篡改,保护数字内容的版权已成为一个重要问题。在一些有声读物平台如喜马拉雅、荔枝上,通过用户上传的方式,提供了大量的音频资源,在这些平台上,大量的音频资源可以被用户免费下载,而与此同时,这些音频资源容易被盗取并用于商业目的,或是被他人盗用、用于二次创作等,将会给用户和平台造成较大的损失。因此,为了防范盗版问题,加强版权保护,可通过数字水印技术,在用户上传自己的音频之前,将特殊的版权信息添加到原始的音频文件当中,而未经授权的用户无法将这些原始音频材料据为己有,当音频被他人所盗用时,所有者能够提取出音频中的版权信息进行版权保护。不仅如此,通过往音频载体中嵌入独特的标识或数字签名,可以确定音频的所有者或制作人,在必要时进行溯源。此外,音频水印还可以用于验证音频文件的完整性和真实性,通过嵌入特定的水印信息,可以在后续验证过程中确认音频文件是否被篡改或修改过。
同步性问题一直是数字水印领域中的一个重要的研究问题,同步性指的是在数字水印的嵌入和提取过程中,水印的位置和特征应与原始媒体的特征相匹配,以确保水印的准确提取和可靠性。去同步攻击,也被称为禁止提取攻击,是针对音频水印算法的一种攻击手段,旨在破坏数字媒体中水印的同步性,而不是完全去除水印信息。其目的是试图使水印与载体数据失去同步,从而使得水印的相关检测失效或无法提取嵌入的水印。在去同步攻击下,被攻击的数字作品中的水印仍然存在,但是水印信号已经错位,无法满足正常的水印提取过程所需的同步性,会大大降低水印检测的性能,常见的去同步攻击包括裁剪、扰动、重采样等。
近年来,随着深度学习的发展,已经有了许多针对基于深度学习的数字水印算法,而大多数方法主要关注图像水印,音频水印的相关研究较少。且基于深度学习的音频水印算法对于音频的长度变化较为敏感,无法有效应对诸如裁剪、重采样等在实际场景中常见的去同步攻击。故需要一种能够抵抗去同步攻击的深度音频水印算法。
发明内容
本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种基于深度学习的抗去同步攻击语音鲁棒水印方法及终端,以解决现有的基于深度学习的音频水印算法中无法处理去同步攻击的技术问题。
本发明解决技术问题所采用的技术方案如下:
第一方面,本发明提供一种基于深度学习的抗去同步攻击语音鲁棒水印方法,包括:
获取音频数据,对所述音频数据进行分帧处理,并在每一帧音频中嵌入对应的水印,所述水印包括第一同步码和水印信息;
通过预设的滑动窗口提取第二同步码,并计算所述第二同步码与所述第一同步码的相关系数;其中,所述第二同步码为从被攻击后的水印音频中提取的同步码;
获取预设相关系数阈值,根据所述预设相关系数阈值对所述相关系数进行阈值判决,根据判决结果将同步成功的样本点进行分组后解码,得到最终的水印。
在一种实现方式中,所述对所述音频数据进行分帧处理,并在每一帧音频中嵌入第一同步码和水印信息,包括:
对所述音频数据进行分帧处理,对分帧后的每一帧音频进行短时傅里叶变换处理,得到第一系数矩阵;
将所述第一系数矩阵和经过预处理后的水印信息作为编码器的输入信息;通过所述编码器将所述预处理后的水印信息嵌入到所述第一系数矩阵中,输出带水印的系数矩阵,并对输出的系数矩阵进行短时傅里叶逆变换,得到对应的带水印的音频帧;
将每一个完成水印嵌入的音频帧进行拼接,得到最终的水印音频。
在一种实现方式中,所述水印为预设长度的特征序列,其中一半为所述第一同步码,另一半为所述水印信息。
在一种实现方式中,所述将所述第一系数矩阵和经过预处理后的水印信息作为编码器的输入信息,包括:
对所述水印信息进行预处理,将一维的水印信息转换为二维的系数矩阵,得到水印特征矩阵,所述水印特征矩阵的大小与所述第一系数矩阵的大小相同;
将所述第一系数矩阵和所述水印特征矩阵作为所述编码器的输入信息。
在一种实现方式中,所述通过预设的滑动窗口提取第二同步码,并计算所述第二同步码与所述第一同步码的相关系数,包括:
获取一段被攻击的水印音频信号;
采用滑动窗口的形式,通过预设的窗长和窗移提取音频,并通过短时傅里叶变换得到对应的第二系数矩阵;
将所述第二系数矩阵送入解码器中得到所述第二同步码,计算所述第一同步码和所述第二同步码的相关系数。
在一种实现方式中,所述获取预设相关系数阈值,根据所述预设相关系数阈值对所述相关系数进行阈值判决,包括:
将所述第一同步码与所述第二同步码的相关系数,与所述预设相关系数阈值进行对比;
当所述第一同步码与所述第二同步码的相关系数大于所述预设相关系数阈值,判定所述第一同步码与所述第二同步码同步成功,并记录当前时刻的样本点。
在一种实现方式中,所述将同步成功的样本点进行分组后解码,得到最终的水印,包括:
根据所述预设间隔阈值对所有记录得到的样本点进行分组,得到多个样本点组,并从相邻的样本点组中获取样本点数据进行解码,得到最终的音频数据的水印。
在一种实现方式中,所述根据所述预设间隔阈值对所有记录得到的样本点进行分组,得到多个样本点组,并从相邻的样本点组中获取样本点数据进行解码,得到最终的音频数据的水印,包括:
保留各样本点组中对应的相关系数最高的样本点,选择任意两个相邻的样本点组,从所选择的相邻的样本点组中获取样本点数据进行水印提取;
计算每一个水印位出现最多的比特,确定每一个水印位,并将所有确定的水印位作为最终提取的水印。
第二方面,本发明提供一种终端,包括:处理器以及存储器,所述存储器存储有基于深度学习的抗去同步攻击语音鲁棒水印程序,所述基于深度学习的抗去同步攻击语音鲁棒水印程序被所述处理器执行时用于实现如第一方面所述的基于深度学习的抗去同步攻击语音鲁棒水印方法的操作。
第三方面,本发明还提供一种介质,所述介质为计算机可读存储介质,所述介质存储有基于深度学习的抗去同步攻击语音鲁棒水印程序,所述基于深度学习的抗去同步攻击语音鲁棒水印程序被处理器执行时用于实现如第一方面所述的基于深度学习的抗去同步攻击语音鲁棒水印方法的操作。
本发明采用上述技术方案具有以下效果:
本发明通过在每一帧音频中嵌入对应的第一同步码和水印信息;并且,通过从被攻击后的水印音频中提取的第二同步码,可以计算第二同步码与第一同步码的相关系数,并根据预设相关系数阈值对计算的相关系数进行阈值判决,从而根据判决结果将同步成功的样本点进行分组后解码,得到最终的水印;本发明通过同步码匹配提取的方式提升了算法在去同步攻击下的鲁棒性,提升了在针对不同长度音频提取水印时的鲁棒性,实现了对于任意长度音频的水印的嵌入以及在去同步攻击下水印的同步提取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明的一种实现方式中基于深度学习的抗去同步攻击语音鲁棒水印方法的流程图。
图2是本发明的一种实现方式中基于深度学习的抗去同步攻击语音鲁棒水印的水印嵌入和提取网络示意图。
图3是本发明的一种实现方式中基于深度学习的抗去同步攻击语音鲁棒水印的同步提取过程示意图。
图4是本发明的一种实现方式中终端的功能原理图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
本发明提供基于深度学习的抗去同步攻击语音鲁棒水印方法及终端,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
示例性方法
音频鲁棒水印是一种在音频信号中嵌入并提取出对应信息的技术,旨在保护音频内容的完整性和版权。为了防范盗版问题,加强版权保护,可通过数字水印技术,在用户上传自己的音频之前,将特殊的版权信息添加到原始的音频文件当中,而未经授权的用户无法将这些原始音频材料据为己有,当音频被他人所盗用时,所有者能够提取出音频中的版权信息进行版权保护。不仅如此,通过往音频载体中嵌入独特的标识或数字签名,可以确定音频的所有者或制作人,在必要时进行溯源。此外,音频水印还可以用于验证音频文件的完整性和真实性,通过嵌入特定的水印信息,可以在后续验证过程中确认音频文件是否被篡改或修改过。
为了更好地保护音频版权,保证音频水印的准确提取和可靠性,本实施例中提出了一种基于深度学习的抗去同步攻击语音鲁棒水印方法,该方法可以对任意长度音频的水印的嵌入以及在去同步攻击下水印的同步提取,从而解决基于深度学习的音频水印算法中无法处理去同步攻击的问题。对于任意音频,本实施例中同步码匹配提取的方式提升了算法在去同步攻击下的鲁棒性,使用基于空间金字塔池化的水印提取模块提升了在针对不同长度音频提取水印时的鲁棒性,实现了对于任意长度音频的水印的嵌入以及在去同步攻击下水印的同步提取。
在本实施例中,所述基于深度学习的抗去同步攻击语音鲁棒水印方法应用于终端中,所述终端包括但不限于:计算机以及移动终端等设备。
如图1所示,本发明实施例提供一种基于深度学习的抗去同步攻击语音鲁棒水印方法,包括以下步骤:
步骤S100,获取音频数据,对所述音频数据进行分帧处理,并在每一帧音频中嵌入对应的水印,所述水印包括第一同步码和水印信息。
如图2所示,在本实施例中提出一种基于深度学习的抗去同步攻击语音鲁棒水印方法,该方法中网络的整体框架主要由用于水印和同步码嵌入的编码器、为了提升鲁棒性的噪声层、用于水印提取的解码器以及用于检测水印的水印检测网络组成。
在本实施例中,获取音频数据,对于长度为L
在本实施例中,嵌入的水印为预设长度的特征序列,其中一半为第一同步码,另一半为水印信息。第一同步码和水印信息自定义设置,嵌入的水印是长度为L
具体地,在本实施例的一种实现方式中,步骤S100包括以下步骤:
步骤S101,对所述音频数据进行分帧处理,对分帧后的每一帧音频进行短时傅里叶变换处理,得到第一系数矩阵。
在本实施例中,对于长度为L
步骤S102,将所述第一系数矩阵和经过预处理后的水印信息作为编码器的输入信息。
对所述水印信息进行预处理,将一维的水印信息转换为二维的系数矩阵,得到水印特征矩阵,所述水印特征矩阵的大小与所述第一系数矩阵的大小相同;将所述第一系数矩阵和所述水印特征矩阵作为所述编码器的输入信息。
对水印信息的预处理过程为:首先通过线性层将维度映射到H
步骤S103,通过所述编码器将所述预处理后的水印信息嵌入到所述第一系数矩阵中,输出带水印的系数矩阵,并对输出的系数矩阵进行短时傅里叶逆变换,得到对应的带水印的音频帧。
编码器将水印嵌入到音频的短时傅里叶变换系数矩阵中,输出为带水印的系数矩阵,做短时傅里叶逆变换以后得到对应的加水印的音频,此时完成了一帧音频的水印嵌入。
编码器由卷积层和若干个基于压缩和激励块的特征提取模块构成,以音频通过短时傅里叶变换后得到的系数矩阵以及经过预处理后的水印特征作为输入,首先通过一层卷积层将系数矩阵的维度映射至C维,而后用基于压缩和激励块的特征提取模块提取特征,同时不改变特征图的大小。而后将该特征图与水印信息对应的特征图在通道上进行拼接,得到2C×L
步骤S104,将每一个完成水印嵌入的音频帧进行拼接,得到最终的水印音频。
在本实施例中,对于任意的音频,以固定帧长进行分帧,将每一帧送入网络中嵌入对应的同步码和水印信息,对于原始音频末端不满足一帧长度的音频不做嵌入。首先通过短时傅里叶变换将音频帧转换为系数矩阵,同时对水印进行预处理,实现将一维的水印转换为二维的水印特征矩阵,且大小和音频的系数矩阵一样;然后通过编码器将水印嵌入到音频的系数矩阵中,进行短时傅里叶逆变换处理后得到对应的加水印的音频帧;最后将每一帧嵌入水印的音频帧进行拼接得到嵌入水印的音频。
如图1所示,本发明实施例提供一种基于深度学习的抗去同步攻击语音鲁棒水印方法,还包括以下步骤:
步骤S200,通过预设的滑动窗口提取第二同步码,并计算所述第二同步码与所述第一同步码的相关系数;其中,所述第二同步码为从被攻击后的水印音频中提取的同步码。
在本实施例中,步骤S100完成了对水印的嵌入,为了提升水印算法对于不同攻击类型的鲁棒性,通过在每一个训练批次中对水印音频添加不同类型的攻击,让解码器从失真的水印音频中提取出原始的水印信息。在实际提取时,往往需要针对被攻击后的水印音频进行提取。针对去同步攻击导致的水印错位问题,首先会通过同步码进行水印的同步,同步完成后再进行水印的提取。
解码器同样由若干个基于压缩和激励块的特征提取模块组成,同时对特征图做下采样,最终得到W×Y大小的特征图,而后用基于空间金字塔池化(空间金字塔池化:使得任意大小的特征图都能够转换成固定大小的特征向量)的模块对该特征图进行池化后经过线性层得到最终的输出水印W'。
噪声层包含的攻击类型如表1所示。
表1不同攻击类型及其参数设置
步骤S201,获取一段被攻击的水印音频信号;采用滑动窗口的形式,通过预设的窗长和窗移提取音频,并通过短时傅里叶变换得到对应的第二系数矩阵;将所述第二系数矩阵送入解码器中得到所述第二同步码,计算所述第一同步码和所述第二同步码的相关系数。
如图3中第一阶段所示,对于一段被攻击的水印音频,首先通过滑动窗口提取同步码,并标记同步成功的样本点。在实际同步时,对于一段被攻击的水印音频信号A'
具体地,从A'
在本实施例中,通过同步码匹配提取的方式解决了算法在去同步攻击下的水印同步问题,使用基于空间金字塔池化的水印提取模块提升了在针对不同长度音频提取水印时的鲁棒性,实现了对于任意长度音频的水印的嵌入以及在去同步攻击下水印的同步提取。
如图1所示,本发明实施例提供一种基于深度学习的抗去同步攻击语音鲁棒水印方法,还包括以下步骤:
步骤S300,获取预设相关系数阈值,根据所述预设相关系数阈值对所述相关系数进行阈值判决,根据判决结果将同步成功的样本点进行分组后解码,得到最终的水印。
在本实施例中,获取预设的相关系数阈值T,所述相关系数阈值为通过实验确定的一个固定的阈值。根据获取到的相关系数阈值T对计算出的相关系数corr(U
步骤S301,将所述第一同步码与所述第二同步码的相关系数,与所述预设相关系数阈值进行对比。
步骤S302,当所述第一同步码与所述第二同步码的相关系数大于所述预设相关系数阈值,判定所述第一同步码与所述第二同步码同步成功,并记录当前时刻的样本点。
若计算出的相关系数corr(U
若计算出的相关系数corr(U
步骤S303,根据所述预设间隔阈值对所有记录得到的样本点进行分组,得到多个样本点组,并从相邻的样本点组中获取样本点数据进行解码,得到最终的音频数据的水印。
如图3中第二阶段所示,将同步成功的样本点进行分组后解码,得到最终的水印。在本实施例中,对于P'
步骤S304,从相邻的样本点组中进行解码,得到最终的水印。
在本实施例中,保留各样本点组中对应的相关系数最高的样本点,选择任意两个相邻的样本点组,从所选择的相邻的样本点组中获取样本点数据进行水印提取;计算每一个水印位出现最多的比特,确定每一个水印位,并将所有确定的水印位作为最终提取的水印。
具体地,对于样本点组G
在本实施例中,提取水印时,首先设定一个阈值用于提取同步码,首先以窗长为L
以下通过实验验证的方式对上述实施例进行说明:
为了验证该方法的有效性,本发明随机选择了LibriSpeech数据集上500段音频,首先用信噪比和音频质量感知评价分数来衡量水印的不可感知性,而后用同步准确率和虚警率来衡量同步码的有效性,最后用不同攻击下的水印提取正确率来衡量算法的鲁棒性。
从表2可以看到该算法能够实现26.15的信噪比(SNR)值以及4.03的客观音频质量评价指标(PESQ)值,达到了较好的不可感知性。
表2不同方法的不可感知性比较
本发明用虚警率(False Positive Rate)和同步准确率(Detect Accuracy)来衡量同步码的有效性。
其中N
从表3的结果可以看到在不同攻击同步码的虚警率都在2%以下,同步成功率可以达到93%以上,表明了同步码的有效性。
表3同步码的性能
为了全面评估模型的鲁棒性,本发明测试了模型在一些常见的信号处理操作下以及去同步攻击下的准确率,此外,为了更符合实际的应用场景,针对变长的音频进行水印嵌入和提取。具体的实验结果如下表4,5,6所示,表中的-表示方法3对于攻击后变化长度的音频无法解码。本发明用ACC_frame来计算每一帧对应的水印提取准确率,用ACC来计算一段音频对应的水印提取准确率,具体的计算方式如下:
其中w(i)和w'(i)分别表示从一个音频帧中嵌入的水印信息和提取出的水印信息,L
表4与对比方法在常见攻击下的鲁棒性比较
表5与对比方法在去同步攻击下的鲁棒性比较
考虑到裁剪攻击会丢失原始的水印信息,本发明列出了理论上最高的提取准确率作为参考,即若原始的水印被裁剪掉了10%,则其理论上最高的提取准确率为90%,实验结果如表所示,本发明提出的算法经过裁剪攻击后仍然能够重同步的方式找到下一段水印的位置,从而提升水印提取准确率。
表6与对比方法在裁剪攻击下的鲁棒性比较
综上所述,可以看出,本发明提出的算法不论是在一些常见的信号处理操作,如高斯噪声,重量化,重采样等,还是在不同格式的压缩操作,如MP3、AAC等,以及一些去同步攻击,如裁剪、TSM攻击等,都能够较好地从被攻击音频中提取出对应的水印信息。
本实施例通过上述技术方案达到以下技术效果:
本实施例通过在每一帧音频中嵌入对应的第一同步码和水印信息;并且,通过从被攻击后的水印音频中提取的第二同步码,可以计算第二同步码与第一同步码的相关系数,并根据预设相关系数阈值对计算的相关系数进行阈值判决,从而根据判决结果将同步成功的样本点进行分组后解码,得到最终的水印;本实施例通过同步码匹配提取的方式提升了算法在去同步攻击下的鲁棒性,提升了在针对不同长度音频提取水印时的鲁棒性,实现了对于任意长度音频的水印的嵌入以及在去同步攻击下水印的同步提取。
示例性设备
基于上述实施例,本发明还提供一种终端,其原理框图可以如图4所示。
所述终端包括:通过系统总线连接的处理器、存储器、接口、显示屏以及通讯模块;其中,所述处理器用于提供计算和控制能力;所述存储器包括存储介质以及内存储器;所述存储介质存储有操作系统和计算机程序;所述内存储器为所述存储介质中的操作系统和计算机程序的运行提供环境;所述接口用于连接外部设备,例如,移动终端以及计算机等设备;所述显示屏用于显示相应的信息;所述通讯模块用于与云端服务器或移动终端进行通讯。
所述计算机程序被所述处理器执行时用以实现一种基于深度学习的抗去同步攻击语音鲁棒水印方法的操作。
本领域技术人员可以理解的是,图4中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端,其中,包括:处理器和存储器,所述存储器存储有基于深度学习的抗去同步攻击语音鲁棒水印程序,所述基于深度学习的抗去同步攻击语音鲁棒水印程序被所述处理器执行时用于实现如上所述的基于深度学习的抗去同步攻击语音鲁棒水印方法的操作。
在一个实施例中,提供了一种存储介质,其中,所述存储介质存储有基于深度学习的抗去同步攻击语音鲁棒水印程序,所述基于深度学习的抗去同步攻击语音鲁棒水印程序被所述处理器执行时用于实现如上所述的基于深度学习的抗去同步攻击语音鲁棒水印方法的操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。
综上,本发明提供了一种基于深度学习的抗去同步攻击语音鲁棒水印方法及终端,方法包括:获取音频数据,对所述音频数据进行分帧处理,并在每一帧音频中嵌入第一同步码和水印信息;通过预设的滑动窗口提取第二同步码,并计算所述第二同步码与所述第一同步码的相关系数;其中,所述第二同步码为从被攻击后的水印音频中提取的同步码;获取预设相关系数阈值,根据所述预设相关系数阈值对所述相关系数进行阈值判决,根据判决结果将同步成功的样本点进行分组后解码,得到最终的水印;本发明提出基于深度学习的抗去同步攻击语音鲁棒水印方法,可以实现在去同步攻击下水印的同步提取,以解决现有的音频水印算法中无法处理去同步攻击的问题。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
- 基于参数估计的抗RSC攻击鲁棒水印同步方法
- 自适应量化均值去同步攻击鲁棒音频水印方法