周 帥,李 理,2,彭章君,黃鵬程
(1.西南科技大學 計算機科學與技術學院,四川 綿陽 621000;2.四川省自主可控人工智能工程技術中心,四川 綿陽 621000)
音頻分類主要集中在三大應用領域,首先是音樂信息檢索(MIR),其次是自動語音識別(ASR),然后是環(huán)境聲音分類(ESC)。環(huán)境聲音分類作為音頻識別的一個重要應用場景,被廣泛應用于噪聲檢測、智能聲控、場景分析、多媒體檢索等分支領域。ESC可以使得機器高效準確地解析背景環(huán)境,將算力集中到高價值的有效的信息。但是由于環(huán)境聲音包含了室內(nèi)、室外、人聲、其他動物聲、風聲、雨聲等多種聲音,不能僅僅被描述為單一語義的語音或音樂,故將語音識別(Automatic Speech Recognition,ASR)和音樂信息檢索(Music Information Retrieval,MIR)等其他模型直接移植到ESC分類中會導致分類精度差,效率低。因此,開發(fā)一種專用的高效ESC辨識與分類算法有著非常重要的意義。
ESC環(huán)境聲音分類算法主要包括環(huán)境聲音特征提取和分類模型搭建。對于特征提取,往往是通過對連續(xù)語音先進行預加重、分幀、加窗等操作,然后從每一幀中提取特征作為模型的輸入。對于傳統(tǒng)的環(huán)境聲音識別,人工提取特征向量,如梅爾頻率倒譜系數(shù)(MFCC)、梅爾譜圖特征、小波變換等,然后通過機器學習算法完成特征分類,例如,Pillos A等人[1]使用基于MFCC和多層感知器進行實時環(huán)境識別,準確率為74.5%。后面也出現(xiàn)了較多僅以MFCC作為單一特征進行分類的環(huán)境聲音方法[2-5],但是由于環(huán)境聲音大多是非平穩(wěn)信號,沒有有意義的模式或子結(jié)構(gòu),因此使用單一特征可能會導致無法捕獲有關環(huán)境音頻事件的重要信息。而聚合特征相比單一特征可以達到不同特征之間的優(yōu)勢互補效果,增強特征的表達能力,從而提供更好的性能。
傳統(tǒng)的分類器主要被設計用于對缺乏時間和頻率不變性的音頻數(shù)據(jù)進行分類。近年來,深度學習(DL)模型在解決復雜數(shù)據(jù)的分類問題方面已被證明比傳統(tǒng)分類器更準確和高效。卷積神經(jīng)網(wǎng)絡(CNN)是DL使用最廣泛的模型,作為端到端分類器在圖像分類[6-7]和聲學場景分類[8-9]等應用中顯示出巨大的優(yōu)勢。Abdoli S[10]提出了一種用于環(huán)境聲音分類的端到端一維CNN,其網(wǎng)絡架構(gòu)取決于音頻信號的長度,模型由三到五個卷積層組成,平均準確率達到89%。Zhu B等人[11]以原始波形為輸入,使用一組具有不同卷積濾波器大小和步長的分離并行神經(jīng)網(wǎng)絡,以學習具有多時相分辨率的特征表示。一維卷積神經(jīng)網(wǎng)絡模型不需要對音頻做預處理,直接輸入網(wǎng)絡,由網(wǎng)絡自行學習其特征,這使得ESC任務以端到端的方式運行成為可能。而端到端的模型降低了網(wǎng)絡的可解釋性,對于音頻來說,頻域特征和時域特征同樣重要,所以目前大量的研究工作集中在二維卷積網(wǎng)絡。Piczak K[12]首先提出通過計算聲音的時頻表示,將聲音信號轉(zhuǎn)為頻譜圖輸入到二維卷積神經(jīng)網(wǎng)絡中;之后又出現(xiàn)了將多特征融合作為特2D-CNN的特征輸入。Su Y等人[13]評估了六種基本的頻域聲學特征和兩種感知激勵聲學特征在2D-CNN模型上最佳的聚合特征組合,同時也提出了TSCNN-DS[5]模型,一種四層卷積神經(jīng)網(wǎng)絡,分別由兩個LMC和MC特征集訓練的LMCNet和MCNet網(wǎng)絡,最后通過DS證據(jù)理論融合兩個網(wǎng)絡的Softmax層的輸出。
可以發(fā)現(xiàn),當前ESC主流方法要么是采用單一特征作為模型的輸入[14-16],然后對網(wǎng)絡結(jié)構(gòu)進行優(yōu)化,要么是采用融合特征與CNN網(wǎng)絡相結(jié)合進行分類[17],但是單一特征存在對信息表征不足從而會影響分類的準確性和泛化性的問題,而僅僅采用融合特征也會帶來冗余信息的干擾,導致分類精度不高。
針對上述問題,該文提出將多通道特征作為模型的輸入,與單一特征相比,多通道特征可以有效擴大可用數(shù)據(jù)規(guī)模,并利用特征之間的互補性進行特征融合描述與表征,可使其更具判別能力。引入了一種具有混合注意力的深度網(wǎng)絡,但網(wǎng)絡層數(shù)的加深需要更多的數(shù)據(jù)來訓練,因此通過音高增加、時間拉伸、靜音修剪、添加噪聲等方式進行了有效數(shù)據(jù)擴充,以防止網(wǎng)絡過擬合。由于使用了多通道特征與數(shù)據(jù)增強操作,會導致信息的冗余,從而降低分類精度,而引入的通道注意力和時頻注意力組成的混合注意力機制則能較好地消除冗余信息和背景噪聲的影響,提高模型整體的分類性能。
環(huán)境聲音包括人聲、動物聲、機械聲等各種各樣的聲音類別,且夾雜著大量的噪聲,直接將聲音輸入網(wǎng)絡或僅提取單一特征作為分類特征會導致分類精度不高,且模型的泛化性很差。為了彌補單一特征信息表征不足的缺點,該文提出利用多特征數(shù)據(jù)組成多通道作為分類特征。多特征數(shù)據(jù)能更全面且更有效地表征聲音的特征。
(1)MFCC特征提取。
在語音識別、說話人辨識等領域,很常用的一種音頻特征叫做梅爾倒譜系數(shù)(Mel-scale Frequency Cepstral Coefficients,MFCC)。MFCC的特點是使用一組用來創(chuàng)建梅爾倒譜的關鍵系數(shù),使得它的倒頻譜和人類非線性的聽覺系統(tǒng)更為接近。MFCC提取的過程如下:
(a)對聲音進行預處理。
(b)通過傅里葉變換,將聲音信號從時域轉(zhuǎn)換到頻域。
(c)構(gòu)造一個梅爾濾波器組,并與能量譜進行點積運算。梅爾濾波器的作用是將能量譜轉(zhuǎn)換為更接近人耳機理的梅爾頻率。Mel頻率可以用公式表達如下:
(1)
其中,f表示頻率。
(d)進行DCT變換。
其中,H為二維矩陣能量譜和梅爾濾波器二維數(shù)組的乘積,M代表梅爾濾波器個數(shù),i代表第幾幀數(shù)據(jù)(取值為1~301),n代表第i幀的第n列。
(2)GFCC特征提取。
Gammatone濾波器是一種基于標準耳蝸結(jié)構(gòu)的濾波器,用來模擬人耳聽覺頻率響應,Gammaton濾波器可以模仿基底膜的分頻特性,譜峰比三角濾波器平緩,能夠改善三角濾波器能量不足的問題,并且它有完整的幅度和相位信息,可以彌補MFCC丟失的相位信息,并且其倒譜系數(shù)具有很好的抗噪性。其時域表達形式為:
g(f,t)=kta-1e-2πbtcos(2πft+φ)t≥0
(3)
其中,f為中心頻率;k為濾波器增益;a為濾波器階數(shù);φ為相位;b為衰減因子。
GFCC和MFCC之間有兩個主要區(qū)別。MFCC基于mel比例,而GFCC基于ERB比例:
(4)
(3)Spectral_contrast特征提取。
光譜對比度特征表示光譜峰/谷及其差異的強度。提取的方法是首先將聲波分割為200 ms的幀,重疊100 ms,執(zhí)行FFT以獲取頻譜。然后,應用倍頻程濾波器將頻率劃分為子帶,估計譜峰、谷及其差的強度。最后,將估計結(jié)果轉(zhuǎn)換到對數(shù)域后,使用Karhunen-loeve變換將原始光譜對比度特征映射到正交空間,并消除不同維度之間的相關性。Spectral_contrast相較MFCC,保留了更多子帶信息。
圖1是提取的玻璃碎聲的MFCC、Spectral_contrast、GFCC特征圖,其大小為64×429,每一段聲音重采樣為44 100 Hz,然后分為200 ms,重疊50%,每一幀的大小約為100 ms。最終組成3×64×429的三通道特征圖輸入網(wǎng)絡。
圖1 三種特征圖
采用MFCC、Spectral_contrast、GFCC組成的三通道特征能很好地彌補單一特征信息表征不足的缺點。同時,又能利用不同特征之間的特點進行優(yōu)勢互補,例如,MFCC作為說話人識別最常用的特征,但它卻對聲音高頻部分不敏感,而環(huán)境聲中卻涵蓋各種頻率范圍的聲音。除此之外,MFCC采用的是三角濾波器,三角濾波器的抗干擾能力較差,因此在具有大量噪聲的環(huán)境中分類效果較差。該文同時采用Spectral_contrast、GFCC與MFCC組合的方式組成三通道特征,采用不同的濾波器組,提取不同的特征,不僅提高了模型的抗干擾能力,同時對在不同頻段的聲音都有較好的分類效果。對于ESC任務,能對不同的聲音進行很好地表征,從而提高分類精度。
圖2展示了環(huán)境聲音處理的總體流程。首先對聲音進行分幀、加窗等預處理,提取三種不同的聲學特征Spectral_contrast、GFCC與MFCC,然后,將提取的特征輸入分類模型,最后做出預測。
圖2 整體流程
提出的ESC分類模型是基于殘差網(wǎng)絡(Resnet)的,Resnet的主要優(yōu)點是容易優(yōu)化,并且通過增加相當?shù)纳疃葋硖岣邷蚀_度。由于其內(nèi)部的殘差塊使用了跳躍鏈接,緩解了深度神經(jīng)網(wǎng)絡中增加深度帶來的梯度消失的問題。ESC分類模型如圖3所示,模型主要由卷積層、批量歸一化層、殘差層、混合注意力塊以及全連接層組成。首先,對音頻提取多特征數(shù)據(jù)組成三通道特征圖輸入分類模型,然后經(jīng)過一個卷積層,卷積核大小為7×7,卷積核個數(shù)為64,步長為2,padding為3,再通過一個BN層,接下來是進入四個殘差層,殘差層的結(jié)構(gòu)如虛線框里面所示,每一個殘差層由三個瓶頸層組成,每一個瓶頸層又由卷積層和批歸一化層組成。每一個殘差層并行接入一個混合注意力模塊,注意力模塊的結(jié)構(gòu)如圖4所示,最后經(jīng)過全局平均池化后進入全連接層。
圖3 基于Resnet的ESC分類模型
圖4 混合注意力模塊
混合注意力模塊由通道注意力模塊和時頻注意力模塊組成(見圖4),在ESC任務中,音頻信號首先被轉(zhuǎn)換成了頻譜圖,音頻的兩個維度特征分別對應時間和頻率,不同時間維度里面頻段的重要程度不同,因此,時頻注意力模塊可以讓模型重點關注時域和頻域中重要的信息,同時提出的是基于多通道的特征,添加的通道注意力模塊能分配給通道不同權重,包含關鍵信息的通道就能得到更多的關注。混合注意力采用的是一個串行的方式,特征圖首先通過通道注意力模塊再進入時頻注意力模塊。使得模型首先進行通道的選擇,其次關注通道上時域和頻域上的重要信息。
混合注意力的公式如下所示:
(5)
Ms(F)=σ(f3×3([AvgPool(F);
(6)
F''=Ms(F)?Mc(F)?F
(7)
式(6)表示時頻注意力公式,和通道注意力一樣,首先對輸入F分別做全局平均池化和全局最大池化,然后將得到的向量(W×H×1)進行拼接,此時得到的矩陣大小為(W×H×2),然后再做一個卷積操作,最后通過sigmoid激活。式(7)表示混合注意力的計算公式,Mc(F)?F表示得到的通道注意力權重圖,與時頻注意力相乘即得到混合注意力權重圖。
實驗所用的數(shù)據(jù)集為環(huán)境聲音分類任務中最為廣泛使用的三個公開數(shù)據(jù)集,包括ESC-50、ESC-10、Urbansound8k。這些數(shù)據(jù)集涵蓋了室內(nèi)室外多種場景的多種環(huán)境聲。例如,ESC-10包括400個錄音,其中共計10個類別。ESC-50由五個大類的聲音組成,每個大類又包含10個小類,總計50個環(huán)境聲音類別。Urbansound8k由8 732個音頻文件組成,共10個類別,包括冷氣機聲、汽車喇叭聲、兒童玩耍聲、狗吠聲、鉆孔聲、發(fā)動機空轉(zhuǎn)聲、槍射擊聲、手持式鑿巖機聲、警笛聲、街頭音樂聲。數(shù)據(jù)集的詳細信息如表1所示。以上三個數(shù)據(jù)集均采用五折交叉驗證訓練和測試模型的性能。
表1 數(shù)據(jù)集詳細信息
ESC-50總共涵蓋50類不同的聲音,樣本數(shù)量為2 000,較少的數(shù)據(jù)量容易造成網(wǎng)絡過擬合,而Urbansound8k雖然樣本數(shù)相比ESC-50更多,但此數(shù)據(jù)集中包含多個時長僅為1 s的數(shù)據(jù),并且音頻中靜音片段也較多,導致這些數(shù)據(jù)沒有包含足夠的數(shù)據(jù)量,也會導致模型訓練時學習率不足以及出現(xiàn)過擬合的現(xiàn)象。因此,該文采用數(shù)據(jù)增強的方法,如下所述:
(a)音高增加:數(shù)據(jù)集中每個音頻信號的音調(diào)增加2。
(b)負音高偏移:在提高可用聲音片段的音調(diào)后,在這種方法中,變形數(shù)據(jù)集的音調(diào)減2。
(c)靜音修剪:這是一種獨特的數(shù)據(jù)增強技術,其中音頻剪輯的靜音部分被修剪,并且僅保留包含聲音的部分。
(d)快速時間拉伸:將數(shù)據(jù)集的每個聲音片段的時間瞬間拉伸1.20倍。
(e)慢速時間拉伸:時間拉伸系數(shù)是將音頻錄制速度降低0.70倍。
(f)添加白噪聲:對于這種增強方法,聲音片段受到值為0.05的白噪聲的影響。混合顯示為y+0.05*Wn。
軟件方面,所有的實驗都在Python3.8.13的環(huán)境下進行,采用Pytorch框架實現(xiàn)分類模型的搭建,音頻的預處理和特征提取使用Librosa和Spafe庫,操作系統(tǒng)為Ubantu20.04,硬件條件:CPU采用Intel Xeon Gold 6130,顯卡為麗臺P5000,16 GB顯存,運行內(nèi)存為128 GB。
采用的評價指標都為準確率(Accuracy),即分類正確的樣本占總樣本個數(shù)的比例,公式如下:
(8)
其中,TP為被模型預測為正的正樣本的數(shù)量,FP為被模型預測為正的負樣本的數(shù)量,FN表示被模型預測為負的正樣本的數(shù)量,TN表示被模型預測為負的負樣本的數(shù)量。
2.5.1 不同特征對分類精度的影響
環(huán)境聲音種類繁多且很難找到統(tǒng)一特征來區(qū)分所有聲音,為了證明多特征組合是否優(yōu)于單一特征,以及最優(yōu)的特征組合,通過實驗比較了不同手動特征對于模型分類精度的影響。表2列出了不同特征組合得出的結(jié)果。
表2 采用不同特征的實驗結(jié)果 %
由表2可知,當把MFCC、Spectral_contrast、GFCC用作組合特征作為模型的輸入時,在3個數(shù)據(jù)集上的分類精度均達到了最佳。當僅使用單一特征時,MFCC的表現(xiàn)明顯優(yōu)于其他兩類特征,Spectral_contrast作為在音樂分類任務中使用最為廣泛的特征,在環(huán)境聲音中卻表現(xiàn)最差,這可能與音樂的音階有關。得益于MFCC的分類優(yōu)勢,在兩通道組合特征時MFCC+Spectral_contrast、MFCC+GFCC的表現(xiàn)優(yōu)于Spectral_contrast+GFCC。實驗證明,僅僅使用一種特征不足以有效地支持環(huán)境聲音分類,當把三個單一特征組合成三通道特征作為模型輸入時,在每一個數(shù)據(jù)集上的分類效果都比其它方式的特征輸入的效果要好。
2.5.2 注意力模塊的使用
注意力機制的作用就是找到真正感興趣的區(qū)域,加以處理,使其更好地完成任務。注意力機制近幾年在圖像、自然語言處理(Natural Language Processing,NLP)和計算機視覺(Computer Vision,CV)等領域中都取得了重要的突破,被證明有益于提高模型的性能。該文通過提出改進的時頻注意力和通道注意力構(gòu)成混合注意力模塊,通道注意力能關注對于特定的某種聲音,可判斷哪種通道特征相比起來更有區(qū)分度,比如人聲,MFCC通道的特征可能被分配更大的權重。時頻注意力則能讓CNN重點關注時域和頻域上更重要的信息,對于噪聲以及靜音則能有更好的抑制作用。注意力的使用如表3所示。
表3 不同注意力的使用對結(jié)果的影響 %
該文比較了不使用注意力機制,使用單一通道或者時頻注意力,以及使用混合注意力對模型分類精度的影響,如表3所示,實驗證明使用注意力模塊會提高模型的分類精度。當僅使用通道注意力時,提升微乎其微,僅使用時頻注意力模塊時,有小部分的提升,但當使用混合注意力時效果達到最佳,相比不使用注意力機制,在三個數(shù)據(jù)集上分別提升2.1百分點,3.87百分點,3.6百分點。
表4展示了混合注意力插入不同位置的實驗結(jié)果。由表4可以看出,當Resnet_Block時效果最為顯著,雖然插入瓶頸塊也會有較好的效果,但是這會帶來較大的參數(shù)量提升,相比提升的精度,這是不值得的,插入模型輸入時效果提升不大,而插入模型輸出端時,幾乎沒有效果提升。
表4 混合注意力位置對結(jié)果的影響 %
2.5.3 消融實驗
為了證明提出的多通道特征和混合注意力對于模型的分類精度有所提高,在ESC-50數(shù)據(jù)集上進行了消融實驗,結(jié)果如表5所示。
表5 消融實驗
由表5可知,當采用多通道特征時,分類精度提升3.19百分點,這是因為采用MFCC、Spectral_contrast、GFCC組成的三通道特征能很好地彌補單一特征信息表征不足的缺點。MFCC提取特征時采用的是三角濾波器,對噪聲的抗干擾性較差,而GFCC特征采用的是高通濾波器提取特征,能夠改善三角濾波器能量不足的問題,同時Spectral_contrast特征相較MFCC,保留了更多子帶信息,因此融合的三通道特征不同特征之間的特點進行優(yōu)勢互補,能夠提高網(wǎng)絡的識別能力。此外,加入了混合注意力模塊后,精度提高了3.87百分點,通道注意力模塊計算特征圖并對不同通道分配權重,含有更多有效信息且對該類聲音分辨較好的通道特征則會被分配更多的權重,時頻注意力模塊會重點關注時域和頻域中更有效的信息。同時對兩個維度進行注意力分配增強了注意力機制對模型性能的提升效果,且對于噪聲以及靜音能有更好的抑制作用。通過表5可知,提出的多通道特征和混合注意力都對模型的分類性能有所提升。
2.5.4 文中方法總體精度展示
采用五折交叉驗證的方法在ESC-10、ESC-50、Urbansound8k三個數(shù)據(jù)集上進行了性能評估,圖5~圖7分別展示了文中方法在ESC-10、ESC-50、Urbansound8k三個數(shù)據(jù)集上得出的混淆矩陣,圖5中,僅有三個樣本被錯誤分類。
圖5 ESC-10數(shù)據(jù)集混淆矩陣
圖6 Urbansound8k數(shù)據(jù)集混淆矩陣
圖7 ESC-50數(shù)據(jù)集混淆矩陣
圖6中,可發(fā)現(xiàn)標簽為手提鉆聲有兩次被誤判成為了鉆孔聲,同樣鉆孔聲也有兩次被誤判成為了手提鉆聲,究其原因,可能是現(xiàn)實生活中兩種聲音相似度高,導致它們特征共同點多。對于ESC-50數(shù)據(jù)集,在其50個類別中,只有洗衣機聲、風聲、貓叫聲的分類精度相對偏低,其中洗衣機聲為25%(2/8)、風聲為37.5%(3/8)、貓叫聲為50%(4/8),其中洗衣機聲容易被誤判為引擎聲,風聲容易被誤判為海浪聲和蟋蟀聲,貓叫聲容易被誤判為小孩哭聲,除此之外,其余的大多的分類精度基本都在80%以上。
2.5.5 文中方法與其他方法對比
表6展示了提出的環(huán)境聲音分類方法與目前先進的方法的比較。由表6可知,在ESC-10、ESC-50、Urbansound8k三個數(shù)據(jù)集上,目前已有方法能達到的較好的精度分別為95.80%、87.70%和96.83%,而文中方法在三個數(shù)據(jù)集上的分類精度分別能達到96.25%、89.56%和98.40%,相比目前較優(yōu)的結(jié)果分別提高了0.45百分點、1.86百分點和1.57百分點。
表6 文中方法與現(xiàn)有方法精度比較 %
提出了一種新的環(huán)境聲音分類算法,該算法由多通道特征輸入與基于混合注意力機制的深度卷積神經(jīng)網(wǎng)絡組成。為了解決單一特征信息對于復雜環(huán)境聲音表征不足的問題,添加了MFCC、Spectral_contrast和GFCC組成三通道特征,較好解決了音頻數(shù)據(jù)中因噪聲干擾導致識別率低和高頻區(qū)分辨率低的問題。設計的通道注意力加時頻注意力的混合注意力模型,兼顧了對于特定聲音更好的識別效果對時域和頻域有效信息的更好關注,并通過混合注意力機制有效提升了特征表示能力,較好地抑制了環(huán)境中的背景噪聲,消除了冗余信息的干擾。為了得到更佳的識別效果,采用了多種數(shù)據(jù)增強技術防止模型過擬合。實驗表明,提出的ESC分類模型在ESC-10、ESC-50、Urbansound8k三個數(shù)據(jù)集上的分類精度分別達到了96.25%、89.56%、98.40%,有效提高了環(huán)境聲音識別的準確性。