王 麗龔 君黃裕磊
(1.正德職業技術學院機電工程系,江蘇南京 211106;2.東南大學信息科學與工程學院;江蘇南京 210096)
聲場景分類,就是訓練計算機通過聲音中所包含的信息將聲音正確的劃分到其所屬的場景中,例如室內環境(家中)或室外環境(公園)等。聲場景分類技術有著廣泛的應用。在處理不同的聲音信號前,將聲音場景進行分類,然后針對不同場景的聲音,采用不同的信號處理方式或者采用不同的參數來處理,可以帶來效率的巨大提升[1],比如帶有聲場景分類功能的助聽器,能夠自動的識別出佩戴者所處的場景,并相應的調整降噪、增強算法,實現智能的模式調整,無需佩戴者進行人工調整[2]。聲場景分類算法也能應用于環境感知設備[3],如根據當前聲場景自動調節模式的智能手機[4]。當用戶進入自習室等比較安靜的環境時,手機能夠自動設置為靜音模式,當用戶處于街道、商場等較為嘈雜的環境中,手機自動將音量設置為匹配這種場景的大小,使得用戶不錯過重要信息[5]。隨著智能駕駛汽車的逐漸普及,聲場景分類技術也將發揮很大的作用。雖然近年來基于計算機視覺的自動駕駛技術[6-10]發展迅速,但是其存在一些明顯的不足:夜間檢測困難、視覺上存在死角、運算量巨大等。基于聲學場景分類的自動駕駛可以彌補視覺算法的不足,并且兩者可以起到互補作用。比如在夜間,自動駕駛的汽車在行駛過程中,通過收集車外的聲音進行聲場景分類,然后根據分類的場景進行駕駛模式的切換。總而言之,聲場景分類技術在多個領域都有著重大的作用,對聲場景分類進行深入的研究具有十分重要的意義。
聲場景分類最開始屬于模式識別的一個子領域。上世紀九十年代,Sawhney 和Maes 首次提出了聲場景分類的概念[11]。他們錄制了一份包含人行道、地鐵、餐廳、公園、街道5 類聲場景的數據集,Sawhney 從錄制的音頻中提取了功率譜密度、相對光譜、濾波器組的頻帶3 類特征,之后采用k 最鄰近和循環神經網絡算法進行分類,取得了68%的準確率。20 世紀初期,機器學習領域快速發展,越來越多的學者嘗試使用機器學習的方法來進行聲音場景的劃分。支持向量機、決策樹等機器學習算法逐漸替代傳統的HMM 模型,被廣泛的應用在了聲場景分類和聲事件檢測任務中。同時,一些集成學習的方法如隨機森林、XGBoost 進一步提升了聲場景分類的效果。2015 年,Phan 等人[12]將聲場景分類問題轉化為回歸問題,搭建了基于隨機森林回歸的模型,并在ITC-Irst 和UPC-TALP 2 個數據庫上分別將檢測錯誤率降低了6% 和10%。2012 年,在ImageNet 圖像分類競賽中,Krizhevsky[13]提出了AlexNet 模型并一舉獲得了冠軍。AlexNet 的巨大的成功,引發了深度學習的熱潮,研究者也逐漸開始將深度學習的方法引入到聲場景分類任務中。在近年來的聲學場景和事件檢測分類挑戰(Detection and Classification of Acoustic Scenes and Events,DCASE)競賽中,很多參賽者使用了卷積神經網絡[14]、循環神經網絡[15]、深度神經網絡(Deep Neural Networks,DNN)[16]并將這些模型與傳統機器學習方法進行集成,取得了很優異的成果。比賽結果表明,對于聲場景分類任務,使用語譜圖作為輸入特征的CNN 模型可以達到比較好的效果。在DCASE2018 Task1A 聲場景分類競賽中,Sakashita 等人[17]提取了雙聲道音頻的mel 譜圖、諧波-沖擊分離(Harmonic-Percussive Source Separation,HPSS)音頻的mel 譜圖,并采取不同的圖像處理方式對譜圖進行切分,然后利用改進的視覺幾何群網絡(Visual Geometry Group Network,VGG16)網絡進行分類,最終TUT Urban Acoustic Scenes 2018 數據集上達到了76.9%的準確率并獲得了第一名[18]。
用于聲場景分類的音頻信號通常包含很多聲音事件,這些聲音事件往往是相互重疊的。提取音頻的頻譜圖然后利用CNN 模型進行分類時容易發生過擬合現象,這是因為CNN 模型可能會將重疊的聲音事件認定為聲學場景的代表模式,當僅出現一種聲音事件時可能無法正確識別其場景。因此,提出了一種基于卷積神經網絡的聲場景分類方法,首先利用中值濾波器將對數Mel 譜圖分層為2 個譜圖分量,每個譜圖分量包含特定類型的時頻模式。然后使用雙路徑的深度卷積神經網絡對譜圖分量分別建模,在模型輸出前將雙路徑的特征圖進行拼接,最后利用Softmax 層進行分類。
如圖1 所示,聲場景分類系統主要由以下幾個模塊所組成:預處理模塊、特征提取模塊、分類器訓練模塊和測試模塊。

圖1 聲場景分類系統結構圖
預處理模塊是對輸入的音頻進行預加重、分幀和加窗等處理,為后續的聲學特征提取模塊打下基礎。
特征提取模塊是整個聲場景分類系統構建的核心,對系統的最終效果有著直接影響。特征決定了整個系統所能達到的最優效果,聲學特征的提取對整個系統性能起著至關重要的作用。聲學特征可以分為時域特征和頻域特征2 大類,時域特征有短時能量、短時平均幅度、短時過零率、短時自相關等,頻率特征有傅里葉系數、功率譜、梅爾頻率倒譜系數等。針對深度學習中的卷積神經網絡,還可以提取語音的語譜圖,然后按照構建圖像分類器的方法來設計聲場景分類系統。
分類器訓練模塊是整個系統最重要的一環。訓練的大體過程如下:首先將從訓練樣本中提取好的特征輸入分類器,分類器進行運算并預測樣本的標簽,計算預測標簽與真實類別之間的差距,求出損失函數,求出損失函數關于分類器可訓練參數的導數,利用參數更新規則對模型參數進行調整,反復進行迭代直到模型的損失不再下降或者達到指定的訓練迭代次數。對于聲場景分類任務,可以選擇的分類器有很多,如傳統的機器學習模型HMM、SVM 等,還可以使用深度學習模型如CNN,RNN 等。
測試模塊的主要任務是對訓練所得到的分類器模型進行測試。將類別已知的測試樣本依次輸入到分類器中,得出分類結果,統計分類正確率。
頻譜圖是對音頻信號進行短時傅里葉變換(Short-Time Fourier transform,STFT)得到的一種二維譜圖,它的橫坐標是時間軸,縱坐標是頻率軸,譜圖中每個像素點的值表示相應時刻、相應頻率的能量密度。這種二維譜圖可以很好的反映出音頻中不同時刻、不同頻率的能量值強度,在聲場景分類中有著重要的應用價值[19]。但是通過傅里葉變換求出的頻譜是線性的,與人類的聽覺感受不符,將其進一步轉換為非線性的梅爾(Mel)頻率,可以更加符合人耳的聽覺特性。Mel 頻率的定義如下:

式中:f是頻率,單位為Hz。Mel 特征譜圖的求取過程如圖2 所示。

圖2 對數Mel 譜圖求取過程
具體過程如下:
(1)對輸入音頻進行預處理,主要包括:預加重、分幀、加窗;
(2)對分幀后的信號進行短時傅里葉變換,得到信號的頻譜;
(3)將信號的頻譜通過具有Mel 刻度的Mel 濾波器組,并對濾波器組的輸出取對數,得到對數Mel譜圖。
對數Mel 譜圖可以很好的反映出音頻的靜態特性,但是無法體現音頻動態特征。將Mel 譜圖求取差分可以得到一階差分Mel 譜圖,其能很好的體現出音頻的動態特征。而且可以進一步對一階差分Mel 譜圖再次求取差分,得到二階差分Mel 譜圖,進一步獲取更多的動態特征。將標準的對數Mel 譜圖和一階二階差分對數Mel 譜圖進行拼接,形成3 通道融合譜圖作為系統的輸入。
在圖像處理中,中值濾波器被廣泛用于抑制圖像中的脈沖噪聲。將中值濾波器應用于提取到的對數Mel 譜圖,并沿著時間軸滑動,當聲音事件的持續時長小于濾波器窗口一半時,該聲事件將被濾除。因此,提出了基于中值濾波器的特征譜圖分層方法,原理如下:

表1 基于中值濾波器的特征譜圖分層方法
通過上述譜圖分層方法,可以將原始的譜特征分層為2 個譜特征分量,每個分量中包含有不同持續時長的聲音事件,即代表這不同的時頻特性。
利用基于中值濾波器的特征譜圖分層方法將輸入音頻的對數Mel 譜圖劃分為2 個譜圖分量,每個分量包含特定的時頻模式。接下來針對每個分量利用卷積神經網絡單獨的進行建模,以更好地利用分層時頻特征。深度卷積神經網絡有2 條平行的路徑,每個路徑對一個譜圖分量建模,如圖3 所示。在求取音頻的對數Mel 譜圖時,采用的Mel 濾波器的個數為128 個,因此輸入網絡的融合特征譜圖在頻率軸上的大小也是128。采用包含17 個卷積層的殘差網絡進行處理,這些卷積層的卷積核大小均為3×3。經過殘差網絡之后,將2 個路徑的特征圖在通道維度上進行拼接,形成最終的特征圖。最后,依次通過批歸一化層(Batch Normalization,BN)、1×1的卷積層、全連接層、Softmax 層進行分類。

圖3 雙路徑深度卷積神經網絡結構圖
為了驗證所提出的基于卷積神經網絡的聲場景分類方法的有效性,在TUT 數據集上進行了多組實驗進行對比驗證。TUT 數據集包含機場、公共汽車、地鐵、地鐵站、公園、廣場、購物商場、步行街道、交通街道、電車軌道10 類聲場景,共14 400 條音頻數據。該數據集在12 個大型歐洲城市阿姆斯特丹、巴塞羅那、赫爾辛基、里斯本、倫敦、里昂、馬德里、米蘭、布拉格、巴黎、斯德哥爾摩和維也納錄制。
TUT 數據集中音頻樣本的采樣率為48 kHz,每段音頻長10 s。首先對音頻進行分幀,幀長為2 048個采樣點(約為43 ms),幀重疊率為50%,因此每段音頻可分為469 幀。對分幀后的音頻計算2 048 點的FFT,之后再通過包含128 個濾波器的Mel 濾波器組并取對數,得到最終的對數Mel 譜圖,每張Mel譜圖的大小為(469,128)。再對進一步對對數Mel譜圖求取差分,得到一階和二階差分Mel 譜圖。實驗中,利用LibROSA 庫函數實現了原始音頻、沖擊源、諧波源的對數Mel 譜圖的求取,最后的融合譜圖大小為(469,128,9)。
提出的基于卷積神經網絡的聲場景分類方法的訓練設備為 Nvidia GTX1080Ti 顯卡(顯存為11GB)。雙路徑深度卷積神經網絡使用帶動量的隨機梯度下降算法進行優化,動量大小為0.9,batchsize 為32。模型使用學習率熱重啟機制訓練了270個epoch,在訓練2、6、14、30、126 和254 個epoch 后將學習速率重置為其最大值的0.1,然后余弦衰減至1×10-5。
為了對比所提出的基于卷積神經網絡的聲場景分類方法和傳統機器學習方法的分類效果,測試了高斯混合模型(GMM)、隱馬爾可夫模型(HMM)、支撐向量機(SVM)、隨機森林(RF)在TUT 數據集上的分類效果。首先,通過開源軟件openSMILE 從每段音頻信號中提取988 維的特征向量,其中包括26類聲學特征,主要有音頻的強度、響度、12 階的MFCC、過零率、基音頻率等,以及每種特征的均值、最值、標準差、方差等統計量。然后將988 維的特征向量作為上述4 種機器學習模型的輸入特征,最終通過網格搜索法獲得4 類模型的最佳參數。
對于GMM、HMM、SVM、RF 分類模型,采用第4節介紹的988 維特征向量作為輸入特征。通過網格搜索法獲得GMM 模型的最佳參數為:高斯混合模型的個數為12 個;采用‘full’模式,即每個高斯分布具有不同的標準協方差矩陣;采用K-Means 的方式對模型的參數進行初始化。對于SVM 模型,搜索懲罰系數、核函數、決策方式這3 個重要參數的最佳取值。最優SVM 模型的懲罰系數為1.8,采用高斯核函數,分類方式為OVO。RF 模型的最優參數為:森林中包含的決策樹個數為200,決策數在進行節點分裂時采用基尼指數作為最優特征選擇標準,決策樹內部節點再劃分所需最小樣本數為10,每棵決策樹葉子節點最少樣本數為25。上述4 種模型和所提出的方法在TUT 測試集上各類別的準確率如表2所示。

表2 5 類聲場景分類方法分類結果
提出的基于卷積神經網絡的聲場景分類方法在TUT 測試集上的分類混淆矩陣如圖4 所示。

圖4 基于卷積神經網絡的聲場景分類方法分類混淆矩陣
通過上述實驗結果可知,GMM 模型在TUT 測試數據上的平均類別準確率為59.8%。機場場景的分類準確率最高為76.9%,步行街道場景的準確率最低,僅為44.5%。HMM 模型的平均類別準確率為58.1%。機場場景的分類準確率最高為66.4%,步行街道場景的準確率最低為53.2%,且每個類別的準確率較為接近相差不大。SVM 模型的各類別準確率較為接近,平均類別準確率為62.2%。公交場景的分類準確率最高為68.1%,公共廣場場景的準確率最低為59.3%。RF 模型在TUT 測試數據上的平均類別準確率為61.3%。公共廣場場景的分類準確率最高為68.2%,電車軌道場景的準確率最低為52.7%。基于卷積神經網絡的聲場景分類方法的平均類別準確率為79.2%,明顯高于其他4 類機器學習方法,并且在除公共廣場外的9 類聲場景中,分類效果都有顯著提升。
基于卷積神經網絡的聲場景分類方法被提出。首先提取音頻的對數Mel 譜圖及其一階二階差分譜圖并在通道維度上進行拼接,隨后利用中值濾波器對融合譜圖進行分層,得到2 個融合譜圖分量。然后搭建了雙路徑深度卷積神經網絡,分別對每個譜圖分量進行建模,并在系統輸出前將2 個路徑獲得的特征圖進行融合,最后通過全連接層進行分類。為了證明所提出的基于卷積神經網絡的聲場景分類方法有效性,在TUT 數據集上設計了實驗進行驗證。分別利用GMM、HMM、SVM、RF 4 類傳統機器學習方法和基于卷積神經網絡的聲場景分類方法對TUT 數據集進行建模,通過在測試集上的分類結果可知,基于卷積神經網絡的聲場景分類方法的分類準確率明顯高于其他4 種機器學習方法。