APP下载

基于MFCC和时频图等多种特征的综合鸟声识别分类器设计

2018-10-30徐淑正孙忆南皇甫丽英方玮骐

实验室研究与探索 2018年9期
关键词:鸟声集上音节

徐淑正, 孙忆南, 皇甫丽英, 方玮骐

(清华大学 电子工程系,北京 100084)

0 引 言

鸟类是生态环境的重要组成成员之一,保护鸟类对于维护生态系统的稳定和人类的发展起到至关重要的作用。目前,保护鸟类的一个重要措施就是定期地对某一特定生态区域内的鸟类种群数量进行统计监督,然而相比形态特征,鸟类的叫声更具有物种的特异性。因此通过鸟声来识别其对应的种类就显得具有更大的现实意义。

目前对于鸟声的分类技术一般是构建单一的分类器算法,通过提取鸟声各个方面的特征和有标签分类进行机器学习,如基于多维特征联合方法[1]和结合时-频纹理特征[2-3]的随机森林分类器等。在分类器方面,可以利用统计学的流行方法实现对鸟叫声信号的自动识别[4],或采用朴素贝叶斯算法来进行鸟类声音识别[5]。同时,在实际的生态环境声音识别中,常常会遇到各种不可避免的噪声,而这些噪声又会严重影响系统的识别性能。

为了让系统在噪声环境下依然能够获得令人满意的工作性能,本文借鉴语音信号处理的相关方法[6-13],采用了不同算法进行前段的消噪工作。在特征提取方面,本文分别采用了音节长度、梅尔频率倒谱系数(MFCC)[6-7]、基于线性预测编码(LPC)系数的动态时间规整(DTW)模板[8-11]和时频纹理特征进行全方位地分析;在分类器方面,本文采用了支持向量机(SVM)和随机森林(Random Forest)等方法并且集成多个分类器组合进行分类。多分类器集成技术是指使用多个基分类器进行分类,并综合所有基分类器的分类结果形成一个最终结果。与单一分类器相比,组合分类器不仅可以有效提高分类正确率,而且能够避免过拟合现象。

1 实验原理及步骤

基于多维特征联合方法[1]和结合时-频纹理特征[2]的随机森林分类器,本文采用一种基于多维特征联合的鸟声识别方法,它主要包括预处理、特征提取、分类判别3个步骤。

1.1 音频预处理

先对音频信号s[n]重采样,将采样率统一到8 kHz,接着进行预加重处理,然后对音频分帧。用汉明窗截取长度为256点(32 ms)的语音帧,相邻帧之间互相重叠96点(12 ms)。计算每1帧的短时能量,并设置阈值以判定无声段和有声段,得到二值的判别结果。通过对该结果的中值滤波,将密集的有声段连结在一起,形成音节,进而完成音节萃取。

图1给出了音节萃取的结果(蓝色的为原始音频波形;橙色的为经中值滤波的有声段区分结果)。可以看出,通过中值滤波,孤立的有声帧被滤除,连续分布的有声帧被连结成有一定长度的音节。

(a) 中值滤波前

(b) 中值滤波后

1.2 特征提取

共提取4项特征,它们分别是音节长度、MFCC、基于LPC系数的DTW模板和TF。音节长度描述了鸟鸣声的长短;MFCC系数描述了鸟声在频域上的分布特点;LPC系数描述了声道特征,而其DTW模板则描述了声道特征随时间的变化;TF描述了鸟声的频谱随时间的变化。这4项特征综合了时域和频域、静态和动态,能较好地反映出鸟声的特质。

1.2.1音节长度

在音节萃取的基础上,计算出音节长度,即每个音节的持续时间。

1.2.2MFCC

利用Matlab的voicebox工具箱实现MFCC特征提取的函数mfcc(x,fs),其中:x为待提取特征的音频帧;fs为采样频率,函数输出为12阶MFCC参数,256个点为1帧。如图2所示,对于输入的1帧,对其进行FFT变换,从频谱求得幅度谱,然后通过一组在频域上非均匀分布的三角滤波器(Mel滤波器组),将输出做对数运算后再进行DCT变换,即可得到MFCC系数。

图2 MFCC系数的计算

通过Mel滤波器组,可以对频谱进行平滑,消除谐波的作用。滤波器组是一组Mel尺度的三角滤波器组,每个滤波器的中心频率为f(m),m=1,2,…,M,之后计算每个滤波器组输出的对数能量,m为三角滤波器的个数。

最后,将对数能量进行DCT变换:

得到12维的MFCC系数。不同种类的鸟在频谱上的分布特性表现不一,通过将同种鸟的帧特征拼合在一起,可以对比出不同的鸟,如图3所示。

1.2.3基于LPC系数的DTW模板

其中:R(k)为信号s[n]的自相关系数。

(a) 红头鸽

(b) 布谷鸟

在得到LPC系数的基础上,可以构建模板,利用DTW算法进行模板匹配。一个音节内各帧的LPC系数构成一个模板,这样每种鸟会有多个模板。为方便后续的分类判决、减少空间和时间开销,本文比较了各个音节的模板,为每个音频选择了一个最终模板。选择标准如下:分别计算各模板之间的距离,得到一个和其余模板的距离之和最小的模板,作为最终模板。

计算模板间的距离,即模板匹配,其过程即为DTW算法。DTW是把时间规整和距离测度计算结合起来的一种非线性规整技术,它寻找一个规整函数im=Φ(in),将测试模板T的时间轴n非线性地映射到参考模板R的时间轴m上,并使该函数满足:

D即为测试模板与参考模板之间的距离。本文中,时间轴的一点对应音节中的1个语音帧,模板在该时刻的取值则为该帧的LPC系数,是一个P维向量,距离d为向量间的欧几里得距离[13]。

(2) 利用模板匹配自动提取有效音节。一般情况下,音频中除了鸟声外还有其他噪音(例如人声等)。当噪声短促且功率较大时,预处理中以短时能量为依据判定音节的方式将无法分辨鸟声和噪声,从而将噪声误判为音节,形成无效音节。针对这个问题,本文提出了一种基于DTW模板的去除无效音节的方法。

对于每个音频,提取它的各个音节的DTW模板,并计算各DTW模板之间的距离。由于噪声与鸟声的DTW模板之间的距离明显大于鸟声与鸟声的DTW模板之间的距离,所以可以此为判据,去除无效音节。

图4展示了去除无效音节的效果。曲线空缺处代表距离值为正无穷。去除了无效音节后,各模板之间的距离都是有限值,且取值分布较为均匀,没有明显的离群值(outlier)。利用DTW模板来提取有效音节,也为音节长度、MFCC等特征的正确提取提供了便利。

(a) 去除无效音节前

(b) 去除无效音节后

1.2.4时频图纹理特征

(1) 前端处理。前端处理主要是对含噪信号进行增强处理,并将增强后的信号功率谱以时频图形式输出。本文使用一种基于噪声估计的音频增强算法来抑制背景噪声对信号的影响,具体步骤如下:

①对含噪信号功率谱|Y(λ,k)|2进行一阶递归平滑,得到平滑后的功率谱|P(λ,k)|为

式中:λ为帧号;k为子带频号;η为常量平滑参数,这里取η=0.7。

②采用连续平均过去的谱信号的非线性方法寻找带噪信号的最小值,判别规则如下:

如果

Pmin(λ-1,k)

Pmin(λ,k)=γPmin(λ-1,k)+

否则

Pmin(λ,k)=P(λ,k)

式中:Pmin(λ,k)为带噪信号功率谱的局部极小值;γ和β是实验中确定的常数。

③计算有效信号的存在概率

p(λ,k)=αpp(λ-1,k)+(1-αp)I(λ,k)

式中:αp=0.2为常量平滑参数;I(λ,k)是有效信号存在性判别准则,即:当Sr(λ,k)>δ(k)时,I(λ,k)=1 (包含有效信号);当Sr(λ,k)<δ(k)时,I(λ,k)=0 (不包含有效信号)。其中:Sr(λ,k)=P(λ,k)/Pmin(λ,k) 表示当前信号和局部极小值信号的比值。当该比值比阈值大,则判别为包含有效信号;否则判别为不包含有效信号。

④根据时-频平滑因子αs(λ,k)进行噪声功率谱估计:

其中

αs(λ,k)=αd+(1-αd)p(λ,k),αd=0.95

⑤计算频谱增益因子

式中,

为近似估计的纯净信号功率谱;ν=0.001为功率谱下限参数;μk为控制残留噪声与信号失真度平衡的拉格朗日乘子,通过实验确定:

式中,

为信噪比函数。

⑥最后增强信号的功率谱为:

(2)纹理特征提取[11]。

①灰度共生矩阵。灰度共生矩阵(Gray Level Co-occurrence Matrix,GLCN)是指图像中相距(Δx,Δy)的两个像素同时出现的联合概率分布,其中Δx,Δy的具体范围由两个参数决定:像素间的间距d和方向角度θ,其中Δx,Δy满足Δx=dcosθ,Δy=dsinθ。

灰度共生矩阵的公式定义:

式中:x,y是图像中第1个像素点的像素坐标;M×N是图像的大小;i,j=0,1,…,L-1,其中L为图像的灰度级数;#{S}表示集合S中的元素个数。

对GLCN进行归一化处理后的GLCN为:

当d,θ确定后,P(i,j|d,θ)=P(i,j)。

②GLCN的纹理特征提取。对于GLCN,有5种用于纹理特征分析的特征量是独立的,且具有较好的分类能力:

能量

对比度

相关性

局部平稳

其中:

μx=∑ijΣiP(i,j),μy=∑jj∑iP(i,j)

σx=∑i(i-μx)2∑jP(i,j)

σy=∑j(j-μy)2∑iP(i,j)

上述特征中,ENE反映纹理的粗糙度,CON表征图像局部灰度的变化总量,COR表示GLCM中行和列的相关程度,ENT表示图像灰度的均匀性,HOM表示纹理的局部变化程度。在特征提取中,选取了4组不同的(d,θ),再将5组特征值依次排序合成一个20维的特征向量,对经过前端去噪处理后的音频信号的时频图进行特征向量提取后得到的若干特征向量分为两组,其中一组作为训练集;另一组作为测试集,进行训练和结果判别。在实际的处理过程中,通过调参发现4组的(d,θ)分别取(1,0),(1,45°),(1,90°),(1,135°)可以获得较好的效果。

1.3 分类判决

1.3.1MFCC和音节长度特征的SVM分类

分别对MFCC特征和音节长度特征训练分类器。数据集分为训练集、发展集和训练集,用训练集训练不同参数下的分类器,在发展集上确定不同分类器参数的表现然后确定参数,最后在训练集上测试分类器的分类准确度。

MFCC特征的分类器的训练过程中,改变svm分类器的核函数,分别尝试了linear、polynomial和rbf 3种核函数,由于MFCC特征的维数较多,特征较为复杂,在将迭代次数增加到100 000的情况下依然对linear和polynomial核函数不收敛,所以只对rbf的rbf_sigma参数做了调整,记录下几种参数训练的模型,并在发展集上对每1帧音频进行分类,然后将同1个音频的几百个帧的分类结果进行投票来确定这个音频的分类结果,选择准确率最高的模型在测试集上测试结果。

音节长度特征是一维特征,分类器的训练过程与MFCC特征一样,svm分类器核函数训练了linear和rbf,并对rbf的rbf_sigma参数进行了调整。

1.3.2DTW模板匹配[12-13]

考虑到每个音频仅提供一个模板,采用leave-one-out交叉验证法进行测试。每次测试时,仅有一个模板作为测试集。分别计算它到其余模板的距离,最小距离对应模板所在的鸟类即为分类结果。

1.3.3时频图特征的随机森林分类

随机森林(Random Forest,RF)是一种基于决策树的组合分类器算法,它具有需要调整的参数较少、不必担心过度拟合、训练速度快、能高效处理大样本数据以及较强的抗噪能力等特点。广泛应用于基因表达数据、医学图像分割等领域,RF的具体实现过程如下:

①利用自举重采样(bootstrap)技术从原始训练集中有放回地随机抽取k个新的自助样本集,每个自助样本集作为每棵树的全部训练数据,调用过程②生成一棵决策树。

③重复步骤②构建k棵决策树组成RF。对于一个未知类型的待测鸟叫声样本,首先对其进行前端增强处理,并提取一个20维的纹理特征向量,然后将该纹理特征向量遍历森林中的每一棵树,每棵树都得出一个相应的分类结论,最后,由所有树通过简单多数投票决定该待测样本的最终分类结果。

由于在每个节点处是随机选择特征进行分支的,因此RF最小化了各决策树间的相关性,提高了识别率。而每棵树的生成速度很快,所以RF具有较快的训练速度,且很容易实现并行化。

1.3.4联合判决

采取标签融合(label fusion)的方式,将各方法得到的预测结果融合起来,得到可靠性更高的最终预测。

(1)单方法分类结果的可信度。MFCC法对每帧都做一次预测。假设音频有N帧,第n帧的判别结果为RltMFCC(n),则该音属于第i类的可能性为

其中,#表示求集合的元素数目。

音节长度法对音频中的每一声鸟叫做一次预测。假设音频有M声鸟叫,第m声的判别结果为RltNL(m),则该音频属于第i类的可能性为:

DTW法对每一个音频做一次预测,得到该音频到各种鸟的DTW模板的距离。每种鸟有多个模板供计算距离,取计算得到的最小距离为该音频到这种鸟的距离。设音频到第i类鸟的距离为distDTW(i),则定义该音频属于第i类的可信度为:

为防止分母min{distDTW(i)}为零,将distDTW(i)都加上一个小常量1.0×10-10。

TF法对每一段2 s长的音频片段都做一次预测,随机森林分类器可以给出这一片段属于某一类鸟叫的可能性。假设音频有K个片段,第k段属于第i类的可能性为RltTF(k,i),则定义该音频属于第i类的可信度为:

(2)单方法分类结果的融合。在本实验中,MFCC的预测结果的准确度最高,其余方法的结果则不尽人意,故采用了一种偏向于MFCC预测的融合方式。其思路如下:

if any(PMFCC(i)>thresh)

P=PMFCC

else

P=λ*PMFCC+LDTW+α*PNL+β*PTF

end

其中:P是融合后的分类可信度;P(i)表示音频属于第i类鸟的可信度。使得P(i)达到最大值的i即为分类结果。阈值thresh、系数λ、α、β均为待确定的参数。通过在发展集上调整它们的取值进行测试,获得了一组最佳的参数,并将这组参数用于测试集上。

2 使用的数据集

利用北京的常见鸟类名录[14],并从在线数据库[15]上下载了11种北京常见鸟的鸣叫音频,分别是红头鸽、布谷鸟、麻雀、黑嘴天鹅、红隼、家燕、领月胸窜鸟、喜鹊、小美洲黑雁、小嘴乌鸦和云雀。该网站的音频均由鸟类爱好者在现实环境中录制,背景音多、噪音来源丰富。通过人工确认了音频内没有其他鸟类的声音,并选取了背景噪声较小的音频,最终为每种鸟下载了约20段音频,一共收集了253个音频作为数据集。

数据集被划分为训练集(train set)、发展集(development set)和测试集(test set)。对于每种鸟,属于训练集、发展集和测试集的音频数分别占音频总数的80%、10%和10%。

3 实验结果

3.1 MFCC特征分类

svm分类器的核函数为rbf,rbf_sigma参数分别尝试了1,2,2.5,3,4,在发展集上的准确度表现如表1所示。

表1 不同rbf参数下MFCC特征分类的准确率

可以看出,当rbf_sigma=2,2.5,3,4时准确率表现一致,只在每一个音频的投票结果上有区别,选择投票准确率相对较高的rbg_sigma=2的模型在测试集上测试,得到的准确率为84.00%。

3.2 音节长度特征分类

svm分类器的核函数为rbf,rbf_sigma参数分别尝试了1,2,2.5,3,4,在发展集上的准确度表现如表2所示。

表2 不同rbf参数下SVM分类器和线性分类器的准确率

可以看出,当rbf_sigma=1,2时准确率表现一致且最高,只在每一个音频的投票结果上有区别,选择投票准确率相对较高的rbg_sigma=2的模型在测试集上测试,得到的准确率为36.00%。

3.3 DTW模板匹配

利用leave-one-out交叉验证法,得到分类准确率为25.30%。其中布谷鸟和麻雀的分类效果最差,准确率分别为4.35%和10.53%;云雀和小美洲黑雁的分类效果最好,准确率分别为52.00%和48.00%。模板匹配的分类效果很大程度上依赖于音节的提取,由于本文采取了自动的音节提取方式、而非人工选取,所以难免出现错误,这可能是分类效果不佳的原因之一。

3.4 时频图特征分类

选取随机森林中树的个数ntree=300,其余参数在实验中调节,对于测试音频采用分割预测投票的方式进行判决,得到分类准确率为52%。

3.5 联合判决

经过在发展集上进行测试,得到了最优的参数组合:thresh=0.6,λ=11,α=3.3,β=0。在测试集上的实验结果显示,联合判决结果的准确率达到92.00%,高于所有单一方法。标签融合(label fusion)实现了各方法间的优势互补。

4 结 语

本文基于4种不同的特征提取方式,采用多分类器集成技术实现了对鸟声高准确率的预测和识别功能。在系统设计过程中,模型的建立和参数的选择是主要问题,本文通过对相关文献的调研和尝试,最终选取了一种适合分类且效果好的参数。实验证明了该算法的有效性。

猜你喜欢

鸟声集上音节
Cookie-Cutter集上的Gibbs测度
七种鸟声
链完备偏序集上广义向量均衡问题解映射的保序性
拼拼 读读 写写
分形集上的Ostrowski型不等式和Ostrowski-Grüss型不等式
闲情
早 晨
藏文音节字的频次统计
鸟飞过冬天
木管乐器“音节练习法”初探