張 濤,蘇春玲
(天津大學(xué) 電子信息工程學(xué)院,天津 300072)
聲音無處不在,人們的生活中伴隨著各種各樣的聲音,有熟悉的也有不熟悉的,甚至有從未聽過的。聲音的檢測與識別一直是聲音研究領(lǐng)域的重要內(nèi)容。聲音識別系統(tǒng)就是將待測聲音與已經(jīng)訓(xùn)練好的已知的聲音模板進(jìn)行匹配,從而得知待測聲音是什么聲音的過程。在聲音識別領(lǐng)域中,可以將其分為語音識別和非語音識別。對于語音識別的研究比較深入[1],非語音識別的研究相對滯后一些。對于非語音識別的用處主要有以下幾個方面,如軍事與國防、工業(yè)生產(chǎn)與控制、醫(yī)療護(hù)理和安全控制等。在非語音聲音信號的檢測研究中,公共場所環(huán)境中的突發(fā)異常聲音檢測一直是一個被公認(rèn)的難題。一些學(xué)者對特定場景下的某些聲音做了相關(guān)研究,例如:Clavel等人利用 LPCC表征聲音信號,通過 GMM檢測識別噪聲環(huán)境下發(fā)生的槍聲,在他們的實(shí)驗(yàn)中主要研究不同信噪比的訓(xùn)練序列對檢測結(jié)果中漏檢率的影響,得到的結(jié)果是當(dāng)測試序列與訓(xùn)練序列的信噪比相同時,檢測結(jié)果的漏檢率最低;當(dāng)用沒有噪聲的序列作為訓(xùn)練序列時,檢測結(jié)果的漏檢率最高[2];Alain等人通過將頻率域分成 N等分,計算每份的能量值表征聲音信號,利用GMM、HMM來檢測識別噪聲環(huán)境下的突發(fā)聲音,實(shí)驗(yàn)結(jié)果得到了很好的識別率,在信噪比70 dB的時候識別率能達(dá)到98%,在0 dB的時候也能達(dá)到80%以上,但是他們所用的測試環(huán)境僅限于噪聲是高斯白噪聲[3],而且這個方法的算法復(fù)雜度很高,不易于在硬件中實(shí)現(xiàn)。綜合考慮算法復(fù)雜度和識別率等多方面內(nèi)容,本文提出了一種用于公共場所中槍聲的多級檢測識別方法。
非語音識別系統(tǒng)與語音識別系統(tǒng)類似,都基本由特征參數(shù)提取算法和模式匹配算法構(gòu)成。
1)特征參數(shù)提取
用于聲音分類的特征參數(shù)[4]很多,可以歸納為3大類:時域特征參數(shù)、頻域特征參數(shù),同態(tài)(倒譜)特征參數(shù)。時域特征參數(shù)的特點(diǎn)是提取算法都不復(fù)雜,缺點(diǎn)是對信號的可鑒別能力有限。頻域特征參數(shù)與人類聽覺系統(tǒng)有一定的關(guān)系,但是頻域特征參數(shù)僅適用于加性信號,對于復(fù)雜的乘積性組合信號處理能力不好。同態(tài)特征參數(shù)的優(yōu)點(diǎn)正是在于這種非線性系統(tǒng)的處理,也就是對其進(jìn)行同態(tài)分析,設(shè)法將非線性問題轉(zhuǎn)化為線性問題來處理。
2)模式匹配及模型訓(xùn)練技術(shù)
模型訓(xùn)練是指按照一定的準(zhǔn)則,從大量已知模式中獲取表征該模式本質(zhì)特征的模型參數(shù),而模式匹配則是根據(jù)一定準(zhǔn)則,使未知模式與模型庫中的某一個模型獲得最佳匹配。語音識別所應(yīng)用的模式匹配和模型訓(xùn)練技術(shù)主要有動態(tài)時間歸正技術(shù)(Dynamic Time Warping,DTW)、隱馬爾可夫模型(hidden Markov model,HMM)和人工神經(jīng)元網(wǎng)絡(luò)(Artificial Neural Networks,ANN)。在這3種技術(shù)中,DTW是較早的一種模式匹配和模型訓(xùn)練技術(shù),它應(yīng)用動態(tài)規(guī)劃方法成功解決了聲音信號特征參數(shù)序列比較時時長不等的難題,它的算法復(fù)雜度低而且識別率針對某些特定方面也有很好的表現(xiàn),尤其在孤立詞語音識別中獲得了良好性能。
對于突發(fā)事件的聲音檢測,如槍聲,輸入信號類似于語音中的孤立詞,而且系統(tǒng)所需要的匹配模板較少。用于此類識別,DTW算法與HMM算法在相同的環(huán)境條件下,識別效果相差不大,但HMM算法要復(fù)雜得多,主要體現(xiàn)在HMM算法在訓(xùn)練階段需要提供大量的語音數(shù)據(jù),通過反復(fù)計算才能得到的模型參數(shù),而DTW算法的訓(xùn)練中幾乎不需要額外的計算。所以DTW算法對這種輸入信號比較短促,類似于單音信號而且模板又比較少的聲音進(jìn)行識別時,在算法復(fù)雜度和識別率方面都很適合,能獲得良好的效果。故本實(shí)驗(yàn)采用DTW算法。
3)在本算法中,用到的特征參數(shù)是短時能量、短時平均過零率和Mel頻率倒譜系數(shù)。
①短時平均過零率
對于短時平均過零率[5]這個參數(shù),由于在無聲段噪聲使聲音波形在0值附近來回擺動,如果只考慮符號變化這一單一條件會導(dǎo)致計算出的過零率和有聲段的區(qū)別并不十分明顯;在本算法中還加入另一條件就是設(shè)定一個差的閾值δ,使不僅 sn(m)*sn(m+1)<0,還要|sn(m)-sn(m+1)|>δ。 在本系統(tǒng)中經(jīng)多次試驗(yàn)取定δ=250。
②Mel頻率倒普系數(shù)(MFCC)算法
短時能量和短時平均過零率都只是時域上的一些特征參數(shù),這種參數(shù)沒有充分利用人耳的聽覺特性。人的聽覺系統(tǒng)是一個特殊的非線性系統(tǒng),它響應(yīng)不同頻率表信號的靈敏度是不同的,基本上是一個對數(shù)的關(guān)系。Mel頻率倒譜系數(shù)(Mel frequency cepstrum coefficient,MFCC)充分利用人耳這種特殊的感知特性參數(shù)。
MFCC參數(shù)是按幀算的。首先通過FFT得到該幀信號的功率譜S(n),然后通過Mel頻率濾波器Hm(n)。濾波器在頻域上為簡單的三角波,其中心頻率為fm,它們在Mel頻率軸上是均勻分布的。在線性頻率上,當(dāng)m較小時,相鄰的fm間隔很小,隨著m的增加,相鄰的fm間隔逐漸被拉開。如圖 1所示。
圖1 Mel頻率濾波器示意圖Fig.1 Schematic diagram of the Mel frequency filter
Mel頻率和線性頻率的關(guān)系: fmel=2595log(1+f/700)
聲音信號的MFCC提取及計算過程如圖2所示[6]。
圖2 MFCC提取過程框圖Fig.2 Structure diagram of the MFCC's extraction process
4)本算法的實(shí)現(xiàn)步驟
通過前面的分析,本系統(tǒng)所采用的特征參數(shù)是短時能量、短時平均過零率和MFCC的結(jié)合,所采用的時域參數(shù)實(shí)現(xiàn)容易且計算量小但是沒有考慮人耳的聽覺特性,所以識別率不高;而MFCC正好彌補(bǔ)了這一點(diǎn),但是計算量很大;所以本算法采用一種多級的模式,將這個幾個參數(shù)結(jié)合在一起,彼此起到互補(bǔ)的作用,一級一級逐步縮小目標(biāo),最后檢測出槍聲的位置。整個算法可以分成3級,算法的分級結(jié)構(gòu)框圖如圖3所示。
圖3 算法分級結(jié)構(gòu)框圖Fig.3 Structure diagram of the algorithm classification
在第一級中對每幀(1 024點(diǎn))計算其短時能量和短時平均過零率;然后根據(jù)設(shè)定好的門限對每幀的能量和過零率進(jìn)行判斷,這兩個參數(shù)只要有一個參數(shù)滿足條件,就將這幀認(rèn)為是有效幀。其中短時能量門限EN_MIN=53,短時過量率的上下門限分別為ZCR1=65、ZCR2=100。
在這一級的判斷中,還采用了一個平滑機(jī)制。采用這個平滑機(jī)制是為了減小漏檢率,由于實(shí)驗(yàn)所選用槍聲模板為11幀,所以為了提高檢測速度和檢測準(zhǔn)確率,最小的可能目標(biāo)段要求至少6幀。為了避免將一個可能目標(biāo)段由于中間一兩幀的無效幀被分成兩個非目標(biāo)段,導(dǎo)致檢測遺漏,本實(shí)驗(yàn)中采取了這個3幀的平滑機(jī)制,也就是兩個可能目標(biāo)段之間的無效幀小于等于3幀時,這兩段會被認(rèn)為是一段。在程序中的具體思想是,如果當(dāng)前幀根據(jù)短時能量和過零率判斷時,被判斷為無效幀;那么如果它的前三幀中有一幀是根據(jù)這兩個條判斷為的有效幀,則當(dāng)前幀也被平滑為有效幀。
在第二級中,對連續(xù)有效幀組成的各個段進(jìn)行判斷。由于本算法中選擇的槍聲模板長度是11幀,所以當(dāng)連續(xù)有效幀小于6幀時,認(rèn)為是非目標(biāo)段,直接舍棄,不進(jìn)行下一步分析;如果連續(xù)有效幀達(dá)到17幀時還沒有遇到無效幀,那么將前11幀作為一個可能目標(biāo)段進(jìn)行下一步的分析,將后6幀作為下一段的前6幀繼續(xù)計數(shù);如果連續(xù)有效幀幀數(shù)在6和17之間,則直接將這一段作為一個可能目標(biāo)進(jìn)行下一步分析。
在第三級中,對可能目標(biāo)段進(jìn)行MFCC參數(shù)提取,然后將其與模板的MFCC參數(shù)進(jìn)行DTW匹配,如果計算出的最后累計距離值小于設(shè)置的閾值,就確定這段為槍聲,輸出該段的起止幀號。
本實(shí)驗(yàn)所采用的輸入文件都是.WAV文件,聲道是單聲道,采樣率為48 kHz,采樣值是16 bit的PCM量化編碼。在實(shí)驗(yàn)時,將幀長定為FRAME_LEN=1 024。實(shí)驗(yàn)步驟及結(jié)果如下:
首先要確定模板,然后利用各種槍聲文件訓(xùn)練出DTW匹配時所需要的閾值GUN_MAX。選定的模板gun_template是只有一聲槍聲文件,模板包含11幀。通過對各種環(huán)境下包含槍聲的序列進(jìn)行訓(xùn)練,可以將所需要閾值GUN_MAX確定為4 525。
表1 部分待測序列的手工標(biāo)注和算法檢測結(jié)果統(tǒng)計Tab.1 Statistics of the test sequences’manually labeled and algorithm detected results
圖4 部分測試結(jié)果示意圖Fig.4 Schematic diagram of the part of the test results
漏檢率和錯檢率是一對此消彼長的參數(shù),兩者不能同時達(dá)到最優(yōu),只有根據(jù)具體情況,選擇一個最適合當(dāng)前情況的折中參數(shù)。對于本實(shí)驗(yàn)中的參數(shù),如果將短時能量和短 時 過 量 率 的 門 限 值 都 減 小 (EN_MIN=55,ZCR1=68,ZCR2=95),同時將 GUN_MAX設(shè)定為 4520,則所檢測出的結(jié)果漏檢率α?xí)兇?,錯檢率β會變小。部分檢測結(jié)果示意圖如圖5所示。
圖5 漏檢率變大,誤檢率變小檢測結(jié)果示意圖Fig.5 Schematic diagram of the higher undetected rate and the lower false detected rate
對檢測結(jié)果進(jìn)行統(tǒng)計,可計算出總的漏檢幀數(shù)為203,則漏檢率α=10.39%;總的錯檢幀數(shù)為152,則錯檢率β=7.78%。
與上述情況相反,如果將檢測條件放寬松,設(shè)定EN_MIN=50、ZCR1=60、ZCR2=105,同時將 GUN_MAX 設(shè)定為4530,那么所檢測出的結(jié)果漏檢率會變小,錯檢率會變大。部分檢測結(jié)果示意圖如圖6所示。
圖6 漏檢率變小,錯檢率變大檢測結(jié)果示意圖Fig.6 Schematic diagram of the lower undetected rate and the higher false detected rate
對檢測結(jié)果進(jìn)行統(tǒng)計,可計算出總的漏檢幀數(shù)為82,則漏檢率α=4.20%;總的錯檢幀數(shù)為268,則錯檢率β=13.72%。
從上述的實(shí)驗(yàn)結(jié)果可以分析出,參數(shù)閾值的大小的稍稍變化會引起檢測結(jié)果的大幅度變化,但是漏檢率和錯檢率不可能同時達(dá)到最優(yōu),所以要根據(jù)實(shí)驗(yàn)的具體要求,選擇適當(dāng)?shù)膮?shù),使二者達(dá)到一個折中的平衡。
文中提出了一種多級的特定突發(fā)聲音槍聲的檢測算法,首先利用時域參數(shù)短時能量和短時平均過量率,其中還加入了平滑機(jī)制來檢測出可能目標(biāo)段;然后再結(jié)合倒譜參數(shù)MFCC和DTW對可能目標(biāo)段進(jìn)行進(jìn)一步檢測,確定其是否為要檢測的目標(biāo)。經(jīng)過實(shí)驗(yàn)測試,取得了令人滿意的結(jié)果。采用本算法,不但可以加快運(yùn)算速度,易于在DSP和ARM上的移植和實(shí)現(xiàn),而且所采用的測試文件背景環(huán)境很復(fù)雜,說明本算法在信噪比低的情況下,具有一定的魯棒性,來確保檢測的準(zhǔn)確性和有效性。
[1]詹新明,黃南山,楊燦.語音識別技術(shù)研究進(jìn)展[J].現(xiàn)代計算機(jī):專業(yè)版,2008(9):12.
ZHAN Xin-ming,HUANG Nan-shan,YANG Can.Research progressofspeechrecognition technology[J].Modern Computer:Professional Edition,2008(9):12.
[2]Clavel C,Ehrette T,Richard G.Events detection for an audio-based surveillance system[C]//IEEE International Conference on Multimedia and Expo,2005.
[3]Dufaus A,Besacier L,Ansorge M,et al.Automatic sound detection and recognition for noisy environment[C]//European Signal Processing Conference,F(xiàn)inland,2000(9):1033-1036.
[4]劉華平,李昕,徐柏齡,等.語音信號端點(diǎn)檢測方法綜述及展望[J].計算機(jī)應(yīng)用研究,2008,25(8):2278-2283.
LIU Hua-ping,LIXin,XU Bo-ling,etal.Review and prospect of the speech signal’s endpoint detected method[J].Application Research of Computers,2008,25(8):2278-2283.
[5]徐大為,吳邊.一種噪聲環(huán)境下的實(shí)時語音端點(diǎn)檢測算法[J].計算機(jī)工程與應(yīng)用,2003(1):115-117.XU Da-wei,WU Bian.A real-time speech endpoint detection algorithm in a noisy environment[J].Computer Engineering and Applications,2003(1):115-117.
[6]王炳錫,屈丹,彭煊.實(shí)用語音識別基礎(chǔ)[M].北京:國防工業(yè)出版社,2005.