周 迅,張曉龍
(1.武漢科技大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢,430065;2.武漢科技大學(xué)大數(shù)據(jù)科學(xué)與工程研究院,湖北 武漢,430065;3.武漢科技大學(xué)智能信息處理與實時工業(yè)系統(tǒng)湖北省重點實驗室,湖北 武漢,430065)
聲音在人類接收的信息中占有很大比重。隨著科技的發(fā)展,使用數(shù)字格式的音頻信息量急劇增加,計算機(jī)聽覺技術(shù)也應(yīng)運而生,并且有著越來越廣泛的應(yīng)用領(lǐng)域,如環(huán)境辨識[1]、音頻監(jiān)控系統(tǒng)[2]、機(jī)器人控制[3]、生物識別、聽力輔助裝置、智能家居[4]等。
音頻分類屬于計算機(jī)聽覺技術(shù)的重要組成部分,而音頻特征提取對提高分類精度至關(guān)重要,表征效果不佳的音頻特征將直接導(dǎo)致后續(xù)分類精度降低。傳統(tǒng)的音頻特征提取方法比較多,如梅爾頻率倒譜系數(shù)(MFCC)[5-6]、矩陣分解[7-8]、字典學(xué)習(xí)以及基于小波變換的特征提取[9]等方法。
近年來,深度學(xué)習(xí)相關(guān)技術(shù)取得較大進(jìn)展,研究者嘗試使用神經(jīng)網(wǎng)絡(luò)對傳統(tǒng)音頻特征進(jìn)行計算以得到音頻的高層特征[10-11],這些高層特征的表達(dá)能力往往更強(qiáng),可以為后續(xù)的分類工作提供幫助。但神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程對于數(shù)據(jù)量的要求比較高,過少的數(shù)據(jù)難以達(dá)到令人滿意的擬合效果,特別是對于一些樣本數(shù)較少但標(biāo)簽類別數(shù)量較大的數(shù)據(jù)集,其最終識別精度可能很差,此時可以采用數(shù)據(jù)增強(qiáng)的方法對數(shù)據(jù)量進(jìn)行擴(kuò)充。常用的音頻數(shù)據(jù)增強(qiáng)方法包括音頻旋轉(zhuǎn)、調(diào)音、變調(diào)、加噪等,這些方法在一定程度上可以提高分類精度,但對于原始數(shù)據(jù)量過少、類別數(shù)過多的數(shù)據(jù)集,還需要更加有效的數(shù)據(jù)增強(qiáng)方法。
為此,本文提出一種基于雙重數(shù)據(jù)增強(qiáng)策略的音頻分類方法,其在傳統(tǒng)的音頻數(shù)據(jù)增強(qiáng)之后再次進(jìn)行譜圖數(shù)據(jù)增強(qiáng),以增加數(shù)據(jù)的多樣性,提高特征提取模型的泛化能力,并對最終分類精度產(chǎn)生積極影響。雙重數(shù)據(jù)增強(qiáng)策略總體上可分為三步:一是對完成預(yù)處理的音頻數(shù)據(jù)采用傳統(tǒng)方法進(jìn)行數(shù)據(jù)增強(qiáng);二是將第一次增強(qiáng)后的數(shù)據(jù)轉(zhuǎn)化為語譜圖;三是對得到的語譜圖使用隨機(jī)均值替換方法進(jìn)行譜圖增強(qiáng),即第二次數(shù)據(jù)增強(qiáng)。雙重數(shù)據(jù)增強(qiáng)后還需進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林分類器[12-13]兩個訓(xùn)練過程,以完成整個音頻分類流程。
本文方法大體可分為4個步驟,分別為數(shù)據(jù)預(yù)處理、數(shù)據(jù)增強(qiáng)、獲取高層特征和分類器訓(xùn)練,框架結(jié)構(gòu)如圖1所示,其核心內(nèi)容為雙重數(shù)據(jù)增強(qiáng)(Double Data Augmentation,DDA)、神經(jīng)網(wǎng)絡(luò)模型(Inception_Resnet_V2)訓(xùn)練、隨機(jī)森林(Random Forest,RF)分類器訓(xùn)練,故命名為DDA-IRRF。
圖1 DDA-IRRF方法的框架結(jié)構(gòu)
在DDA-IRRF方法中,音頻數(shù)據(jù)經(jīng)過了兩次特征提取,第一次提取到的音頻特征形式為語譜圖二維數(shù)據(jù)[14]。語譜圖的橫軸為時間軸、縱軸為頻率軸,坐標(biāo)點的灰度值表示單位時間與單位頻率內(nèi)的聲音強(qiáng)度。語譜圖的生成需要經(jīng)過預(yù)加重、分幀、加窗、短時傅里葉變換、梅爾濾波、取對數(shù)等一系列過程。
處理音頻信號時需要平穩(wěn)的信號段,但原始音頻信號無法滿足該條件??梢赃M(jìn)行分幀處理,在每一幀上認(rèn)為音頻信號是平穩(wěn)的。分幀后,幀的首尾連接處會出現(xiàn)不連貫的問題,需要對每一幀進(jìn)行加窗處理,如式(1)所示:
Y(n)=X(n)W(n)
(1)
式中:Y為處理后的信號;X為源信號;W為窗函數(shù);n為每幀采樣點數(shù)。
式(1)在頻域上的形式為:
(2)
可選的窗函數(shù)比較多,本文采用漢寧窗,其屬于升余弦窗,在保證頻率分辨率較高的同時頻譜泄漏較少,窗函數(shù)如式(3)所示:
(3)
式中:M為窗函數(shù)長度。
為了同時保有音頻在時域和頻域上的特征,在分幀加窗后需要進(jìn)行短時傅里葉變換,變換公式為:
(4)
式中:STFT(k)表示短時傅里葉變換的離散形式;k=0,1,2,…,M-1。
1.2.1 第一次數(shù)據(jù)增強(qiáng)
在數(shù)據(jù)預(yù)處理之后即可進(jìn)行第一次數(shù)據(jù)增強(qiáng)。這里采用一般的音頻增強(qiáng)方法,即對原始音頻數(shù)據(jù)集使用旋轉(zhuǎn)、調(diào)音、變調(diào)、加噪4種方法產(chǎn)生更多新的數(shù)據(jù),完成后音頻數(shù)據(jù)量為原來的8倍。具體操作如下:
(1)音頻旋轉(zhuǎn):將音頻文件中30%靠后的數(shù)據(jù)截取至音頻文件的首部進(jìn)行拼接,生成一組新數(shù)據(jù);
(2)音頻調(diào)音:將音頻數(shù)據(jù)的音量分別增大為原來的1.5倍和減小為原來的0.7倍,生成兩組新數(shù)據(jù);
(3)音頻變調(diào):通過改變頻率將音頻數(shù)據(jù)的音調(diào)增大為原來的2倍和減小為原來的0.5倍,生成兩組新數(shù)據(jù);
(4)音頻加噪:在音頻數(shù)據(jù)中加入隨機(jī)噪音數(shù)據(jù),重復(fù)兩次生成兩組新數(shù)據(jù)。
1.2.2 第二次數(shù)據(jù)增強(qiáng)
對第一次增強(qiáng)后的音頻數(shù)據(jù)進(jìn)行頻譜分析,包括分幀、加窗、傅里葉變換、梅爾濾波、取對數(shù)運算,得到音頻文件對應(yīng)的語譜圖。在此過程中,幀長設(shè)為 25 ms,幀移設(shè)為10 ms,梅爾譜帶的個數(shù)設(shè)為76。經(jīng)過轉(zhuǎn)化,采樣率為44 100 Hz的5 s時長音頻會得到498×76大小的語譜圖,4 s時長音頻會得到398×76大小的語譜圖。
將音頻數(shù)據(jù)轉(zhuǎn)化為語譜圖數(shù)據(jù)后,進(jìn)行第二次數(shù)據(jù)增強(qiáng)。本文使用隨機(jī)均值替換法產(chǎn)生新的語譜圖數(shù)據(jù),實現(xiàn)數(shù)據(jù)增強(qiáng),完成后數(shù)據(jù)量為第一次數(shù)據(jù)增強(qiáng)后的4倍。具體操作步驟如下:
(1)隨機(jī)選取行列:通過隨機(jī)方式選取每個語譜圖中30%的行與30%的列;
(2)均值替換:計算每個語譜圖中二維數(shù)據(jù)的平均值,用均值替換掉隨機(jī)選取的行列數(shù)據(jù),可得到新的語譜圖數(shù)據(jù);
(3)數(shù)據(jù)保存:對每個語譜圖重復(fù)3次步驟(1)和(2)的操作,得到3組新的語譜圖數(shù)據(jù),加入到原數(shù)據(jù)集中,即完成第二次數(shù)據(jù)增強(qiáng)。
語譜圖數(shù)據(jù)增強(qiáng)效果如圖2所示。圖中黑色區(qū)域只代表原圖被屏蔽替換的區(qū)域,其具體的灰度值為該語譜圖的平均值,為便于觀察,該圖展示的僅為實驗中真實語譜圖的局部區(qū)域。
得到雙重增強(qiáng)的二維數(shù)據(jù)集后,需要使用卷積神經(jīng)網(wǎng)絡(luò)對其進(jìn)行二次特征提取,才能得到表達(dá)能力更強(qiáng)的音頻高層特征。
卷積神經(jīng)網(wǎng)絡(luò)屬于前饋神經(jīng)網(wǎng)絡(luò),在提取特征上具有很好的表現(xiàn),能夠挖掘出數(shù)據(jù)的內(nèi)在結(jié)構(gòu)規(guī)律。本文使用Google研究團(tuán)隊推出的卷積神經(jīng)網(wǎng)絡(luò)模型Inception_Resnet_V2(見圖3)[15]來完成音頻高層特征的提取工作。其中,Stem模塊采用多次卷積操作與兩次池化操作,是進(jìn)入Inception結(jié)構(gòu)的預(yù)處理過程,可以防止瓶頸問題。Inception_resnet模塊則主要完成特征維度上的提取工作,引入的殘差結(jié)構(gòu)可有效防止梯度下降問題。Inception_resnet模塊后面對應(yīng)的Reduction模塊采用了并行結(jié)構(gòu),主要作用仍是防止瓶頸問題。Inception_Resnet_V2模型的最后一層采用的是Softmax分類器。
圖2 語譜圖數(shù)據(jù)增強(qiáng)
圖3 Inception_Resnet_V2模型結(jié)構(gòu)
在提取到音頻高層特征后,采用隨機(jī)森林分類器替換Softmax完成最后的分類預(yù)測。這是因為,神經(jīng)網(wǎng)絡(luò)模型提取到的音頻高層特征的維度較高,隨機(jī)森林算法在處理高維度數(shù)據(jù)時表現(xiàn)很好,不用單獨進(jìn)行特征選擇。另外,本文方法有較多參數(shù),容易導(dǎo)致算法產(chǎn)生過擬合現(xiàn)象,而隨機(jī)森林在對抗過擬合方面具有很大優(yōu)勢。
DDA-IRRF方法的基本流程如圖4所示(不包括前期對數(shù)據(jù)的預(yù)處理工作)。輸入為訓(xùn)練數(shù)據(jù)集與數(shù)據(jù)集標(biāo)簽;音頻數(shù)據(jù)集分別經(jīng)過音頻增強(qiáng)和譜圖增強(qiáng),音頻增強(qiáng)后的數(shù)據(jù)量變?yōu)樵紨?shù)據(jù)的8倍,譜圖增強(qiáng)后數(shù)據(jù)量再次提升,最終的數(shù)據(jù)量變?yōu)樵紨?shù)據(jù)的32倍。然后,將增強(qiáng)數(shù)據(jù)及數(shù)據(jù)標(biāo)簽輸入到Inception_Resnet_V2模型(去除Softmax層)進(jìn)行訓(xùn)練,得到音頻高層特征提取模型,將提取到的高層特征與原始標(biāo)簽輸入到隨機(jī)森林模型進(jìn)行訓(xùn)練,得到隨機(jī)森林分類器并完成分類任務(wù)。
圖4 DDA-IRRF方法流程
實驗過程涉及3個數(shù)據(jù)集,均為wav文件格式的單聲道音頻數(shù)據(jù),分別為常用的ESC-50、UrbanSound8K數(shù)據(jù)集及實驗室自采數(shù)據(jù)集。
實驗前需要對數(shù)據(jù)集進(jìn)行預(yù)處理,其中首先要對實驗室自采數(shù)據(jù)集進(jìn)行分段,將每個數(shù)據(jù)文件按照5 s時長進(jìn)行分割,為避免無效數(shù)據(jù),舍棄最后的多余數(shù)據(jù),而其他兩個數(shù)據(jù)集均為已完成分段的數(shù)據(jù)。
3個數(shù)據(jù)集經(jīng)過預(yù)處理后的基本情況如表1所示。ESC-50為環(huán)境聲音數(shù)據(jù)集,根據(jù)發(fā)聲物大致可分為5個大類,分別為自然環(huán)境聲、動物發(fā)聲、人類發(fā)聲、家庭常見聲以及城市常見聲,又可以具體細(xì)分為50個不同種類,其中每個種類包括40個音頻文件,每個音頻文件時長為5 s,總計有2000個wav文件;UrbanSound8K為城市環(huán)境聲音數(shù)據(jù)集,包括10個不同種類,總計有8732個 wav文件,與ESC-50數(shù)據(jù)集不同的是每個音頻文件時長為4 s;實驗室自采數(shù)據(jù)集包含8個人的語音數(shù)據(jù),每人有12個時長為5 s的音頻文件,總計96個樣本。將數(shù)據(jù)集打亂后進(jìn)行隨機(jī)劃分,得到訓(xùn)練集與測試集,其中訓(xùn)練集進(jìn)行雙重增強(qiáng),測試集直接計算其語譜圖二維數(shù)據(jù),留待分類模型訓(xùn)練完畢后進(jìn)行算法測試。
表1 實驗數(shù)據(jù)集
首先訓(xùn)練Inception_Resnet_V2卷積神經(jīng)網(wǎng)絡(luò)模型用于高層特征提取。由于數(shù)據(jù)量較大,為避免計算機(jī)內(nèi)存不足,提前完成數(shù)據(jù)預(yù)處理與數(shù)據(jù)增強(qiáng)工作,實驗過程中,batch_size設(shè)置為64進(jìn)行批量化輸入。訓(xùn)練迭代次數(shù)為60,初始學(xué)習(xí)率為0.001,為了保證訓(xùn)練效率與訓(xùn)練效果,采用學(xué)習(xí)率遞減方法,每經(jīng)過一次迭代,將學(xué)習(xí)率調(diào)整為當(dāng)前學(xué)習(xí)率的0.96倍。
然后選擇不同的輸入數(shù)據(jù)進(jìn)行訓(xùn)練,得到多個神經(jīng)網(wǎng)絡(luò)模型。各組輸入數(shù)據(jù)分別為:①未進(jìn)行數(shù)據(jù)增強(qiáng)的ESC-50和UrbanSound8K訓(xùn)練集;②僅進(jìn)行音頻數(shù)據(jù)增強(qiáng)的ESC-50和UrbanSound8K訓(xùn)練集;③雙重數(shù)據(jù)增強(qiáng)的ESC-50和UrbanSound8K訓(xùn)練集。
完成模型訓(xùn)練后,去掉模型最后的Softmax層,取相鄰的Global Average Pooling 2D層的輸出作為提取到的音頻高層特征,保存為文件。
實驗室自采數(shù)據(jù)集只有96個音頻文件,數(shù)據(jù)過少,不便于進(jìn)行神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練。將自采數(shù)據(jù)集輸入到用雙重增強(qiáng)ESC-50數(shù)據(jù)集訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型中,保存得到的音頻高層特征。
將各個數(shù)據(jù)集通過Inception_Resnet_V2得到的音頻高層特征及原始標(biāo)簽輸入到隨機(jī)森林分類器進(jìn)行訓(xùn)練,均采用40棵決策樹。訓(xùn)練好后對相應(yīng)的測試數(shù)據(jù)集進(jìn)行分類,統(tǒng)計分類精確度。
表2為不用隨機(jī)森林分類器,而采用Inception_Resnet_V2模型默認(rèn)的Softmax分類器的實驗結(jié)果。表3為采用隨機(jī)森林分類器替換Softmax分類器的實驗結(jié)果。
表2 神經(jīng)網(wǎng)絡(luò)模型的分類精度
Table 2 Classification accuracies by neural network model
數(shù)據(jù)增強(qiáng)方式分類精度/%ESC-50UrbanSound8K未進(jìn)行數(shù)據(jù)增強(qiáng)70.382.4僅音頻數(shù)據(jù)增強(qiáng)83.991.7雙重數(shù)據(jù)增強(qiáng)87.193.9
表3 神經(jīng)網(wǎng)絡(luò)模型+隨機(jī)森林分類器的分類精度
Table 3 Classification accuracies by neural network model and RF classifier
數(shù)據(jù)增強(qiáng)方式分類精度/%ESC-50UrbanSound8K未進(jìn)行數(shù)據(jù)增強(qiáng)71.286.1僅音頻數(shù)據(jù)增強(qiáng)84.592.0雙重數(shù)據(jù)增強(qiáng)87.594.4
對比表2和表3可知,采用隨機(jī)森林分類器替換Softmax層后,各組數(shù)據(jù)的分類精度均得到不同程度的提升,體現(xiàn)了隨機(jī)森林在處理高維特征和避免過擬合方面的優(yōu)越性。
同時,由表3可見,使用音頻數(shù)據(jù)增強(qiáng)可將ESC-50數(shù)據(jù)集的分類精度提升13.3個百分點,將UrbanSound8K數(shù)據(jù)集的分類精度提升5.9個百分點;若采用雙重數(shù)據(jù)增強(qiáng)策略,可以在音頻數(shù)據(jù)增強(qiáng)的基礎(chǔ)上進(jìn)一步將ESC-50數(shù)據(jù)集的分類精度提升3個百分點,將UrbanSound8K數(shù)據(jù)集的分類精度提升2.4個百分點。上述結(jié)果表明,單純的音頻數(shù)據(jù)增強(qiáng)方法可提升音頻分類精度,而雙重數(shù)據(jù)增強(qiáng)策略的分類精度提升效果更佳,且對于樣本量較小的數(shù)據(jù)集,其效果更明顯。
本文方法與其他幾種方法在ESC-50與UrbanSound8K數(shù)據(jù)集上的實驗結(jié)果對比如表4所示。這兩個數(shù)據(jù)集在音頻識別研究中比較常用,從文獻(xiàn)查閱情況來看,ESC-50數(shù)據(jù)集的當(dāng)前最高分類精度為86.5%,是Sailor等[10]使用FBEs+ConvRBM-BANK方法完成的,UrbanSound8K數(shù)據(jù)集的當(dāng)前最高分類精度為93%,是Boddapai等[11]使用GoogleNet神經(jīng)網(wǎng)絡(luò)模型完成的。本文方法在 ESC-50 數(shù)據(jù)集上的平均分類精度為87.5%,最高精度可以達(dá)到89%,在UrbanSound8K數(shù)據(jù)集上的平均精度為 94.4%,最高精度可達(dá)到96.2%,這表明雙重數(shù)據(jù)增強(qiáng)策略、Inception_Resnet_V2模型、隨機(jī)森林分類器三者相結(jié)合的音頻分類方法能有效提高分類精度。
表4 不同方法的分類精度對比
Table 4 Comparison of classification accuracies by different methods
來源方法分類精度/%ESC-50UrbanSound8k文獻(xiàn)[10]FBEs+ConvRBM-BANK86.5—文獻(xiàn)[11]GoogleNet7393文獻(xiàn)[11]AlexNet6592文獻(xiàn)[16]EnvNet-v284.978.3文獻(xiàn)[17]CNN83.5—本文DDA-IRRF87.594.4
實驗室自采數(shù)據(jù)集由于數(shù)據(jù)過少無法訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,但通過ESC-50數(shù)據(jù)集訓(xùn)練好的模型可直接采集到音頻高層特征,再將高層特征輸入到隨機(jī)森林分類器進(jìn)行訓(xùn)練,最終在測試集上也能達(dá)到91.7%的分類精度,分類預(yù)測結(jié)果的混淆矩陣如表5所示。這表明通過ESC-50數(shù)據(jù)集訓(xùn)練得到的高層特征提取模型在其他音頻數(shù)據(jù)集上也具有很好的分類效果,即采用雙重數(shù)據(jù)增強(qiáng)策略訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型的泛化能力很強(qiáng)。
表5 混淆矩陣
本文提出了一種基于雙重數(shù)據(jù)增強(qiáng)策略的音頻分類方法。以數(shù)據(jù)增強(qiáng)為突破口,先后使用一般的音頻數(shù)據(jù)增強(qiáng)方法和基于隨機(jī)均值替換的譜圖增強(qiáng)方法,克服了語譜圖無法使用傳統(tǒng)數(shù)據(jù)增強(qiáng)方法的弊端,提高了數(shù)據(jù)的多樣性。在雙重數(shù)據(jù)增強(qiáng)后采用Inception_Resnet_V2神經(jīng)網(wǎng)絡(luò)模型可提取到表達(dá)能力更強(qiáng)的音頻數(shù)據(jù)高層特征,最后使用隨機(jī)森林分類器替換Inception_Resnet_V2模型的Softmax層,完成音頻分類任務(wù)。在多個數(shù)據(jù)集上的實驗結(jié)果證明該方法可有效提升音頻分類精度,并且訓(xùn)練出的特征提取模型具有很好的泛化能力。