一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度密集网络的语音变形检测方法与流程

2021-07-06 18:47:00 来源:中国专利 TAG:
一种基于深度密集网络的语音变形检测方法与流程
本发明涉及信息安全
技术领域
,更具体地说,本发明涉及一种基于深度密集网络的语音变形检测方法。
背景技术
:随着计算机及其它信息技术的发展。不少音频处理软件程序,如audacity、cooledit、praat、基于matlab工具的实时迭代谱图(real-timeiterativespectrogram,rtis)算法、通过语音变形,广泛应用于音频取证、娱乐、隐私保护等领域,这些软件产品的滥用也增加了基于语音的非法行为,如网上欺诈、语音支付、电话聊天等。人们很容易就可以在个人电脑或智能手机上把自己的录音伪装成另外的声音并发放出去,使得说话人的声音实时变化之后传输出去,这样接听方就无法听出说话人的身份。犯罪分子就可以轻松地利用这些工具伪装自己或他人的声音,从而欺骗自动说话人验证(automaticspeakerverification,asv)系统或隐藏说话人的真实身份,为社会带来严重且深远的安全问题。因此,检测语音是否经过变形是至关重要的。1)目前,针对asv系统的语音伪装研究层出不穷。欺骗性语音包括语音转换(voiceconversion)、语音合成(speechsynthesis)及重录语音等欺骗性语音很容易欺骗asv系统,已经被很多研究人员证实了。虽然一些自动说话人验证研究团体正在提出相应的预防对策,但容易混淆真假语音的漏洞很大程度上仍然是未知的。说话人验证系统对不同欺骗攻击还存在一些漏洞,asv系统的防攻击能力还有待进一步提高。技术实现要素:本发明针对现有技术的不足,提供一种基于深度密集网络的语音变形检测方法;该方法不但可以识别待测语音是原始语音还是经过变形伪装的语音,还可以分类出变形语音的同时进一步检测出变形伪装的工具。为了达到上述目的,本发明一种基于深度密集网络的语音变形检测方法,主要包括以下步骤:首先,构建基于卷积神经网络的深度密集学习网络结构,所述网络结构的每个卷积层都会接受其前面所有卷积层作为其额外的输入,并且每个卷积层的输入都是其上一个卷积层的输出;其次,使用小批迭代随机梯度下降对所述网络结构的交叉熵误差进行训练,所述网络结构在输入时频图前,会对语音数据进行预处理,假设x0是原始语音的音高,a是伪装因子,x为变形语音,可以得出x=2α/12·x0;伪装因子的取值为[-11,11]中的任意整数,之后再对数据进行标准化处理,标准化公式为其中e[x]是特征均值,var[x]是特征方差;第三,将待测语音的时频特征输入到已经训练好的深度密集网络结构中,网络结构中softmax层通过伪装因子来判断待测语音的真伪并识别出伪装语音对应使用的伪装工具,从而输出检测结果。作为上述方案的进一步改进,所述softmax层在检测输出前加入了一个全局均值池化层。作为上述方案的进一步改进,所述伪装工具包括audacity、cooledit、praat和rtisi。本发明不但可以识别待测语音是原始语音还是经过变形伪装的语音,还可以分类出变形语音的同时进一步检测出变形伪装的工具。该方法识别判断不仅精度高效果好,而且通用性强。附图说明图1为本发明的深度密集网络结构示意图;图2为密集神经网络结构的denseblock结构示意图;图3为密集神经网络各网络层的内部结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参照图1~3,本发明一种基于深度密集网络的语音变形检测方法,主要包括以下步骤:首先,构建基于卷积神经网络的深度密集学习网络结构,所述网络结构的每个卷积层都会接受其前面所有卷积层作为其额外的输入,并且每个卷积层的输入都是其上一个卷积层的输出。其次,使用小批迭代随机梯度下降对所述网络结构的交叉熵误差进行训练,所述网络结构在输入时频图前,会对语音数据进行预处理,假设x0是原始语音的音高,a是伪装因子,x为变形语音,可以得出x=2α/12·x0;伪装因子的取值为[-11,11]中的任意整数,之后再对数据进行标准化处理,标准化公式为其中e[x]是特征均值,var[x]是特征方差。第三,将待测语音的时频特征输入到已经训练好的深度密集网络结构中,网络结构中softmax层通过伪装因子来判断待测语音的真伪并识别出伪装语音对应使用的伪装工具,从而输出检测结果。所述softmax层在检测输出前加入了一个全局均值池化层。所述伪装工具包括audacity、cooledit、praat和rtisi。数据处理方面,理论上,伪装因子的取值为[-11,11]中的任意整数。当取值为[1,11]内时,语音频谱会扩展,进而音调升高;反之,频谱收缩,音调降低。当伪装因子的绝对值越小,其构成的欺骗语音越接近原始语音,同时为了更好的伪装原始语音,本实验中,所采用的伪装因子范围为[-8,-4]和[4,8],一共10种伪装因子。变形语音会改变原始语音的频率,此种变化是区分变形语音及原始语音的重要依据。为此,本文的实验数据采用语音的时频图。时频图由短时傅里叶变换(short-timefouriertransform,stft)生成,相对于直接输入语音数据,时频图对于变形语音的特征信息有相对密集的分布,更有利于神经网络特征提取。本实验所用的数据,是将原始的语音段切割成1s的语音片段,再对1s的语音段进行stft变化,生成对应的时频图,抽样频率为16khz。在对数据进行标准化时,首先是均值化处理,即对于给定数据的每个特征减去该特征的均值,将数据集的数据中心化到0,这么做的目的是减小整个算法的计算量,把数据从原先的坐标系下的向量组成的矩阵,变成以0为原点建立的坐标系,其主要原理是默认时频图是一类平稳的数据分布,此时,在每个样本上减去数据的统计平均值可以移除共同的部分,凸显个体差异。然后在0均值化的基础上再除以该数据特征的方差,即归一化处理,将数据集各个维度的幅度归一化到同样的范围内。如此一来,在网络训练过程中,就可以加快训练速度,加速权重收敛,稳定损失函数,防止网络训练过程中出现梯度消失或梯度爆炸问题,提高算法性能。而在网络结构中,构建了一个基于卷积神经网络的深度密集学习网络,网络结构如图1所示。因为在传统的卷积神经网络中,随着网络层数的不断加深,结果开始收敛时,网络退化的问题就逐渐暴露出来了:随着网络深度的增加,梯度消失或者爆炸,精确度变得饱和,然后训练精度迅速退化。为了避免此类问题,我们在网络中应用了密集学习结构。密集网络主要还是和残差网络做对比,我们知道残差网络非常的优秀,而密集网络在残差网络的基础上更进一步,思想上有借鉴,但却是全新的结构。密集网络提出了一个密集连接机制denseblock,denseblock结构如图2所示:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入。在密集网络中,每个层都会与前面所有层在通道维度上连接在一起(这里各个层的特征图大小是相同的),并作为下一层的输入。对于一个l层的网络,密集网络共包含个l*(l 1)/2连接,相比残差网络这是一种密集连接。而且密集网络是直接连接来自不同层的特征图,这可以实现特征重用,提升效率。由于密集连接方式,密集网络提升了梯度的反向传播,使得网络更容易训练,因为特征复用参数更小且计算更高效,从而能得到更好的训练效果。本实施例中用的本网络结构共167层,各网络层的内部结构如图3所示,其中,网络的时频图输入尺寸为(90*88),采用3个denseblock,denseblock中每个h操作3×3卷积前面都包含了一个1×1的卷积操作,称为bottlenecklayer,目的是减少输入的特征图数量,一方面降维减少计算量,又能融合各个通道的特征。我们用的网络结构中三个denseblock中的bottlenecklayer个数分别是6、12、64。这里我们用的的k=18,k=72的k代表的是每一层输出的特征图的厚度,即表示每个denseblock中每层输出的特征图个数。resnet,googlenet等网络结构中经常能见到输出特征为上百个,其目的主要是为了提取不同的特征。但是由于densenet中每一层都能直接为后面网络所用,所以k被限制在一个很小的数值,我们的实验中显示我们选择的k有很好的效果。transitionlayer包含1×1的卷积核放在两个denseblock中间,每个denseblock结束后的输出通道个数很多,因为是前面所有层和最后一层concat连接,所以需要用1×1的卷积核来降维。网络的最后加一个全局均值池化层,然后通过softmax层检测,进行评价。训练网络方面,本实施例的网络使用小批迭代随机梯度下降对交叉熵误差进行训练。采用监督学习方法对验证集上的超参数进行优化。下表列出了用于训练网络的一些重要的超参数。在这种结构下,提出的深度残差学习网络模型提供了相当好的识别精度。训练超参数表如下:学习率10-4最小批次大小256β10.9训练次数450000β20.999正则化系数10-4其中,β1、β2分别为adam优化器参数。本实施例中使用了三个语料库,即timit(6300个片段,630个发言者,10段每人,平均持续3秒)、nist(3560个片段,356个演讲者,10段每人,平均持续5秒)和ume(4040个片段,202个演讲者,20段每人,平均持续5秒)。wav格式,8khz采样率,16位量化,单输出。每个语料库分为两组,如下所示。训练套装:timit-1(3000片段),nist-1(2000片段),ume-1(2040片段);测试装置:timit-2(3300片段),nist-2(1560片段),ume-2(2000片段)。每个片段进一步削减成1s的片段。每组中1s片段的数量如下表1所示。数据集片段总数数据集片段总数timit-17996timit-28967nist-118601nist-214589ume-17482ume-26952表1:每组1s片段的数量考虑了四种常用的欺骗方法,即audacity、cooledit、praat和rtisi,它们的欺骗因子介于[-8,-4]和[ 4, 8]之间,共有十个伪装因子。选择这个范围是因为在这项工作中,伪造语音的识别是在人的监督下进行的。因此,当伪装因素过小时,由于人类听觉范围的限制,隐藏源说话人身份的目的就会失败。然而,当伪装因素太大时,伪造的声音听起来不自然,会引起人们的注意。此外,因为伪装因子有十个,欺骗(负面)片段的数量是真实(正面)片段的40倍。为了使正负数据平衡,我们扩大了正面的范围,每800个样本点移动一次,使正面的数量与负面相同。表2:同一数据库下欺骗检测结果实验一:同一数据库的检测结果。在使用同一数据库的情况下,即测试数据集和训练数据集来自同一个语料库。该方法的检测精度如表2所示,从表中我们可以看出本文所用方法和[25]采用的cnn模型相比精度提高了1.84%,3个语料库的检测精度均高于[25]中的检测精度,[26]只用了两个语料库做数据集,因此没有ume语料库的检测精度,本文方法和[26]采用的翻转梅尔倒谱系数(imfcc)统计矩特征的电子变调语音检测方法相比精度提高了1.03%。由此可以看出我们提出的方法优于其他两种方法的,因为densenet模型比传统的cnn具有更深的层数,也就可以提取更多更深的特征,对分类检测更加有利。另外,在传统的cnn模型中,一般只使用深度特征来做决策判别。而在densenet中,由于其特殊的稠密块连接方式,所以得到的不只是深度特征,早期的边缘特征同样保留了下来,在最后的决策中起着重要的作用,从而可以进一步提高准确率。实验二:交叉数据库的检测结果。为了验证本文算法的鲁棒性,需要进行交叉数据库的检测,即检验其在不同语料库上的性能,从三个语料库中选用两个语料库做训练数据集,一个语料库做验证数据集,如表3所示,表中*代表小于1%。表3本方法在交叉数据集上的混淆矩阵从表3中可以看出,在本节实验中我们分别采用(timit1/nist1)、(nist1/ume1)、(ume1/timit1)作为三组训练数据集,ume2、timit2、nist2作为三组测试数据集,语音变形的方法为audacity、cooledit、praat和rtisi。利用上述的密集卷积神经网络模型训练和测试得到如表3所示的检测准确率,我们从表中可以看出检测的准确度均为90%以上,且前两组的检测精度明显要高于第三组的,说明nist训练的模型具有较好的泛化能力。即使跨数据库检测依然有着很高的精确度,说明我们的方法有很好的鲁棒性,并且对比[25]所得到检测结果可以看出我们的精确度是高于他们的,说明我们提出的检测方法是优于他们。在本实施例中,我们的方法相对之前的工作有一定的优势:(1)运用深度学习方法构建深度密集网络分类模型,该网络更易于优化,可以避免因网络层数增加而带来的精确度下降问题;(2)本算法具有通用性,对不同的变形方法都有较好的检测结果;(3)我们的深度密集网络可以很容易地从网络层数的增加中获得精度的提高,比以前的网络产生更好的效果。由此可见,本发明不但可以识别待测语音是原始语音还是经过变形伪装的语音,还可以分类出变形语音的同时进一步检测出变形伪装的工具。该方法识别判断不仅精度高效果好,而且通用性强。最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜