謝將劍 楊 俊 邢照亮 張 卓 陳 新
(1 北京林業(yè)大學工學院 北京 100083)
(2 林業(yè)裝備與自動化國家林業(yè)和草原局重點實驗室 北京 100083)
(3 先進輸電技術國家重點實驗室(全球能源互聯(lián)網(wǎng)研究院有限公司)北京 102211)
鳥類鳴聲具有一定的穩(wěn)定性和明顯的物種鑒別特征,是鳥類物種識別的主要方式之一[1]。利用鳥鳴聲語圖中鳴聲區(qū)域的圖像特征可以區(qū)分鳥類物種[2-3],進而應用于鳥類物種的調查與監(jiān)測,具有高效率、非損傷、低干擾、大范圍等優(yōu)勢,應用前景巨大[4]。基于鳴聲的鳥類物種識別的關鍵在于提取合適的鳥鳴聲差異特征、選擇高性能的分類器對差異特征進行分類。深度學習具有較強的自動學習特征和進行分類的能力[5-6],在基于鳴聲的鳥類物種識別方法中得到了廣泛的研究。Chakraborty 等[7]利用深度神經(jīng)網(wǎng)絡(Deep neural network,DNN)采用音頻信號的梅爾濾波能量系數(shù)作為輸入,實現(xiàn)了基于鳴叫的鳥類識別,最佳識別準確率達到98.48%。Piczak[8]以音頻信號的梅爾頻域譜圖為輸入,對比了3 種不同結構的深度卷積神經(jīng)網(wǎng)絡(Deep convolutional neural network,DCNN)的識別效果,結果表明輸入譜圖的大小、網(wǎng)絡的層數(shù)以及網(wǎng)絡結構都會對識別效果產(chǎn)生影響。Martinsson[9]利用18層的深度殘差神經(jīng)網(wǎng)絡(Deep residual neural network,DRNN)對BirdCLEF競賽的鳴聲樣本進行識別,平均識別精度達到53.8%,相比官方提供的深度卷積網(wǎng)絡識別方法低2%。謝將劍等[10]研究了3 種不同語圖作為輸入時,利用VGG16 模型進行鳥類物種識別的性能,結果表明基于線性調頻小波變換生成的語圖作為輸入,相比其他語圖作輸入時,識別準確率和效率都得到了改善。以上研究表明,選擇合適的語圖作為輸入、DCNN 作為識別模型,可以得到較好的識別性能。
通過多特征融合可以提高模型的分類性能[11],本文提出一種基于深度卷積神經(jīng)網(wǎng)絡的多特征融合模型,該模型利用短時傅里葉變換(Short-time Fourier transform,STFT)、梅爾倒譜變換(Mel frequency cepstrum transform,MFCT)和線性調頻小波變換(Chirplet transform,CT)分別計算得到鳴聲信號的語圖,基于3 種語圖樣本集分別訓練3 個基于VGG16 遷移的單一特征模型,并利用自適應線性加權對3 種特征進行融合,最終基于融合特征實現(xiàn)鳥類物種的識別。以鳴聲庫ICML4B的鳥鳴聲為研究對象,通過對比實驗驗證了本文提出模型的優(yōu)越性。
本文采用的鳴聲庫是法國國立自然博物館提供的ICML4B 鳴聲庫。該鳴聲庫共包含35 種鳥類鳴聲,具體的物種信息如表1所示。每種鳥類各包含1 個音頻信號。每個鳴聲音頻信號均為持續(xù)時間30 s、采樣頻率44.1 kHz、16 bit 輸出、WAV 格式的數(shù)字信號,信噪比在20~60 dB之間[12]。
鳴聲信號的預處理主要包括預加重、分割、分幀以及加窗。預加重用于補償鳥鳴聲在傳播時高頻成分的衰減,采用一階高通濾波器來實現(xiàn),預加重系數(shù)取0.95。
ICML4B 鳴聲庫中鳥鳴聲信號的信噪比較高,采用能量閾值法對鳴聲進行分割。分割前需要對信號進行無重疊的分幀,為了最大限度保留鳴聲信號,幀長選擇為50 ms。計算每幀信號的能量后,將能量大于最大能量60%的幀認為是鳴聲區(qū)域,予以保留,去除其他非鳴聲區(qū)域,實現(xiàn)鳴聲信號的分割,使各有效鳴聲段連續(xù),同時可以降低背景噪聲的影響。
鳴聲信號是一種典型非平穩(wěn)隨機信號,在對分割后的信號進行時頻變換前,需要對信號分幀。同時對每幀信號加窗,以避免分幀后信號兩端可能造成的不連續(xù)性。本文選擇幀長為50 ms,重疊30%,窗函數(shù)為漢明窗。
表1 ICML4B 鳴聲信號的信息Table1 Detail information of ICML4B bird vocalization signal
語圖中的鳴聲區(qū)域可以看成是圖片中的特殊“物體”,通過識別鳴聲區(qū)域的特征,可以實現(xiàn)鳥鳴聲的分類[3]。為了得到不同的語圖特征,選擇了3 種時頻變換方法計算語圖:
(1)短時傅里葉變換
STFT 是最常用的一種時頻分析方法,它通過時間窗內的一段信號來表示某一時刻的信號特征。計算得到每一幀的時頻矩陣,便可以畫出對應的語圖。
(2)梅爾頻域倒譜變換
人耳聽到的聲音高低與聲音的頻率并不成線性正比關系,通常采用Mel 頻率尺度來模擬人耳的聽覺特性[13]。鳴聲信號經(jīng)過快速傅里葉變換之后,通過一系列三角形Mel 頻率濾波器組,然后對所有濾波器輸出進行對數(shù)運算,再進一步做離散余弦變換便可得到梅爾倒譜系數(shù)(Mel frequency cepstrum coefficient,MFCC)。本文計算得到32 維梅爾倒譜系數(shù)后,去掉表征平均值的第0 維,選擇余下的31維系數(shù)轉換成梅爾譜圖。
(3)線性調頻小波變換
CT 是一種線性時頻表示,可以看成是短時傅里葉變換和小波變換的綜合,在表征短時平穩(wěn)信號時具有明顯優(yōu)勢[14]。對每一幀信號進行線性調頻小波變換,利用快速Chirplet 分解算法計算得到小波系數(shù)[14],然后利用小波系數(shù)生成語圖。
圖1 棕柳鶯的鳴聲語圖Fig.1 Spectrograms of Phylloscopus collybita
對鳴聲進行預處理后,分別采用以上3 種時頻變換方法生成語圖,圖1為棕柳鶯的鳴聲信號及計算得到的語圖,從上到下依次為鳴聲信號的時域波形、STFT語圖、Mel語圖以及Chirplet語圖。
利用語圖特征進行分類時,選擇音節(jié)特征作為輸入比選擇鳴唱特征的分類效果更好[15]。因此,本文將分割后的鳴聲信號繼續(xù)分幀,得到持續(xù)時間為500 ms 的鳴聲信號,計算其對應的語圖,保存成大小為224×224 的彩色圖像,作為模型的輸入,以通過語圖圖像特征的差異,實現(xiàn)鳥類物種的識別。最終計算得到35 種鳥類的鳴聲語圖數(shù)量如表1所示。利用3 種不同的時頻變換對鳴聲信號進行計算,便可得到3個不同的鳴聲語圖樣本集。
DCNN 利用多層卷積層和池化層的組合自主學習圖像特征,配合全連接層對特征進行分類,進而實現(xiàn)圖像的識別。DCNN 可以通過局部連接、權值共享及池化操作等有效地降低網(wǎng)絡的復雜度,減少訓練參數(shù)的數(shù)目[5,16]。VGG16是一種典型的DCNN,由于其在ImageNet 圖片分類中的優(yōu)異性能,在圖像識別領域得到了廣泛的應用[17-19]。DCNN 的模型的參數(shù)隨著深度的增大而增加,訓練過程需要輸入更多的己標注樣本。如果缺乏足夠的已標注樣本,訓練時容易導致過擬合,無法得到有效的識別模型。
基于遷移學習的思想,利用預訓練好的模型作為特征提取器,凍結特征提取模型的參數(shù),訓練時不再參與更新,只更新用于分類器的參數(shù),可以大大減小對已標注樣本的需求量[20-21]。本文將鳥鳴聲的識別等效成對鳴聲語圖的識別,基于VGG16 模型將圖像識別問題遷移到基于鳴聲語圖的鳥類物種識別中。選擇ImageNet預訓練好的VGG16模型參數(shù)作為特征提取模型參數(shù)的初始值,通過訓練對模型參數(shù)進行微調,可以提高訓練效率,同時有利于樣本數(shù)據(jù)量小的情況下的模型訓練。
由不同的時頻變換方法計算得到的不同語圖,可以表征鳥鳴聲的不同特征。采用不同的語圖樣本集作為輸入時,模型的識別效果不同[15]。對同一對象的不同特征進行融合,得到的特征更全面,有利于提高分類的效果。多特征的融合方法直接影響融合特征的表達能力,目前,常用的多特征融合方法有直接疊加、串行或者并行連接以及加權求和等[11]。前兩類方法不能體現(xiàn)不同特征的差異性,同時還擴大了特征的維數(shù),增大了計算量。因此,采用加權求和的方式,引入權重的概念,表征不同的特征在識別過程中的貢獻度。
為了充分利用3 種語圖特征,進一步提升識別性能,首先構建3個不同的基于VGG16的特征遷移模型,分別提取3 種語圖的特征。然后,將提取的3種特征進行自適應線性加權,一方面實現(xiàn)基于特征的融合,另一方面保持特征維度,可以不增加模型參數(shù)。融合后的特征F如式(1)所示:
其中,ωn和yn分別表示特征n相應的權值和特征向量。不同的權值可以表征不同的特征在識別過程中的貢獻度,且滿足條件。該權值參與訓練和更新過程,通過迭代自動獲得最優(yōu)的權值。
最后,將融合后的特征輸出到2個全連接層和1個Softmax 輸出層組成的分類器中,基于多特征融合模型的鳥類物種識別流程如圖2所示。
圖2 基于多特征融合模型的鳥類物種識別流程Fig.2 Procedure of bird species recognition based on multi-feature fusion
在訓練時,先利用3 種不同的語圖分別作為樣本集,訓練出3 個基于VGG16 的特征遷移模型;在多特征融合模型中,這3個基于VGG16的特征遷移模型的參數(shù)不再參與更新,以克服由于模型增大后帶來的參數(shù)數(shù)量增大進而對樣本數(shù)量需求增大的缺陷。
實驗在Ubuntu16.04 64 位系統(tǒng)下,基于深度學習框架Tensorflow1.4.1 完成,采用的硬件平臺為E5-2620CPU (6×2.1 GHz,32 GB 內存)和GTX1080ti GPUs (11 GB內存)的工作站。
實驗時,3 個鳴聲語圖樣本集均按照8:1:1 的比例被隨機劃分成訓練集、驗證集和測試集,用于本文提出的識別模型的訓練、驗證以及測試,具體的實驗流程如圖3所示。
圖3 識別模型訓練流程圖Fig.3 Train flow of recognition model
在訓練過程中,為了加快數(shù)據(jù)的處理速度,將數(shù)據(jù)集分成多個分區(qū)(Batch),適當增大分區(qū)大小(Batchsize)可以提高訓練的效率。綜合考慮到實驗用的電腦內存有限,選擇分區(qū)大小為32。模型訓練的參數(shù)如表2所示。
表2 訓練參數(shù)Table2 Train parameters
從表1可以看出不同鳥類的語圖數(shù)量相差較大,屬于不均衡樣本集,不利于DCNN 模型的訓練。為了克服樣本不平衡的問題,引入加權交叉熵損失函數(shù)作為模型的損失函數(shù),該方法通過提高少樣本類別在損失函數(shù)中的權重,進而解決不平衡數(shù)據(jù)的問題。對于多類別分類時,改進后每個batch中第j(j= 1,2,···,32)個樣本屬于第i(i= 1,2,···,35)類時的交叉熵損失函數(shù)值如式(2)所示:
式(2)中,ωi是類別i的權值;yi為該樣本是否屬于類別i的實際標簽,屬于則為1,不屬于則為0;為該樣本預測為類別i的概率。類別i的權值ωi可由式(3)計算得到:
式(3)中,βi是所有訓練樣本集中屬于類別i的樣本數(shù)占總樣本集大小的比例。
進一步得到代價函數(shù)為
選擇持續(xù)時間為500 ms 的語圖作為語圖樣本集,首先分別訓練3 個基于VGG16 的特征遷移模型,然后將3 個模型的特征提取部分進行凍結,通過全連接層組合形成融合模型,再訓練融合模型的分類器部分的參數(shù),得到最終的融合模型。
通常利用平均識別準確率(Mean average precision,MAP)來評價識別模型的好壞,本文提出模型的MAP計算公式如式(5)所示:
式(5)中,q為鳥類物種的編號,AveP(q)為對應物種的識別正確率。
圖4為不同模型在驗證集上的MAP 隨著迭代次數(shù)增加的變化,Ch 代表Chirplet 語圖特征模型,Mel代表梅爾語圖特征模型,Spe代表STFT語圖特征模型,F(xiàn)use代表融合模型。
從圖4中可以看出,融合模型在76 次迭代中達到最大MAP值,而其他模型要到250次以后才趨于最大MAP 值。融合模型相比單一特征模型達到最大MAP 值的時間要更短,說明融合模型的訓練效率要更高。而且對比單一特征模型,融合模型的最大MAP值也最大。
圖5為4 種模型的平均識別準確率對比,圖中的MAP值均為5次運算的MAP平均值。
圖4 不同模型的驗證MAP 隨著迭代次數(shù)的變化Fig.4 Variation of validation MAPs with epochs increasing
圖5 不同模型的驗證MAP 和測試MAP 對比Fig.5 Comparison of validation MAP and test MAP with different model
從圖5可以看出:(1)單一特征模型中,Chirplet語圖作為輸入時的MAP 時最大,STFT 語圖的MAP 最小,和文獻[14]相吻合;(2)通過多特征融合后,融合模型的MAP 較單一特征模型提升較大,相比STFT語圖的提升了30%左右。
綜上所述,將不同特征進行融合,再利用分類器來進行分類的方法可以大大提高模型的識別能力,說明本文提出的多特征融合模型是可行的。同時本文提出的融合模型中,待訓練的參數(shù)只包含分類器的參數(shù),參數(shù)數(shù)量相對于VGG16 模型大大減少,可以降低對樣本數(shù)量的需求。
輸入DCNN的圖像大小是固定的,選擇不同的語圖持續(xù)時間,會改變語圖中鳥鳴聲區(qū)域的特征,進而影響識別模型的性能。為了研究語圖持續(xù)時間對識別性能的影響,選擇持續(xù)時間為100 ms、300 ms和500 ms,分別計算得到3 個語圖樣本集。按照本文提出的建模方法得到不同持續(xù)時間下的單一特征模型和融合模型。
圖6為不同持續(xù)時間時,不同模型的測試MAP對比。
從圖6可以看出,語圖持續(xù)時間不同時,對于同一個模型,持續(xù)時間為300 ms 的MAP 值最大,100 ms 的最小,而且4 種模型的變化規(guī)律一致。進一步對35 種鳥類鳥鳴聲的音節(jié)持續(xù)時間進行了統(tǒng)計分析,得到了不同持續(xù)時間的音節(jié)數(shù)量分布如圖7所示,71.7%的音節(jié)持續(xù)時間在100~300 ms之間。
圖6 不同持續(xù)時間語圖下不同模型的測試MAP對比Fig.6 Comparison of test MAP with different model and duration
圖7 不同持續(xù)時間的音節(jié)數(shù)量分布Fig.7 Distribution of syllable quantity with different duration
依據(jù)統(tǒng)計結果分析可得,持續(xù)時間為300 ms時效果最佳的原因在于:本文提出的方法是基于語圖中鳥鳴聲區(qū)域的圖像特征實現(xiàn)語圖的分類,達到識別鳥類物種的目的。因此圖像當中鳥鳴聲區(qū)域的完整性對于準確識別鳥類物種影響較大。鳥鳴聲的音節(jié)持續(xù)時間各不相同,當音節(jié)的持續(xù)時間小于語圖持續(xù)時間時,在語圖中能夠完整顯示音節(jié)的特征,可以提高識別的準確率。而在完整性保證的基礎上持續(xù)時間更長時,得到的語圖數(shù)量減小,等效于訓練樣本數(shù)量下降,導致訓練的效果下降。
綜上所述,不同語圖持續(xù)時間會影響模型的識別性能。在數(shù)據(jù)量足夠大時,可以盡量選擇較長的持續(xù)時間,使每幅語圖中的鳴聲區(qū)域保持完整。如果數(shù)據(jù)量有限,則需要根據(jù)鳥鳴聲音節(jié)持續(xù)時間的分布,選擇合適的持續(xù)時間。
為了對比不同信噪比下不同模型的識別性能,重新整理語圖持續(xù)時間為300 ms 時在測試集上的實驗結果。按照信噪比大小重新整理成3個子集,為了保證每個集樣本數(shù)均衡,分為強噪聲集(信噪比在20~35 dB)、中噪聲集(信噪比在35~45 dB)以及低噪聲集(信噪比在45~60 dB)。計算得到不同子集的識別準確率如圖8所示。
圖8 不同信噪比下的模型的識別精度Fig.8 Precision under different SNR
從圖8中可以看出,隨著信噪比的升高,4 種模型的識別精度都在下降。進一步計算得到強噪聲集和低噪聲集上識別精度的相對誤差:Ch、Mel、Spe和Fuse的分別為19.64%、17.15%、18.81%和9.73%,3 個單一特征模型的下降的數(shù)值更大,說明多特征融合模型的抗噪能力較其他3個模型更強。
為了進一步提高識別的準確率,本文提出一種基于Chirplet 語圖、Mel 語圖以及STFT 語圖3種語圖特征融合的鳥類物種識別方法。該方法首先建立3 個不同語圖輸入時的基于VGG16 特征遷移的單一特征模型,然后將其進行加權求和融合得到特征融合模型。以ICML4B 鳴聲庫的35 種鳥類為研究對象,對比了持續(xù)時間為500 ms 的語圖作為輸入時4 種模型的MAP 值,特征融合模型較前3 個模型在MAP 值和訓練效率上均有較大的提升,驗證了本文提出的多特征融合模型的可行性及優(yōu)勢;為了研究語圖持續(xù)時間的影響,選擇持續(xù)時間分別為100 ms、300 ms 以及500 ms 的語圖作為輸入,對比不同模型的MAP 值,結果表明持續(xù)時間300 ms 的MAP 值最高。對比了不同模型識別不同信噪比鳴聲的識別效果,結果表明多特征融合模型抗噪聲的能力最強。因此,根據(jù)鳥鳴聲的音節(jié)持續(xù)時間分布,選擇合適的語圖持續(xù)時間,利用本文提出的多特征融合可以提高鳥類物種識別的準確率。而且該融合模型的訓練參數(shù)少,適合于樣本數(shù)量小的鳴聲數(shù)據(jù)集的分類和識別,這對于有些珍稀鳥類的識別具有較高的應用價值。