李芳足 羅麗燕 王 玫,2*
1(桂林電子科技大學認知無線電與信息處理教育部重點實驗室 廣西 桂林 541004) 2(桂林理工大學信息科學與工程學院 廣西 桂林 541007)
視頻監控在公共安全管理中發揮著重要作用,為保護人民生命財產安全提供了有力支撐。但由于室外環境下視頻數據的采集過程易受環境因素的干擾,且視頻采集設備通常布點固定,所以會出現“監控盲區”的問題。單純地以增加視頻采集設備為代價解決“監控盲區”問題,無疑會較大地增加設備成本與存儲成本。因此,如何在低成本的條件下實現監控無死角覆蓋成為了急需解決的問題。而聲傳播的全向性、聲接收設備成本較低等優點使得基于聲的監控手段得到了廣泛關注,例如針對道路交通環境下的異常聲事件監測[1]、針對動物聲識別的動物習性和生活區域監測[2]、針對地鐵環境的異常聲事件監測[3]等。
環境聲事件識別是指對采集的環境聲數據進行分析進而識別出其中包含的聲學事件的技術。經過近年來對該技術的研究,研究人員借鑒語音識別框架總結出一套環境聲事件識別框架。該框架包含兩個重要部分:聲學特征提取和分類器識別[4]。早期的環境聲事件識別的研究中,由于識別任務較為簡單加之計算機的算力不足,常使用K近鄰算法(K-Nearest Neighbor,KNN)[5]、支持向量機(Support Vector Machines,SVMs)[6-7]和隨機森林算法(Random Forest,RF)[8]等作為分類器,梅爾頻率倒譜系數(Mel-Frequency Cepstral Coefficients,MFCCs)作為聲學特征。但是隨著將環境聲事件識別投入實際場景應用的需求增加,環境聲事件識別技術所面臨的應用場景更加復雜多變,上述分類器由于對復雜數據的建模能力有限,無法滿足當前的環境聲事件識別的要求。
近些年,隨著計算機的算力提升,深度學習受到環境聲事件識別領域研究人員的廣泛關注,目前主流的環境聲事件識別技術常使用卷積神經網絡(Convolutional Neural Networks,CNN)[9-12]作為分類器,對數梅爾譜(Log-mel spectrogram,Log-mel)作為聲學特征,卷積神經網絡因具有強大的特征提取能力和復雜函數建模能力而使得環境聲事件識別性能得到有效的提升。然而在機器學習領域中,數據、特征和分類算法是決定機器學習性能的關鍵因素,文獻[9-12]盡管采用了不同的卷積策略和不同的激活函數提升了分類算法的性能,但其只采用Log-mel特征作為卷積神經網絡的輸入,使得環境聲事件識別性能受限。針對這個問題,許多研究人員對多特征融合進行了調研,并指出融合特征的表現要優于單一特征[13],例如文獻[2]將投影特征和局部二元模式變化特征進行融合從而完成了低信噪比環境下動物聲的自動識別任務。文獻[14]融合梅爾頻率倒譜系數(MFCC)和Gammatone倒譜系數(GFCC)解決了有噪聲環境下的說話人識別問題。然而上述文獻的特征融合方式均采用前融合方式(early fusion-based method),盡管此類融合方式已經取得一定成效,但是并不適合于卷積神經網絡,因為這種融合方式存在如下缺陷:單位或尺度不同的兩種特征拼接在一起會使得融合特征存在內部數值差異較大以及產生無規律的拼接邊界,從而影響卷積神經網絡的特征提取能力。文獻[13,15]使用不同的聲學特征對不同的模型進行訓練,然后將訓練好的模型使用DS證據理論(Dempster-Shafer evidence theory)進行融合,經Urbansound8K、ESC-10和ESC-50數據集評估結果表明基于DS證據理論的后融合方式(late fusion-based method)具有較好的識別表現。這種基于DS證據理論的后融合方式盡管避免了前融合方式帶來的弊端,但是需要對兩個模型分開訓練使得識別方法更繁瑣并且無法保證特征進行有效的融合。因此,尋找一種適合卷積神經網絡的特征融合方式成為必要。
為解決上述問題,本文作出如下貢獻:(1) 提出一種基于雙輸入卷積神經網絡的特征融合框架,該框架的核心是為MFCCs特征和Log-mel特征匹配合適的卷積和池化策略。(2) 通過實景實驗,探索了該融合框架在實際場景中應用的可行性。
聲學特征是影響環境聲事件識別性能的重要因素,不同類型的聲學特征可以從不同角度描述聲音信號,該融合框架選擇MFCCs特征和Log-mel特征作為融合對象,兩種特征提取流程如圖1所示。Log-mel特征是經過梅爾濾波器過濾后的頻譜特征,符合人耳的聽覺特性,描述了聲音信號頻譜的全局信息,被廣泛應用于環境聲事件識別和聲場景識別中;MFCCs特征是Log-mel特征經過離散余弦變換之后得到的倒譜特征,該特征反映了信號的倒譜特征,被廣泛應用于語音識別和說話人識別中。圖2是對汽車鳴笛聲、槍聲和尖叫聲分別提取Log-mel特征和MFCCs特征得到的特征圖,可以看出,Log-mel特征圖可以更直觀地看到三種聲音的區別,在圖像上更具辨識度,而MFCCs特征由于只保留了低頻部分的譜包絡信息無法直觀地分辨出三種聲音。對這兩種特征進行融合不僅可以從全局的頻譜信息中對聲音信號進行區分,還可以通過低頻的包絡信息對特征進行補充,有效地提高了特征的描述能力和抗噪能力。除此之外,Log-mel特征是MFCCs特征的中間產物,同時提取這兩種特征時不會增加額外的計算消耗,可以滿足在實際應用中對特征提取的實時性要求,因此選擇這兩種聲學特征來描述環境聲信號。兩種特征的提取步驟如下[16]。

圖1 MFCCs和Log-mel特征提取流程

圖2 Log-mel和MFCCs特征圖
(1) 分幀和加窗:將一段聲音信號分為一系列重疊的短幀s(n),幀長設為1 024,幀移設為512。然后對幀信號s(n)加漢明窗ω(n)來減輕邊界效應,漢明窗ω(n)為:
(1)
式中:N為總的采樣點數。
(2) 快速傅里葉變換:進行快速傅里葉變換(Fast Fourier Transform,FFT)得到其復數譜。假設輸入信號為x(n),該信號的離散傅里葉變換(Discrete Fourier Transform,DFT)公式為:
(2)
式中:N表示進行DFT變換的點數;X(k)表示第k個頻率點的值。然后將得到的復數譜取模平方得到功率譜。
(3) 梅爾濾波器濾波:將功率譜通過一組梅爾濾波器,即:
(3)
式中:Hm(k)為梅爾濾波器組;M為濾波器組中三角濾波器的數量,取M=40。梅爾濾波器組計算公式為:
(4)
式中:f(m)為第m個三角濾波器的中心頻率,1≤m≤M。
然后將梅爾頻譜取對數,得到對數梅爾譜特征。
(4) 離散余弦變換:對數梅爾譜做離散余弦變換得到MFCCs系數,即:
(5)
本文取前12個系數作為最終的MFCCs特征,即L=12。
不同聲學特征的描述能力不同,經過有效的融合可以極大地提高環境聲事件識別的性能,本文采用基于雙輸入卷積神經網絡的特征融合框架,通過雙輸入方式為Log-mel和MFCCs匹配不同的卷積和池化策略,然后通過展平和拼接操作對提取到的高階特征進行融合。同時,使用Batch Normalization、正則化、Dropout等技巧提升了網絡的訓練速度以及泛化能力。
本文借鑒經典的卷積神經網絡[9,17]和BP神經網絡,設計了如圖3所示的雙輸入卷積神經網絡。該網絡有兩條輸入并分別使用MFCCs特征和Log-mel特征作為輸入數據,其數據維度分別為Xmfcc∈R12×80、Xlogmel∈R40×80。詳細的模型結構描述如下。

圖3 雙輸入卷積神經網絡結構
在前向傳播過程中,每次輸入Xmfcc和Xlogmel,數據從前一層網絡流向下一層網絡,直到輸出層得到分類結果,并且前一層流向下一層網絡的數據需經過非線性映射F(·|Θ),從輸入層Xmfcc和Xlogmel到Max-pool2和Max-pool4的操作分別為:
Zmax-pool2=F(Xmfcc|Θ)=
fl(…f2(f1(Xmfcc|θ1)|θ2)|θl)l=4
(6)
Zmax-pool4=F(Xlogmel|Θ)=
fl(…f2(f1(Xlogmel|θ1)|θ2)|θl)l=4
(7)
式中:fl(·|θl)表示對第l層網絡的操作,例如l∈{Conv.1,Conv.2,Conv.3,Conv.4}為卷積層,其卷積運算為:
Zl=fl(Xl|θl)=h(W*Xl+b),θl=[W,b]
(8)
式中:Xl為輸入的三維張量;W為卷積核;*表示卷積操作;b為偏置向量;h(·)表示激活函數。然后在每層卷積層后接最大池化層l∈{Max-pool.1,Max-pool.2,Max-pool.3,Max-pool.4},用來減小特征映射的維度和提升訓練速度。

Zconcatenate=concatanate(Zmax-pool2,Zmax-pool4)
(9)
最后,將融合后的一維張量與輸出層進行全連接,操作為:
Zl=fl(Xl|θl)=h(WXl+b),θl=[W,b]
(10)
式中:Xl表示Concatenate層輸出的一維張量;W表示權重;b為偏置參數;h(·)表示激活函數。
基于雙輸入卷積神經網絡的特征融合方式可歸為后融合方式。而前融合方式是在卷積神經網絡輸入前對聲學特征進行如圖4所示的操作。這種融合方式會存在如下缺點:單位或尺度不同的兩種特征拼接在一起會使得融合特征存在內部數值差異較大以及產生無規律的拼接邊界的問題,從而干擾卷積核更新有效的權值,影響卷積神經網絡的特征提取能力。針對這個缺點,基于雙輸入卷積神經網絡的特征融合框架的優勢在于為不同的特征匹配不同的卷積和池化策略,充分發揮卷積神經網絡的特征提取能力,最后將得到高階特征進行融合并輸送到Softmax層,對提取到的高階特征進行選擇和非線性擬合,極大地提高了網絡的分類性能。

圖4 以前融合方式融合Log-mel和MFCCs
本文提出的卷積神經網絡有兩個特點:(1) 雙輸入結構,不同的輸入經過不同的卷積層和池化層,充分發揮不同特征的描述能力,從而提高網絡的分類性能;(2) 無額外的全連接層,這種結構可以有效地減少模型的參數和降低模型的復雜度,提高模型的泛化能力[18]。具體的網絡參數設置如下。
(1) Conv.1和Conv.2:這兩層卷積層均使用40個3×3的卷積核,卷積核的滑動步長為2。這種小尺寸卷積核用于提取MFCCs特征圖中的局部高階特征并且有效地減少了模型的參數。然后將卷積核的輸出用修正線性單元(Rectified Linear Unit, ReLU)[19]進行非線性映射,其映射關系為:
f(x)=max(0,x)
(11)
同時,在每個卷積核和激活函數之間引入Batch Normalization技術[20],用來提高神經網絡訓練的速度和穩定性。
(2) Conv.3和Conv.4:這兩層卷積層均使用40個5×5的卷積核用于提取Log-mel特征圖的深層特征,卷積核滑動步長為2,同樣采用ReLU作為激活函數并且在激活函數前引入Batch Normalization技術。
(3) Max-pool.1和Max-pool.2:這兩層池化層均采用2×2的最大池化濾波器來下采樣上層輸出,以達到減小輸出數據的尺寸和特征選擇的目的。
(4) Max-pool.3和Max-pool.4:這兩層池化層均采用3×3的最大池化濾波器。
為了進一步提高模型的泛化能力,本模型在輸出層前添加概率為0.5的Dropout機制,即在每批次的訓練過程中,隨機地讓網絡中的某些隱藏層節點的權重暫時失效,通過Dropout機制可以減輕網絡節點之間的聯合適應性,防止網絡發生過擬合現象[21]。此外,網絡還使用了L2參數范數懲罰,使得權重更加接近原點,防止過擬合[21],即通過向目標函數添加一個正則項:
(12)
式中:向量w表示所有應受范數懲罰影響的權重;向量θ表示所有參數(包括w和無須正則化的參數)。
針對多分類任務,本模型使用目標函數-分類交叉熵損失(Categorical Cross-entropy)來衡量當前訓練得到的概率分布與真實分布之間的距離,交叉熵損失函數定義為:
C=-∑ylog(a)
(13)
式中:y表示期望輸出;a表示模型得到的輸出,而a=σ(z),其中σ(·)表示激活函數,z=∑WX+b。輸出層的激活函數使用Softmax函數,即每個神經元的輸出映射為:
(14)
而且要保證:
(15)
式中:J為輸出層神經元個數,要求與預定義的類別數量保持一致。
在做反向傳播時,采用Adam[22]優化器來訓練網絡,Adam是一種學習率自適應的優化算法,它采用了偏置修正,修正從原點初始化的一階矩(動量項)和(非中心的)二階矩的估計,使得其對超參數的選擇更魯棒[20]。
實驗使用公開的環境聲數據集Google AudioSet[23],該數據集是目前聲音種類最豐富、數量最多的聲音數據集,常用于評估環境聲事件識別方法。本文從該數據集中選取了三種比較典型的環境聲:槍聲、尖叫聲和汽車鳴笛聲,每種類別的聲音樣本數量均為900余條,每條聲音樣本均采用44.1 kHz采樣和16 bits位深度編碼為WAV格式。然后按照7∶3將聲音樣本隨機劃分為訓練集和測試集。
本實驗使用公開的環境聲數據集對如下十種環境聲事件識別方法進行評估對比。
方法一:使用文獻[11]中的識別方法作為Baseline方法,該方法使用對數梅爾譜作為聲學特征,使用卷積神經網絡作為分類算法。
方法二:采用MFCCs作為聲學特征,單輸入卷積神經網絡作為分類器,卷積神經網絡結構如圖5所示。其中卷積層和池化層結構與本文設計的雙輸入卷積神經網絡中關于MFCCs輸入部分的卷積層和池化層結構保持一致,在Flatten層與輸出層之間添加一層全連接層。

圖5 以MFCCs特征作為輸入的卷積神經網絡結構
方法三:采用Log-mel作為聲學特征,單輸入卷積神經網絡作為分類器,其結構如圖6所示。該網絡中卷積層和池化層與本文設計的雙輸入卷積神經網絡中有關Log-mel輸入部分中的卷積層和池化層結構保持一致,同樣在Flatten與輸出層之間添加一層全連接層。

圖6 以Log-mel特征作為輸入的卷積神經網絡結構
方法四:聲學特征采用前融合方式融合MFCCs特征與Log-mel特征,分類器采用K近鄰算法。
方法五:聲學特征采用前融合方式融合MFCCs特征與Log-mel特征,分類器采用支持向量機算法。
方法六:聲學特征采用前融合方式融合MFCCs特征與Log-mel特征,分類器采用隨機森林算法。
方法七:聲學特征采用前融合方式融合MFCCs特征與Log-mel特征,分類器采用包含兩個隱含層的多層感知機。
方法八:聲學特征采用前融合方式融合MFCCs特征與Log-mel特征,分類器采用圖6所示的卷積神經網絡。
方法九:使用文獻[13,15]中采用的DS證據理論對方法一和方法二中訓練好的模型進行融合,以此作為基于后融合的對比方法。
方法十:即本文方法,采用MFCCs和Log-mel作為聲學特征,雙輸入卷積神經網絡作為分類器。
所有的實驗均在Windows平臺下完成,硬件設備使用酷睿i7 6800K處理器和GTX1080TI顯卡,軟件部分中涉及到的特征提取和分類算法的建模和應用借助Python 語言中的librosa、sklearn和TensorFlow等模塊完成。
評估環境聲事件識別方法常采用如下的評估指標[24]:
(1) 查全率(Recall):正確識別到的鳴笛聲數量占鳴笛聲真實發生數量的比率。
(16)
(2) 查準率(Precision): 正確識別到的鳴笛聲數量占識別到鳴笛聲數量的比率。
(17)
(3) F1-度量(F1-measure):
(18)
式中:TP稱為真正例(True Positive);FP稱為假正例(False Positive);TN稱為真反例(True Negative);FN稱為假反例(False Negative)。在評估指標中,查全率和查準率越高說明檢測系統性能越好,但是這兩者是相互矛盾的,因此引入F1-度量來權衡兩者。
將實驗結果以混淆矩陣圖的形式呈現在圖7中,其中圖7(a)-圖7(j)是使用十種方法得到的評估結果。并將實驗結果以查全率、查準率、F1度量的形式呈現在表1中。

圖7 十種識別方法得到的混淆概率矩陣

表1 十種方法的評估結果(%)
對比方法二和方法三的實驗結果可以得出,使用MFCCs特征的方法僅對汽車鳴笛聲的識別表現優于Log-mel特征,而從整體識別表現看,其識別表現不如使用Log-mel特征的方法,因此可以得出,Log-mel特征和MFCCs特征對不同聲音信號的描述能力不同,而且使用Log-mel特征的方法要優于使用MFCCs特征的方法,通過將兩種特征進行融合可以對特征的描述能力進行互補從而提高識別方法的性能。方法二和方法三的實驗結果要優于Baseline方法,驗證了本文所設計的卷積神經網絡分類性能突出。
通過比較方法四-方法八的實驗結果,可以對使用前融合方式的不同分類算法進行比較。分析實驗結果,使用傳統分類算法的方法相比使用深度學習的方法存在一定差距。因此證明了深度學習技術更適合處理環境聲信號。
通過對比Baseline、方法二、方法三、方法八、方法九、方法十(本文方法)的實驗結果,可以對單特征方法、基于前融合方式的融合特征方法和基于DS證據理論的后融合方法與本文提出的基于雙輸入卷積神經網絡的方法進行對比。分析實驗結果,方法二和方法三的識別結果優于方法八,因此驗證了基于前融合的特征融合方式對卷積神經網絡的分類性能產生了負面影響。方法九的表現優于方法二和方法三,證明了基于DS證據理論的融合方式是一種有效的特征融合手段。而本文方法在各項指標的表現相較于其他的方法有明顯提升,因此本文提出的特征融合框架是有效且性能突出的。
為了評估本文方法在實際場景中應用的性能,通過實景實驗對上述性能較好的識別方法與本文方法進行對比。
為了保證實驗的真實性,在桂林電子科技大學金雞嶺校區正門前放置聲音采集設備,對過往車輛的鳴笛聲進行采集,采集場景及采集設備如圖8所示。經過長時間的采集,最終得到1 742條鳴笛聲數據,每條聲音數據持續時間為0.6 s~1.5 s,均采用44.1 kHz的采樣頻率和16 bits的位深度保存為WAV格式。使用采集到的汽車鳴笛聲數據用于訓練分類算法,最終使用一段未參與訓練的時長為10 min的街道環境聲數據對該網絡進行評價。

圖8 聲音采集場景
汽車鳴笛聲識別類似于跌倒聲識別[25]屬于二分類任務,要求在一段聲音信號中檢測并識別出是否存在汽車鳴笛聲,因此采用如圖9所示的評估方法。圖9中上方的黑線表示鳴笛聲檢測的真實結果,中間的虛線表示模型檢測得到的結果,底部的粗黑線表示時間軸,凸起的線條表示有汽車鳴笛聲發生。圖9中展示了在模型的識別結果中會出現的四種情況:TP、FP、TN、FN,當模型識別結果和真實結果均為汽車鳴笛聲時表示為TP,反之表示為TN。當模型識別結果為汽車鳴笛聲而真實結果中無汽車鳴笛聲時表示為FP,反之為FN。

圖9 鳴笛聲識別評估策略
表2呈現了汽車鳴笛聲識別的實景實驗結果,基于雙輸入卷積神經網絡的環境聲事件識別方法對汽車鳴笛聲的識別擁有較高的查全率(Recall=87.7%),而且其查準率(Precision=84.7%)相比查全率也僅僅低了3百分點,綜合這兩個指標得到的F1-度量也能達到86.2%,而且相比Baseline、方法二、方法三、方法六、方法八和方法九表現也有較大提升。綜合實驗結果,基于雙輸入卷積神經網絡的特征融合框架在實際環境聲中仍具有較好識別性能,而且該識別方法明顯優于單特征方法、基于前融合的融合特征方法和基于DS證據理論的模型后融合方法。

表2 鳴笛聲識別的評估結果(%)
本文針對前融合的特征融合方式不利于卷積神經網絡提取高階特征的問題,提出一種基于雙輸入卷積神經網絡的特征融合框架。經公開數據集評估以及實景實驗驗證,所提出的融合框架是有效的,并具備在實際場景中應用的可行性。但是,本文工作仍存在不足,例如還需對特征的選擇做進一步探索。在以后的工作中將對更多的特征進行研究,探索性能更優以及魯棒性更強的融合特征,推動環境聲事件識別在實際場景中的應用。