韋 娟, 丁智愷, 寧方立
(1. 西安電子科技大學(xué)通信工程學(xué)院, 陜西 西安 710071; 2. 西北工業(yè)大學(xué)機(jī)電學(xué)院, 陜西 西安 710072)
聲音場景分類是計算機(jī)聽覺(computer audition,CA)領(lǐng)域的重要研究方向,聲音場景識別可以作為聲音事件的輔助手段[1],并且音頻特征可以與視頻特征結(jié)合共同完成分類任務(wù)[2],對于實際應(yīng)用具有重要意義。對于不同的音頻分類任務(wù),CA領(lǐng)域逐漸形成了一套通用技術(shù)流程[3]:首先采用麥克風(fēng)等聲音傳感設(shè)備采集音頻信號,并使用重采樣、解壓縮等方式進(jìn)行預(yù)處理;通過音頻事件檢測或端點(diǎn)檢測將有用的音頻信號分割出來;然后通過消噪等方式加強(qiáng)音頻信號;最后提取音頻特征或者直接采用音頻波形作為輸入,使用深度學(xué)習(xí)(deep learning,DL)模型或其他統(tǒng)計分類器識別。
在以往的研究中,先對原始音頻進(jìn)行特征提取,再使用卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network, CNN)類網(wǎng)絡(luò)進(jìn)行識別,并取得了不錯的成效。Mesaros等[4]對DCASE2017比賽的成果做出總結(jié),表明目前聲音場景分類最常用的特征是短時傅里葉變換(short time Fourier transform,STFT)、對數(shù)梅爾頻譜系數(shù)(log Mel-frequency spectral coefficients, MFSC)、梅爾頻率倒譜系數(shù)(Mel-frequency cepstral coefficient,MFCC)等二維譜圖,其優(yōu)點(diǎn)在于將原始信號轉(zhuǎn)變?yōu)榫o湊的時頻表示,并且能夠使用CNN類網(wǎng)絡(luò)進(jìn)行分類[5-9]。
雖然二維聲譜圖在音頻識別任務(wù)中取得了高識別率,但是以原始聲音波形作為模型的輸入仍是研究的熱點(diǎn),因為無法保證依據(jù)人類聽覺生理特點(diǎn)設(shè)計的梅爾濾波器組是最佳濾波器組[10],并且圖像輸入容易被干擾使得CNN類模型不能正確識別[11]。Jongpil等[12]類比牛津大學(xué)科學(xué)工程系視覺幾何團(tuán)隊的神經(jīng)網(wǎng)絡(luò)架構(gòu)(neural network designed by visual geometry group, VGG)網(wǎng)絡(luò)架構(gòu),使用一維卷積網(wǎng)絡(luò)處理原始波形用于音樂分類,類似的模型[13-16]在語音檢測、語音情感識別等諸多領(lǐng)域有著廣泛使用。卷積長短期記憶深度神經(jīng)網(wǎng)絡(luò)(convolutional long short-term memory, deep neural networks, CLDNN)以及衍生架構(gòu)[17-20]常用于識別語音等音頻的聲譜圖,Zazo等[21]用一維CNN取代STFT的提取過程使得CLDNN能以原始波形作為輸入,在語音識別任務(wù)中取得了較高的識別率,類似的網(wǎng)絡(luò)結(jié)構(gòu)[22]也被用于語音情感識別。Tokozume等[23]提出用于環(huán)境聲分類的端到端卷積神經(jīng)網(wǎng)絡(luò)(end-to-end convolutional neural network for environmental sound classification, EnvNet)網(wǎng)絡(luò),在輸入部分用一維卷積,再將一維卷積的結(jié)果輸入二維卷積網(wǎng)絡(luò)用于識別環(huán)境聲,類似的架構(gòu)[24]也被用于聲音事件檢測。
通過在DCASE2019聲場景數(shù)據(jù)集上訓(xùn)練并測試了大量現(xiàn)有架構(gòu),得到了以原始波形作為輸入的架構(gòu)識別率不如以聲譜圖作為輸入的CNN類網(wǎng)絡(luò)的結(jié)論。以原始音頻波形作為輸入的架構(gòu)優(yōu)點(diǎn)在于從原始波形提取特征的過程可以被訓(xùn)練,以聲譜圖作為輸入的架構(gòu)優(yōu)點(diǎn)在于聲譜圖物理意義明確且適合使用CNN識別。結(jié)合這兩類架構(gòu)的優(yōu)點(diǎn)提出聲譜圖提取神經(jīng)網(wǎng)絡(luò)(spectrogram extraction neural network,SENN),使用神經(jīng)網(wǎng)絡(luò)提取MFSC,然后連接50層的殘差神經(jīng)網(wǎng)絡(luò)(50-layer residual neural network, ResNet50)組成整個模型,通過訓(xùn)練SENN優(yōu)化聲譜圖。
目前以原始波形作為輸入的架構(gòu)在神經(jīng)網(wǎng)絡(luò)淺的層多采用一維卷積層模擬聲譜圖提取的過程[12,21,23],基于此推導(dǎo)了MFSC提取和神經(jīng)網(wǎng)絡(luò)卷積運(yùn)算的關(guān)系,從而構(gòu)建以卷積層為核心的SENN。
MFSC提取流程是:首先對音頻信號分幀、加窗,接著對每幀信號進(jìn)行離散傅里葉變換(discrete Fourier transformation,DFT)并拼接成二維張量,然后取模值得到STFT譜圖,最后通過梅爾濾波器組取對數(shù)得到MFSC譜圖[25]。
1.1.1 DFT與一維卷積層
(1)
(2)
式中:i=0,1,…,N-1。將實部記為Ct(i),虛部記為St(i)。現(xiàn)討論Ct(i)與一維卷積的關(guān)系,由式(1)與式(2)可得
(3)
卷積運(yùn)算的原理[26]:輸入張量A的第m個通道的第n個元素記為An,m,卷積核W的第i個子卷積核的第m個通道的第個k元素記為Wk,m,i,A與W進(jìn)行步幅為s的卷積運(yùn)算得到輸出張量B,B的第i個通道的第t個元素記為Bt,i,滿足關(guān)系:
(4)
(5)
同理可得St(i)與一維卷積的關(guān)系:
(6)
1.1.2 梅爾濾波器組與二維卷積層
MFSC譜圖的提取由DFT矩陣與梅爾濾波器組運(yùn)算得到,這一部分可以由二維卷積運(yùn)算實現(xiàn)。二維卷積運(yùn)算的原理為:輸入張量D的第m個通道的第n行p列元素記為Dn,p,m,卷積核W的第i個子卷積核的第m個通道的第x′行y′列元素表示為Wx′,y′,m,i,D與W進(jìn)行高度步幅為sx寬度步幅為sy的卷積運(yùn)算得到輸出張量E,E的第i個通道的第x行y列元素記為Ex,y,i,滿足關(guān)系:
convx,y,i(D,W)
(7)
(8)
取對數(shù)得到對數(shù)MFSC矩陣,記為MFSCdB:
(9)
式中:βref是MFSC的參考值;α是縮放系數(shù)。整理后得到由縮放系數(shù)k和偏置b決定的MFSCBd,參數(shù)k與b可訓(xùn)練,實驗過程中k初始化為20,b初始化為100。接著給MFSCBd添加通道維度作為CNN類識別架構(gòu)的輸入。根據(jù)MFSC提取過程與卷積層的關(guān)系設(shè)計SENN得到MFSC提取神經(jīng)網(wǎng)絡(luò)(MFSC extraction neural network, MFSCNN)。
1.1.3 MFSCNN結(jié)構(gòu)
MFSCNN結(jié)構(gòu)如圖1所示。R和I的通道數(shù)為1、卷積核長度等于幀長N、子卷積核個數(shù)為N/2+1,卷積步幅等于幀移s;FB的長度為1、通道數(shù)為N/2+1、子卷積核個數(shù)為M,卷積步幅為1。在處理DCASE2019的數(shù)據(jù)時,N=2 048,s=1 024,M=128,得到469幀,128階的MFSC譜圖。傳統(tǒng)MFSC提取方法和經(jīng)過初始化的MFSCNN處理DCASE2019聲場景數(shù)據(jù)集中的“airport-barcelona-0-0-a.wav”,得到了相同的結(jié)果如圖2所示。這說明通過R和I對MFSCNN進(jìn)行初始化,能夠在未經(jīng)訓(xùn)練的情況下從原始音頻中提取MFSC譜圖,MFSC的提取過程將通過訓(xùn)練MFSCNN得到優(yōu)化。
圖1 MFSCNNFig.1 MFSCNN
圖2 傳統(tǒng)方法與MFSCNN提取MFSC對比Fig.2 Comparison of traditional method and MFSCNN to extract MFSC
雖然MFSCNN在結(jié)果上復(fù)現(xiàn)了MFSC譜圖,在結(jié)構(gòu)上使得特征提取過程可以被訓(xùn)練,但是訓(xùn)練結(jié)果(詳見實驗結(jié)果與分析)表明該架構(gòu)對識別率的提升有限。因此,本文改進(jìn)MFSC的提取過程得到對數(shù)梅爾頻率傅里葉變換譜系數(shù)(log Mel-frequency Fourier transform spectral coefficients,MFFTSC),并設(shè)計相應(yīng)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)解決MFSCNN難以訓(xùn)練的缺點(diǎn)。
1.2.1 MFSCNN的缺陷與改進(jìn)
網(wǎng)絡(luò)參數(shù)中濾波器組幅值系數(shù)H訓(xùn)練效果明顯,但R、I和FB′沒有得到有效訓(xùn)練,這是由于這3個卷積核參數(shù)量過多造成的。在實際訓(xùn)練過程中,R和I的參數(shù)量均為2 048×1×1 025,F(xiàn)B′參數(shù)量為1×1 025×1×128,對于R和I既不能保證訓(xùn)練后每個子卷積核只包含單一頻率又不能保證子卷積核按頻率順序排列,對于FB′則不能保證每個濾波器只關(guān)注某個連續(xù)的頻段。因此,對MFSC提取過程和MFSCNN做如下改進(jìn)。
采樣率為fs時,根據(jù)數(shù)字角頻率θ和實際頻率freal的關(guān)系θ=2πfreal/fs,以及梅爾頻率fmel與freak的關(guān)系fmel=Mel(freal),推導(dǎo)梅爾離散時間傅里葉變換(Mel discrete time Fourier transform,Mel-DTFT),結(jié)果記為φt(fmel),滿足:
(10)
對Mel-DTFT在頻域上離散化得到Mel-DFT:
MelDFTt(i)=
i=0,1,…,L
柿葉很少發(fā)病,但病菌卻是通過葉片傳播的,因為陰雨或高溫天氣產(chǎn)生的病菌附著到葉面上,葉片發(fā)病脫落時營養(yǎng)回流,病菌由芽眼進(jìn)入主干,在芽下方形成三角形病斑,病菌主要以菌絲體在枝梢病斑中越冬,也可以分生孢子在病干果、葉痕和冬芽等處越冬。來年隨萌芽展葉和樹體生長,病菌向上移動,在芽周圍形成菱形病斑,造成芽部塌陷,影響到樹體生長。一般年份,枝梢6月上旬開始發(fā)病,雨季為發(fā)病盛期,秋梢可繼續(xù)受害;果實發(fā)病時期一般始于6月下旬至7月上旬,直至采收期,發(fā)病重時7月下旬果實即開始脫落。
(11)
式中:fl是被研究頻段的最低頻率;fh是被研究頻段的最高頻率;L越大Mel-DFT頻域分辨率越高。式(10)和式(11)不僅適用于梅爾頻率標(biāo)度,其中Mel(·)可以替換成任何頻率曲線關(guān)系式,進(jìn)而完成相應(yīng)頻率標(biāo)度的DTFT與DFT。
接著使用一維卷積實現(xiàn)Mel-DFT的實部和虛部。具體地,式(5)和式(6)中I和R滿足新的表達(dá)式:
(12)
(13)
實驗過程中fl=0,fh=fs/2,L=1 025。根據(jù)MFFTSC提取過程設(shè)計第二種SENN得到MFFTSC提取神經(jīng)網(wǎng)絡(luò)(log Mel-frequency Fourier transform spectral coefficients extraction neural network,MFFTNN)。
1.2.2 MFFTNN網(wǎng)絡(luò)結(jié)構(gòu)
MFSCNN改進(jìn)后得到第二種SENN,即MFFTSC提取網(wǎng)絡(luò),記為MFFTNN。為了保證頻率曲線更快地收斂,使用兩層全連接層對ω進(jìn)行輔助訓(xùn)練,然后連接ResNet50進(jìn)行整體訓(xùn)練,架構(gòu)整體稱為聲譜圖提取識別模型如圖3所示。輔助訓(xùn)練網(wǎng)絡(luò)以及識別網(wǎng)絡(luò)中的全連接網(wǎng)絡(luò)(fully connected neural network, FC-Net)均采用隱藏層512個神經(jīng)元(激活函數(shù)為sigmoid),輸出層10個神經(jīng)元(激活函數(shù)為softmax)的結(jié)構(gòu)。特別地,輔助訓(xùn)練網(wǎng)絡(luò)先對Mel-DFT的模值矩陣沿著幀數(shù)軸進(jìn)行平均池化將469幀1 025個頻點(diǎn)的Mel-DFT模值矩陣池化成長度為1 025的特征向量,對應(yīng)整個音頻的頻域,然后通過全連接網(wǎng)絡(luò)進(jìn)行識別。輔助訓(xùn)練網(wǎng)絡(luò)的主要作用是對決定頻率曲線的參數(shù)ω進(jìn)行預(yù)訓(xùn)練。
圖3 聲譜圖提取識別模型Fig.3 Spectrogram extraction and recognition model
將圖2所用音頻作為MFFTNN的輸入,對比MFFTNN與MFSCNN的可視化輸出如圖4(該圖截取了兩個聲譜圖“聲紋”明顯的部分:橫軸280~420幀,縱軸0~40階)所示。
圖4 MFSC與MFFTSC局部對比Fig.4 Partial comparison between MFSC and MFFTSC
實驗數(shù)據(jù)選用DCASE2019年比賽中“Task 1. Acoustic Scene Classification”的公開數(shù)據(jù)集。該數(shù)據(jù)集包含10類城市聲音場景,分別是機(jī)場、公交、地鐵、地鐵站、公園、廣場、商場、人行道、公路、有軌電車。每類音頻包含1 440個數(shù)據(jù),整個數(shù)據(jù)集合計14 400個數(shù)據(jù)。每個音頻采樣率為48 kHz,時長為10 s,雙聲道,精度為24位。采用五折交叉驗證對數(shù)據(jù)集進(jìn)行劃分,損失函數(shù)選擇交叉熵?fù)p失函數(shù),訓(xùn)練器選擇隨機(jī)梯度下降優(yōu)化算法,批量大小設(shè)置為32。表1給出了傳統(tǒng)識別模型以及本文提出的識別模型的識別率對比。具體結(jié)構(gòu)為:一維卷積層(one-dimensional convolutional layer,conv1d),二維卷積層(two-dimensional convolutional layer,conv2d),全連接層(fully connected layer,fc),長短期記憶層(long and short-term memory,lstm)。在這些結(jié)構(gòu)前用整數(shù)表示堆疊層數(shù)(無整數(shù)時表示單層結(jié)構(gòu)),“resnet50”表示ResNet50的CNN部分,“vgg19”表示包含19層神經(jīng)網(wǎng)絡(luò)層的VGG的CNN部分。各種架構(gòu)的具體訓(xùn)練過程如下:傳統(tǒng)識別模型包括以原始波形作為輸入的傳統(tǒng)架構(gòu)(表1中實驗1~實驗3)和以二維張量作為輸入的傳統(tǒng)架構(gòu)(表1中實驗4~實驗7),這些模型的初始學(xué)習(xí)率設(shè)置為0.01,每隔10輪訓(xùn)練將學(xué)習(xí)率減小為之前的1/10,直至損失值收斂且學(xué)習(xí)率穩(wěn)定。
表1 模型性能對比
針對第一種架構(gòu)“MFSCNN+ResNet50”,若采用與傳統(tǒng)方法相同的訓(xùn)練過程,識別結(jié)果與EnvNet類似。本文采取的訓(xùn)練方式是前10輪將MFSCNN的參數(shù)設(shè)置為不可訓(xùn)練,僅訓(xùn)練ResNet50。再訓(xùn)練模型整體,此方法可以有效提高識別性能。MFSCNN的參數(shù)包括與STFT對應(yīng)的卷積核、與梅爾濾波器組對應(yīng)的卷積核、濾波器幅值系數(shù)以及分貝層參數(shù)。在DCASE2019聲場景數(shù)據(jù)集上同時訓(xùn)練4種參數(shù)與僅訓(xùn)練濾波器幅值系數(shù)的識別率并無明顯差別,表1給出僅訓(xùn)練濾波器幅值系數(shù)時的實驗結(jié)果(實驗8)。
第二種架構(gòu)“MFFTNN+ResNet50”研究濾波器幅值系數(shù)、濾波器形狀以及頻率曲線對識別性能的影響:① 忽略輔助訓(xùn)練結(jié)構(gòu)且訓(xùn)練過程與第一種架構(gòu)一致,僅訓(xùn)練濾波器組幅值系數(shù)識別性能與第一種架構(gòu)相差無幾;② 忽略輔助訓(xùn)練結(jié)構(gòu)且訓(xùn)練過程與第一種架構(gòu)保持一致,訓(xùn)練濾波器組幅值系數(shù)以及濾波器形狀得到的實驗結(jié)果如表1中實驗9所示;③ 通過輔助訓(xùn)練結(jié)構(gòu)對頻率曲線進(jìn)行預(yù)訓(xùn)練(預(yù)訓(xùn)練過程為:初始學(xué)習(xí)率設(shè)置為0.01并將MFFTNN的參數(shù)設(shè)置為不可訓(xùn)練,訓(xùn)練輔助結(jié)構(gòu)的兩層全連接網(wǎng)絡(luò)共訓(xùn)練10輪;接著將學(xué)習(xí)率減小至0.001,訓(xùn)練兩層全連接網(wǎng)絡(luò)和MFFTNN中決定頻率曲線的參數(shù)ω,共訓(xùn)練10輪),然后訓(xùn)練過程與第一種架構(gòu)一致,訓(xùn)練濾波器組幅值系數(shù)、濾波器形狀以及頻率曲線得到的實驗結(jié)果如表1中實驗10所示。
傳統(tǒng)模型的識別性能:對比實驗1~實驗3與實驗4~實驗7得出結(jié)論:在DCASE2019聲音場景數(shù)據(jù)集上,以原始波形作為輸入的架構(gòu)識別率不如以聲譜圖作為輸入的架構(gòu)。由實驗6和實驗7得出結(jié)論:在本數(shù)據(jù)集上ResNet50比VGG19具有更高的分類性能。由實驗4、實驗5和實驗7得出結(jié)論:采用ResNet50識別MFSC、MFCC、STFT這3個聲譜圖,具有最高識別率的是MFSC。
聲譜圖提取識別模型的分類性能:由實驗7~實驗10得出結(jié)論:聲譜圖提取識別模型采用SENN替代傳統(tǒng)聲譜圖提取過程使得濾波器幅值、濾波器形狀、頻率曲線被有效訓(xùn)練,這3組參數(shù)對識別率都有積極的影響,最終識別率比傳統(tǒng)架構(gòu)提高4%。對比實驗3與實驗8~實驗10得出結(jié)論:雖然聲譜圖提取識別模型與EnvNet有相似之處,但聲譜圖提取識別模型識別率比EnvNet高很多,原因是本文的架構(gòu)在聲譜圖提取部分采用了兩路并行卷積實現(xiàn)Mel-DFT的實部與虛部,并通過平方層、濾波器組層、分貝層復(fù)現(xiàn)聲譜圖提取的過程,每一部分都有明確的初始權(quán)重,能夠在未經(jīng)訓(xùn)練的情況下直接得到類似于MFSC的譜圖,而EnvNet只是簡單地串行連接卷積層,很難通過初始化得到類似于MFSC的譜圖,在該數(shù)據(jù)集上未經(jīng)初始化的一維卷積層難以被有效訓(xùn)練,因此本文的架構(gòu)識別率遠(yuǎn)超EnvNet。
聲譜圖提取識別模型的參數(shù)量:SENN參數(shù)約占總體模型的15%,ResNet50約占85%,SENN是一個輕量級的網(wǎng)絡(luò),與現(xiàn)有的DCNN類模型相結(jié)合不會使參數(shù)量大幅增加。
聲譜圖提取識別模型的運(yùn)行時間:“SENN+ResNet50”比“ResNet50識別MFSC”的運(yùn)行時間多16%,對每個音頻的平均預(yù)測時間為0.121 2 s,對于一般的應(yīng)用場景,能滿足實時性要求。濾波器形狀訓(xùn)練結(jié)果如圖5所示。濾波器初始化為三角濾波器,如圖5(a)所示;經(jīng)過訓(xùn)練濾波器形狀發(fā)生改變,如圖5(b)所示,訓(xùn)練MFFTNN能夠?qū)V波器的形狀做出調(diào)整進(jìn)而提高識別率。頻率曲線訓(xùn)練結(jié)果如圖6所示。頻率曲線初始化為梅爾頻率曲線,曲線斜率越大頻率信息被保留的越多。梅爾頻率曲線訓(xùn)練后如圖6紅色曲線所示。MFFTNN在梅爾頻率曲線的基礎(chǔ)上對不同頻點(diǎn)的斜率進(jìn)行調(diào)整以適應(yīng)數(shù)據(jù)集,進(jìn)而提升識別率。濾波器組幅值系數(shù)訓(xùn)練結(jié)果如圖7所示,每個濾波器幅值各不相同,均在1.0上下浮動,說明通過訓(xùn)練MFFTNN可以調(diào)整聲譜圖不同頻率成分的強(qiáng)度。
圖5 濾波器形狀訓(xùn)練結(jié)果Fig.5 Filter shape training results
圖6 頻率曲線訓(xùn)練結(jié)果Fig.6 Training results of frequency curve
圖7 濾波器幅值系數(shù)訓(xùn)練結(jié)果Fig.7 Training results of filter amplitude coefficient
為了使得聲譜圖能夠根據(jù)當(dāng)前數(shù)據(jù)集自動調(diào)整,設(shè)計了第一種SENN即MFSCNN用于取代傳統(tǒng)梅爾頻譜提取過程,實驗結(jié)果表明濾波器幅值系數(shù)得到有效訓(xùn)練但是梅爾濾波器組并沒有得到有效訓(xùn)練,因此改進(jìn)MFSCNN得到第二種SENN即MFFTNN,使得梅爾頻率曲線和濾波器形狀也得到訓(xùn)練。實驗結(jié)果表明,MFFTNN的識別率明顯優(yōu)于傳統(tǒng)架構(gòu),具體如下:① MFFTNN除了易于訓(xùn)練之外,其輸出的聲譜圖還具有在低頻部分的分辨率高的特點(diǎn);② 訓(xùn)練MFFTNN能夠調(diào)整聲譜圖的頻率曲線、濾波器形狀、濾波器幅值系數(shù),這3組參數(shù)對識別率均有積極影響,最終識別率比傳統(tǒng)架構(gòu)提高了4%;③ MFFTNN是輕量級的網(wǎng)絡(luò),與深度卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合不會大幅增加模型大小和預(yù)測時間,對每個音頻的平均預(yù)測時間為0.121 2 s,滿足一般應(yīng)用場景的實時性要求。