喬高杰,廖聞劍
(1.武漢郵電科學(xué)研究院,湖北武漢 430074;2.南京烽火天地通信科技有限公司,江蘇 南京 210019)
音頻場景分類(Acoustic Scene Classification,ASC)是計(jì)算機(jī)聽覺場景分析(Computational Auditory Scene Analysis,CASA)[1]的子任務(wù)之一。聲音場景特征是從來自不同聲源的聲音疊加所形成的一個復(fù)雜聲信號中提取出來的一種高階知識[2]。音頻場景分類的目標(biāo)是識別音頻的環(huán)境,即將音頻與語義標(biāo)簽關(guān)聯(lián)起來[3]。
MIT 實(shí)驗(yàn)室早在1997 年提交了第一份有關(guān)于音頻場景分類的技術(shù)報(bào)告[4],從那時開始人們逐步開展了對音頻場景分類的探索工作。早期的音頻場景分類長期受限于硬件計(jì)算能力和模式識別領(lǐng)域發(fā)展的瓶頸。當(dāng)時,人們的主要研究思路和關(guān)注點(diǎn)都集中于音頻信號的時間特征,因此他們通常都使用高斯混合模型(Gaussian Mixture Model,GMM)或者隱馬爾科夫模型(Hidden Markov Model,HMM)[5-6]。隨著持續(xù)不斷提升的硬件計(jì)算能力以及深入研究的深度學(xué)習(xí)理論知識,很多研究者在音頻場景分類任務(wù)中利用深度學(xué)習(xí)來進(jìn)行研究。
奧地利約翰開普勒林茲大學(xué)計(jì)算感知系的研究人員開始嘗試將深度學(xué)習(xí)方法應(yīng)用到音頻場景分類中[7],并且效果提升顯著。在音頻場景分類和聲音事件檢測(Detection and Classification of Acoustic Scene and Event,DCASE)挑戰(zhàn)賽中,大多數(shù)參賽者均采用CNN[8-10]和RNN[11](Recurrent Neural Network)來進(jìn)行實(shí)驗(yàn)。例如,在DCASE2016 音頻場景分類任務(wù)中,研究者采用8 層VGG 樣式的卷積層網(wǎng)絡(luò)結(jié)構(gòu)獲得的平均準(zhǔn)確率為83.3%[12]。在DCASE2019 音頻場景分類任務(wù)中,研究人員采用8 層CNN 結(jié)合GNN(Generative Neural Network)等數(shù)據(jù)增強(qiáng)方法,獲得了平均準(zhǔn)確率為85.2%,并取得音頻場景分類任務(wù)冠軍[13]。
在2017 年的ILSVRC 圖像分類任務(wù)中,參賽者提出了一種新穎的SE 模塊,該模塊能夠提取特征圖的通道間信息。在當(dāng)時最優(yōu)的CNN 模型中加入SE模塊后,圖片分類的top-5 error 下降到2.251%,因此參賽者獲得了分類任務(wù)的第一名[14]。
目前,以對數(shù)梅爾譜為音頻場景分類特征的任務(wù)與圖像分類任務(wù)有相似之處,因此文中將SE 模塊引入音頻場景分類任務(wù)中。SE 模塊能夠得到不同特征通道的重要程度,并將這些信息加入原始特征中。
音頻的特征多種多樣,主要包括時間特征和頻率特征,此外,相干聲與環(huán)境聲的提取[15]也獲得了研究人員的關(guān)注。文中選取的聲學(xué)特征為目前深度學(xué)習(xí)中普遍使用的對數(shù)梅爾譜圖。因?yàn)閷?shù)梅爾譜圖中包含了時間信息和頻率信息,因此能夠包含更多的音頻特征。接下來對用到的主要內(nèi)容進(jìn)行簡單介紹。
首先,將音頻信號經(jīng)過分幀、加窗和離散傅里葉變換,通過分幀和加窗可將時間跨度較長的信號裁剪為時間跨度小的幀,同時利用離散傅里葉變換將每一幀信號從時域轉(zhuǎn)到頻域,得到信號的頻譜,之后將每一幀的頻譜拼接成語譜圖;其次,將上述語譜圖的幅度譜通過設(shè)計(jì)好的梅爾濾波器組即可得到梅爾譜;最后,對梅爾譜取對數(shù)即可得到信號的對數(shù)梅爾譜圖。
在相同距離的條件下,相較于高頻信號,低頻信號的衰減更小,并且人耳還存在掩蔽效應(yīng),基于以上特性,聲學(xué)專家設(shè)計(jì)出了將聲音頻帶從低到高按照臨界帶寬由密到疏地帶通濾波器組,即梅爾濾波器組。
梅爾濾波器的設(shè)計(jì)首先將自然頻率(fl,fh)通過式(1)轉(zhuǎn)換到梅爾頻率范圍。
其次,在梅爾尺度下使用一系列等距的三角形帶通濾波器組成梅爾濾波器組。假設(shè)M為濾波器的個數(shù),第m個三角濾波器的頻率響應(yīng)如式(2)所示,其中,1 ≤m≤M。
其中,f(m)為濾波器的中心頻率,為式(1)的逆函數(shù)。
卷積神經(jīng)網(wǎng)絡(luò)能夠利用感受野感知空間并通過提升通道的數(shù)量對更深層次的特征信息進(jìn)行提取,但通道與通道之間的信息卻沒有被關(guān)注到。為了考慮通道與通道之間的信息,在CNN 網(wǎng)絡(luò)中加入Squeeze-Excitation 模塊,并將通道信息加入到原始的特征中,進(jìn)而神經(jīng)網(wǎng)絡(luò)可利用全局信息降低特征表達(dá)能力較弱的通道,而加強(qiáng)特征表達(dá)能力強(qiáng)的通道,并且可以自主學(xué)習(xí)到各通道對任務(wù)的重要性,從而提高網(wǎng)絡(luò)對信息的表達(dá)能力。
Squeeze-Excitation的原理圖如圖1 所示,假設(shè)前面網(wǎng)絡(luò)的輸出的特征圖為U,U的尺寸為(H,W,C),H、W、C分別為高、寬和通道數(shù)。首先將第c個特征圖uc進(jìn)行Squeeze 操作(記為Fsq),輸出為zc,計(jì)算過程如式(4)所示。將所有特征圖經(jīng)過Squeeze 操作輸出記為z,z的形狀為1×1×C。
圖1 Squeeze-Excitation的原理圖
其次,將z進(jìn)行Excitation 操作(記為Fex),結(jié)果為s,計(jì)算過程見式(5)。
式中,W1和W2均表示全連接層的維度數(shù),σ和δ分別表示sigmoid 和relu 激活函數(shù)。
最后,將經(jīng)過式(6)Scale 操作(記為Fscale)的s加權(quán)給U,輸出為。
SE 模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。首先,通過一個全局平均池化層壓縮特征圖的空間信息同時提取特征圖的通道信息;其次,通過兩個全連接層學(xué)習(xí)并融合通道維度的特征信息,與此同時,通過兩個激活層Activation 1 與Activation 2 進(jìn)行非線性地學(xué)習(xí)通道之間的信息并調(diào)整輸出權(quán)重的數(shù)目。值得注意的是,Activation 1 和Activation 2 使用的激活函數(shù)分別是relu 和sigmoid。最后,將網(wǎng)絡(luò)提取出來的通道信息以權(quán)重的方式添加到原來的特征中。
圖2 Squeeze-Excitation的網(wǎng)絡(luò)結(jié)構(gòu)
文獻(xiàn)[9]通過實(shí)驗(yàn)證明了4 個卷積層的網(wǎng)絡(luò)性能較6 個卷積層的網(wǎng)絡(luò)性能好,同時淺層網(wǎng)絡(luò)的計(jì)算效率高,占用資源少。文中采用兩層CNN 作為分類器,基線系統(tǒng)的結(jié)構(gòu)如圖3 所示,兩個卷積層均采用7×7的卷積核尺寸與全零填充,每個卷積層之后均采用了批標(biāo)準(zhǔn)化(Batch Normalization,BN)和Droupout 來防止過擬合。同時,除最后的分類使用softmax 作為激活函數(shù)外,網(wǎng)絡(luò)均采用relu 作為激活函數(shù)。relu 函數(shù)相較于sigmoid 與tanh 等激活函數(shù)有著復(fù)雜度低、計(jì)算速度快和占用資源少等優(yōu)點(diǎn)。
圖3 基線系統(tǒng)的網(wǎng)絡(luò)架構(gòu)
實(shí)驗(yàn)的網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示,Model A 和Model B在基線系統(tǒng)的conv Block_1 和conv Block_2 兩個卷積塊之后分別添加SE 模塊;Model C 在基線系統(tǒng)的基礎(chǔ)上,在conv Block_1 和conv Block_2 兩個卷積塊之后同時添加SE 模塊?;€系統(tǒng)分別與Model A 和Model B 進(jìn)行對比可以獲取是否添加SE 模塊的性能變化情況及添加SE 模塊的位置對網(wǎng)絡(luò)性能的影響;將Model A、Model B 和Model C 進(jìn)行對比可以得到添加SE 模塊數(shù)量對網(wǎng)絡(luò)性能的影響。
圖4 實(shí)驗(yàn)中的模型結(jié)構(gòu)圖
實(shí)驗(yàn)數(shù)據(jù)選擇DCASE2019 中task1a的開發(fā)數(shù)據(jù)集[16-18]。數(shù)據(jù)采用的是雙聲道采樣率為48 kHz,分辨率為24 Bit的設(shè)備進(jìn)行采集。這些音頻是在歐洲的阿姆斯特丹、巴塞羅那和倫敦等12 個城市進(jìn)行錄制的。整個數(shù)據(jù)集有14 400 個長度為10 s的音頻數(shù)據(jù),包括了飛機(jī)場、地鐵站和廣場等10 個音頻場景。文中采用7∶3的比例劃分訓(xùn)練集和測試集,同時訓(xùn)練集中30%的數(shù)據(jù)用于驗(yàn)證。
首先,將10 s的原始音頻信號轉(zhuǎn)成單通道的音頻,其次,對音頻幀長為1 920 且?guī)茷?60 進(jìn)行分幀并使用漢寧窗,同時采用2 048 點(diǎn)的STFT 將信號轉(zhuǎn)變到頻域,得到語譜圖,最后,對40 個梅爾濾波器組取對數(shù)得到音頻的對數(shù)梅爾譜圖。以上的特征均采用Python 音頻處理的librosa 工具進(jìn)行提取。最終,得到尺寸為40×500×1的對數(shù)梅爾譜圖,并且將特征輸入到CNN網(wǎng)絡(luò)中進(jìn)行進(jìn)一步的深度特征提取。
實(shí)驗(yàn)硬件環(huán)境為Intel i7-9700K CPU、Nvidia GTX 1080Ti GPU 和16GB 內(nèi)存。軟件環(huán)境為Python 3.6、Tensorflow 1.12.0 和Keras 2.2.4。
文中通過相同的方式對上述的4 個網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并利用測試數(shù)據(jù)測試模型的性能,具體的實(shí)驗(yàn)結(jié)果如表1 所示。根據(jù)表1 可知,基線系統(tǒng)的Model A準(zhǔn)確率最低為62.1%,相較于基線系統(tǒng)準(zhǔn)確率降低了0.6%;Model B的準(zhǔn)確率最高為63.8%,相較于基線系統(tǒng)準(zhǔn)確率提升了1.1%,相較于Model A 準(zhǔn)確率提升了1.7%;Model C的準(zhǔn)確率為63.0%,介于基線系統(tǒng)與Model B的準(zhǔn)確率之間。
表1 不同模型的測試準(zhǔn)確率
Model A 效果沒有提升反而下降,究其原因或是加入SE 模塊的位置過于靠前,通道數(shù)量不足而導(dǎo)致通道間的信息較少。而Model B的輸入特征通道數(shù)量有明顯增加,測試效果提升較大。Model C 中包含兩個SE 模塊,相較于Model B 性能有所下降,由此可見,并不是增加SE 模塊的數(shù)量就能改善模型的分類性能,而相較于基線系統(tǒng)性能亦有所提升,再次證明了SE 模塊能夠提升網(wǎng)絡(luò)的性能。
為了更詳細(xì)地展現(xiàn)添加SE 模塊后的模型分類效果提升,基線系統(tǒng)和Model B的詳細(xì)分類結(jié)果分別如表2 和表3 所示。在基線系統(tǒng)中公園(記為park)場景的分類準(zhǔn)確率最高為0.839,而Model B 中繁忙的街道場景(記為street_traffic)的分類準(zhǔn)確率最高為0.846;在基線系統(tǒng)和Model B 中,分類準(zhǔn)確率最低的場景均是公共廣場(記為public_square),其中基線系統(tǒng)分類準(zhǔn)確率為0.398,而Model B 中的分類準(zhǔn)確率為0.452。
表2 基線系統(tǒng)分類結(jié)果
表3 Model B的分類結(jié)果
通過對比基線系統(tǒng)與Model B的分類結(jié)果可知,在飛機(jī)場、大巴、公共廣場、步行街和繁忙街道5 個場景中,Model B的分類效果均優(yōu)于基線系統(tǒng);而在地鐵、地鐵站、公園、購物中心和電車5 個場景中,基線系統(tǒng)的分類準(zhǔn)確率高于Model B。
上述分析表明,相較于基線系統(tǒng),添加SE 模塊在某些場景下的分類效果會下降,而在另外的場景下分類效果會得到較高的提升,總體上分類效果得到提高,且在通道數(shù)較多時添加SE 模塊能更明顯提升網(wǎng)絡(luò)的分類效果。
文中搭建了一個性能良好的音頻場景分類系統(tǒng),在基本的CNN 網(wǎng)絡(luò)中加入SE 模塊,充分地考慮了特征的不同通道間的信息,并對SE 模塊在網(wǎng)絡(luò)中的位置和數(shù)量進(jìn)行了探究。通過實(shí)驗(yàn)對比可知加入SE 模塊與普通的CNN 網(wǎng)絡(luò)以及SE 模塊添加位置和數(shù)量對整個模型分類效果的影響,驗(yàn)證了在通道數(shù)比較多時,加入通道間的信息能夠提升模型的場景分類性能。