一种基于AMBP的噪声鲁棒性伪装语音检测方法与流程
本发明涉及语音分类技术领域,尤其涉及一种基于ambp的噪声鲁棒性伪装语音检测方法。
背景技术:
近年来,基于生物特征比如指纹、人脸和语音等的身份认证技术发展迅速,其中以语音作为生物身份特征的自动说话人认证技术有了很大的发展,是一种可靠的低成本的身份认证技术。但是一般的传统说话人认证技术容易受到恶意的伪装语音的攻击,使其识别准确率大大下降,近年来很多研究表明伪装语音对说话人认证系统具有很大的欺骗性,于是研究伪装语音检测方法就显得格外重要。伪装语音检测方法是通过对说话人的语音进行分析,提取语音信号的幅度谱特征或者相位谱特征,并采用鉴别器判决出它是真实说话人的语音还是伪装语音。实际情况下,系统面对的大都是未知的伪装语音的攻击,而使用传统的幅度谱特征或者相位谱特征时,效果往往不是很理想。并且大部分的伪装语音检测方法都是在高信噪比的环境下进行的,而实际应用时,待检测语音经常会包含噪声,这种情况下会使得伪装语音检测的效果大大下降。
因此,本发明提出一种基于ambp的噪声鲁棒性伪装语音检测方法。
技术实现要素:
本发明的目的是针对现有技术的缺陷,提供了一种基于ambp的噪声鲁棒性伪装语音检测方法。
为了实现以上目的,本发明采用以下技术方案:
一种基于ambp的噪声鲁棒性伪装语音检测方法,包括:
s1.将含噪声的语音转换为语谱图;
s2.采用自适应中位数二进制模式ambp算法对语谱图进行特征提取,得到语音的纹理特征向量;
s3.利用得到的语音纹理特征向量训练支持向量机,得到语音分类模型,并利用语音分类模型对语音进行检测分类,得到分类结果。
进一步的,所述步骤s1具体包括:
s11.获取含噪声的语音;
s12.对获取的含噪声的语音中的语音信号进行分帧加窗处理,得到多帧短时语音信号,并对多帧短时语音信号中的每一帧语音信号进行快速傅里叶变换;
s13.计算进行快速傅里叶变换后的每一帧语音信号的能量谱密度,得到每一帧语音信号的能量谱密度;
s14.对得到的能量谱密度取对数,并进行灰度映射处理,得到含噪声的语音的语谱图。
进一步的,所述步骤s11中获取含噪声的语音,表示为:
x(n)=s(n)+d(n)
其中,x(n)表示含噪声的语音信号,s(n)表示纯净语音信号,d(n)表示噪声信号。
进一步的,所述步骤s12中对多帧短时语音信号中的每一帧语音信号进行快速傅里叶变换,表示为:
其中,m表示每一帧的采样点数,0<m<m-1;x(n,k)表示第n帧语音的频谱。
进一步的,所述步骤s13中得到每一帧语音信号的能量谱密度,表示为:
e(n,k)=|x(n,k)|2=xr(n,k)2+xi(n,k)2
其中,e(n,k)表示每一帧语音信号的能量谱密度;xr(n,k)和xi(n,k)分别表示x(n,k)的实部和虚部。
进一步的,所述步骤s14中对得到的能量谱密度取对数,表示为:
p(n,k)=10log10e(n,k)=10log10|x(n,k)|2=20log10|x(n,k)|
将第n帧语音信号计算得到了m个p(n,k)值,并进行灰度映射处理,得到含噪声的语音的语谱图,表示为:
其中,h(n,k)表示第n帧的第k个值转换的灰度值;p(n,k)表示第n帧的第k个对数能量谱的值;pmin(n,k)表示第n帧中最小的值;pmax(n,k)表示第n帧中最大的值。
进一步的,所述步骤s2具体为:采用自适应中位数二进制模式ambp算法分析整个语谱图,得到纹理特征模式图,并对得到的纹理特征模式图进行统计,得到语音的纹理特征向量。
进一步的,所述步骤s3中训练支持向量机具体为:
提取真实语音库和伪装语音库中所有语音信号的特征向量作为支持向量机的训练集,并对训练集设置标签,表示为:
(xi,yi),i=1,2,3,..,n,xi∈rn,yi∈[-1,1]
其中,n表示训练样本的总数;n表示样本空间的维数;yi表示样本的分类类别;yi=1表示伪装语音;yi=-1表示真实语音;
选用径向基核函数,并引入参数γ和错误惩罚因子c同时进行优化,训练最优支持向量确定一个最优超平面,得到目标函数,表示为:
采用的径向基核函数,表示为:
其中,αi表示每个样本对应的拉格朗日乘子;错误惩罚因子c在确定径向基核函数后,控制错误分类样本的惩罚程度;解中只有一部分αi不为零,所对应的样本为训练所得的支持向量;
求解α,得到语音分类模型,表示为:
其中,b表示分类阈值;xi表示第i个样本向量;xj表示核函数中心(标记向量)。
与现有技术相比,本发明通过将含噪语音变换为语谱图,并利用自适应中位数二进制模式(adaptivemedianbinarypattern,ambp)算法对语谱图进行特征提取来代替传统的特征,并用提取到的特征向量训练支持向量机(supportvectormachine,svm)来对语音进行检测分类,大大提高了伪装语音检测的效果。
附图说明
图1是实施例一提供的一种基于ambp的噪声鲁棒性伪装语音检测方法流程图;
图2是实施例一提供的基于ambp的噪声鲁棒性伪装语音检测的系统框架结构图;
图3是实施例一提供的生成语谱图的流程框架结构图;
图4是实施例一提供的ambp算法流程图;
图5是实施例一提供的svm分类表示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
本发明的目的是针对现有技术的缺陷,提供了一种基于ambp的噪声鲁棒性伪装语音检测方法。
实施例一
本实施例提供一种基于ambp的噪声鲁棒性伪装语音检测方法,如图1-2所示,包括:
s11.将含噪声的语音转换为语谱图;
s12.采用自适应中位数二进制模式ambp算法对语谱图进行特征提取,得到语音的纹理特征向量;
s13.利用得到的语音纹理特征向量训练支持向量机,得到语音分类模型,并利用语音分类模型对语音进行检测分类,得到分类结果。
在步骤s11中,将含噪声的语音转换为语谱图。如图3所示为语谱图的生成过程示意图,具体包括:
s111.获取含噪声的语音;
获取含噪声的语音,表示为:
x(n)=s(n)+d(n)
其中,x(n)表示含噪声的语音信号,s(n)表示纯净语音信号,d(n)表示噪声信号。
由于语音信号s(n)和噪声信号d(n)被认为是不相关的,即e[s(n)d(n)]=0,所以含噪语音信号的频谱可以表示为语音信号的频谱和噪声信号的频谱的叠加,即
x(ω)=s(ω)+d(ω)
语谱图也叫做语音频谱图,其横坐标为时间轴,纵坐标为频率,坐标点的灰度值表示语音频谱幅度,这样语音的某个时刻的某个频点的幅度就可以用对应的灰度值来表示。
s112.对获取的含噪声的语音中的语音信号进行分帧加窗处理,得到多帧短时语音信号,并对多帧短时语音信号中的每一帧语音信号进行快速傅里叶变换;
对多帧短时语音信号中的每一帧语音信号进行快速傅里叶变换(fft),表示为:
其中,m表示每一帧的采样点数,0<m<m-1;x(n,k)表示第n帧语音的频谱。
s113.计算进行快速傅里叶变换后的每一帧语音信号的能量谱密度,得到每一帧语音信号的能量谱密度;
对每一帧语音做了fft之后得到的是一组复数,然后计算每一帧的能量谱密度,得到每一帧语音信号的能量谱密度,表示为:
e(n,k)=|x(n,k)|2=xr(n,k)2+xi(n,k)2
其中,e(n,k)表示每一帧语音信号的能量谱密度;xr(n,k)和xi(n,k)分别表示x(n,k)的实部和虚部。
s114.对得到的能量谱密度取对数,并进行灰度映射处理,得到含噪声的语音的语谱图。
对得到的能量谱密度取对数,表示为:
p(n,k)=10log10e(n,k)=10log10|x(n,k)|2=20log10|x(n,k)|
将第n帧语音信号计算得到了m个p(n,k)值,并进行灰度映射处理(即转换为灰度值),得到含噪声的语音的语谱图,表示为:
其中,h(n,k)表示第n帧的第k个值转换的灰度值;p(n,k)表示第n帧的第k个对数能量谱的值;pmin(n,k)表示第n帧中最小的值;pmax(n,k)表示第n帧中最大的值。然后分别以n和k为横坐标和纵坐标,h(n,k)为数值大小生成二维灰度值图像。
在步骤s12中,采用自适应中位数二进制模式ambp算法对语谱图进行特征提取,得到语音的纹理特征向量。
本实施例采用自适应中位数二进制模式ambp算法分析整个语谱图,得到纹理特征模式图,并对得到的纹理特征模式图进行统计,得到语音的纹理特征向量。
传统的特征提取采用的是lbp算法或mbp算法,采用传统的算法时,效果往往不是很理想,并且大部分的伪装语音检测方法都是在高信噪比的环境下进行的,而实际应用时,待检测语音经常会包含噪声,这种情况下会使得伪装语音检测的效果大大下降。因此,本实施例为了解决采用传统算法存在的问题,提出了采用自适应中位数二进制模式(adaptivemedianbinarypattern,ambp)对语谱图提取特征参数,其算法流程如图4所示。ambp以某一像素点的3×3分析窗口开始,计算窗口内的中心像素值(zi)、最小值(zmin)、最大值(zmax)和中位数(zmed),如果zmin<zmed<zmax,则阈值大小取决于该3×3窗口,否则分析窗口向各个方向扩展1,变成5×5窗口,以此类推。确定分析窗口之后,如果zmin<zi<zmax,则阈值取分析窗口的中心像素灰度值,否则阈值取分析窗口内的中位数,确定阈值后,在3×3窗口内计算该像素点的二进制模式。用ambp分析整个图像矩阵得到纹理特征模式图,然后统计各种模式的数目得到纹理特征向量。
ambp使用局部自适应的分析窗口来生成二进制模式。ambp的分析窗口大小可以随着像素点的变化而改变,而生成的二进制模式大小不发生变化,ambp可以使用超过该像素点3×3邻域的分析窗口内的值作为阈值,而在生成二进制模式时只使用3×3的局部邻域。ambp使用自适应分析窗口内的中心像素或者中位数作为阈值,使其结合了lbp和mbp的特性。ambp根据局部变化使用自适应的分析窗口来生成二进制模式,使二进制模式多样化,以达到更好的识别性能。
在步骤s13中,利用得到的语音纹理特征向量训练支持向量机,得到语音分类模型,并利用语音分类模型对语音进行检测分类,得到分类结果。
支持向量机(supportvectormachine,svm)是机器学习中一个重要的分类器,本专利选用svm作伪装语音检测。svm可以归结为数学中二次优化问题的解决方案,其实质是找出用于区分各类训练样本的最优分类超平面的支持向量。对于在特征空间内线性可分的各类训练集样本,可以将它们正确区分开的超平面有无穷多个,但是使得各类训练样本距分类超平面的几何间隔最大的超平面是唯一的。svm选择训练集中几何间隔最大的超平面作为分类面的分类效果最好,对于未知的测试样本有较好的分类预测功能。如图5所示,方形和圆形表示两类数据集合,y=0为超平面,y=1和y=-1之间的距离为分类间隔,落在直线y=1和y=-1上的点称为样本点,这些点离最优超平面y=0最近,是svm计算时比较重要的点,所以也被称为支持向量。
训练支持向量机svm具体过程如下:
提取真实语音库和伪装语音库中所有语音信号的特征向量作为支持向量机svm的训练集,并对训练集设置标签,表示为:
(xi,yi),i=1,2,3,...,n,xi∈rn,yi∈[-1,1]
其中,n表示训练样本的总数;n表示样本空间的维数;yi表示样本的分类类别;yi=1表示伪装语音;yi=-1表示真实语音;
选用径向基核函数(radialbasicfunction,rbf),并引入参数γ和错误惩罚因子c同时进行优化,来训练最优支持向量确定一个最优超平面,得到目标函数,表示为:
采用的径向基rbf核函数,表示为:
其中,αi表示每个样本对应的拉格朗日乘子;错误惩罚因子c在确定径向基核函数后,控制错误分类样本的惩罚程度;解中只有一部分αi不为零,所对应的样本为训练所得的支持向量;
求解出α之后就可以得到语音分类模型,表示为:
其中,b表示分类阈值,可由支持向量求得;xi表示第i个样本向量;xj表示核函数中心(标记向量)。应用此分类决策函数可对待识别的语音信号的特征分类,达到区分真伪语音的目的。
本实施例通过将含噪语音变换为语谱图,并利用自适应中位数二进制模式(adaptivemedianbinarypattern,ambp)算法对语谱图进行特征提取来代替传统的特征,并用提取到的特征向量训练支持向量机(supportvectormachine,svm)来对语音进行检测分类,大大提高了伪装语音检测的效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除