APP下载

一种自适应的异常声音端点检测方法

2017-09-09徐保民李文婧

软件导刊 2017年8期
关键词:自适应

徐保民+李文婧

摘 要:在综合分析声音端点检测技术的基础上,针对公共场所异常声音的特点,提出一种综合短时优化过零率和短时TEO对数能量自适应端点检测方法,以及特征数据的模糊归一化方法,在此基础上引入背景噪声动态建模、前后端延时确认、阈值动态更新机制,进行异常声音端点检测。Matlab仿真实验表明,该方法能较好地适应低信噪比背景噪声变化的公共场所环境,具有较好的检出率和较低的误报率。

关键词:异常声音;端点检测;自适应;模糊归一化

DOIDOI:10.11907/rjdk.171236

中图分类号:TP306

文献标识码:A 文章编号文章编号:1672-7800(2017)008-0001-04

0 引言

随着语音处理技术的发展,异常声音的感知已逐步引入到公共场所来感知异常事件发生,而异常声音端点检测是进行异常声音感知的重要环节。与语音端点检测类似,异常声音端点检测属于二类分类的问题。语音端点检测技术作为语音识别的基础环节,近几年相关学者展开了深入研究,其检测方法大致分为时域参数法、频域参数法、模型检测法等,其中时域特征主要包括短时过零率、短时能量等,而频域特征主要包括Mel倒谱系数等[1-2]。为了更好地提高语音端点检测的准确度,有学者提出利用语音长时信息提高检测准确度[3-4]。针对低信噪比环境,文献[5]中提出了一种通过优化、综合短时能量和短时过零率的方法实现不同信噪比下的语音端点检测;文献[6]提出了一种综合短时对数能量和Mel能量的方法来适应不同的信噪比环境;文献[7]通过综合短时TEO能量和Mel倒谱距离的方式进行了端点检测。以上方法由于利用了不同语音特征的互补性,进而有效提高了算法适应不同信噪比的能力。

然而,公共场所出现的异常声音与平常说话人的语音有所区别,例如其频带较窄,声音往往开始时响度较大,以后逐渐消退。另外,公共场所的背景噪声较大,并且背景噪声随时间变化较大,即它是一种低信噪比的背景噪声变化环境,与普通语音识别环境有所区别。因此,直接采用语音端点检测方法来实现对异常声音端点的检测难以得到理想效果。文献[8]针对公共场所异常声音的端点检测提出了一种使用非线性中值滤波器有选择地放大声音能量序列中的冲击信号,然后根据放大后的信号能量变化情况,获得异常声音的端点。然而仅仅利用能量信息在低信噪比环境中检测异常声音的端点难于获取较高的准确度。文献[9]在Mel倒谱系数的基础上进行了异常声音识别。文献[10]引入了Mel倒谱系数与短时能量相混合的方法,并通过GMM模型对异常声音进行识别,然而在信噪比较低的环境下,Mel倒谱系数对异常声音与背景噪声的区别度不大,这势必影响端点检测的准确度。

本文提出一种综合短时优化过零率和短时TEO对数能量的自适应端点检测方法。对不同的特征数据,首先进行模糊归一化,然后引入背景噪声动态建模、前后端延时确认和阈值动态更新机制进行端点检测。

1 异常声音特征提取

在实际环境中,由于受诸多因素影响,数字化后的声音信号频率和振幅特性复杂,信号采样值随时间的变化而剧烈波动,因此不具有时间平稳性,也难以进行特征描述。然而,声音信号往往在10~30ms内是相对平稳的,因此声音信号的处理可以通过分帧以获取短时较为平稳的特征描述,并以此为基础进行后续处理。为了实现对异常声音特征的描述,本文对输入的声音信号首先以20ms左右为间隔进行信号帧划分,在此基础上进行帧特征提取,主要包括优化过零率和TEO对数能量。

1.1 过零率优化

过零率(Zero Crossing Rate, ZCR)描述了信号帧中信号采样点符号改变的次数,它反映了信号波动情况,在固定时间信号帧中,过零率大则意味着信号变化快速,其频率也相应大。实验分析表明,在信噪比較高的环境中,过零率可以有效区分异常声音和背景噪声。然而在信噪比较低的环境中,过零率容易被噪声影响,甚至淹没。为此,在文献[5]研究的基础上,给出了一种优化的过零率计算方法,第i帧的优化过零率计算如下:

ZRC(i)=∑nm=1[TP(S,X(i,m)-Tup)+TN(S,X(i,m)-Tdown)](1)

其中,TP(S, x)为正数判定函数,即当S=0,且x为正数时将S设置为1,并返回1;否则,不改变S的值,并返回0。TN (S, x)为负数判定函数,即当S=1,且x为负数时将S设置为0,并返回1;否则,不改变S的值,并返回0;Tup和Tdown为上下阈值,X(i,m)为第i帧的第m个语音信号值。

为了更好地减少背景噪声对所提取的过零率特征值的影响,上下阈值的确定方法如下:

Tup=X+ασ

Tdown=X-ασ(2)

其中,X为背景噪声段信号的均值,而σ为背景噪声段信号的标准差,α为阈值系数。

1.2 TEO对数能量

作为一种能够很好地表征信号的共振峰信息,能在抑制背景噪声中消除零均值噪声,起到信号增强作用的TEO在文献[7]中被用来检测语音端点,并且综合了Mel倒谱系数和TEO能量来进行语音信号的端点检测。然而,笔者通过对大量异常声音素材的实验分析发现,TEO能量信息在描述异常声音特征方面较TEO对数能量相对较弱,在异常声音处理中TEO对数能量将能获取较为准确的端点检测,为此本文引入了TEO对数能量作为异常声音特征之一。根据文献[11],对于离散信号,TEO变换的公式可描述如式(3)所示。

φ(x(t))=x(t)2-x(t-1)*x(t+1)(3)

其中,x(t)为t时刻的信号值,ψ(x(t))为t时刻TEO变换后的信号值。在此基础上对于第i帧的TEO对数能量LE(i)的计算公式如式(4)所示。

LE(i) = log(E(i) + a)-log(a)endprint

E(i) = ∑Lt = (i-1)*L + 12i (x(t))(4)

其中,i为帧序号,L为帧长,因此,E(i)便是为第i帧的短时TEO能量,而a为常数,可以取值为1。

2 特征值模糊归一化

由于优化过零率和TEO对数能量具有不同的量纲和取值范围,同时为了进一步减少背景噪声的影响,笔者提出了一种特征值模糊归一化方法,其归一化计算公式如式(5)所示。

FD(i)=sng(F(i)-Fbg)*min{F(i)-Fbgβσbg,1}β=FuzzyRules(noiseI)Fbg=(1-α)Fbg+αF(i)(ifF(i)-Fbg<γ)(5)

式(5)中,sng(x)为符号函数,当x<0时,返回-1,否则返回1; F(i)为第i个特征数据值;Fbg为背景噪声段该特征数据均值;σbg为背景噪声段该特征数据标准差;β为依据背景噪声大小noiseI,由预设的模糊规则FuzzyRules确定的归一化系数,α为背景更新系数,γ为背景更新阈值。因此,归一化以后的特征值反映了不同背景噪声强度下特征数据的偏离程度。在此基础上,第i帧特征描述FFD(i)的计算如式(6)所示。

FFD(i)=NZCR(i)*NLE(i)(6)

其中,NZCR(i)为由式(5)归一化后的优化过零率,NLE(i)为由式(5)归一化后的TEO对数能量。

图1从上到下分别显示了未混合噪声的异常声音波形、按0db混合白噪声后的异常声音波形以及混合噪声后异常声音的以0为基准的过零率、TEO、Mel倒谱距离、归一化后的优化过零率和归一化后的对数TEO能量。不难看出,本文提出的模糊归一化方法能较好地提高特征数据反映异常声音的特征状态的能力,并且可以较好地克服背景噪声的影响。

3 异常声音端点检测

由于公共场所是一种低信噪比且背景噪声随机变化的环境,同时,公共场所所出现的异常声音往往具有开始时响度较大,以后逐渐消退的明显特征。为此,笔者引入背景噪声动态建模更新机制,并在此基础上引入自适应前后阈值的端点检测方法,其中前端阈值用于检测异常声音起始点,而后端阈值用于检测结束点。为了使端点检测更加准确,对于双阈值引入了动态更新机制,以及端点延时确认机制,整个端点检测算法描述如下:

(1)Initialize N、K0、K1、K2, and α、β;//初始化前后端点延时确认帧数N,背景噪声、阈值更新系数K0、K1、K2,前端阈值系数α和后端阈值系数β。

(2)FFDbg=mean(FFD1-10),FSi= FFDi-FFDbg;//将前10帧的特征向量平均值作为背景噪声初始值FFDbg,求前10帧帧特征向量与FFDbg的差值FSi。

(3)T= mean(FS1-10),D= std(FS1-10);//求前10幀与背景噪声FFDbg差值的平均值T,以及前10帧与背景噪声FFDbg差值的标准差D。

(4)TH1=T+α*D,TH2=T+β*D;//初始化前端阈值TH1,后端阈值TH2。

(5)S =0;//对状态变量S初始化,对于第11帧以后的每一帧重复如下操作。

FSi= FFDi-FFDbg;//求帧差stf=0; //后端点标志置0if (S==0) and (FSi>TH1) then S=1;elseif (S>0) and (STH1) then S=S+1;elseif (S==N) and (FSi>=TH2) then S=N;Elseif (S>0) and (FSi

4 实验分析

4.1 实验方法

为了验证本文算法的有效性,在Matlab软件环境下对本文端点检测算法进行仿真实验。其中异常声音素材主要来自互联网,包括枪声、爆炸声、打碎玻璃的声音、狗叫声、鞭炮声等,采样频率为11 025Hz;噪声素材来自NOISEX-92噪声数据库,包括白噪声(white)、粉红噪声(pink)、工厂噪声(factory)和飞机噪声(f16)。噪声数据分别与待测试的异常声音数据按信噪比-5db、0db、5db、10db和20db进行混合生成带噪声数据进行实验测试。

4.2 实验结果评价方法

对于实验结果的比较评价,不少文献都是通过与手动标记的分段结果进行比较,然而笔者认为这种比较方式可操作性不足,因为检测出来的异常声音段不可能完全与所标注的起止点完全吻合,当有差异时如何量化评价?本文引入了如下评判方式:首先,对没有添加任何噪声的测试异常声音数据使用本文中的优化过零率进行检测,将检测出来的异常声音段作为参考标准;然后,用需要比较的方法对混合不同噪声的该异常声音数据进行检测;最后,对检测结果分别用公式(7)和公式(8)计算其检出率和误报率。

检出率=∑(PS0∩PS)∑PS0*100(7)

误报率=∑(PS0∩PS)∑PS*100(8)

在式(7)和(8)中,PS0为对没有添加任何噪声的待测异常声音数据使用本文中的优化过零率进行检测所检测出来的异常声音段点标记集合,在该集合中是异常声音段的点标记为1,否则标记为0;PS为需用比较的方法对添加不同噪声的异常声音数据进行检测所检测出来的异常声音段点标记集合,同样,在该集合中是异常声音段的点标记为1,否则标记为0。

4.3 实验结果分析

图2为混合不同噪声后鞭炮声检测结果。不难看出,即使在-5db和0db的低信噪比下,本文方法仍有较好的检出率和较低的误报率。

为了更进一步证明本文方法的有效性,首先选择了10段不同的待测试异常声音数据(包括枪声、爆炸声、打碎玻璃的声音、狗叫声、鞭炮声等),按信噪比-5db、0db、5db、10db和20db分别与白噪声(white)、粉红噪声(pink)、工厂噪声(factory)和飞机噪声(f16)进行混合,生成50段带不同信噪比噪声异常数据进行实验测试,然后分别用归一化优化过零率、归一化对数TEO和本文方法进行测试,结果如图3所示,不难看出,虽然利用归一化对数TEO检测能有较好的检出率,然而其误报率也较高。而本文方法在不同的信噪比下都有较好的检出率和较低的误报率。

5 结语

公共场所异常声音的检测对于感知公共场所异常事件的发生有重要作用,而异常声音的端点检测是实现异常声音检测的重要环节,在综合分析语音端点检测技术的基础上,结合公共场所异常声音的特点,提出了一种自适应的端点检测方法,该方法首先综合了短时优化过零率和短时TEO对数能量作为特征向量,并提出了一种特征数据模糊归一化方法对其进行归一化。在此基础上引入背景噪声动态建模、检测阈值动态更新和前端端点延时确认机制进行端点检测,通过对混合不同噪声不同信噪比的声音实验表明,算法能较好地适应低信噪比下背景噪声变化的检测环境,具有较好的检出率和较低的误报率。

参考文献:

[1] YANG X, TAN B, DING J,et al. Comparative study on voice activity detection algorithm[C]. 2010 International Conference on Electrical and Control Engineering (ICECE),2010:599-602.

[2] FANG Z, GUOLIANG Z, ZHANJIANG S. Comparison of different implementations of MFCC[J]. 计算机科学技术学报:英文版,2001, 16(6):582-589.

[3] 赵欢,冯璐,陈佐,等,基于动态特性的D-LTSV语音端点检测方法[J],计算机工程,2014,40(12):277-281.

[4] 陈振锋,吴蔚澜,等,基于Mel倒谱特征顺序统计滤波的语音端点检测算法[J],中国科学院大学学报,2014,31(4):524-529.

[5] 孙战先,储飞黄,王 江,一種自适应语音端点检测算法[J],计算机工程与应用,2014,50(1):206-210.

[6] 王晓华,屈雷,基于时频参数融合的自适应语音端点检测算法[J],计算机工程与应用,2015,51(20):203-207.

[7] 王茂蓉,周萍,景新幸,杨青,基于Mel-TEO的带噪语音端点检测算法[J].微电子学与计算机,2016,33(4):46-49.

[8] ALAIN DUFAUX,LAURENT BESACIER,MICHAEL ANSORGE.Automatic sound detection and recognition for noisy environment[C].European Signal Processing Conference, Finland, 2000:1033-1036.

[9] 栾少文,龚卫国.公共场所典型异常声音的特征提取[J].计算机工程,2010,36(7):208-210.

[10] 吕霄云,王宏霞.基于MFCC和短时能量混合的异常声音识别算法[J].计算机应用,2010,30(3):797-798.

[11] KAISER J F. On a simple algorithm to calculate the energy of a signal[C]. IEEE International Conference on Acoustic, Speech and Signal Processing, Albuquerque,NM:IEEE,1990:381-384.endprint

猜你喜欢

自适应
散乱点云的自适应α—shape曲面重建
浅谈网络教育领域的自适应推送系统
电子节气门非线性控制策略
多天线波束成形的MIMO-OFDM跨层自适应资源分配
计算机虚拟客户在电子商务教学中的应用