張留軍, 王 玫,2, 羅麗燕
(1.桂林電子科技大學(xué) 認(rèn)知無(wú)線(xiàn)電與信息處理教育部重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004;2.桂林理工大學(xué) 信息科學(xué)與工程學(xué)院,廣西 桂林 541006)
隨著城市的發(fā)展,城市中機(jī)動(dòng)車(chē)的保有量日益增加,由此引起的城市交通堵塞和汽車(chē)?guó)Q笛聲污染等問(wèn)題給人們的工作和生活造成了極大困擾。目前,我國(guó)已初步建成以視頻處理為主要技術(shù)手段的交通監(jiān)控系統(tǒng),可為交通狀況預(yù)警和車(chē)輛調(diào)度提供有力支持,但無(wú)法對(duì)車(chē)輛鳴笛等聲污染進(jìn)行有效監(jiān)控。因此,街道環(huán)境聲事件檢測(cè)作為聲污染監(jiān)控的重要組成部分,對(duì)城市噪聲污染的管控具有極其重要的現(xiàn)實(shí)意義。
環(huán)境聲事件識(shí)別是指對(duì)采集的環(huán)境聲數(shù)據(jù)進(jìn)行分析進(jìn)而識(shí)別出所包含的聲學(xué)事件,目前常采用機(jī)器學(xué)習(xí)方法解決環(huán)境聲事件識(shí)別問(wèn)題。在該領(lǐng)域中,數(shù)據(jù)、特征和分類(lèi)算法決定了機(jī)器學(xué)習(xí)的性能,因此,這三部分也是影響環(huán)境聲事件識(shí)別性能的關(guān)鍵因素。在早期的環(huán)境聲事件識(shí)別的研究中,由于識(shí)別任務(wù)較為簡(jiǎn)單,加之計(jì)算機(jī)算力的不足,常采用傳統(tǒng)的機(jī)器學(xué)習(xí)算法作為分類(lèi)器,例如K近鄰(K-nearest neighbor,簡(jiǎn)稱(chēng)KNN)算法[1]、支持向量機(jī)(support vector machines,簡(jiǎn)稱(chēng)SVMs)[2-3]和隨機(jī)森林(random forest,簡(jiǎn)稱(chēng)RF)算法[4]等,但近年來(lái)隨著環(huán)境聲事件識(shí)別投入實(shí)際場(chǎng)景應(yīng)用的需求增加,環(huán)境聲事件識(shí)別所面臨的背景噪聲更加復(fù)雜多變,上述分類(lèi)器由于對(duì)復(fù)雜信號(hào)的建模能力有限,因而無(wú)法滿(mǎn)足環(huán)境聲事件識(shí)別的要求。為解決這些問(wèn)題,基于深度學(xué)習(xí)的環(huán)境聲事件識(shí)別方法受到廣泛關(guān)注,例如目前主流的環(huán)境聲事件識(shí)別方法常使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,簡(jiǎn)稱(chēng)CNN)作為分類(lèi)器,對(duì)數(shù)梅爾譜(log-Mel spectrogram,簡(jiǎn)稱(chēng)log-Mel)作為聲學(xué)特征[5-8],但僅通過(guò)不同的卷積策略和不同的激活函數(shù)提升了分類(lèi)算法的性能,并未解決對(duì)數(shù)梅爾譜抗噪性能差的問(wèn)題,不適用于實(shí)際場(chǎng)景應(yīng)用。其次,目前針對(duì)街道環(huán)境聲事件識(shí)別研究的數(shù)據(jù)集較為稀缺,只有3個(gè)常用的公開(kāi)環(huán)境聲數(shù)據(jù)集:MIVIA[9]、Urbansound8K[10]和Google Audioset[11]。MIVIA數(shù)據(jù)集包含槍聲、玻璃破碎聲和尖叫聲3種聲音類(lèi)型,主要用來(lái)研究異常聲事件的識(shí)別;Urbansound8K數(shù)據(jù)集主要包含城鎮(zhèn)環(huán)境聲,共8 000余條聲音樣本包含10種聲音類(lèi)別,但是該數(shù)據(jù)集中有關(guān)街道環(huán)境聲的數(shù)據(jù)量較少;Google Audioset數(shù)據(jù)集是谷歌開(kāi)放的大規(guī)模數(shù)據(jù)集,其中632個(gè)聲音類(lèi)別均來(lái)源于Youtube視頻,但是存在聲音來(lái)源不確定和弱標(biāo)簽數(shù)據(jù)的問(wèn)題,并不適合于街道環(huán)境聲的研究。因而,建立一套真實(shí)的街道環(huán)境聲數(shù)據(jù)集十分必要。針對(duì)上述問(wèn)題,提出了一種改進(jìn)的對(duì)數(shù)梅爾譜特征結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的環(huán)境聲事件識(shí)別方法,提高了環(huán)境聲事件識(shí)別方法的抗噪性能。
系統(tǒng)旨在通過(guò)識(shí)別滑動(dòng)檢測(cè)窗口中的聲音事件,從而達(dá)到檢測(cè)整個(gè)聲音片段所包含的聲學(xué)事件的目的。街道環(huán)境聲事件檢測(cè)系統(tǒng)如圖1所示。系統(tǒng)包括4個(gè)部分:滑動(dòng)檢測(cè)窗口切分,聲學(xué)特征提取,分類(lèi)算法識(shí)別,檢測(cè)結(jié)果輸出。根據(jù)聲音片段的時(shí)長(zhǎng),該系統(tǒng)不僅可用于不同時(shí)長(zhǎng)聲音片段的環(huán)境聲事件檢索,還可用于實(shí)時(shí)的環(huán)境聲事件檢測(cè)。
圖1 街道環(huán)境聲事件檢測(cè)系統(tǒng)
由于街道環(huán)境聲的復(fù)雜和多變性,導(dǎo)致常規(guī)的端點(diǎn)檢測(cè)技術(shù)效果極差。系統(tǒng)直接將聲音片段切分為一系列重疊的滑動(dòng)檢測(cè)窗口?;瑒?dòng)窗口檢測(cè)方法不僅可檢測(cè)不同時(shí)間點(diǎn)發(fā)生的聲音事件,而且避免了端點(diǎn)檢測(cè)失效造成的聲學(xué)事件漏檢問(wèn)題。圖1中,最上面深灰色長(zhǎng)條表示一段聲音片段,聲音片段下面的一系列的短條表示有重疊的檢測(cè)窗口,設(shè)置檢測(cè)窗口的長(zhǎng)度為0.67 s,滑動(dòng)步長(zhǎng)為0.25 s。
聲學(xué)特征提取是聲學(xué)事件檢測(cè)中至關(guān)重要的步驟,提取有辨識(shí)度和抗噪聲性能強(qiáng)的聲學(xué)特征,可極大提高聲學(xué)事件檢測(cè)的性能。為了分析街道環(huán)境聲信號(hào)的特性,選擇更有辨識(shí)度的聲學(xué)特征。選擇的4種典型的街道環(huán)境聲信號(hào)的時(shí)頻譜圖如圖2所示。圖2(a)為街道背景噪聲的時(shí)頻譜圖,街道背景噪聲包括行人行走的聲音、車(chē)輛過(guò)往的聲音以及其他背景噪聲。從圖2(a)可看出,該類(lèi)聲音類(lèi)似于白噪聲,能量均勻分布于低頻部分。圖2(b)為汽車(chē)?guó)Q笛聲的時(shí)頻譜,這種聲音的能量分布以一定頻率間隔出現(xiàn),在時(shí)頻譜圖上表現(xiàn)為一系列直條紋,該類(lèi)聲音的頻譜特點(diǎn)明顯、辨識(shí)度較高。圖2(c)為尖銳的汽車(chē)剎車(chē)聲的時(shí)頻譜,尖銳的剎車(chē)聲使得一些頻率的能量較高,在時(shí)頻譜圖中成條紋狀。圖2(d)為講話(huà)聲的時(shí)頻譜,頻譜分布于8 kHz之下的低頻部分,諧波信息較為豐富。通過(guò)分析4種典型的街道環(huán)境聲時(shí)頻譜圖可以發(fā)現(xiàn),這4種環(huán)境聲信號(hào)在時(shí)頻譜圖上具有明顯的區(qū)別,其中汽車(chē)?guó)Q笛聲的頻譜圖具有較高的辨識(shí)度。因此,采用時(shí)頻域特征-對(duì)數(shù)梅爾譜作為聲學(xué)特征,對(duì)數(shù)梅爾譜特征是線(xiàn)性時(shí)頻譜經(jīng)過(guò)梅爾濾波器過(guò)濾后得到的特征,符合人耳的聽(tīng)覺(jué)特性,被廣泛用于聲學(xué)事件識(shí)別方法[9,12-13]。但該特征對(duì)噪聲的魯棒性差,通過(guò)對(duì)該特征從時(shí)間維度提取一階差分系數(shù)和二階差分系數(shù)作為動(dòng)態(tài)補(bǔ)充特征,并與原特征組成類(lèi)似圖像的三維特征,這為該特征增加了2種動(dòng)態(tài)維度的信息,大大提高了該特征的抗噪性能。log-Mel特征圖提取流程如圖3所示。
圖2 4種街道環(huán)境聲信號(hào)的時(shí)頻譜圖
圖3 log-Mel特征圖提取流程
改進(jìn)的對(duì)數(shù)梅爾譜特征提取流程如下:
1)分幀加窗。對(duì)聲音片段分幀,幀長(zhǎng)為1 024個(gè)采樣點(diǎn),幀移為512個(gè)采樣點(diǎn),并對(duì)每幀聲音信號(hào)加漢明窗,以防止頻譜泄漏和邊界信息丟失。窗函數(shù)為
(1)
2)快速傅里葉變換。對(duì)每幀聲音信號(hào)進(jìn)行快速傅里葉變換(fast Fourier transform,簡(jiǎn)稱(chēng)FFT),并對(duì)復(fù)數(shù)譜取模后平方求得功率譜。離散傅里葉變換(discrete Fourier transform,簡(jiǎn)稱(chēng)DFT)的計(jì)算式為
(2)
3)梅爾濾波器。使用與人耳聽(tīng)覺(jué)特性相適應(yīng)的梅爾濾波器對(duì)求得的功率譜進(jìn)行濾波,得到梅爾頻譜。設(shè)置梅爾濾波器數(shù)量為40,梅爾濾波器組為
H(k)=
(3)
(4)
功率譜經(jīng)過(guò)梅爾濾波器變換為
(5)
4)取對(duì)數(shù)。每幀的梅爾頻譜取對(duì)數(shù)得到對(duì)數(shù)梅爾譜,計(jì)算式為
Xlog-Mel=lns(m), 0≤m≤M。
(6)
5)提取一階差分和二階差分。對(duì)數(shù)梅爾譜提取一階差分系數(shù)和二階差分系數(shù),提取的一階差分系數(shù)和二階差分系數(shù)與原特征組成三維特征。差分系數(shù)計(jì)算式為
(7)
卷積神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的學(xué)習(xí)表征能力,能夠從輸入數(shù)據(jù)中提取更高階特征,而且其局部連接和權(quán)值共享特性,使得該網(wǎng)絡(luò)適合處理圖像等高維數(shù)據(jù),因此,該網(wǎng)絡(luò)廣泛應(yīng)用于圖像識(shí)別、語(yǔ)音識(shí)別和環(huán)境聲事件識(shí)別等相關(guān)領(lǐng)域。針對(duì)實(shí)際街道環(huán)境中噪聲復(fù)雜多變的問(wèn)題,采用添加正則化和批標(biāo)準(zhǔn)化等提升模型泛化能力的技術(shù),設(shè)計(jì)了抗噪性能好的卷積神經(jīng)網(wǎng)絡(luò)。
1.3.1 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)特點(diǎn)
借鑒經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[14-15],設(shè)計(jì)了如圖4所示的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。該網(wǎng)絡(luò)將改進(jìn)log-Mel特征作為輸入,即Xlog-Mel∈R40×80×3,2個(gè)卷積層和2個(gè)最大池化層用于深層特征提取,全連接層用于深層特征整合和函數(shù)建模,輸出層得到分類(lèi)結(jié)果。
圖4 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
給定一組輸入Xlog-Mel,卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到一組參數(shù)θ,并得到一組輸出,
Z=F(Xlog-Mel|θ)=fL(…f2(f1(X|θ1)|θ2)|θL),
(8)
其中fL(·|θL),1≤L≤6為每層網(wǎng)絡(luò)的輸出映射,設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)共6層,即L=6,其中卷積層的操作為
Zl=fl(Xl|θl)=h(W*Xl+b),
θl=[W,b],
(9)
其中:Xl為輸入的三維張量;W為三維卷積核;h(·)為激活函數(shù);b為偏置矢量。在每層卷積層后接一個(gè)最大池化層,以減小特征映射維度,提高特征魯棒性和提升訓(xùn)練速度;隨后一層為全連接層,這層網(wǎng)絡(luò)不做卷積,而進(jìn)行矩陣相乘;最后將該層輸出,以全連接的方式連接到輸出層得到分類(lèi)結(jié)果。
1.3.2 模型參數(shù)設(shè)置
設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)設(shè)置如下:
1)卷積層1和卷積層2。2層卷積層均使用40個(gè)3×3的卷積核,卷積核的滑動(dòng)步長(zhǎng)為2,用于提取log-Mel特征圖的局部深層特征。2層卷積層的輸出數(shù)據(jù)分別為(20,40,120)和(5,10,4 800),激活函數(shù)采用修正線(xiàn)性單元(rectified linear unit,簡(jiǎn)稱(chēng)ReLU)[16],其函數(shù)表達(dá)式為
f(x)=max(0,x)。
(10)
此外,為了提高卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的速度和穩(wěn)定性,在每個(gè)卷積核和激活函數(shù)之間引入批標(biāo)準(zhǔn)化技術(shù)[17],進(jìn)而提高了網(wǎng)絡(luò)的泛化能力。
2)池化層1和池化層2。2層池化層均采用2×2的最大池化濾波器下采樣上層輸出,滑動(dòng)步長(zhǎng)為2,以達(dá)到減小特征映射維度、提高特征魯棒性和提升訓(xùn)練速度的目的。2層池化層輸出數(shù)據(jù)分別為(10,20,120)和(3,5,4 800)。
3)全連接層。全連接層包含256個(gè)神經(jīng)元,激活函數(shù)同樣使用ReLU。
為了減小模型過(guò)擬合程度和提高模型的泛化能力,對(duì)卷積層和全連接層的參數(shù)使用L2范數(shù)懲罰[18],即通過(guò)向目標(biāo)函數(shù)添加一個(gè)正則項(xiàng),
(11)
其中:w為所有范數(shù)懲罰影響的權(quán)重;θ為所有參數(shù)(包括W和無(wú)需正則化的參數(shù))。在訓(xùn)練過(guò)程中使用Adam[19]進(jìn)行反向傳播,Adam是一種學(xué)習(xí)率自適應(yīng)的優(yōu)化算法,它采用偏置修正,修正原點(diǎn)初始化的一階矩(動(dòng)量項(xiàng))和二階矩(非中心)的估計(jì),使得其對(duì)超參數(shù)的選擇更魯棒[20]。
實(shí)驗(yàn)由2個(gè)部分組成。1)使用公開(kāi)和自建的環(huán)境聲數(shù)據(jù)集評(píng)估本方法,并與常規(guī)方法進(jìn)行對(duì)比;2)基于不同識(shí)別方法的環(huán)境聲事件檢測(cè)系統(tǒng)在實(shí)際場(chǎng)景下對(duì)汽車(chē)?guó)Q笛聲的檢測(cè)實(shí)驗(yàn)。實(shí)驗(yàn)均在Windows平臺(tái)下完成,硬件設(shè)備使用酷睿I7 6800 K處理器,GTX1080TI顯卡,特征提取、分類(lèi)算法的建模借助Python語(yǔ)言的librosa、sklearn和TensorFlow等模塊完成。
2.1.1 環(huán)境聲數(shù)據(jù)集
本實(shí)驗(yàn)使用2個(gè)環(huán)境聲數(shù)據(jù)集。數(shù)據(jù)集1為公開(kāi)的環(huán)境聲數(shù)據(jù)集Google AudioSet[3],從中選取槍聲、尖叫聲和汽車(chē)?guó)Q笛聲3種聲學(xué)事件,每種類(lèi)別的樣本數(shù)量為900余條,按7∶3劃分為訓(xùn)練集和測(cè)試集,均采用44.1 kHz采樣頻率和16 bit的PCM編碼格式。數(shù)據(jù)集2為自行采集的街道環(huán)境聲數(shù)據(jù)集,同樣按7∶3將其劃分為訓(xùn)練集和測(cè)試集。
2.1.2 評(píng)價(jià)指標(biāo)
采用如下評(píng)估指標(biāo)[20]來(lái)評(píng)估分類(lèi)算法的性能:
查全率
(12)
查準(zhǔn)率
(13)
置信度
(14)
其中:nTP為樣本正確判斷為正類(lèi)(少數(shù)類(lèi))的樣本數(shù);nTN為樣本正確判斷為負(fù)類(lèi)(多數(shù)類(lèi))的樣本數(shù);nFP為樣本錯(cuò)誤判斷為負(fù)類(lèi)的實(shí)際正類(lèi)樣本數(shù);nFN樣本錯(cuò)誤判斷為正類(lèi)的實(shí)際負(fù)類(lèi)樣本數(shù)。
2.1.3 實(shí)驗(yàn)結(jié)果與分析
使用Google AudioSet數(shù)據(jù)集和自建的街道環(huán)境聲數(shù)據(jù)集,不同分類(lèi)算法的評(píng)估結(jié)果如表1、2所示。從表1、2可看出:使用相同的聲學(xué)特征log-Mel,本方法相比KNN、SVMs、RF和文獻(xiàn)[13]的CNN方法在查全率、查準(zhǔn)率和置信度3個(gè)指標(biāo)上均有不同程度的提升,驗(yàn)證了本方法設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)具有更優(yōu)的分類(lèi)性能。
表1 Google Audioset數(shù)據(jù)集不同算法的評(píng)估結(jié)果 %
表2 街道環(huán)境聲數(shù)據(jù)集不同算法的評(píng)估結(jié)果 %
使用自建的街道環(huán)境聲數(shù)據(jù)集,并利用本檢測(cè)系統(tǒng)對(duì)一段未訓(xùn)練的時(shí)長(zhǎng)為10 min的街道環(huán)境聲數(shù)據(jù)進(jìn)行汽車(chē)?guó)Q笛聲檢測(cè)。
2.2.1 街道環(huán)境聲數(shù)據(jù)采集
在桂林電子科技大學(xué)金雞嶺校區(qū)正門(mén)前放置環(huán)境聲采集設(shè)備,采集真實(shí)的街道環(huán)境聲數(shù)據(jù),環(huán)境聲采集設(shè)備及采集場(chǎng)景如圖5所示。該環(huán)境聲采集設(shè)備由安卓開(kāi)發(fā)板、拾音器和防水盒3個(gè)部分組成。安卓開(kāi)發(fā)板采用全志A33處理器,1 GiB運(yùn)行內(nèi)存;拾音器為無(wú)源拾音器,其拾音的頻率為20~20 kHz;防水盒為普通網(wǎng)絡(luò)設(shè)備防水盒。使用上述設(shè)備產(chǎn)生44.1 kHz、16 bit的PCM信號(hào)來(lái)記錄街道環(huán)境聲數(shù)據(jù),然后人工標(biāo)注并剪輯音頻中的汽車(chē)?guó)Q笛聲。共采集了3 114條汽車(chē)?guó)Q笛聲樣本,每條汽車(chē)?guó)Q笛聲樣本時(shí)長(zhǎng)為0.5~1.5 s。
2.2.2 實(shí)驗(yàn)結(jié)果與分析
本實(shí)驗(yàn)使用街道環(huán)境聲數(shù)據(jù)集來(lái)訓(xùn)練所設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)。圖6為卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中損失值和分類(lèi)準(zhǔn)確率的變化曲線(xiàn)。從圖7可看出,隨著訓(xùn)練批次的增加,訓(xùn)練集和測(cè)試集的損失值不斷下降,測(cè)試集和訓(xùn)練集的準(zhǔn)確率曲線(xiàn)都在上升且二者非常接近,說(shuō)明本方法泛化能力較好,準(zhǔn)確率達(dá)到了97%以上。因此,卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中得到很好的收斂,且不會(huì)產(chǎn)生過(guò)擬合。
圖5 聲音采集設(shè)備及采集場(chǎng)景
本方法測(cè)試卷積神經(jīng)網(wǎng)絡(luò)得到ROC(receiver oprating characteristic)曲線(xiàn)如圖7所示。從7圖可看出,本方法的AUC(area under curve)面積接近1,因此,本方法的分類(lèi)性能優(yōu)異。
使用不同的識(shí)別方法的環(huán)境聲事件檢測(cè)系統(tǒng)對(duì)一段時(shí)長(zhǎng)為10 min的街道環(huán)境聲數(shù)據(jù)檢測(cè)結(jié)果如表3所示。從表3可看出,本方法的檢測(cè)性能優(yōu)于其他方法,具有較強(qiáng)的抗噪能力。綜上實(shí)驗(yàn)結(jié)果,本方法在訓(xùn)練數(shù)據(jù)集有限的情況下仍具有較好的檢測(cè)表現(xiàn)(查全率為94%,查準(zhǔn)率為87%,置信度為90.5%)。
圖6 損失值和準(zhǔn)確率變化曲線(xiàn)
圖7 本方法汽車(chē)?guó)Q笛聲識(shí)別的ROC曲線(xiàn)
表3 汽車(chē)?guó)Q笛聲檢測(cè)結(jié)果
針對(duì)現(xiàn)有的環(huán)境聲事件識(shí)別方法噪聲魯棒性差及街道環(huán)境聲數(shù)據(jù)少的問(wèn)題,提出一種基于改進(jìn)的對(duì)數(shù)梅爾譜特征的環(huán)境聲事件識(shí)別方法,并使用自主設(shè)計(jì)的環(huán)境聲采集設(shè)備收集了大量的街道環(huán)境聲數(shù)據(jù)用于對(duì)街道環(huán)境聲的檢測(cè)。街道環(huán)境聲事件識(shí)別系統(tǒng)在實(shí)際場(chǎng)景中取得了良好的檢測(cè)性能,從而驗(yàn)證了該系統(tǒng)在實(shí)際場(chǎng)景下應(yīng)用的可行性。