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