录音回放攻击的检测方法及对应检测模型的训练方法与流程

文档序号:19747600发布日期:2020-01-21 18:47阅读:377来源:国知局
录音回放攻击的检测方法及对应检测模型的训练方法与流程

本发明涉及说话人声纹身份认证系统领域,尤其涉及一种基于信道特征模式分析的录音回放攻击的检测方法,以及该检测方法采用的检测模型的训练方法。



背景技术:

声纹是一种重要的生物认证依据,具有获取方便、设备成本低廉、适合远程认证等特点。针对声纹身份认证系统的攻击,即有生物认证系统攻击的共性,又有其特殊性。声纹认证系统的音源端攻击主要有录音回放攻击、说话人仿冒攻击、伪造认证语音攻击3种。

录音回放攻击是指攻击者采用高保真的录音设备录制合法用户进入认证系统时的语音,或通过其他各种手段获得用户的语音样本,然后在声纹身份认证系统的拾音器端通过高保真功放回放,从而达到对声纹身份认证系统实施攻击的目的。随着科技的发展,高质量的廉价录音/播放设备日益增多,而且体积小,实施偷录容易,因此录音回放攻击已成为声纹身份认证系统中最容易实施的攻击。随着声纹身份系统的不断推广应用,其危害性日益凸显,因此录音回放检测研究变得越来越迫切。

为了解决以上问题,人们认为静音不受语音信号的影响能够更好地体现信道信息,从静音中提取信道信息并制作相应的检测模型。以通用背景模型为基础,利用语音数据中的静音段对信道进行建模,检测待认证语音与训练语音的信道是否相同。其不足有3点:(1)静音段幅度小,比语音段更容易受到噪声污染;(2)以语音段的通用背景模型为基础并不一定能训练出精确的信道模型;(3)认证语音样本中的音段时长难以保障,从而检测的可靠性也难以保证。



技术实现要素:

本发明为了解决现有技术中存在的语音信号容易受其他噪声污染导致识别可靠性较低的技术问题,提出了一种录音回放攻击的检测方法及对应检测模型的训练方法。

本发明提出的录音回放攻击检测模型的训练方法,包括步骤:

步骤1,获取多条语音数据并进行预处理,所述多条语音数据包括至少一种回放语音数据和至少一种真实语音数据;

步骤2,将每一条所述语音数据进行分帧处理形成m帧数据,然后将每一条语音数据的m帧数据依次进行加窗、快速傅里叶变换处理;

步骤3,将每一条语音数据进行快速傅里叶变换处理后的m帧数据采用至少一个滤波器进行特征提取得到对应的特征矩阵,所述滤波器包括倒梅尔滤波器(mel-frequencycepstralcoefficients)、子带频率质心滤波器和子带幅值质心滤波器当中的任意一种或多种;

步骤4,将每一种所述语音数据的所有特征矩阵分别通过em算法对gmm进行迭代运算直至收敛,得到每一种回放语音数据和每一种真实语音数据的至少一个模型分类器gmmplayback和gmmreal。

具体的,所述回放语音数据和真实语音数据为脉冲编码调制格式数据。

具体的,将每一条语音数据进行快速傅里叶变换处理后的m帧数据采用倒梅尔滤波器进行特征提取得到对应的特征矩阵具体包括步骤:

设定频率下限flower和频率上限fupper;

通过公式计算每一帧数据的频率下限和频率上限的梅尔频率值;

将频率下限和频率上限的梅尔频率值[mflower,mfupper]均分为nimfcc份;

均分点的数组记录为[mf1,mf2,...,mfp],其中p=nimfcc+2;

计算梅尔频率均分点的频率值,得到频率数组[f1,f2,...,fp],其中,fi=700(exp(mfi/1125)-1);

映射频率数组[f1,f2,...,fp]到频率节点数组[k1,k2,...,kp],其中,ki=floor((nfft+1)fi/ns),nfft为快速傅里叶变换的长度,ns为分帧处理时的采样率;

根据[k1,k2,...,kp]构造三角滤波器组hi(n),i=1至nimfcc;

将每个滤波器hi(n)数组进行逆序处理得到ri(n),得到逆序梅尔滤波器组r;

将滤波器组r与进行快速傅里叶变换处理后的帧数据进行nimfcc次点乘运算,获得nimfcc维向量[v1,v2,...,vnimfcc]。所述fft(n)为快速傅里叶变化处理后的数据。

其中

每一条音频数据处理结束时得到m*nimfcc的特征矩阵。

具体的,将每一条语音数据进行快速傅里叶变换处理后的m帧数据采用子带频率质心滤波器进行特征提取得到对应的特征矩阵具体包括步骤:

设定频率下限flower和频率上限fupper;

将每一帧数据在频率上限和频率下限范围[flower,fupper]内的频率均分为nscf段,均分点组成数组[f1,f2,...,fq],q=nscf+1;

映射均分点组成数据[f1,f2,...,fq]到频率节点数组[k1,k2,...,kq],其中,ki=floor((nfft+1)fi/ns);

构造滤波器组ri,i=1至nscf;

将滤波器组ri与进行快速傅里叶变换处理后的帧数据进行相乘运算,获得向量li,li(n)=ri(n)fft(n);

对li计算频率质心fi,

对于每一帧数据得到长度为nscf的向量;

每一条语音数据处理结束时得到m*nscf的特征矩阵。

具体的,将每一条语音数据进行快速傅里叶变换处理后的m帧数据采用子带幅值质心滤波器进行特征提取得到对应的特征矩阵具体包括步骤:

设定频率下限flower和频率上限fupper;

将每一帧数据在频率上限和频率下限范围[flower,fupper]内的频率均分为nscm段,均分点组成数组[f1,f2,...,fq],q=nscm+1;

映射均分点组成数据[f1,f2,...,fq]到频率节点数组[k1,k2,...,kq],其中,ki=floor((nfft+1)fi/ns);

构造滤波器组ri,i=1至nscm;

滤波器组ri与进行快速傅里叶变换处理后的帧数据进行相乘运算,获得向量li,li(n)=ri(n)fft(n);

将滤波器组ri与帧数据进行相乘运算,获得向量li

li(n)=ri(n)fft(n)

对向量li计算频率质心fi

对于每一帧数据得到长度为nscf的向量;

每一条语音数据处理结束时得到m*nscm的特征矩阵。

具体的,将每一帧数据进行加窗处理具体是通过公式fwi[n]=fi[n]*w[n],所述fwi为加窗后的每一帧数据,fi为分帧处理后的每一帧数据,w为窗函数,所述n的范围为[0,h-1],所述h为帧移。

具体的,所述预处理包括降噪处理和/或回声消除处理。

本发明提出的录音回放攻击检测方法,包括步骤:

采用上述技术方案所述的训练方法得到回放语音数据和真实语音数据的至少一个模型分类器gmmplayback和gmmreal;

采用所述步骤1至3提取待测音频的特征矩阵;

将待测音频的特征矩阵分别与模型分类器gmmplayback和gmmreal计算相似度,若与模型分类器gmmplayback的相似度更高则判定所述待测音频为回放音频,若与模型分类器gmmreal的相似度更高则判定所述待测音频为真实音频。

本发明采用去噪滤波器和统计帧分析的方法从整个认证语音样本中提取信道模式噪声,且通过采集不同的语音数据来训练gmm模型,使得在验证时可以有多种gmm来验证,从而可以更加准确判断语音数据的类别,比现有的其他方式来提取信道模式噪声要准确得多。而且从应用方面来说,本发明可以应用于文本相关的说话人识别系统,也可以应用于文本无关的说话人识别系统。对原始语音和回放语音的分类识别可以在说话人识别之前也可以在之后,因此,可以利用信道噪声模型建立前端录音回放攻击检测器或后端录音回放攻击检测器,使得录音回放攻击算法的应用更加灵活。

附图说明

图1为本发明的整体流程图。

图2为本发明倒梅尔滤波器的处理流程图。

图3是本发明的子带频率质心滤波器处理流程图。

图4是本发明的子带幅值质心滤波器处理流程图。

具体实施方式

下面结合附图对本发明的原理及方法进行详细说明。

本发明的基本原理是通过滤波器提取语音信号的信道模式噪声来形成gmm模型进行录音回放攻击检测。在说话识别系统中,原始语音是指系统采集用户的原始语音,回放语音指回放攻击语音。回放语音在进入说话人识别系统录音信道之前,还经历了一次录音和回放的过程。不同录音和回放设备会引入设备自身不同的信道噪声(麦克风、扬声器、抖动电路、前置放大器、功率放大器、输入和输出滤波器、a\d、d\a、取样保持电路等都会引入相应的噪声),这些信道噪声叠加在回放语音上,使得回放语音和原始语音存在着细微的差异。本发明将这些来自不同录音与回放设备中换能器(传声器、扬声器)和不同电路引入的噪声称为信道模式噪声。原始语音中含有系统录音设备的信道模式噪声,而回放语音不仅含有系统录音设备的信道模式噪声,还含有偷录设备和回放设备的信道模式噪声,因此提取出待识别语音中的信道模式噪声即可进行录音回放攻击检测。本发明通过提取所有设备或直接说话人声的信道模式噪声的频域特征,再利用gmm建立信道噪声模型用以判决说话人识别系统的输入是否为录音回放攻击。

下面介绍本发明的建立gmm信道噪声模型的详细过程。

如图1所示,采集大量的语音数据,这些语音数据可以分为两大类,一类是回放语音数据,另一类是真实语音数据。在回放语音数据中,又可以进一步分为扬声器回放语音数据、传声器回放语音数据等等。然后将所有分类的语音数据设置对应的标签。以上述已经列举出来的例子,本详细实施例中,语音数据可以分为三类标签,分别为:扬声器回放语音数据、传声器回放语音数据以及真实语音数据。在实际数据的分类过程中,有可能会比该详细实施例的分类更加复杂,例如将真实语音数据中分为男性真实语音数据和女性真实语音数据等等。

将这些带标签的语音数据进行预处理、分帧、加窗和快速傅里叶变换,然后再利用滤波器来提取信道模式噪声的频域特征,最终训练出对应的gmm模型,每一种标签对应至少一个gmm模型。可以采用多个滤波器来提取信道模式噪声的频域特征,因此,每一种标签可以对应多个gmm模型,同样的,gmm模型总共也可以分为两大类,一类是回放语音对应的gmmplayback模型和gmmreal模型。

检测时,对于要检测是否为回放录音的待测音频,经过特征提取得到特征矩阵后,本发明通过计算待测音频的特征矩阵分别与gmmplayback模型和gmmreal模型计算相似度,最终进行决策评分。若与gmmplayback模型更为相似则判定为回放音频;若与gmmreal模型具有更高相似度,则为回放音频。

下面详细介绍训练gmm模型的过程。

首先要把采集到的多条语音数据进行预处理,预处理的操作内容是根据具体场景不同而设置的,也可以说,预处理操作是根据环境的不同而设置的,预处理可以是降噪处理和/或回声消除处理。本发明的语音数据具体是指脉冲编码调制(pulsecodemodulation,pcm)格式数据,通常是音频未压缩的数据格式。

然后把每一条经过预处理的语音数据进行分帧处理。在一个实施例中,每一条语音数据的采样点总个数n=t*ns,t为语音数据的时间长度,ns是采样率。即语音数据可以表示为s[n],n的范围为[0,n-1],包括0和n-1的取值在内。对于长度为n的语音数据,分帧处理时会产生m=(n-l)/h+1帧数据,其中l为帧长,h为帧移,第i帧的数据fi为s[(i-1)*h]至s[(i-1)*h+l-1],i的范围为[0,m-1]。

接着将每一帧数据进行加窗处理,对于每一帧数据fi和长度相同的窗函数w,进行加窗后得到数据fwi=fi[n]*w[n],n的范围为[0,h-1]。

将加窗处理后的帧数据进行快速傅立叶变换,快速傅立叶变换(fft)采用的是离散傅立叶变换的快速实现算法,设定fft变换(快速傅里叶变换)的长度为nfft(若fwi数据长度小于nfft,则进行补零),每一帧经过快速傅里叶变换的帧数据为

之后将每一条语音数据进行快速傅里叶变换处理后的m帧数据采用至少一个滤波器进行特征提取得到对应的特征矩阵,本实施例中采用的滤波器包括倒梅尔滤波器(imfcc)、子带频率质心滤波器和子带幅值质心滤波器,在其他实施例中也可以只采用其中一种滤波器或者多种。每一种语音数据经过每个滤波器进行特征提取,都可以训练得到一个gmm模型。具体是将每一种语音数据经过一个滤波器得到的所有特征矩阵分别通过em算法对gmm进行迭代运算直至收敛,得到每一种回放语音数据和每一种真实语音数据的至少一个模型分类器gmmplayback和gmmreal。

如图2所示,每一条语音数据进行快速傅里叶变换处理后的m帧数据采用倒梅尔滤波器进行特征提取得到对应的特征矩阵具体包括步骤:

设定频率下限flower和频率上限fupper;

通过公式计算每一帧数据的频率下限和频率上限的梅尔频率值;

将频率下限和频率上限的梅尔频率值[mflower,fupper]均分为nimfcc份;

均分点的数组记录为[mf1,mf2,...,mfp],其中p=nimfcc+2;

计算梅尔频率均分点的频率值,得到频率数组[f1,f2,...,fp],其中,fi=700(exp(mfi/1125)-1);

映射频率数组[f1,f2,...,fp]到频率节点数组[k1,k2,...,kp],其中,ki=floor((nfft+1)fi/ns),nfft为快速傅里叶变换的长度,ns为分帧处理时的采样率;

根据[k1,k2,...,kp]构造三角滤波器组hi(n),i=1至nimfcc;

将每个滤波器hi(n)数组进行逆序处理得到ri(n),得到逆序梅尔滤波器组r(对数运算结果);

将滤波器组r与进行快速傅里叶变换处理后的帧数据进行nimfcc次点乘运算,获得nimfcc维向量[v1,v2,...,vnimfcc],其中,fft(n)为快速傅里叶变化处理后的数据;(dct运算结果)

这样每一条音频数据处理结束时得到m*nimfcc的特征矩阵。因为录音回放音频在高频率部分会有较大信道引入的特征区别,所以采用倒梅尔滤波器(imfcc)会让各种音特征在高频率部分的分辨率更高,因此在区分录音回放音频时性能相对较好。

如图3所示,将每一条语音数据进行快速傅里叶变换处理后的m帧数据采用子带频率质心滤波器(scf)进行特征提取得到对应的特征矩阵具体包括步骤:

设定频率下限flower和频率上限fupper;

将每一帧数据在频率上限和频率下限范围[flower,fupper]内的频率均分为nscf段,均分点组成数组[f1,f2,...,fq],q=nscf+1;

映射均分点组成数据[f1,f2,...,fq]到频率节点数组[k1,k2,...,kq],其中,ki=floor((nfft+1)fi/ns);

构造滤波器组ri(subband滤波器),i=1至nscf;

将滤波器组ri与进行快速傅里叶变换处理后的帧数据进行相乘运算,获得向量li,li(n)=ri(n)fft(n);

对li计算频率质心fi,

对于每一帧数据得到长度为nscf的向量;

每一条语音数据处理结束时得到m*nscf的特征矩阵。

如图4所示,将每一条语音数据进行快速傅里叶变换处理后的m帧数据采用子带幅值质心滤波器(scm)进行特征提取得到对应的特征矩阵具体包括步骤:

设定频率下限flower和频率上限fupper;

将每一帧数据在频率上限和频率下限范围[flower,fupper]内的频率均分为nscm段,均分点组成数组[f1,f2,...,fq],q=nscm+1;

映射均分点组成数据[f1,f2,...,fq]到频率节点数组[k1,k2,...,kq],其中,ki=floor((nfft+1)fi/ns);

构造滤波器组ri,i=1至nscf;

滤波器组ri与进行快速傅里叶变换处理后的帧数据进行相乘运算,获得向量li,li(n)=ri(n)fft(n);

将滤波器组ri与帧数据进行相乘运算,获得向量li

li(n)=ri(n)fft(n)

对向量li计算频率质心fi

对于每一帧数据得到长度为nscm的向量;

每一条语音数据处理结束时得到m*nscm的特征矩阵。

待测音频的特征提取也是通过上述三个滤波器,采用相同的步骤,然后再验证待测音频与各gmm模型的相似度,从而可以准确判别被测音频具体是属于回放语音还是真实语音,具体是回放语音或者是真实语音的哪一种。由于录音回放检测主要依赖声音信道的统计特征,本发明采用子带频率质心滤波器(scm)和子带频率质心滤波器(scf)可以让技术人员自适应地对信道统计量的范围和分辨率进行设定,从而在统计层面调整到最适合具体应用的特征。

以上具体实施例仅用以举例说明本发明的结构,本领域的普通技术人员在本发明的构思下可以做出多种变形和变化,这些变形和变化均包括在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1