[0031] 以下通过具体实施例对本发明的技术方案作进一步解释说明。
[0032] 如图1所示,本发明实施例的采用联合特征与随机森林的伪装语音检测方法,包括以下步骤:
[0033] S1、从训练语音库中随机选取真语音和伪语音,分别对随机选取的各语音进行LBP局部纹理特征和CQCC声学特征的提取,并将LBP局部纹理特征和CQCC声学特征联合组成联合特征向量,以得到训练数据集;
[0034] 具体地,获取随机选取的语音的语谱图,利用LBP算法对待提取语音的语谱图进行分析,得到LBP局部纹理特征。其中,为了提升伪装语音检测方法的检测效率以及准确性,需要先对语谱图进行分块处理,然后对每块语谱图分别利用LBP算法对待提取语音的语谱图进行分析,得到各块语谱图的LBP局部纹理特征组成的LBP局部纹理特征向量。
[0035] CQCC声学特征的提取,包括:
[0036] 先对随机选取的语音进行常量Q变换得到频谱XCQ(k),然后得到对数功率谱log|CQ 2 CQ 2X (k)| ,之后将对数功率谱重采样转换为log|X (l)| ,最后对重采样后的对数能量谱作离散余弦变换,得到待提取语音的CQCC声学特征;
[0037] 其中,k、l分别为重采样前、后的频带序号。
[0038] 上述两种特征提取完成之后,将LBP局部纹理特征和CQCC声学特征联合组成联合特征向量,由于LBP局部纹理特征与CQCC声学特征的维度不同,无法直接生成联合特征,并且特征参数维度过大,导致欺骗检测阶段计算量过大,影响伪装语音检测的效率。因此,上述两种特征联合的具体过程包括:
[0039] 采用主成分分析算法分别对LBP局部纹理特征和CQCC声学特征进行降维,然后将降维后的特征进行拼接,从而生成联合特征向量。
[0040] S2、利用训练数据集对随机森林进行训练,以生成随机森林分类器;
[0041] 其中,随机森林的训练,具体包括以下步骤:
[0042] S21、假设训练数据集中共有N个矢量样本,从训练数据集中有放回地随机抽取N'个矢量样本作为训练集样本来训练决策树,其中,N'≤N;
[0043] S22、每个矢量样本包含M个属性,M为联合特征向量的维数;决策树分裂时,随机选择M'个属性,根据基尼指数完成决策树分裂,判断是否无法继续分裂;若是,则转至步骤S23;若否,则继续根据基尼指数完成决策树分裂;
[0044] S23、生成决策树,并判断决策树数量是否小于目标数量;若是,则返回至步骤S21;若否,则生成随机森林分类器。
[0045] S3、将待测语音(即待验证语音)进行LBP局部纹理特征和CQCC声学特征的提取,并将LBP局部纹理特征和CQCC声学特征联合组成待测联合特征向量,将待测联合特征向量输入随机森林分类器以对待测语音进行真伪检测。
[0046] 其中,LBP局部纹理特征和CQCC声学特征的提取以及两种特征的联合的具体过程可以参考步骤S1,在此不赘述。
[0047] 以下详细介绍上述每个步骤的工作原理以及示例说明:
[0048] (1)LBP局部纹理特征的提取
[0049] LBP特征参数目前在图像识别领域有很好的表现,是一种效率高且分类效果好的纹理特征。LBP是通过比较目标图像相邻像素之间灰度值大小来描述目标的纹理特征,以一个图像中心点的像素的灰度值gc作为标准,相邻的所有像素点的灰度值gi与该中心像素点灰度值作比较,其中大于或等于gc的点编码为1,小于gc的点编码为0。同时规定左上角作为第一个数字并顺时针依次记录,于是就可以得到了一组由0和1组成的序列,这样组成的二进制数转化为十进制即完成了LBP基本运算。
[0050] LBP运算公式如下:
[0051]
[0052] 其中,gc为中心像素点的灰度值,R为半径形成一个原型区域中分布的像素点为gi(i=1,…,N),得到的LBPN,R为该中心像素点的LBP值。如图2所示,当R=1时,一个图像像素点的LBP值求解过程示例。
[0053] 用LBP算法对待测的每段语音信号的语谱图进行纹理分析,为提升伪装语音检测系统整体性能,先对语谱图进行分块。本发明采用4×4的格式将整个语谱图均分为16块,每块分别进行LBP特征提取。提取LBP时选取采样半径R=1,采样点数N=8。
[0054] LBP8,1模式中,通过图2中3×3的LBP处理语谱图之后,每个像素点的值都位于0~255之间,利用统计直方图的方法对每个像素点的值进行统计,每块语谱图就得到一个1×
256维的特征向量。对于3×3的LBP来说,1×256维的特征向量里会有很多维是空的,这样就增加了许多无用的信息和计算量。因此,需要进行压缩处理,对3×3LBP的每个8位二进制数,如果0与1之间跳变超过2次就归为同一类。这样处理后,3×3的LBP原本256种情况就变成了59种情况,然后再对这59种可能情况的LBP值使用统计直方图进行统计,就得到了59维的特征向量。如图3所示,是用3×3的LBP提取纹理特征向量的示意图。对整个语谱图的16块区域进行同样的操作,就得到一个16×59维的特征矩阵。
[0055] (2)CQCC声学特征的提取
[0056] CQCC与传统声学特征提取方式相似,不过CQCC将传统特征提取所使用的短时傅里叶变换(Short‑time Fourier Transform,STFT)替换为常量Q变换(Constant Q Transform,CQT)。CQT最开始被应用于音乐识别中的乐音分析中,其主要优点是在低频段与高频段具有不同的频率分辨率和时间分辨率,从而避免了STFT时频分辨率均匀分布的缺点。
[0057] CQCC是基于CQT进行特征提取的,假定x(n)表示一帧语音信号,其CQT表示为:
[0058]
[0059] 式中,k=1,2,…,K为频点的序号, 是表示向下取整的运算符号。被分析频段的最小频率为fmin,最大频率为fmax,该频段被分割为NO个符合指数分布的八度音。再将每个八度音再分割为B个频带,即 为ak(n)的复共轭,Nk为可变窗长,是时频分析中动态窗口的长度,并且ak(n)的数学表达式为:
[0060]
[0061] 式中,fk是第k个滤波器频带的中心频率,fs表示采样频率,φk表示相位偏移。C为正则因子,其数学表达式为:
[0062]
[0063] 式中,w(t)表示窗函数。K个频带的宽度分布符合十二平音率,故fk的数学表达式为:
[0064]
[0065] 式中,f1表示最低频带的中心频率。
[0066] 时间分辨率与频率分辨率的权衡参数Q的数学表达式为:
[0067]
[0068] 公式(6)中Q的数值只与B有关,在CQT过程中不发生变化,则Nk的值为:
[0069]
[0070] 如图4所示,CQCC声学特征的提取,先对语音信号x(n)进行常量Q变换得其频谱XCQCQ 2 CQ 2(k),然后得到能量谱|X (k)|的对数及对数功率谱log|X (k)| ,之后重采样转换为log|CQ 2
X (l)| ,最后对重采样后的对数能量谱作离散余弦变换便可提取语音信号的CQCC系数,最终获得的CQCC特征向量,即:
[0071]
[0072] 式中,p=0,1,...,L‑1,l为重新采样后的频带序号。
[0073] (3)联合特征
[0074] 在欺骗攻击场景中,联合特征带有更多的语音信息,有着更好的表现。将声学特征CQCC与LBP纹理特征联合并组成联合特征,由于纹理特征与声学特征维度不同无法直接生成联合特征,并且特征参数维度过大,导致欺骗检测阶段计算量过大影响伪装语音检测系统整体性能。
[0075] 本发明采用主成分分析(principal component analysis,PCA)分别先对CQCC与LBP特征进行降维,然后再将降维后的特征进行拼接,从而生成联合特征。
[0076] 其中,PCA降维算法的具体流程如下:
[0077] (a)首先输入由N个M维矢量构成的数据集X={x1,x2,…,xi,…,xN},将X中每一个矢量xi减去均值矢量,即 这样就得到了去中心化的数据集
[0078] (b)构造协方差矩阵 并对其做特征值分解,依次选取最大的N'个特征值对应的特征向量w1,w2,…,wN′,得到特征向量矩阵W={w1,w2,…,wN′}。其中T表示矩阵的转置运算。
[0079] (c)将数据集 中每一个样本向量 进行降维,即 得到降维后的N'维数据集Z={z1,z2,...,zN}。
[0080] 联合特征的提取主要依赖于PCA降维方法。假定x(n)是一段L帧的语音信号,首先计算该语音信号的语谱图,使用前述的LBP算法对语谱图进行分析并得到16×59维的纹理特征矩阵LBP。同时提取每帧语音信号的CQCC特征矢量,矢量的维数取60,这样对于一段L帧T的语音信号来说,就得到60×L维的声学特征向量CQCC。再使用PCA分别对矩阵LBP和CQCC进行降维处理,并取N'=1,这样就分别得到16×1维的LBP′和60×1维的CQCC′。最后将16×
1维的LBP′和60×1维的CQCC′首尾拼接,就得到了76×1维的联合特征向量。这样,对于一段任何时长的语音信号,经过联合特征提取过程后,最终生成76×1维的联合特征向量,具体的联合特征提取流程如图5所示。
[0081] (4)随机森林分类器
[0082] 随机森林(random forest,RF)属于机器学习算法,可以有效地处理分类与回归问题,是一种基于决策树模型的强大的监督学习算法。RF采用了集成学习的思想,将多个弱学习器组成一个强学习器。RF通过随机选取数据样本来形成多个决策树从而形成森林结构,每一棵树都会得出一个分类结果。RF根据少数服从多数的原则,选出票数最高的分类结果作为整个森林的分类结果。如图6所示,RF的训练流程如下所示:
[0083] (a)从语音库中随机选取真、伪语音,假设共有N个语音段,从每段语音提取一个76维的联合特征矢量,则共有N个矢量样本,形成数据集。从数据集中通过有放回抽取的方式随机提取N'(N'≤N)个矢量样本作为训练集样本来训练决策树。在该过程中可能存在被重复提取与没有被提取的样本。
[0084] (b)每个样本包含M个属性,即联合特征矢量的维数。当决策树开始分裂时,从M个属性中随机选择M'个属性,其中M'的数量应远小于M;使用基尼指数作为分裂策略来选取这M'个属性的分裂属性,即分裂规则就是在待选属性中找出信息增益高于平均值的属性,然后找出信息增益率最高的属性。
[0085] (c)对决策树的节点进行分裂,直到所有可能的值都已被使用时停止生长,从而最大限度生长决策树,避免剪枝;这样我们就得到了一棵决策树,将上述流程重复目标次数T从而生长出更多棵决策树,形成随机森林分类器。
[0086] 由于所有决策树之间是相互独立的,所以每个决策树的重要性相同,在本专利中使用随机森林用于分类时,每棵树都具有相同的权值,依据投票结果来决策最终的分类结果。本专利选取随机森林分类算法作为实现真、伪语音分类的分类器,使用包含真实语音与伪装语音的联合特征的数据集对随机森林系统进行训练,再对待认证语音集进行测试,即能实现对真实语音与伪装语音进行分类识别的效果。
[0087] 以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。