Page 201 - 《应用声学》2023年第4期
P. 201
第 42 卷 第 4 期 孙晓川等: 应用 ResNet 和 CatBoost 检测重放语声 863
LFCC)、GFCC 在重放语声检测方面的效果。输入
1 特征提取
语声帧为1.2节中选择的语声帧。根据文献[10],3种
1.1 语声信号预处理 特征均只使用中心频率范围为0∼40 Hz的滤波器。
语声信号预处理,包括预加重、分帧与加窗3个
步骤。预加重是为了提升语声信号中的高频部分, ឦܦηՂ
使信号的频谱变得平坦,便于进行频谱分析。预加
重一般通过一个一阶预加重数字滤波器实现,公式
如下:
ᆁϬ᧗Ձԫ૱
y(m) = x(m) − a × x(m − 1), (1)
其中,y(m) 是预加重后的信号,x(m) 是预加重前的
信号,0.94 6 α 6 0.97。
分帧是将语声信号分割为帧的过程。在分帧过 Ͱᮠࣱکᑟ᧚ᝠካ
程采用帧叠加方法避免在每一帧的交点处丢失声
频的特性。根据文献 [3],帧长越大频域分辨能力越
强,重放语声检测效果越好。本文采用 100 ms 的帧
ឦܦࣝᤥહ a c c c a
长、50 ms的帧移进行分帧处理。为了抑制在分帧过
程中发生的频谱泄露问题,采用汉明加窗方法。
图 1 语声帧选择流程
1.2 语声数据帧选择 Fig. 1 Audio frame selection process
为了保证模型输入的数据长度一致,同时为提
升检测的效果,受到文献[15]启发,本文提出了一种 2 重放语声检测模型
选择语声数据帧的方法。语声信号在预处理后,通
本文提出了一种结合了ResNet和CatBoost的
过快速傅里叶变换得到频谱,公式如下:
重放语声检测模型。在结构上,ResNet 是特征提取
N−1
∑ 器,它由一些残差块 (Residual block, ResBlock) 组
X i (k) = x i (n)e −j2πnk/N , (2)
n=0 成。图 2 显示了整个 ResNet 及其 ResBlock 的结构。
其中,x i 为语声帧,i指语声帧的序号;N 为第i 帧语 ResBlock 可以分为两个部分:直接映射部分 h 和残
声中采样点总数;k 为第i帧语声中采样点序号。 差部分F,每个ResBlock可以表示如下:
经过快速傅里叶变换之后,得到了在一定频 y l = h (x l ) + F (x l , W l ) ,
率范围内每帧的能量向量。用 E i 定义在频率范围 (3)
x l+1 = f (y l ) ,
[0, f max ]内的低频平均能量(Low frequency average
其中,x l 和 x l+1 分别是第 l 个单元的输入和输出,f
energy, LFAE),其中i是每个帧序号。根据文献 [10],
是激活函数。
f max 应设置为低于预期频率,排除来自谐波内容的
与传统的 ResNet 不同,本文使用的 ResNet 使
能量。实验中 f max 取 40 Hz。对 i = 1, 2, · · · , L (L
用了 LeakyReLU激活函数。通过这种方式,可以尽
是语声帧数量),计算 E i 。找出 E i 中前 10 个最大的
可能多地保留特征信息。此外,采用 PreActBlock
元素,其帧序号 i 即代表选取的语声数据帧。最后,
来代替原来的 ResBlock,其中 BN 层和 LeakyReLU
将选择的 10 个语声帧按照语声帧序号由小到大进
层被放置在卷积层的前面。本文的初步实验工作表
行排序。语声帧选择的流程如图1所示。
明,新的 ResBlock可以有效地缓解潜在的数据过拟
1.3 声学特征提取 合问题。最后,并非所有的语声帧都提供相同的区
本文研究了 3种不同的声学特征梅尔频率倒谱 分信息。例如,非语声帧和短暂停顿区分性小,而一
数(Mel frequency cepstral coefficients, MFCC)、线 些语声内容在重放语声检测中更具区分性。ResNet
性倒谱系数 (Linear frequency cepstral coefficients, 中使用自我注意力池化 (Self-attentive pooling, SA