徐保民+李文婧
摘 要:在綜合分析聲音端點檢測技術(shù)的基礎(chǔ)上,針對公共場所異常聲音的特點,提出一種綜合短時優(yōu)化過零率和短時TEO對數(shù)能量自適應(yīng)端點檢測方法,以及特征數(shù)據(jù)的模糊歸一化方法,在此基礎(chǔ)上引入背景噪聲動態(tài)建模、前后端延時確認(rèn)、閾值動態(tài)更新機制,進行異常聲音端點檢測。Matlab仿真實驗表明,該方法能較好地適應(yīng)低信噪比背景噪聲變化的公共場所環(huán)境,具有較好的檢出率和較低的誤報率。
關(guān)鍵詞:異常聲音;端點檢測;自適應(yīng);模糊歸一化
DOIDOI:10.11907/rjdk.171236
中圖分類號:TP306
文獻標(biāo)識碼:A 文章編號文章編號:1672-7800(2017)008-0001-04
0 引言
隨著語音處理技術(shù)的發(fā)展,異常聲音的感知已逐步引入到公共場所來感知異常事件發(fā)生,而異常聲音端點檢測是進行異常聲音感知的重要環(huán)節(jié)。與語音端點檢測類似,異常聲音端點檢測屬于二類分類的問題。語音端點檢測技術(shù)作為語音識別的基礎(chǔ)環(huán)節(jié),近幾年相關(guān)學(xué)者展開了深入研究,其檢測方法大致分為時域參數(shù)法、頻域參數(shù)法、模型檢測法等,其中時域特征主要包括短時過零率、短時能量等,而頻域特征主要包括Mel倒譜系數(shù)等[1-2]。為了更好地提高語音端點檢測的準(zhǔn)確度,有學(xué)者提出利用語音長時信息提高檢測準(zhǔn)確度[3-4]。針對低信噪比環(huán)境,文獻[5]中提出了一種通過優(yōu)化、綜合短時能量和短時過零率的方法實現(xiàn)不同信噪比下的語音端點檢測;文獻[6]提出了一種綜合短時對數(shù)能量和Mel能量的方法來適應(yīng)不同的信噪比環(huán)境;文獻[7]通過綜合短時TEO能量和Mel倒譜距離的方式進行了端點檢測。以上方法由于利用了不同語音特征的互補性,進而有效提高了算法適應(yīng)不同信噪比的能力。
然而,公共場所出現(xiàn)的異常聲音與平常說話人的語音有所區(qū)別,例如其頻帶較窄,聲音往往開始時響度較大,以后逐漸消退。另外,公共場所的背景噪聲較大,并且背景噪聲隨時間變化較大,即它是一種低信噪比的背景噪聲變化環(huán)境,與普通語音識別環(huán)境有所區(qū)別。因此,直接采用語音端點檢測方法來實現(xiàn)對異常聲音端點的檢測難以得到理想效果。文獻[8]針對公共場所異常聲音的端點檢測提出了一種使用非線性中值濾波器有選擇地放大聲音能量序列中的沖擊信號,然后根據(jù)放大后的信號能量變化情況,獲得異常聲音的端點。然而僅僅利用能量信息在低信噪比環(huán)境中檢測異常聲音的端點難于獲取較高的準(zhǔn)確度。文獻[9]在Mel倒譜系數(shù)的基礎(chǔ)上進行了異常聲音識別。文獻[10]引入了Mel倒譜系數(shù)與短時能量相混合的方法,并通過GMM模型對異常聲音進行識別,然而在信噪比較低的環(huán)境下,Mel倒譜系數(shù)對異常聲音與背景噪聲的區(qū)別度不大,這勢必影響端點檢測的準(zhǔn)確度。
本文提出一種綜合短時優(yōu)化過零率和短時TEO對數(shù)能量的自適應(yīng)端點檢測方法。對不同的特征數(shù)據(jù),首先進行模糊歸一化,然后引入背景噪聲動態(tài)建模、前后端延時確認(rèn)和閾值動態(tài)更新機制進行端點檢測。
1 異常聲音特征提取
在實際環(huán)境中,由于受諸多因素影響,數(shù)字化后的聲音信號頻率和振幅特性復(fù)雜,信號采樣值隨時間的變化而劇烈波動,因此不具有時間平穩(wěn)性,也難以進行特征描述。然而,聲音信號往往在10~30ms內(nèi)是相對平穩(wěn)的,因此聲音信號的處理可以通過分幀以獲取短時較為平穩(wěn)的特征描述,并以此為基礎(chǔ)進行后續(xù)處理。為了實現(xiàn)對異常聲音特征的描述,本文對輸入的聲音信號首先以20ms左右為間隔進行信號幀劃分,在此基礎(chǔ)上進行幀特征提取,主要包括優(yōu)化過零率和TEO對數(shù)能量。
1.1 過零率優(yōu)化
過零率(Zero Crossing Rate, ZCR)描述了信號幀中信號采樣點符號改變的次數(shù),它反映了信號波動情況,在固定時間信號幀中,過零率大則意味著信號變化快速,其頻率也相應(yīng)大。實驗分析表明,在信噪比較高的環(huán)境中,過零率可以有效區(qū)分異常聲音和背景噪聲。然而在信噪比較低的環(huán)境中,過零率容易被噪聲影響,甚至淹沒。為此,在文獻[5]研究的基礎(chǔ)上,給出了一種優(yōu)化的過零率計算方法,第i幀的優(yōu)化過零率計算如下:
ZRC(i)=∑nm=1[TP(S,X(i,m)-Tup)+TN(S,X(i,m)-Tdown)](1)
其中,TP(S, x)為正數(shù)判定函數(shù),即當(dāng)S=0,且x為正數(shù)時將S設(shè)置為1,并返回1;否則,不改變S的值,并返回0。TN (S, x)為負(fù)數(shù)判定函數(shù),即當(dāng)S=1,且x為負(fù)數(shù)時將S設(shè)置為0,并返回1;否則,不改變S的值,并返回0;Tup和Tdown為上下閾值,X(i,m)為第i幀的第m個語音信號值。
為了更好地減少背景噪聲對所提取的過零率特征值的影響,上下閾值的確定方法如下:
Tup=X+ασ
Tdown=X-ασ(2)
其中,X為背景噪聲段信號的均值,而σ為背景噪聲段信號的標(biāo)準(zhǔn)差,α為閾值系數(shù)。
1.2 TEO對數(shù)能量
作為一種能夠很好地表征信號的共振峰信息,能在抑制背景噪聲中消除零均值噪聲,起到信號增強作用的TEO在文獻[7]中被用來檢測語音端點,并且綜合了Mel倒譜系數(shù)和TEO能量來進行語音信號的端點檢測。然而,筆者通過對大量異常聲音素材的實驗分析發(fā)現(xiàn),TEO能量信息在描述異常聲音特征方面較TEO對數(shù)能量相對較弱,在異常聲音處理中TEO對數(shù)能量將能獲取較為準(zhǔn)確的端點檢測,為此本文引入了TEO對數(shù)能量作為異常聲音特征之一。根據(jù)文獻[11],對于離散信號,TEO變換的公式可描述如式(3)所示。
φ(x(t))=x(t)2-x(t-1)*x(t+1)(3)
其中,x(t)為t時刻的信號值,ψ(x(t))為t時刻TEO變換后的信號值。在此基礎(chǔ)上對于第i幀的TEO對數(shù)能量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為常數(shù),可以取值為1。
2 特征值模糊歸一化
由于優(yōu)化過零率和TEO對數(shù)能量具有不同的量綱和取值范圍,同時為了進一步減少背景噪聲的影響,筆者提出了一種特征值模糊歸一化方法,其歸一化計算公式如式(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)為符號函數(shù),當(dāng)x<0時,返回-1,否則返回1; F(i)為第i個特征數(shù)據(jù)值;Fbg為背景噪聲段該特征數(shù)據(jù)均值;σbg為背景噪聲段該特征數(shù)據(jù)標(biāo)準(zhǔn)差;β為依據(jù)背景噪聲大小noiseI,由預(yù)設(shè)的模糊規(guī)則FuzzyRules確定的歸一化系數(shù),α為背景更新系數(shù),γ為背景更新閾值。因此,歸一化以后的特征值反映了不同背景噪聲強度下特征數(shù)據(jù)的偏離程度。在此基礎(chǔ)上,第i幀特征描述FFD(i)的計算如式(6)所示。
FFD(i)=NZCR(i)*NLE(i)(6)
其中,NZCR(i)為由式(5)歸一化后的優(yōu)化過零率,NLE(i)為由式(5)歸一化后的TEO對數(shù)能量。
圖1從上到下分別顯示了未混合噪聲的異常聲音波形、按0db混合白噪聲后的異常聲音波形以及混合噪聲后異常聲音的以0為基準(zhǔn)的過零率、TEO、Mel倒譜距離、歸一化后的優(yōu)化過零率和歸一化后的對數(shù)TEO能量。不難看出,本文提出的模糊歸一化方法能較好地提高特征數(shù)據(jù)反映異常聲音的特征狀態(tài)的能力,并且可以較好地克服背景噪聲的影響。
3 異常聲音端點檢測
由于公共場所是一種低信噪比且背景噪聲隨機變化的環(huán)境,同時,公共場所所出現(xiàn)的異常聲音往往具有開始時響度較大,以后逐漸消退的明顯特征。為此,筆者引入背景噪聲動態(tài)建模更新機制,并在此基礎(chǔ)上引入自適應(yīng)前后閾值的端點檢測方法,其中前端閾值用于檢測異常聲音起始點,而后端閾值用于檢測結(jié)束點。為了使端點檢測更加準(zhǔn)確,對于雙閾值引入了動態(tài)更新機制,以及端點延時確認(rèn)機制,整個端點檢測算法描述如下:
(1)Initialize N、K0、K1、K2, and α、β;//初始化前后端點延時確認(rèn)幀數(shù)N,背景噪聲、閾值更新系數(shù)K0、K1、K2,前端閾值系數(shù)α和后端閾值系數(shù)β。
(2)FFDbg=mean(FFD1-10),F(xiàn)Si= FFDi-FFDbg;//將前10幀的特征向量平均值作為背景噪聲初始值FFDbg,求前10幀幀特征向量與FFDbg的差值FSi。
(3)T= mean(FS1-10),D= std(FS1-10);//求前10幀與背景噪聲FFDbg差值的平均值T,以及前10幀與背景噪聲FFDbg差值的標(biāo)準(zhǔn)差D。
(4)TH1=T+α*D,TH2=T+β*D;//初始化前端閾值TH1,后端閾值TH2。
(5)S =0;//對狀態(tài)變量S初始化,對于第11幀以后的每一幀重復(fù)如下操作。
FSi= FFDi-FFDbg;//求幀差stf=0; //后端點標(biāo)志置0if (S==0) and (FSi>TH1) then S=1;elseif (S>0) and (S 4 實驗分析 4.1 實驗方法 為了驗證本文算法的有效性,在Matlab軟件環(huán)境下對本文端點檢測算法進行仿真實驗。其中異常聲音素材主要來自互聯(lián)網(wǎng),包括槍聲、爆炸聲、打碎玻璃的聲音、狗叫聲、鞭炮聲等,采樣頻率為11 025Hz;噪聲素材來自NOISEX-92噪聲數(shù)據(jù)庫,包括白噪聲(white)、粉紅噪聲(pink)、工廠噪聲(factory)和飛機噪聲(f16)。噪聲數(shù)據(jù)分別與待測試的異常聲音數(shù)據(jù)按信噪比-5db、0db、5db、10db和20db進行混合生成帶噪聲數(shù)據(jù)進行實驗測試。 4.2 實驗結(jié)果評價方法 對于實驗結(jié)果的比較評價,不少文獻都是通過與手動標(biāo)記的分段結(jié)果進行比較,然而筆者認(rèn)為這種比較方式可操作性不足,因為檢測出來的異常聲音段不可能完全與所標(biāo)注的起止點完全吻合,當(dāng)有差異時如何量化評價?本文引入了如下評判方式:首先,對沒有添加任何噪聲的測試異常聲音數(shù)據(jù)使用本文中的優(yōu)化過零率進行檢測,將檢測出來的異常聲音段作為參考標(biāo)準(zhǔn);然后,用需要比較的方法對混合不同噪聲的該異常聲音數(shù)據(jù)進行檢測;最后,對檢測結(jié)果分別用公式(7)和公式(8)計算其檢出率和誤報率。 檢出率=∑(PS0∩PS)∑PS0*100(7) 誤報率=∑(PS0∩PS)∑PS*100(8) 在式(7)和(8)中,PS0為對沒有添加任何噪聲的待測異常聲音數(shù)據(jù)使用本文中的優(yōu)化過零率進行檢測所檢測出來的異常聲音段點標(biāo)記集合,在該集合中是異常聲音段的點標(biāo)記為1,否則標(biāo)記為0;PS為需用比較的方法對添加不同噪聲的異常聲音數(shù)據(jù)進行檢測所檢測出來的異常聲音段點標(biāo)記集合,同樣,在該集合中是異常聲音段的點標(biāo)記為1,否則標(biāo)記為0。
4.3 實驗結(jié)果分析
圖2為混合不同噪聲后鞭炮聲檢測結(jié)果。不難看出,即使在-5db和0db的低信噪比下,本文方法仍有較好的檢出率和較低的誤報率。
為了更進一步證明本文方法的有效性,首先選擇了10段不同的待測試異常聲音數(shù)據(jù)(包括槍聲、爆炸聲、打碎玻璃的聲音、狗叫聲、鞭炮聲等),按信噪比-5db、0db、5db、10db和20db分別與白噪聲(white)、粉紅噪聲(pink)、工廠噪聲(factory)和飛機噪聲(f16)進行混合,生成50段帶不同信噪比噪聲異常數(shù)據(jù)進行實驗測試,然后分別用歸一化優(yōu)化過零率、歸一化對數(shù)TEO和本文方法進行測試,結(jié)果如圖3所示,不難看出,雖然利用歸一化對數(shù)TEO檢測能有較好的檢出率,然而其誤報率也較高。而本文方法在不同的信噪比下都有較好的檢出率和較低的誤報率。
5 結(jié)語
公共場所異常聲音的檢測對于感知公共場所異常事件的發(fā)生有重要作用,而異常聲音的端點檢測是實現(xiàn)異常聲音檢測的重要環(huán)節(jié),在綜合分析語音端點檢測技術(shù)的基礎(chǔ)上,結(jié)合公共場所異常聲音的特點,提出了一種自適應(yīng)的端點檢測方法,該方法首先綜合了短時優(yōu)化過零率和短時TEO對數(shù)能量作為特征向量,并提出了一種特征數(shù)據(jù)模糊歸一化方法對其進行歸一化。在此基礎(chǔ)上引入背景噪聲動態(tài)建模、檢測閾值動態(tài)更新和前端端點延時確認(rèn)機制進行端點檢測,通過對混合不同噪聲不同信噪比的聲音實驗表明,算法能較好地適應(yīng)低信噪比下背景噪聲變化的檢測環(huán)境,具有較好的檢出率和較低的誤報率。
參考文獻:
[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]. 計算機科學(xué)技術(shù)學(xué)報:英文版,2001, 16(6):582-589.
[3] 趙歡,馮璐,陳佐,等,基于動態(tài)特性的D-LTSV語音端點檢測方法[J],計算機工程,2014,40(12):277-281.
[4] 陳振鋒,吳蔚瀾,等,基于Mel倒譜特征順序統(tǒng)計濾波的語音端點檢測算法[J],中國科學(xué)院大學(xué)學(xué)報,2014,31(4):524-529.
[5] 孫戰(zhàn)先,儲飛黃,王 江,一種自適應(yīng)語音端點檢測算法[J],計算機工程與應(yīng)用,2014,50(1):206-210.
[6] 王曉華,屈雷,基于時頻參數(shù)融合的自適應(yīng)語音端點檢測算法[J],計算機工程與應(yīng)用,2015,51(20):203-207.
[7] 王茂蓉,周萍,景新幸,楊青,基于Mel-TEO的帶噪語音端點檢測算法[J].微電子學(xué)與計算機,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] 欒少文,龔衛(wèi)國.公共場所典型異常聲音的特征提取[J].計算機工程,2010,36(7):208-210.
[10] 呂霄云,王宏霞.基于MFCC和短時能量混合的異常聲音識別算法[J].計算機應(yīng)用,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