HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种回放语音检测方法与流程

2021-01-28 18:01:38|325|起点商标网
一种回放语音检测方法与流程

本发明涉及语音检测技术,尤其是一种回放语音检测方法。



背景技术:

随着声纹认证技术的不断发展,其所受到的各种欺骗性语音攻击也日益严峻。其中回放语音攻击主要依赖于使用录制设备偷录合法用户在进入系统时的语音并用高保真的回放设备进行回放从而达到对声纹认证系统的攻击。回放语音攻击因其语音样本来源于真实语音,且操作简单、获取方便、不需要攻击者拥有相关的专业知识,因此更容易实施。

早期的回放语音检测技术都是基于传统的手工特征,然而传统的手工提取特征并不能很好地表达语音的高层语义,因此目前更多的回放语音检测技术都是基于深度学习的方式,通过神经网络模型对浅层特征进行更深层的提取,以此来提升回放语音检测算法的性能。如现有技术1:《lavrentyevag,novoselovs,malykhe,etal.audioreplayattackdetectionwithdeeplearningframeworks[c]//interspeech.2017:82-86.》:,作者提出了一种轻量级卷积神经网络lcnn,通过在lcnn中的每一个卷积层都运用最大输出的方法,构成max-feature-map(mfm)层,以竞争学习的方式淘汰掉输出较小的部分。又如现有技术2:《jungj,shimh,heohs,etal.replayattackdetectionwithcomplementaryhigh-resolutioninformationusingend-to-enddnnfortheasvspoof2019challenge[j].arxivpreprintarxiv:1904.10134,2019.》:,作者提出了数据集分区的方法,通过丢弃数据点来建立他们的模型,以确保训练阶段和测试阶段的欺骗攻击不存在不重叠,同时他们将深层传统机器学习的方法与他们的数据集分区相结合,以改进模型的泛化能力。又如现有技术3:《chettrib,stollerd,morfiv,etal.ensemblemodelsforspoofingdetectioninautomaticspeakerverification[j].arxivpreprintarxiv:1904.04589,2019.》,作者提出了一种基于多特征集成和多任务学习的框架,其中包含了网络内的多种频谱特征的互补信息,但由于单个的传统特征不足以概括语音信号在全频带上的信息,所以通过多特征集成的方式更好的表达语音信息,此外,作者还提出一种用于多任务学习的蝴蝶单元来促进二分类任务和其他辅助类任务在传播过程中的参数共享。

现有技术1存在鲁棒性不强的问题,在评价集中其检测算法性能不高,主要是由于其模型的泛化能力不强,在面对评价集中未知的攻击时,其检测性能明显降低;现有技术2和3存在检测算法较复杂的问题,现有技术2中作者进行数据集分区使得测试集与训练集中的回放语音攻击不存在重叠现象,但其数据集分区过程较为复杂,因此需要耗费更多时间;现有技术3中作者通过提出多特征、多任务学习的方式,通过在网络训练时也进行其他辅助类任务来帮助二分类的识别判断,但因此其检测算法也相对较为复杂。



技术实现要素:

本发明所要解决的技术问题是针对上述现有技术存在的不足,提供一种回放语音检测方法,能提高回放语音算法的检测性能及鲁棒性。

本发明解决上述技术问题所采用的技术方案为:一种回放语音检测方法,其特征在于:包括如下步骤:

1)训练阶段:

1.1)输入训练语音样本,所述训练语音样本包括原始语音和回放语音;

1.2)提取训练语音样本的倒谱特征;

1.3)根据提取的特征训练残差网络模型,得到网络模型参数;

2)测试阶段:

2.1)输入测试语音样本;

2.2)提取测试语音样本的倒谱特征;

2.3)利用步骤1)训练得到的残差网络对提取的测试语音样本的特征进行识别打分;

2.4)判断测试语音样本是否为回放语音。

优选的,为便于保留更多频谱上的细节信息,在步骤1.2)和步骤2.2)中,提取的为全频率倒谱系数特征。

进一步地,全频率倒谱系数特征的提取方法为,1)通过将训练语音样本或测试语音样本的语音信号进行分帧加窗处理,然后对分帧后的语音信号进行傅里叶变换求取其频谱系数xi(k):

其中,i表示分帧后的第i帧,k表示第i帧内的频率点,k=0,1,2,...,n-1,j表示复数,m表示语音信号分帧后的帧数,n表示傅里叶变换点数;

2)然后求绝对值,得到相应的幅度谱系数ei(k):

3)然后进行对数运算以及dct变换,得到第i帧的频率倒谱系数bfcc(i):

为使得不同特征的训练模型相互协作以获得更好的融合结果,在步骤1.2)和步骤2.2)中,还分别提取梅尔频率倒谱系数特征和常q倒谱系数特征,在训练阶段分别根据全频率倒谱系数特征、梅尔频率倒谱系数特征和常q倒谱系数特征得到对应的三个残差网络,在测试阶段相应得到根据全频率倒谱系数特征、梅尔频率倒谱系数特征和常q倒谱系数特征得到的残差网络识别结果,对三个识别结果融合进行综合判断。

根据本发明的一个方面,在步骤1.2)和步骤2.2)中,提取的为梅尔频率倒谱系数特征。

根据本发明的另一个方面,在步骤1.2)和步骤2.2)中,提取的为常q倒谱系数特征。

优选的,残差网络包括依次连接的二维卷积层、残差块序列、dropout层、第一全连接层、激活函数层、gru层、第二全连接层和网络输出层。

优选的,所述激活函数层采用泄露修正线性单元。

优选的,为加快学习的收敛速度,在二维卷积层和激活函数层之间还具有批标准化处理层。

为提高检测准确性,在步骤2.4)中,将残差网络输出的得分与asv系统得分相结合来判断测试语音样本是原始语音还是回放语音。

与现有技术相比,本发明的优点在于:利用神经网络能提取更深层次的特征,能更完备地表征语音信号中的细节信息,基于深度学习的方式,将语音信号的倒谱特征与深度残差网络相结合,有效地提升系统的检测性能,并使得算法有较好的鲁棒性;残差网络能对时域和频域上的失真进行很好地建模,从而提高神经网络分类的准确率;通过提取全频率倒谱系数特征,无需使用滤波器,能够更多的保留频谱上的细节信息。

附图说明

图1为本发明实施例的回放语音检测方法流程图;

图2为本发明实施例的回放语音检测方法的mfcc提取流程图;

图3为本发明实施例的回放语音检测方法的cqcc提取流程图;

图4为本发明实施例的回放语音检测方法的bfcc提取流程图;

图5为本发明实施例的回放语音检测方法的残差网络的示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,由于本发明所公开的实施例可以按照不同的方向设置,所以这些表示方向的术语只是作为说明而不应视作为限制,比如“上”、“下”并不一定被限定为与重力方向相反或一致的方向。此外,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。

参见图1,一种回放语音检测方法,包括如下步骤:

1)训练阶段:

1.1)输入训练语音样本;

1.2)提取倒谱特征;

1.3)训练残差网络模型,得到网络模型参数;

2)测试阶段:

2.1)输入测试语音样本;

2.2)提取倒谱特征;

2.3)利用步骤1)训练得到的残差网络进行识别打分;

2.4)结合asv系统得分和步骤2.3)得到决策。

在上述步骤中,训练语音样本和测试语音样本的提取特征方式,提取器可以为滤波器,则可以根据滤波器确定语音样本中的特征,其中,滤波器可以为根据实际需求预配置的滤波器,用于提取语音样本中的特征,如传统的梅尔频率倒谱系数特征和常q倒谱系数特征。

1、梅尔频率倒谱系数特征:梅尔频率倒谱系数(mel-frequencycepstralcoefficients,mfcc)是一种常用于说话人识别领域的语音特征参数,它符合人耳的听觉特性,对于不同频率的声波有不同的听觉敏感度。梅尔频率倒谱系数是在mel标度的频率域提取出来的倒谱系数,mel标度能反映出人耳频率的非线性特性,它和频率的关系表达式如下式所示:

其中,fmel是以梅尔(mel)为单位的感知频率,f是以赫兹(hz)为单位的实际频率。将语音信号转换至感知频域,而不是单纯的以傅里叶变换方式来表达,通常能更好地模拟人耳听觉过程的处理。

参见图2,为mfcc的具体提取过程流程图,包括如下步骤:

1)语音样本(训练语音样本或测试语音样本)的信号x(n)进行预处理后为xi(m),然后将分帧后的得到每一帧信号进行傅里叶时频变换(stft),得到该帧信号的频谱系数;

其中,i表示分帧后的第i帧,k表示第i帧内的频率点,k=1,2,...,n-1;

2)对得到的频谱系数求其每帧的幅度谱系数:

3)将得到的能量谱系数送到一组梅尔滤波器中,计算在梅尔滤波器中的能量。得到的梅尔频谱系数是由能量谱系数与梅尔滤波器中的频率响应hm(k)相乘并求和,即:

其中,0≤m≤m指的是第m个mel滤波器,共有m个滤波器;

4)接着对梅尔频谱系数进行对数运算和dct变换,得到其梅尔频率倒谱系数:

标准的mfcc只反映了语音信号中参数的静态特性,一般通过这些静态特征的差分频谱系数可以得到语音信号的动态特性,优选的可以将mfcc特征的静态系数与一阶系数、二阶系数的动态特性结合,以提高系统的识别性能。

2、常q倒谱系数特征:常q倒谱系数(constantqcepstralcoefficients,cqcc)特征是将语音信号通过cqt时频变换得到。cqt变换中所使用的是一组中心频率与带宽比恒为常量q的滤波器。通过cqt变换得到的频谱的横轴频率是非线性的,因为它的中心频率服从指数分布,且滤波器组所用到的窗长是根据频率变化的。它将时域语音信号转换为频域语音信号时,能在低频区提供较高的频率分辨率,在高频区提供较高的时间分辨率。

参见图3,为常q倒谱系数的具体提取过程流程图,包括如下步骤:

1)语音样本(训练语音样本或测试语音样本)的信号x(n)经过cqt转换后的感知频域信号为xcq(k),xcq(k)的计算公式如下:

其中k表示频率点,k=1,2,...,k,fs为语音样本的采样率,fk为滤波器的中心频率,它服从指数分布,定义如下:

b为每倍乘内的频率点数,f1是最低频率点的中心频率,由下式计算得到:

q因子为中心频率fk与带宽bk的比值,是一个与k无关的常数,其基本定义公式如下:

窗函数采用汉宁窗,随着频率分辨率的提升,时间分辨率逐渐降低,因此窗口长度nk是随着k变化的,并且与k成反比,窗函数的定义如下:

2)求第i帧第k个频率点的频率值xi(k)的幅值:

3)对上述幅值求对数频谱系数:

其中tk表示第k个频带上语音信号的总帧数,k=1,2,...,k,在本文中k取420。

4)对求得的对数频谱系数进行均匀重采样,其中新的频率表示与原始的频率表示关系如下:

5)对重采样后的频谱系数进行dct变换,即:

其中,p=0,1,...,l-1,l表示的是重采样后的频率点。

上述两种为现有的特征提取,在本发明中,还可以采用以下特征提取方法:

此外,也可以不使用滤波器来提取语音样本的特征,具体如下:

3、全频率倒谱系数:全频率倒谱系数(full-bandfrequencycepstralcoefficients,bfcc),相较于其他一些传统特征,如cqcc、mfcc,这种特征摒弃了传统特征中滤波器的使用,即直接将经过傅里叶变换得到的频谱系数进行对数运算和dct变换,这样做的好处在于能够更多的保留频谱上的细节信息。

参见图4,为bfcc的具体提取过程流程图,包括如下步骤:

1)通过将一段语音进行分帧加窗处理,然后对分帧后的语音信号进行傅里叶变换求取其频谱系数:

其中,i表示分帧后的第i帧,k表示第i帧内的频率点,k=0,1,2,...,n-1,j表示复数,m表示语音信号分帧后的帧数,n表示傅里叶变换点数,本实施例中,n=512;

2)接着对其求绝对值,得到相应的幅度谱系数:

3)进而进行对数运算以及dct变换,得到它的倒谱系数:

在bfcc特征中,优选的也可以加入该特征的对数能量系数以及一阶、二阶差分系数,作为最后的特征矢量。

在本发明中,网络模型采用残差网络,其总体框架如图5所示,当将不同的特征作为输入时,网络模型的总体架构不变,只在输入端的输入特征维度上有所变化。

残差网络,包括依次连接的二维卷积层、四个相同的残差块序列、dropout层、第一全连接层、激活函数层、gru层、第二全连接层和网络输出层(分类器),设置dropout层函数的值为0.5,网络输出层优选的采用softmax层。

激活函数层采用泄露修正线性单元(leakyrelu),它是由修正线性单元(rectifiedlinearunit,relu)激活函数演变而来。relu激活函数只有在输入超出阈值时神经元才被激活,将所有的负值都变为0,而正值不变。但它的补点是在训练时很脆弱,尤其当输入是负值的时候,relu的学习速度会非常慢甚至使神经元直接不起作用,导致其权重无法更新,使得这个神经元再也不会对任何数据有激活现象了,梯度永远为0。因此,为了解决relu函数这个补点,本发明在网络中采用了leakyrelu激活函数。与relu函数将所有负值都设为0不同的是,leakyrelu函数是给所有负值加一个非常小的非零斜率,这样就解决了relu函数在输入为负值时神经元不学习的问题,其数学表达式如下:

此外,gru层不仅能将上层网络中提取出的帧级的特征重新聚合成单个话语特征,而且它的模型简单,很适合构建较深的网络。在残差网络中,它的两个门控也能使得整个网络的效率更高,计算更省时,使得模型在训练时的收敛速度明显加快。

将提取的三种倒谱特征分别送入残差网络的输入端,首先通过一个二维卷积层来提取其基于帧级的时域-频域特征,然后将该层的输出送入4个相同的残差块序列中,以促进网络更深层的训练,并将最后一个残差块的输出依次送入dropout层、第一全连接层、激活函数层和gru层。在gru层后,通过第二全连接层将其基于话语的特征映射到新的空间上,转换为新的特征,并送入一个只有两个节点单元的输出层,在此产生分类对数,最后将第二全连接层的输出送入softmax层将对数转化为得分概率分布。

由于神经网络在训练时网络的层数过深可能会出现梯度消失的现象,因此在残差网络中加入批标准化处理(batchnormalization,bn)层,bn是根据规范化的手段,将偏离正常范围的分布拉到一个标准化的分布范围内,该层位于二维卷积层和激活函数层之间,这样使得数据能分布在激活函数比较敏感的区域内,从而使梯度变大,加快学习的收敛速度。

在训练阶段,还可以使用adam算法对残差网络进行优化。同时,以10e-4作为网络的学习速率,以32作为批处理的值,训练过程在50圈后停止。损失函数采用预测值与目标值之间的二元交叉熵函数,并且将最后一个全连接层的节点输出作为预测分数。

在步骤1)训练阶段,使用训练语音样本(包括原始语音和回放语音的训练集)提取出传统特征并将它们送入神经网络,分别训练出原始语音和回放语音的残差网络模型;在测试阶段,提取出测试语音样本中的特征,并送入训练阶段训练出来的残差网络模型中,根据网络输出层的得分结果对测试语音进行分类判断,并将该结果与asv(automaticspeakerrecognition)系统得分相结合,作为最终的判决测试语音样本是否为回放语音的结果。

通过上述训练和测试过程,可分别得到关于三种倒谱特征的子系统,将三个子系统的得分进行融合,融合的方式为将三个子系统的得分进行融合,其公式为:

s=i·sbfcc+j·smfcc+k·scqcc

其中,i、j、k分别为三个子系统得分的权重系数,其约束条件为i+j+k=1,sbfcc、smfcc、scqcc分别为归一化后的子系统的得分。通过让不同特征的训练模型相互协作以获得更好的融合结果。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips