APP下载

改进卷积神经网络的单词级语音活体检测方法

2024-02-26李志刚宋晓婷郭琪美孙晓川

关键词:活体声学特征提取

李志刚,宋晓婷,郭琪美,孙晓川

(1. 华北理工大学 人工智能学院,河北 唐山 063210;2. 河北省工业智能感知重点实验室,河北 唐山 063210)

0 引 言

自动说话人验证(automatic speaker verification,ASV)是指将某一语音信号作为输入,并验证说话人身份的技术。物联网环境下,这种技术已被广泛应用于各种智能家居场景,例如声纹锁、智能音箱、监控等。智能家居中的ASV系统面临着伪造语音欺骗攻击的问题,如重放语音、语音转换和模仿等[1]。其中,重放语音的威胁较大,因为不法分子仅需要较少的经验和能力就可以播放目标说话人的声音。因此,找出一种有效的重放语音检测方法具有重要的意义。

重放语音检测的方法大部分集中在句子级重放语音检测上[1-3],而在物联网场景下,大多数智能设备都是单词级的,图1给出了攻击者利用短重放语音命令欺骗智能家居ASV系统的一种场景。由图1可以看出,车库锁中的ASV系统可接受来自合法用户的短语音指令,并拒绝来自攻击者的短重放语音命令。因此,本文在单词级数据集上研究的语音活体检测在物联网场景下是比较适用的。特别地,通过语音活体检测区分真实和重放语音是反欺骗攻击常用的策略之一[4-7]。识别说话人语音中是否存在气爆杂音(pop noise,PN)是语音活体检测很有用的策略,能保护ASV系统免受重放欺骗攻击。PN是真实用户对着麦克风说话时自然引入的一种现象,是真实语音具备的特性。当说话人验证身份时离麦克风比较近,就会检测到PN的存在;反之,当不法分子远距离录制用户语音时,则不会出现PN。由于PN具有低频高能量的特点,因此,本文根据低频处语音帧能量的大小来选择语音帧作为输入,然后提取这些帧对应的声学特征作为深度神经网络的输入数据。

图1 重放语音欺骗攻击场景Fig.1 Replay voice spoofing attack scenario

值得注意的是,Wang等[6]认为伽马通频率倒谱系数(Gammatone frequency cepstral coefficients,GFCC)适合用于分析录音录制和重放过程中引入的卷积和加性噪声。因此,本文采用基于PN的语音帧选取和GFCC特征提取相结合的方法,对近距离和远距离的语音活体检测均是适用的。此外,很多用于语音活体检测的研究均需要使用额外设备[7-8],而基于PN的语音活体检测要求的设备简单,原则上利用内置麦克风就可以实现。

Wang等[6]为了解决少量重放语音也出现PN的问题,采用包含PN的语音帧相对应的GFCC作为声学特征,提高了检测性能;Akimoto等[9]提出POCO数据集,在此数据集上采用基于短时傅里叶变换(short-time Fourier transform,STFT)和支持向量机(support vector machine,SVM)的方法进行重放语音检测;Singh等[10]采用改进的群延时函数(modified group delay function,MGDF)特征和高斯混合模型(Gaussian mixture model,GMM)进行语音活体检测;Khoria等[4]采用常数Q变换(constant-Qtransform,CQT)和SVM进行语音活体检测,CQT能够捕获低频区域中存在的用于语音活体检测的线索。虽然上述研究取得了一些成果,但检测性能不太理想。

近年来,深度学习方法在语音活体检测中取得了良好的效果。Singh等[11]采用基于修正群延时函数的倒谱系数(modified group delay function based cepstral coefficients,MGDCC)与卷积神经网络(convolutional neural network,CNN)进行语音活体检测;Gupta等[12]采用STFT和CNN进行语音活体检测;Gupta等[13]提出基于连续小波变换的特征和CNN进行语音活体检测;Khoria等[14]研究了基于CQT和轻量型卷积神经网络(light convolutional neural network,LCNN)的语音活体检测方法。在POCO(pop noise corpus)数据集上,采用上述深度学习方法的检测精度大都比机器学习方法好,但仍不理想。而LCNN在ASVspoof系列的重放语音数据集上表现良好[15-17],且目前LCNN在POCO上的应用较少,受此启发,本文拟探索29层的LCNN在语音活体检测中的可行性。由于语音的特殊性,噪声会对声学特征的获取造成很大干扰,从而降低检测精度,因此,本文拟考虑将注意力机制和门控循环单元(gate recurrent unit,GRU)引入到LCNN里,旨在探索高精度的单词级语音活体检测方法。

本文提出基于LC-GGRNN-SVM的新型单词级语音活体检测框架,该框架由特征提取器和分类器两部分构成。本文主要贡献如下:①提出了一种新型的特征提取器LC-GGRNN,即将全局注意力机制(global attention mechanism,GAM)和GRU添加到LCNN中;②提出了一个基于LC-GGRNN和SVM的新型混合检测模型;③研究了3种不同的声学特征提取方法及其在语音活体检测方面的效果;④证明了所提方法对句子级重放语音检测也具有较好的泛化性。

1 方法论

声学特征提取目的是去掉语音信号中的干扰信息,将有效的语音信息提取出来,进而提高语音活体检测性能。本文研究3种声学特征在语音活体检测方面的效果,具体提取流程如图2所示,其中,MFCC(Mel-frequency cepstral coefficients)为梅尔频率倒谱系数,LFCC(linear frequency cepstral coefficients)为线性频率倒谱系数。根据文献[18],3种声学特征的提取均使用0~40 Hz中心频率的滤波器。

图2 不同声学特征的提取流程Fig.2 Extraction process of different acoustic features

针对智能家居语音验证系统中重放语音检测精度低的问题,本文提出的LC-GGRNN-SVM将GAM和GRU巧妙地引入到LCNN中,并将LCNN最后的全连接层(fully connected layers,FC)替换为SVM,如图3所示。从图3看出,整体架构包含特征提取器和分类器两大部分,以提取到的声学特征作为输入,前者通过LC-GGRNN提取更关注全局信息和前后帧信息的特征,后者通过SVM进行分类。此外,批归一化层(batch norm,BN)和Dropout层也被引入到LC-GGRNN中,以防止过拟合和解决该网络在训练时由于网络层数过多可能会导致的梯度消失问题。为了更好地理解总体架构,下面对各功能模块进行详细描述。

图3 基于LC-GGRNN-SVM的语音活体检测框架Fig.3 Voice liveness detection framework based on LC-GGRNN-SVM

1.1 特征提取器

首先,通过二维卷积层、最大特征图(max feature map,MFM)、BN层和最大池化层(max pooling)提取局部信息特征,得到F1,其过程可形式化表示为

F1=MaxPool(BN(M(Conv5×5(I1),

Conv5×5(I2))))

(1)

(1)式中:MaxPool(·)表示最大池化层函数;BN(·)表示Batch Norm层操作函数;M(·)表示MFM函数;Conv5×5表示5×5卷积;I表示输入特征向量。

再将F1送入4个Block模块中,以促进网络更深层的训练,其中间还有4个BN层和2个Max Pooling层,目的是对提取到的特征进一步降维并防止过拟合,经过上述操作,得到高级抽象复杂化的特征F2;再将F2送入GAM,输出全局信息特征F3,其过程可形式化表示为

F3=Ms(Mc(F2)⊗F2)⊗(Mc(F2)⊗F2)

(2)

(2)式中:Ms表示空间注意力操作;Mc表示通道注意力操作;⊗表示逐元素相乘。

然后,将特征F3依次送入Max Pooling和GRU,得到更为关注前后帧信息的特征。最后,依次通过FC层、MFM和Dropout层,得到128维的特征向量。下面对LC-GGRNN的基础模型和关键模块进行说明。表1给出了LC-GGRNN特征提取器的网络结构设置。

表1 LC-GGRNN特征提取器的结构设置

LCNN是对提取的声学特征进行深度特征提取。给定2个特征映射作为输入,LCNN中的MFM激活函数的输出是元素级最大的,因此,可以选择不同滤波器产生的不同特征中最具代表性的特征[19]。MFM函数的计算公式表示为

∀1≤i≤H,1≤j≤W,1≤a≤N/2

(3)

(3)式中:x是大小为H×W×N的输入张量;y是大小为H×W×N/2的输出张量;i,j分别表示频域和时域;a是滤波器的索引。

GAM的目的是使深度特征提取网络更加关注特征的通道和空间信息[20],是一种能够在3个维度上捕捉重要特征的注意力机制,具体结构如图4所示。GRU是用来学习深度特征的长期相关性,具体细节参考文献[21]。

图4 GAM中2个模块的结构图Fig.4 Structure diagram of two modules in GAM

1.2 分类器

具有核函数的SVM对非线性不可分的语音特征数据具有强大的处理能力[22]。输入128维的特征向量,通过SVM输出语音N为真实语音的概率和重放语音的概率,求出这两者的对数似然比,即得语音N的类型,具体计算公式为

Sscore(N)=ln(p(rreal|N))-ln(p(rreplay|N))

(4)

(4)式中,p(rreal|N)和p(rreplay|N)分别表示N是真实语音和重放语音的概率。

2 仿真分析

2.1 实验设置与数据

本节在POCO数据集[9]的基础上,对本文所提方法进行了综合的性能评估。实验环境的设置:64位的Windows操作系统;12 GByte显存的GPU NVIDIA GeForce GTX 2080Ti。软件方面的设置:Anaconda3为开发平台,深度学习开源框架Pytorch和语音特征提取框架Spafe为程序框架,Pycharm为软件环境。训练参数的设置:epoch数为100,BatchSize为64,学习率为0.000 1,衰减学习率为0.5,采用Adam优化器和交叉熵损失。本文语音帧选取的设置:在对语音信号预处理后,经过STFT后得到0~40 Hz语音帧的能量向量,计算每帧的平均能量大小,选取前20个平均能量最大的对应语音帧。

因为数据集中0226_5和0207_1这2个说话人的部分录音数据丢失,本文选择剩余的完整录制的音频作为实验数据。实验数据由33名男性和32名女性录制,录制者的英语流利程度各不相同,口音也不同,年龄从18岁到61岁不等,每个人重复3次录制包含44个音素的音频。本文用到的实验数据包括2种类型:RC-A和RP-A,前者是用AT4040麦克风录制的高音质音频,说话人距离麦克风10 cm,该数据子集代表了具有气爆杂音的真正的说话人;后者是在位于说话人和麦克风之间通过TASCAM TM-AG1型号过滤器过滤说话人声音后,用AT4040麦克风录制的音频,说话人距离麦克风同样是10 cm,该数据子集模拟了攻击者远距离录音的场景。音频文件数量共16 629个,每个文件包含一个WAV格式的单词,采样率为22.05 kHz。POCO数据集的划分细节如表2所示。

表2 POCO数据集分布统计

此外,为研究本文方法对句子级重放语音的检测效果,本文使用ASVspoof2019 PA数据集进行了实验[23],其划分细节如表3所示。

表3 ASVspoof2019 PA场景数据集的具体分布

2.2 评价指标

为直观地体现本文所提方法的检测效果,本文采用几个常用的评价指标来评价所考虑方法的性能。此外,在ASVspoof2019 PA数据集上进行实验时,采用了串联检测代价函数(tandem detection cost function,t-DCF)作为指标[23]。

1)错误接受率(false accept rate,FAR)和错误拒绝率(false rejection rate,FRR)代表2种错误分类。前者指错误接受欺骗语音样本的概率,后者指错误拒绝真实语音样本的概率,等错误率(equal error rate,EER)是FAR和FRR相等时的错误率。

2)准确率(accuracy,AR)是用来直接体现语音活体检测系统对真实语音和重放语音的分类效果,具体计算公式可表示为

AAR=(正确拒绝的重放语音数+正确接受的

真实语音数)/总语音数

(5)

2.3 实验结果分析

为了验证LC-GGRNN-SVM模型对语音活体检测的有效性,表4给出了不同方法的性能比较。由表4可以看出,本文提出的LC-GGRNN-SVM在语音活体检测方面优于已存在的方法(ResNeSt(split-attention networks)、LSTM、CNN-SVM、SVM、LCNN和LC-GGRNN)。特别地,相比于基线方法(STFT+SVM),最优的GFCC+LC-GGRNN-SVM准确率相对提高了37.61%,次优的MFCC+LC-GGRNN-SVM也可以实现较好的语音活体检测。特别地,与在远距离检测语音活体场景下提出的5种方法[15,24-26]相比,本文方法也有明显优势,这一结果说明,在目标说话人的声音被较为完美录制并重放情况下,本文方法在检测语音活体性能上优于经典重放语音检测方法。

表4 不同方法下的语音活体检测性能比较

为评估不同单词和不同性别对所提方法检测效果的影响,图5—图6分别给出了GFCC+LC-GGRNN-SVM对男性和女性所说单词的检测结果。由图5—图6可以看出,无论是单个单词还是所有单词的平均准确率,GFCC+LC-GGRNN-SVM得到的精度大多在80%以上,且男性和女性的所有单词的平均准确率分别为87.39%和84.69%。值得注意的是,男性说的所有单词中,有4个单词的平均准确率低于80%,而女性说的所有单词中,有10个单词的平均准确率低于80%。这一结果表明,所提方法对男性说话人的语音活体检测效果优于女性说话人,这可能是由于女性的声音频率较高,而在做本实验时使用的是低频GFCC特征,因此,一些女性所说的单词中包含的深层次特征信息可能丢失。在未来,针对性别的语音活体检测是一种可行的解决方案。

图5 男性语音活体检测准确率Fig.5 Accuracy of male voice liveness detection

图6 女性语音活体检测准确率Fig.6 Accuracy of female voice liveness detection

3 消融实验

为进一步验证本文所提方法的有效性,本节分别对语音帧数的选取、LC-GGRNN特征提取器中所加模块(GAM、GRU)和分类器的选择分别进行消融验证。

图7给出了不同声学特征下LC-GGRNN测试时间和准确率随语音帧数变化的结果。从图7可以看出,对于不同的声学特征,随着语音帧数的增加,LC-GGRNN进行语音活体检测的准确率总体上呈先上升后下降的趋势;LC-GGRNN进行语音活体检测的测试时间随着语音帧数的增加而变长。综合分析2种指标可知,选择语音数据中前20个语音数据帧作为输入,本文方法可取得最优性能。

图7 不同声学特征下LC-GGRNN测试时间和准确率Fig.7 Testing time and accuracy of LC-GGRNN based on different acoustic features

表5给出了验证LC-GGRNN中添加GAM模块有效性的结果。由表5可以看出,相比于无注意力机制,在添加GAM后检测的准确率相对提升了0.5%,EER和FAR+FRR分别相对降低了3.9%和3.1%;而在添加其他注意力机制后,性能还略有下降。这一结果表明GAM的添加使模型提取到更有利于语音活体检测的全局特征。

表5 验证LC-GGRNN中GAM性能的结果

表6给出了验证LC-GGRNN中添加GRU模块有效性的结果。由表6可以看出,相比于无GRU,在添加GRU后,语音活体检测的准确率相对提升了0.9%,EER和FAR+FRR分别相对降低了5.1%和5.2%,这一结果体现了GRU在深度特征提取中发挥了其可学习深度特征长期相关性的能力。

表6 验证LC-GGRNN中GRU性能的结果

表7给出了用不同分类器替换LC-GGRNN中FC层的检测结果。从表7可以看出,相比于用FC进行分类,用SVM替换的效果最好,而用其他的集成分类器,检测结果的提升不明显。这一结果表明,本文选用具有高斯核函数的SVM模型对非线性不可分的语音数据具有强大的处理能力。

表7 LC-GGRNN选择不同分类器的结果

4 泛化性验证实验

为验证本文方法在句子级重放语音数据集上的检测效果,在ASVspoof2019 PA数据集上进行了实验。实验设置:选择最长音频提取的GFCC特征矩阵的行数220作为所有GFCC特征的行数,其他提取的GFCC特征填充0,直到成为220×60的特征矩阵,其他设置与本文均相同。表8给出了不同方法的性能比较。由表8可以看出,本文方法的实验结果不如文献[15]所提方法,但均优于其他相对比的方法。这一结果说明,本文方法的泛化性能力有待提升,因此,未来将从替换卷积类型为深度可分离卷积或给网络添加密集连接这2个角度来继续改进所提方法,以提升其泛化性。虽然本文方法不是专门针对ASVspoof2019 PA数据集提出的,但对该数据集中多种条件的句子级重放语音攻击也具有一定的防御能力,提高本文方法的泛化性也是未来的一个研究方向。

表8 不同方法对句子级重放语音的检测结果

5 结束语

本文采用PN作为真实语音活体的指标,提出一种基于LC-GGRNN-SVM的新型单词级语音活体检测方法。实验结果表明,与基础方法相比,采用本文方法检测语音活体的AR相对提升了约1.52%,EER相对降低了约8.22%,ASV系统对重放欺骗攻击的检测率明显提高。未来的相关工作包括:①在句子级重放语音检测上,本文方法尽管具有泛化能力,但性能仍有待提升,进一步改进本文方法使得模型具有更好的泛化性是未来的研究工作之一;②通过本文研究发现,语音活体检测具有性别依赖性,如何开发出专门的性别感知语音活体检测器也是需要进一步研究的工作。

猜你喜欢

活体声学特征提取
张帆:肝穿刺活体组织学检查
让活体肝移植研究走上世界前沿
活体器官移植,你怎么看?
爱的就是这股Hi-Fi味 Davis Acoustics(戴维斯声学)Balthus 70
Acoustical Treatment Primer:Diffusion谈谈声学处理中的“扩散”
Acoustical Treatment Primer:Absorption谈谈声学处理中的“吸声”(二)
基于Daubechies(dbN)的飞行器音频特征提取
Acoustical Treatment Primer:Absorption 谈谈声学处理中的“吸声”
Bagging RCSP脑电特征提取算法
“汪星人”要打“飞的”——话说活体空运