王天銳 鮑騫月 秦品樂



摘 要:針對傳統環境音分類模型對環境音特征提取不充分,以及卷積神經網絡用于環境音分類時全連接層易造成過擬合現象的問題,提出了梅爾倒譜系數(MFCC)、深層卷積和Bagging算法相結合的環境音分類方法。首先,針對原始音頻文件,利用預加重、加窗、離散傅里葉變換、梅爾濾波器轉換、離散余弦映射等方法建立梅爾倒譜系數特征模型;然后,將特征模型輸入卷積深度網絡進行第二次特征提取;最后,借鑒強化學習思想,用Bagging集成算法集成線性判別分析器、支持向量機(SVM)、Softmax回歸、XGBoost四個模型,以投票預測的形式對網絡輸出結果進行預測。實驗結果表明,所提方法能夠有效提高對環境音的特征提取能力和深層網絡在環境音分類上的抗過擬合能力。
關鍵詞:環境音分類;梅爾頻率倒譜系數;Bagging集成算法;特征提取;深度學習
中圖分類號:TP183文獻標志碼:A
Environmental sound classification method based on
Mel-frequency cepstral coefficient, deep convolution and Bagging
WANG Tianrui, BAO Qianyue, QIN Pinle*
(School of Data Science and Technology, North University of China, Taiyuan Shanxi 030051, China)
Abstract: The traditional environmental sound classification model does not fully extract the features of environmental sound, and the full connection layer of conventional neural network is easy to cause over-fitting when the network is used for environmental sound classification. In order to solve the problems, an environmental sound classification method combining with Mel-Frequency Cepstral Coefficient (MFCC), deep convolution and Bagging algorithm was proposed. Firstly, for the original audio file, the MFCC model was established by using pre-emphasis, windowing, discrete Fourier transform, Mel filter transformation, discrete cosine mapping. Secondly, the feature model was input into the convolutional depth network for the second feature extraction. Finally, based on reinforcement learning, the Bagging algorithm was adopted to integrate the linear discriminant analyzer, Support Vector Machine (SVM), softmax regression and eXtreme Gradient Boost (XGBoost) models to predict the network output results by voting prediction. The experimental results show that, the proposed method can effectively improve the feature extraction ability of environmental sound and the anti-over-fitting ability of deep network in environmental sound classification.
Key words: environmental sound classification; Mel-Frequency Cepstral Coefficient (MFCC); Bagging integration algorithm; feature extraction; deep learning
0 引言
在物聯網與人工智能技術的快速發展下,隨著安全防控、自動化機器人和醫療康復應用的增加,環境音分類技術變得越來越重要。環境音分類是機器感知外界的重要一步,相較于視覺信息,聲音特征更具實時性和連續性,并且音頻數據占用的存儲空間也遠小于圖像數據。如果能將環境聲音的信息與視覺信息有效地結合起來,無疑能提高機器感知外界的能力。
目前音頻分類和識別的研究方向大都集中在語音識別和語音的情感分析上,但近年來也逐漸出現了對環境聲音進行分類和識別的研究: 文獻[1]針對移動平臺加入了輕量級的聲音特征進行分類;文獻[2]通過對鳥叫聲分類從而識別物種,為生態學研究提供了更為有效的數據。這些研究表明環境聲音識別技術擁有廣泛的應用價值。
在環境聲音分類任務中,聲音信號的數字化表達、信號特征的提取和訓練分類器是非常關鍵的三個部分。wav格式是最接近無損的音樂格式,該格式使用三種參數來表示聲音:量化位數、取樣頻率和采樣點的振幅,其中采樣點的振幅是本文操作的基礎。但是聲音的特征僅靠隨著時間變化的采樣點振幅是無法合理地進行描述的。梅爾頻率倒譜系數(Mel-Frequency Cepstral Coefficient, MFCC) [3]是比較常用且高效的音頻特征。文獻[4]結合隱馬爾可夫模型(Hidden Markov Model, HMM)和MFCC對浴室聲音進行識別;文獻[5]提取MFCC特征并結合支持向量機(Support Vector Machine, SVM)分類模型對環境音進行分類。但MFCC特征提取后的系數幀矩陣在特征純度上還有所欠缺。雖然經該方法轉換后聲音的描述更符合人類聽覺系統,但是一段環境音頻中對于分類目標來說其他雜音太多,直接將提取后的特征放入分類器不易取得較好的分類效果。針對此類特征提取問題,文獻[6]利用小波域特征與MFCC特征,把頻域與小波域特征相結合,能較好地提取出語音的內容信息,但在環境音分類方面的效果有所欠缺;文獻[7]利用神經網絡來對MFCC特征進行提取,但準確率并不算高,推測是全連接層的強組合能力易使特征過度提取,導致過擬合現象發生。另一方面,在環境音分類器的選擇上,目前已有文獻[8]所使用的SVM、文獻[9]所使用的線性判別分析器(Linear Discriminant Analysis, LDA)以及文獻[10]中直接沿用的傳統卷積神經網絡(Convolutional Neural Network, CNN)[11]全連接層等。經過實驗發現,傳統的機器學習模型的分類能力有限,而使用CNN中的全連接層極易出現過擬合的現象,導致模型的泛化能力較低。文獻[12]利用遷移學習方法訓練去掉全連接層的卷積神經網絡用于聲音分類,雖能提高了模型泛化能力,但訓練過程需要大量額外數據,并且去掉全連接層后的網絡分類能力有限,效果不夠理想。
為了解決MFCC對特征提取不充分的問題,本文將卷積神經網絡的全連接層去除,保留卷積池化層用來二次特征提取,以此來提取數據抽象隱藏的特征,并篩選掉不必要的因素。
為了解決全連接層易過擬合、直接去掉又分類能力不足的問題,本文應用Bagging算法[13]思想,將SVM、LDA、Softmax Regression[14]、XGBoost(eXtreme Gradient Boost)[15]四個模型進行集成用于分類。 實驗結果對比表明,本文算法能夠較好地解決環境音特征提取純度不足以及深層模型在環境音分類上易過擬合的問題。
1 相關工作
1.1 梅爾頻率倒譜系數
梅爾倒譜系數特征的提取包括音頻預加重、分幀、加窗、離散傅里葉變化、Mel帶通濾波、離散余弦變換等步驟。物理頻率和Mel頻率的關系為:
Mel(f)=2595×lg(1 + f/700)(1)
計算步驟為:首先對聲音信號進行預加重、分幀、加窗等預處理操作,然后對每幀信號作離散傅里葉變換。變換公式為:
X(k)=∑N-1n=0x(t)exp(-j2πnk/N);0≤k≤N(2)
其次,用m個濾波器進行濾波,濾波器的響應函數為:
Hm(k)=
0, k 2(k-f(m-1))(f(m+1)-f(m-1))(f(m)-f(m-1)), f(m-1)≤k 2(f(m+1)-k)(f(m+1)-f(m-1))(f(m)-f(m-1)), f(m)≤k≤f(m+1) 0, k>f(m+1) (3) 其中:∑Hm(k)=1; f(m)是濾波器的中心頻率。再計算其對數能量,計算式為: S(m)=ln(∑N-1k=0|X(k)|2Hm(k)); 0≤m 最后代入離散余弦變換來得到梅爾倒譜系數: C(n)=∑M-1m=0S(m)cos(πn(m+0.5)/M); 0≤n≤M(5) 1.2 卷積與池化 卷積層是通過使用卷積核按步長遍歷數據矩陣,對核上對應的數值進行加權求和得到新的特征值。每層卷積層通常使用多個卷積核,通過使用不同的核來讓原始數據矩陣在不同的空間維度上得到表達。 卷積層卷積核對數據矩陣的處理公式如下: xlj=f(∑i∈Mjxl-1jklij+blj)(6) 其中:M為中間層映射圖;l代表層數;k代表卷積核;b代表偏置值;f則是激活函數。 池化層也常被稱作下采樣層,它是對特征的一種篩選,能保留主要特征(最大池化),或者將特征均勻化(平均池化)等。特征的降維一定程度上能防止過擬合現象的發生,其計算方法和卷積相似,即使用池化核按步長遍歷數據矩陣。處理公式為: xlj=f(xl-1j)(7) 其中f代表池化時選擇的方法。 1.3 Bagging算法 Bagging算法是將多個不同的元學習器集成。首先,通過對原數據集進行可重復抽樣,得到多個不同的數據子集;然后,分別使用各個子集來訓練不同的元模型,以此來提高各個元模型的泛化能力和模型之間的差異性。在預測時則采取投票方式,根據每個元模型的預測結果,選取出現次數最多的結果作為最后的類標。 1.4 Softmax Regression Softmax Regression是讓Logistic Regression適用于多分類問題的一種改進方法。Softmax Regression的函數形式如下: i=p(yi=1|xi;ω) p(yi=2|xi;ω) p(yi=k|xi;ω)= 1∑kj=1exp(ωjTxi)exp(ω1Txi) exp(ω2Txi) exp(ωkTxi)(8) 其中:ω是模型的參數;k為類別的數量。其損失函數為: J(ω)= -1m∑mi=1∑kj=11{yi=j}lnexp(ωjTxi)∑kl=1exp(ωlTxi)(9) 其中m為樣本的個數。Softmax Regression中將樣本x分類為j的概率為: p(yi=j|xi;ω)=exp(ωlTxi)∑kl=1exp(ωlTxi)(10) 1.5 SVM SVM是一種對數據進行分類的廣義線性分類器。該分類器通過尋找最優的超平面來進行學習。假設超平面表示為: ωTx+b=0(11) 則空間各點到超平面的距離可寫為: d=|ωTx+b|‖ω‖(12) 若超平面能將類別正確分類,且令類別為±1。則有: yi(ωTxi+b)≥1; i=1,2,…,m(13) 利用拉格朗日乘子法即可從式(14)求解出ω和b。 minω,b12‖ω‖2(14) s.t. yi(ωTxi+b)≥1,i=1,2,…,m 1.6 LDA LDA是一種模式識別算法。該算法通過將數據映射到另一空間,使樣本在新空間里有最小的類內距離和最大的類間距離,以達到最佳的可分離性。令μi與Σi分別表示第i類樣本集合的均值向量和協方差矩陣。投影后樣本中心為ωTμi,協方差為ωTΣiω。要使同類映射點之間盡可能接近,即讓所有類協方差之和盡可能小;要使異類樣本投影之后盡可能遠離,即讓各類樣本的中心樣本距離盡可能大。同時考慮則可得到優化目標函數 2.4 集成分類模型 該模塊在Bagging算法中采用Softmax Regression、SVM、LDA、XGBoost這4個分類器作為集成模型的元模型。 2.4.1 元模型一——Softmax Regression 使用數據集T1訓練Softmax Regression模型,利用梯度下降的思想來訓練模型。每次訓練從T1數據集中隨機取出35個樣本組成一個批次,并將35個樣本放回,以便下次也能抽到。將35個樣本代入模型計算誤差。用35個樣本誤差之和與提前設置的誤差閾值進行對比來控制訓練的停止。 其損失函數對參數的偏導為: ωjJ(ω)=-1m∑mi=1[xi(1{yi=j}- p(yi=j|xi;ω))](22) 為使損失值盡可能小,最終讓分類器達到最好效果。對于每個參數,其學習式為: ωnew=ω-rate×ωjJ(ω)(23) 如果誤差之和大于閾值,則求出35個偏導的平均值乘以學習率來優化模型參數; 反之,則停止訓練。 2.4.2 元模型二——SVM 使用數據集T2訓練SVM模型。由于T2已經是經過深層提取后的特征,所以本文沒有引入核函數,對SVM的目標函數使用拉格朗日乘子法可得到其“對偶問題”即: max α{∑mi=1αi-12∑mi=1∑mj=1αiαjyiyjxiTxj}(24) s.t. ∑mi=1αiyi=0, αi≥0, i=1,2,…,m 根據式(24)得到α并計算: b=yj-∑mi=1αiyixiTxj(25) 最終確認模型。 2.4.3 元模型三——LDA 使用數據集T3訓練LDA模型。本文依照LDA的思想,將T3中的樣本映射到ω空間上,預使50個不同種類的樣本在該空間上同類之間盡可能近,異類之間盡可能遠。根據其目標函數,先分別計算出每個類的均值向量μi,再由拉格朗日乘子法可將目標函數變為: Sbω=λSωω(26) 其中λ是拉格朗日乘子。令: Sbω=λ∑49i=0∑49j=i(μi-μj)(27) 從而解出ω: ω=Sω-1∑49i=0∑49j=i(μi-μj)(28) 解出ω后即可得到映射空間函數。在預測時將點代入映射空間函數,再按近鄰算法進行分類。 2.4.4 元模型四——XGBoost 使用數據集T4訓練XGBoost模型。XGBoost的參數眾多,其中學習率、樹的深度、樹隨機采樣的比例、L2正則化項等參數的作用較大。本文模型的參數為:學習率為0.3,樹分裂最小Loss為0,樹最大深度為6,最小葉子節點樣本權重和為1,隨機采樣比為1,L2正則化項為1。 設定好模型參數后,針對其目標函數,不斷重復初始化決策樹、代入樣本計算一階導數和二階導數、更新決策樹參數,直到目標函數低于閾值,停止訓練。 2.5 投票決策 使用模型預測時,采用簡單投票法。令4個分類器所得到的結果分別為y1、y2、y3、y4。首先分別對每個結果進行ONE HOT編碼,編碼過程為: 初始化一個長度為50的全0向量: Hi=[0,0,0,…,0,0,0]len=50(29) 置第yi位為1: Hi[yi]=1(30) 也就是將分類的標簽索引的位置置1,其余位置補0。然后將4個分類器的ONE HOT編碼矩陣相加: Hresult=∑4i=0Hi(31) 最大值對應的索引位就是最終的預測結果: result=arg max (Hresult)(32) 如果出現多個類票數相同,則對比響應模型的準確率,將準確率最高的模型投票的預測值作為最終結果。整個過程示意圖如圖5所示。 3 實驗與結果分析 本文使用環境音數據集ESC-50(Dataset for Environmental Sound Classification)[18]進行實驗。ESC-50數據集是一個包含2000個環境音頻的集合。數據集標簽分為50個不同的場景,每個樣本時長5s,音頻格式為wav。采樣率有44100Hz和16000Hz兩種。本文使用44100Hz的樣本,并將2000個樣本分為1600與400兩份,其中:1600個樣本用于模型的訓練,400個樣本用于模型的測試。使用Tensorflow框架搭建卷積池化模型,模型細節見表1。 訓練過程中,每訓練50次代入訓練集和測試集計算一次誤差值和準確值,并記錄下來。一共訓練了100000次,整個過程的誤差值和測試準確率如圖6(b)所示。圖6(a)是加入帶有128神經元、256神經元的兩層全連接層后網絡的準確率、誤差曲線圖。誤差曲線圖中居于上方的為測試集誤差,居于下方的為訓練集誤差。 由圖6可以看到,去掉全連接層的網絡在測試集上準確率能達到0.85,而含全連接層的準確率只有0.53。由此可以得出:去掉全連接層的卷積神經網絡用于環境音分類,不但可以提升特征的表達性,還能減少過擬合現象的發生。 針對Bagging隨機取樣的樣本數量進行了實驗,結果如圖7所示。 經過測試發現:對于元分類器來講,提升樣本的數量與各元模型的準確率成正比。但是當樣本數量m超過910時,由于過擬合現象的發生,各個元模型的準確率雖然在上升,但是集成模型的準確率開始降低。所以本文采用910為最終的樣本抽取數,以此來提升模型的抗過擬合能力。 4個分類模型訓練完成后,用單個分類器和集成模型在測試集V上分別進行測試,結果如表2所示。 由單個模型測試的實驗結果可以看出,在MFCC幀特征經過深層卷積池化提取后通過不同的空間映射能達到一個較好的線性相關性,所以前三者線性類模型(LDA、Softmax Regression、SVM)效果較好,樹狀模型(XGBoost)效果相對差一些。本文投票方法將四種模型集成后的準確率達到最高。 在測試集上測試了本文模型在ESC-50上各類的召回率。50類的平均分類錯誤數為0.88,平均召回率為89.0%,其中召回率最低的10個類別結果如表3所示。 實驗結果表明,在測試集的400個測試樣例(50種不同類型環境音)中,本文模型一共分類錯誤44個樣例。由表3可見,Airplane、crying_baby、Fireworks、Sheep類型音頻分類的召回率最低為0.625,分析其原因可能是:這幾類音頻的本身特征不夠明顯,聲音特征過少,對其特征的提取也不夠充分,導致最終召回率較低。 在同樣的數據集上,將本文分類方法與復現的其他方法作對比, 具體結果如表4所示。 由表4可以看出,ConvRBM、EnvNet-v2、CNN等沿用全連接層作為分類器的模型都會有一定程度的過擬合問題,而本文模型相對擁有較好的抗過擬合能力。 4 結語 本文在MFCC特征提取的基礎上使用深層卷積池化二次提取,利用卷積池化對特征空間映射和選取的強大能力,解決了傳統模型特征提取不到位、泛化能力較差的問題;將常規卷積神經網絡的全連接層用全局池化與Bagging集成模型代替,解決了全連接層參數量大、易造成過擬合的問題;在Bagging隨機抽樣時采用魯棒性最強的數量進行樣本的抽取,解決了各個元模型泛化能力不足的問題;使用投票機制解決了單個分類器泛化性不足、準確率不夠高的問題。從測試結果來看,與其他環境音分類方法相比,本文方法相對性能較好,但仍有可提升空間。不管是卷積池化層的搭建還是Bagging方法的元模型的選取和訓練都還可以進一步優化,以獲得更好的效果。 參考文獻 (References) [1]PILLOS A, ALGHAMIDI K, ALZAMEL N, et al. A real-time environmental sound recognition system for the Android OS [EB/OL]. [2019-02-20]. http://www.cs.tut.fi/sgn/arg/dcase2016/documents/workshop/Pillos-DCASE2016workshop.pdf. [2]BRIGGS F, RAICH R, FERN X Z. Audio classification of bird species: a statistical manifold approach [C]// Proceedings of the 9th IEEE International Conference on Data Mining. Piscataway: IEEE, 2009: 51-60. [3]LOGAN B. Mel-frequency cepstral coefficients for music modeling [EB/OL]. [2019-02-20]. https://www.researchgate.net/publication/2552483_Mel_Frequency_Cepstral_Coefficients_for_Music_Modeling. [4]CHEN J, KAM A H, ZHANG J, et al. Bathroom activity monitoring based on sound [C]// Proceedings of the 2005 International Conference on Pervasive Computing, LNCS 3468. Berlin: Springer, 2009: 47-61. [5]李玲俐.基于MFCC-SVM 和交叉驗證方法的環境音分類[J].計算機與現代化,2016(8):36-39.(LI L L. Environmental sound classification based on MFCC-SVM and cross validation method [J]. Computer and Modernization, 2016(8): 36-39.) [6]鄭繼明,魏國華,吳渝.有效的基于內容的音頻特征提取方法[J].計算機工程與應用,2009,45(12):131-133,137.(ZHENG J M, WEI G H, WU Y. New effective method on content based audio feature extraction [J]. Computer Engineering and Applications, 2009, 45(12): 131-133, 137.) [7]付煒,楊洋.基于卷積神經網絡和隨機森林的音頻分類方法[J].計算機應用,2018,38(S2):58-62.(FU W, YANG Y. Audio classification method based on convolutional neural network and random forest [J]. Journal of Computer Applications, 2018, 38(S2): 58-62.) [8]余清清.噪音環境下基于時頻特征的生態環境聲音的分類[J].計算機與數字工程,2017,45(1):8-14,106.(YU Q Q. Eco-environmental sounds classification with time-frequency features under noise conditions [J]. Computer and Digital Engineering, 2017, 45(1): 8-14, 106.) [9]芮瑞,鮑長春.噪聲環境下的窄帶音頻信號快速分類方法[J].計算機工程與應用,2011,47(16):22-25.(RUI R, BAO C C. Fast classification method of narrow-band audio signals under noisy environment [J]. Computer Engineering and Applications, 2011, 47(16): 22-25.) [10]PICZAK K J. Environmental sound classification with convolutional neural networks [C]// Proceedings of the IEEE 25th International Workshop on Machine Learning for Signal Processing. Piscataway: IEEE, 2015: 1-6. [11]KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks [C]// Proceedings of the 25th International Conference on Neural Information Processing Systems. Red Hook: Curran Associates Inc., 2012: 1097-1105. [12]KUMAR A, KHADKEVICH M, FUGEN C. Knowledge transfer from weakly labeled audio using convolutional neural network for sound events and scenes [EB/OL]. [2019-03-05]. https://arxiv.org/pdf/1711.01369.pdf. [13]BREIMAN L. Bagging predictors [J]. Machine Learning, 1996, 24(2): 123-40. [14]劉亞沖,唐智靈.基于 Softmax 回歸的通信輻射源特征分類識別方法[J].計算機工程,2018,44(2):98-102.(LIU Y C, TANG Z L. Classification and identification method of communication radiation source feature based on softmax regression [J]. Computer Engineering, 2018, 44(2): 98-102.) [15]CHEN T, GUESTRIN C. XGBoost: a scalable tree boosting system [C]// Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2016: 785-794. [16]SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition [EB/OL]. [2019-03-05]. https://arxiv.org/pdf/1409.1556.pdf. [17]IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift [EB/OL]. [2019-03-05]. https://arxiv.org/pdf/1502.03167.pdf. [18]PICZAK K J. ESC: dataset for environmental sound classification [C]// Proceedings of the 23rd ACM International Conference on Multimedia. New York: ACM, 2015: 1015-1018. [19]SAILOR H B, PATIL H A. Filterbank learning using convolutional restricted Boltzmann machine for speech recognition [C]// Proceedings of the 2016 IEEE International Conference on Acoustics, Speech and Signal Processing. Piscataway: IEEE, 2016: 5895-5899. [20]TOKOZUME Y, USHIKU Y, HARADA T. Learning from between-class examples for deep sound recognition [EB/OL]. [2019-03-05]. https://arxiv.org/pdf/1711.10282.pdf. [21]TAK R N, AGRAWAL D M, PATIL H A. Novel phase encoded mel filterbank energies for environmental sound classification [C]// Proceedings of the 2017 International Conference on Pattern Recognition and Machine Intelligence, LNCS 10597. Cham: Springer, 2017: 317-325. WANG Tianrui, born in 1997. His research interests include deep learning, machine intelligence. BAO Qianyue, born in 1998. His research interests include deep learning, computer vision. QIN Pinle, born in 1978, Ph. D., associate professor. His research interests include big data, computer vision, three-dimensional reconstruction. 收稿日期:2019-04-22;修回日期:2019-07-07;錄用日期:2019-07-23。 作者簡介:王天銳(1997—),男,四川成都人,主要研究方向:深度學習、機器智能; 鮑騫月(1998—),男,山西朔州人,主要研究方向:深度學習、機器視覺; 秦品樂(1978—),男,山西長治人,副教授,博士,CCF會員,主要研究方向:大數據、機器視覺、三維重建。 文章編號:1001-9081(2019)12-3515-07DOI:10.11772/j.issn.1001-9081.2019040678