楊 磊,趙紅東
(河北工業大學電子信息工程學院,天津 300300)
(?通信作者電子郵箱zhaohd@hebut.edu.cn)
環境聲音是指一類在具體日常生活場景中自發產生的各種聲音的集合,與音樂和語音這類結構化的聲音相比,它具有聲源種類繁多、發聲具有偶發性、主要聲音和噪聲并存等特點。環境聲音識別(Environment Sound Recognition,ESR)是指機器能夠在真實的環境聲音中排除噪聲干擾、識別出有用信息的能力,它是機器智能視聽系統的重要組成部分,被廣泛應用在便攜式情景感知設備上,例如嵌入自動音頻分類的物聯網聲學監控[1]、公共交通中基于智能音頻的監控系統[2]。與視頻不同,音頻具有易于記錄、存儲和分析等特點,且錄音受到設備所處位置的影響小,因而安裝有環境聲音識別模塊的情景感知設備可在無人工干預的情況下,對其周圍環境聲音進行持續監控并完成相應任務。
環境語音識別是在融合信號處理、機器學習、深度學習、聲學、數學等多學科知識基礎上發展起來的一類應用技術。在ESR 早期發展中,研究人員主要應用包括矩陣分解[3]、支持向量機(Support Vector Machine,SVM)[4]等在內的機器學習模型來識別環境聲音。近年來,隨著深度神經網絡[5-6]在圖像、語音等領域的發展,卷積神經網絡(Convolutional Neural Network,CNN)在提取環境聲音特征方面極大促進模型識別性能的提升[7-10]。Piczak[11]在多個公共數據集上測試CNN 對環境聲音的短音頻片段的分類效果,開啟了CNN 在ESR 領域的應用研究。越來越多的學者關注于如何改進基于CNN 的方法。Boddapati 等[12]在環境聲音識別方面運用深度卷積神經網絡GoogleNet提取聲音的頻譜圖特征,獲得了93%的識別準確率;文獻[13]使用兩個含有五層卷積層的MelNet 和RawNet 分別訓練環境音的log 梅爾譜和原始波形特征,為保留更多信息,這兩個模型舍棄傳統CNN 模型在卷積層后設置最大池化層的做法,在保證高識別準確率的同時,做到縮小網絡層數和保證充足信息量二者之間的平衡;文獻[14]提出一個TSCNN-DS(Two Stacked CNN based on D-S evidence theory)模型,使用兩組四層卷積層CNN 對由log 梅爾譜、色度、光譜對比度和音調組合的特征進行運算,然后將兩組網絡在全連接層實現融合;Abdoli 等[15]提出了一種基于一維的端到端環境聲音分類方法,通過Gammatone 濾波器組對第一層進行初始化,直接從音頻信號中提取聲音特征。這些基于CNN 改進的模型通過一定的網絡結構設計,從環境聲音中學習多種代表性的聲音特征,極大促成模型分類能力的提升。
本文的主要貢獻如下:
1)在城市環境聲音識別研究方面,利用SqueezeNet 核心結構Fire 模塊[16]構建輕量級網絡,該網絡在保證識別準確率的同時,通過縮小模型參數規模,達到節省硬件內存資源、提升模型運算性能的目的。
2)以Dempster?Shafer(D?S)證據理論為基礎,將基于SqueezeNet 核心結構Fire 模塊建立的輕量級網絡與深度神經網絡(Deep Neural Network,DNN)融合,通過增加輸入環境聲音的全局特征變量,使得融合后的模型識別能力得到進一步的提升,展現出輕量級網絡強大的識別性能,為深度網絡模型在資源有限的分布式終端設備上應用提供了有力支持。
本實驗使用UrbanSound8K 數據集[17],它是目前應用于自動城市環境聲分類研究的公共數據集,該數據集包含8 732條已標注聲音類別的音頻片段(≤4 s),聲音類別涵蓋10個類別,表1 顯示該數據集中每個聲音類別所含音頻片段的數量。由于數據采集于真實環境,每個音頻片段都包含背景聲音和事件聲音。數據集由10個名為fold1~fold10的文件夾組成,每個文件夾包含約873個WAV格式的文件。

表1 UrbanSound8K數據集聲音類別Tab.1 Sound categories of UrbanSound8K dataset
因為人耳感覺到的聲音高低與其頻率不呈線性關系,人耳對低頻信號比高頻信號更加敏感,根據人耳的特性模擬出梅爾頻率刻度,式(1)表示梅爾頻率fMel與語音頻率f 的關系,因而梅爾(Mel)倒譜系數(Mel Frequency Cepstrum Coefficient,MFCC)被廣泛應用在語音識別系統中。在環境聲音分析領域,MFCC常被用作衡量新技術優勢的基準。

將語音頻率劃分成一系列三角形的濾波器,即Mel 濾波器組,取各三角形濾波器帶寬內所有信號幅度加權和作為濾波器組的輸出,再對所有濾波器的對數幅度譜進行離散余弦變化(Discrete Cosine Transform,DCT)得到MFCC[18],計算如式(2)所示:

式(2)中:L 代表Mel 濾波器組的通道數量;l 為第l 個Mel 濾波器;Y(l)表示第l個Mel濾波器的輸出。
本實驗以25 ms 的窗口和10 ms 幀長為參數從音頻片段中提取特征,計算出0~22 050 Hz的40個梅爾(Mel)波段,并保留40 個MFCC 系數,得到的特征矩陣為40×174×1,即頻率×時間×通道,如圖1所示,在這一過程中,需要對時間維度不足的特征矩陣進行補零至統一長度。

圖1 十類聲音可視化MFCC譜圖Fig.1 Ten kinds of sound visualized MFCC spectrums
除圖1 所示的40 維MFCC 譜圖外,為獲得環境聲音更全面的特征,還需從環境音頻片段提取另一組40 維全局特征向量。提取過程如下:首先從片段的每一幀中提取40 維特征向量,其中1~4 維分別是頻譜均方根、頻譜質心、頻譜帶寬和頻譜滾降點,5~40維分別是12維MFCC、12維MFCC一階差分參數和12 維MFCC 二階差分參數;然后在每個維度上對所有幀的結果取算數平均值,從而得到40維全局特征向量。
MFCC差分計算如式(3)所示:

式(3)中:dt表示第t 個一階差分;Ct代表第t 個倒譜系數;Q 為倒譜系數的階數;K 表示一階導數的時間差,可取1 或2。將MFCC 一階差分參數再代入式(3),得到MFCC 二階差分的參數。
實驗首先搭建一個傳統CNN 模型作為參考,并將其命名為Cnet 模型。該模型包括一個輸入層、四組“卷積+池化”結構和一個輸出層。每組“卷積+池化”結構中,卷積層的步幅為1,卷積核的大小設置為3×3;池化層的步幅設置為2;使用線性整流函數(Rectified Linear Unit,ReLU)[19]作為激活函數。輸出層使用Softmax 函數獲得分類概率,模型參數如表2所示。

表2 Cnet 模型參數Tab.2 Cnet model parameters
SqueezNet 卷積神經網絡模型是由加利福尼亞大學伯克利分校和斯坦福大學的研究學者在2016 年聯合提出的一種旨在降低模型參數輸入量的網絡模型,它能解決AlexNet[20]和VGGNet(Visual Geometry Group Net)[21]模型因參數量巨大而降低運算效率的問題。該網絡通過縮小模型卷積核大小、用平均池化層代替全連接層的方式構建Fire模塊結構以達到在保證識別準確率的基礎上減少模型參數量的目的。Fire 模塊結構包含兩層卷積層:壓縮層和擴展層,它們各自連接一個ReLU 激活層,其中壓縮層全部由S 個1× 1 的卷積核構成,擴展層包含E1個1× 1 的卷積核和E3個3× 3 卷積核,卷積核的數量關系滿足S <E1+E3,見圖2。

圖2 Fire模塊結構Fig.2 Structure of Fire module
在文獻[16]中,SqueezeNet 網絡模型共有9 組Fire 模塊,中間穿插3 個最大池化層,并用全局平均池化層代替全連接層以減少參數數量,同時為控制輸入和輸出的大小,在上層和下層各使用一個卷積層。在本實驗中,“S”代表壓縮層中卷積核數量,“E”代表擴展層中卷積核數量,并設定E1=E3,E=E1+E3。SqueezeNet 網絡模型為處理ImageNet 數據集而設計,它對UrbanSound8K 數據集進行分類會產生過擬合,從而無法有效分類,本實驗使用SqueezeNet 網絡的核心Fire 模塊結構搭建網絡。
Fire 模塊將H1×W1×D1大小的特征圖作為輸入,H2×W2×D2大小的特征圖作為輸出,其中H1×W1和H2×W2分別是輸入特征圖和輸出特征圖的尺寸,D1和D2分別是輸入特征圖和輸出特征圖的通道數量。本實驗以卷積核乘法運算次數作為統計計算量的依據,Fire模塊的計算量CFire如式(4)所示:

Fire模塊的卷積核參數數量設為NFire,計算見式(5):

式(4)和(5)中:Nk為擴展層中E3的卷積核尺寸[22],通常選擇Nk值為3。
卷積核的計算量為CCNN,如式(6)所示:

卷積核參數數量為NCNN,如式(7)所示:

式(6)和(7)中:Nc為卷積核尺寸,一般選擇Nc值為3、5 或7。通常情況H1×W1和H2×W2相同,由式(4)~(7)可知,Fire 模塊與卷積核的計算量比值及其參數數量比值均為R,見式(8):

當Fire 模塊(S,E)分別?。?,32)和(16,64)時,按表2 層類型中卷積層2 的輸入通道參數和輸出通道參數,計算出R值分別為0.29和0.57。由此可見,在網絡計算量和參數數量方面,與Cnet模型相比,基于Fire模塊的輕量級網絡模型具有明顯優勢。
D-S 證據理論是20 世紀70 年由哈佛學者Dempster 和Shafer 提出的一種不確定推定理論,在80 年代后逐漸引起歸納邏輯、人工智能等領域的研究學者的關注[14]。該理論實質上是在由一系列互斥的基本命題組成的識別框架上,通過引入信任函數概念對各命題分配信任程度,即基本概率分配(Basic Probability Assignment,BPA),并提出不同證據信息的基本概率分配共同作用生成一個反映融合信息的新的基本概率分配的證據組合規則。
1)基本概率分配。
假設某問題的所有可能答案組成一個互斥的非空完備集合Θ={A1,A2,…,An},也稱識別框架,其中元素Ai稱為的基元,將Θ 的冪集用2Θ表示。如果集函數映射并滿足那么稱該映射m 是識別框架Θ上的基本概率分配函數(BPA),也稱為mass函數;Φ為不可能事件;?A ?Θ,m(A)稱為A的基本概率分配。
2)Dempster證據合成規則。
對于?A ?Θ,在同一識別框架Θ 上的兩個mass 函數m1,m2,其基元分別為B 和C,Dempster 合成規則如式(9)~(10)所示:

對于?A ?Θ,識別框架Θ 上的有限個mass 函數m1,m2,…,mn的Dempster合成規則如式(11)~(12)所示:

式(12)中:A1∩A2∩…∩An=Φ 表示信息沖突的部分;A1∩A2∩…∩An=A 表示信息一致的部分;⊕為正交和;K為剔除沖突干擾的歸一化因子,其作用是將空集上丟失的信任度按比例分配到非空集上,從而滿足概率分配要求。K 值越小說明證據的沖突越大;如果K=0 則證據完全沖突,合成規則不再適用。
本實驗針對參考卷積神經網絡模型Cnet[23],設計一類基于SqueezNet 網絡Fire 模塊的輕量級網絡模型,并將其命名Fnet,見圖3。

圖3 基于Fire模塊的網絡Fig.3 Fire module based network
Fnet由輸入層、一組16個3×3卷積核構成的“卷積+池化”結構、三組Fire模塊、全局平均池化層和輸出層構成。為有效驗證模型性能,本實驗采取兩種策略進行對比研究:一種策略是控制壓縮層和擴展層中的卷積核數量,使用S 和E 分別為(8,32)與(16,64)的兩種Fire模塊進行比較實驗,并相應標記為Fnet1 模型和Fnet2 模型;另一種策略是為充分挖掘環境聲音的特征、提高模型性能,基于Fnet2 模型融合DNN 構建FnetDNN 模型。DNN 由一個輸入層、兩個全連接層和一個Softmax 層組成,其中全連接層的隱含單元分別設置為128 和64。利用D-S 證據理論將Fent2 預測結果S1和DNN 預測結果S2進行信息融合生成新的基本概率分配,并以此作為決策依據。
實驗在一臺英特爾i5 處理器、英偉達Tesla K80 顯卡和8 GB 內存的筆記本上驗證本文提出的降低模型參數量的方法有效性。實驗過程中,采用UrbanSound8K 數據集,在GPU上運用Keras2.0和Tensorflow2.0框架建模。實驗超參數設置如下:Dropout 參數[24]0.2;優化Adam;迭代次數200;批量數64。以ReLU 作為激活函數,選擇交叉熵作為損失函數,如式(13)所示:

式(13)中:yi是網絡輸出的第i 個預測分類,Yi是第i 個分類標簽,n是分類的樣本總數。最后,在全連接層后應用Softmax函數輸出判斷結果。
首先,本實驗以Cnet 作為參考網絡,使用Fire 模塊搭建Fnet1和Fnet2模型,兩個模型都采用圖1提取的MFCC譜圖作為輸入,輸入維度為40×174×1。從圖4的實驗結果可以看出:參數數量越多,模型分類的穩定性就越高。從訓練迭代200次后的分類準確性來看,Fnet1 與Cnet 具有相似的準確性,Fnet2的準確度略優于Cnet。

圖4 模型結果比較Fig.4 Comparison of model results
表3 列示三個模型的卷積核參數量和識別準確率。實驗結果說明在相同特征信息輸入條件下,適當縮小網絡參數規??梢詭砭W絡分類性能的提升。由于輕量級深度神經網絡能有效地節省內存資源、降低計算成本,因而它在資源有限的移動設備上更具備開發和應用的發展前景。
進一步進行實驗分析,先以40 維環境聲音信號的全局特征向量作為DNN 的輸入,訓練得到S2,再利用D-S證據理論將Fnet2 和DNN 的預測結果S1、S2進行信息融合,生成新的基本概率,如圖3所示。表4為關于某一樣本數據的分析結果。

表3 模型卷積核參數量和識別準確率比較Tab.3 Comparison of models on convolution kernel parameter number and classification accuracy
對于本樣本,Fnet2錯誤預測分類AC,DNN 正確預測分類EI,FnetDNN 通過融合后獲得新的基本概率分配輸出正確分類EI,對Fnet2 錯誤預測結果進行了校正。實驗結果顯示,盡管FnetDNN 參數數量略有增加,但能將分類準確率提高到94.4%。圖5 從細顆粒度分析角度分析DNN、Fnet2 與FnetDNN在具體聲音類別上的識別能力:FnetDNN在狗吠聲、鉆孔和發動機空轉聲類別上的識別效果更加明顯;在環境聲音較為復雜的街頭音樂類別上,FnetDNN也具有優勢。

表4 模型預測概率、融合結果和期望值Tab.4 Prediction probabilies,fusion results and expected values of models
最后,表5 所示了ESR 領域近年的研究成果,與這些研究成果相比,FnetDNN 模型具有參數數量少、訓練所需樣本數量少和分類準確率較高的特點。由此可以看出,基于Fire 模塊的網絡模型Fnet 不僅可以壓縮冗余參數,還可以與其他網絡相融合,具有模型擴展能力。

圖5 歸一化混淆矩陣Fig.5 Normalized confusion matrix

表5 UrbanSound8K上8種模型的準確率Tab.5 Accuracies of 8 models on UrbanSound8K
本文通過對比實驗證明了SqueezeNet 的Fire 模塊可以直接用于壓縮常規網絡參數,輕量級網絡Fnet1的卷積核參數數量較Cnet 網絡模型減少,但可以達到與Cnet 相似的準確度,Fnet2和FnetDNN 可在存儲受限的條件下,獲得高水平的環境聲音識別準確度,這為深度網絡模型在資源有限的移動端設備上應用開發提供了有力支持。接下來的工作是優化ESR模型,提升環境音識別準確度并確保在移動端工作的實時性能。