邢照亮,吳偉銀,張正曉,陳麒麟,倪東明
(1.先進輸電技術國家重點實驗室(全球能源互聯網研究院有限公司),北京 102209;2.國網浙江省電力有限公司永嘉縣供電公司,浙江 溫州 325100;3.北京林業大學 工學院,北京 100083)
鳥鳴聲中包含的豐富的生態學信息,是衡量生物群落總體平衡的重要指標[1]。基于音頻采集的鳥類監測系統具有非干擾、實時等優點,在國外已經得到廣泛應用。然而該監測方法運行時會產生海量的鳥鳴聲數據,依靠生態保護工作者手動處理這些數據,需要耗費大量的時間、人力和物力[2]。
國內外學者對鳥鳴聲識別方法開展了大量研究。徐淑正等[3]將基于動態時間規劃模板的算法用于多標簽的鳥聲識別,最終在11 類的鳥聲分類中達到0.92 的準確率。劉昊天等[4]用特征遷徙學習的鳥類識別方法,在多物種鳥聲數據集上取得了較高的識別準確率。Zhang 等[5]用鳥鳴聲的光譜圖案和紋理特征作為輸入,用基于SVM的分類方法對2762 個鳥類事件進行了分類并得到了較好的分類效果。Selin 等[6]用無監督的分類器SOM 和受監督的分類器MLP 對8 種鳥類的鳴聲進行分類,最后分別達到了0.78 和0.96 的識別準確率。謝將劍等[7]利用線性調頻小波變換(Linear Chirplet Transform,LCT)、短時傅里葉變換(Short-Time Fourier Transform,STFT)、梅爾頻率倒譜變換(Mel Frequency Cepstrum,MFCT)獲得3種語譜數據集,用VGG16 模型對18 種鳥類語譜圖進行分類達到了較高的識別準確率。鳥鳴聲中不僅包含個性聲音的空間特征[8],而且包含了鳴聲段之間的時序特征,上述鳥鳴聲識別方面的研究均沒有充分利用鳥類聲紋時序特征。
長短時記憶網絡LSTM(Long Short-Term Memory)是一種時間遞歸神經網絡,該網絡適合于處理具有時間關聯度的聲紋信號。本文在深度卷積神經網絡的基礎上加入了長短時記憶網絡LSTM(Long Short-Term Memory)提取鳥聲語譜圖幀間的時間關聯度特征,形成了CLSTM 識別模型。以Xeno-Canto 中的5 種鳥類作為研究對象,通過對比實驗驗證了本文提出模型的優越性。
本文采用的鳥鳴聲數據集來自Xeno-Canto(https://www.xeno-canto.org/)數據庫,選取了5 種鳥類的鳴聲數據,具體的物種信息如表1 所示。每個鳴聲信號均為WAV 格式,采樣頻率均為44.1kHZ。

表1 5 種鳥鳴聲信號的信息
為了補償鳥鳴聲信號傳播時高頻成分的衰減,首先需要對鳴聲信號進行預加重處理,即用高通濾波器對鳴聲信號進行濾波:

式(1)中,μ 通常取值為0.97。
為了減少靜音段占用內存空間增大計算量的影響,需要對輸入的鳴聲信號做去靜音段處理,其中去除靜音段的無聲閾值為0.5。由于鳴聲信號為非平穩的隨機信號,在對鳴聲信號進行時頻變換前,需要對信號分幀和加窗,其中窗函數采用Hanning 窗函數,分段的時間長度為300ms,段與段之間的重疊率為0.5。
分幀和加窗以后,對各個幀信號進行梅爾頻譜倒譜變換(Mel Frequency Cepstrum,MFCT),其計算參數如表2 所示。

表2 梅爾頻譜域倒譜變換計算參數
最后再將變換后的每一幀信號輸出為224*224 的RGB 圖像,圖1 所示為5 種鳥類的梅爾語譜圖的示例圖像。

圖1 5 種鳥類的語譜圖
本文模型的特征提取部分采用了VGG16 模型[9],VGG16 卷積神經網絡是牛津大學在2014 年提出來的模型,VGG 模型采用3*3 的小型卷積核和2*2 的最大池化核,通過不斷加深網絡結構來提升性能,在圖像分類和目標檢測任務中都表現出非常好的結果。在2014 年的ILSVRC比賽中,VGG 在Top-5 中取得了92.3%的正確率。
LSTM(Long Short-Term Memory)是一種長短時記憶序列網絡[10],其核心的概念在于細胞狀態以及“門”結構。細胞狀態相當于信息傳輸的路徑,讓信息在序列中傳遞下去。信息的添加和移除可以通過“門”結構來實現,“門”結構在訓練過程中會去學習該保存或遺忘哪些信息,如圖2 所示為LSTM 網絡單元結構圖。

圖2 LSTM 網絡單元
基于VGG16 的空間特征提取能力及LSTM 的時序特征建模能力,本文提出了C-LSTM 模型,如圖3 所示,模型由三部分組成,分別是VGG16 卷積層、LSTM 層及全連接層。

圖3 C-LSTM 模型框圖
其中模型輸入的為鳥鳴聲語圖序列,首先通過VGG-16 卷積層提取圖像的特征,作為LSTM 的輸入。對于輸入的圖像序列,通過CNN 網絡后的輸出特征為4 維向量,而LSTM 的輸入的大小為3 維向量。因此本文采取了將卷積后的輸出特征先降維,然后再轉置的運算。最后再將經過LSTM 單元輸出的特征向量連接到2 個全連接層和Softmax 輸出層組成的分類器中,如圖4 所示為CLSTM 模型結構圖。

圖4 C-LSTM 模型結構
實驗在Win10、64 位操作系統下,Python3.6 的編程環境,基于深度學習框架Tensorflow1.8.0 完成。實驗建立的數據集訓練樣本數如表3 所示。

表3 數據集訓練樣本
選擇平均識別準確率MAP 作為模型的評價指標,MAP 的計算公式如下:

其中:q 為鳥類物種編號,AveP(q)為對應物種的識別準確率。
為了驗證長短時記憶網絡(LSTM)對模型的提升效果,選擇VGG16 模型進行對比實驗,C-LSTM 和VGG16模型的訓練參數均采用表4 所示的參數值。

表4 訓練參數
選擇表3 中的5 種鳥類的梅爾語譜圖樣本集作為輸入,分別對物種識別模型進行訓練和驗證。圖5 為模型在驗證時損失函數值隨迭代次數的變化。
由圖5 可得,在相同的訓練參數條件下,訓練初期C-LSTM 的損失值大于VGG16,但隨著迭代輪數的增加,C-LSTM 的損失值收斂為小于VGG16 模型的損失值。

圖5 VGG16 和C-LSTM 測試損失值變化
圖6 為驗證時VGG16 和C-LSTM 模型的MAP 值隨迭代次數的變化。
由圖6 可知,VGG16 和C-LSTM 隨著訓練迭代次數的增加,MAP 值一直處于上升趨勢。在訓練初期,CLSTM 的MAP 值小于VGG16,但隨著迭代輪數的增加,C-LSTM 的MAP 值收斂為大于VGG16 的MAP 值。
表5 記錄了VGG16 和C-LSTM 網絡在測試時MAP的起始值和最終值。
綜合分析圖5、圖6 和表5 可得:

圖6 VGG16 和C-LSTM 測試準確率變化

表5 VGG16 和C-LSTM 測試結果對比
(1)在訓練初期,由于訓練模型迭代次數較少,C-LSTM 網絡對語譜圖輸入序列的時序特征的學習能力還未體現出來,所以此時VGG16 的性能要優于CLSTM。
(2)隨著迭代次數增加,C-LSTM 模型將CNN 網絡對語譜圖空間特征的學習能力及LSTM 網絡對輸入語譜圖序列時序特征的學習能力有效結合,其最終MAP 值在測試集上達到了0.9147,優于VGG16 模型的0.8628,驗證了C-LSTM 模型的優越性能。
本文提出了一種基于C-LSTM 模型的識別鳥鳴聲方法,該方法首先通過計算得到鳥類鳴聲的梅爾語譜圖,然后輸入到融合CNN 和LSTM 的C-LSTM 模型中,實現鳥類的識別。實驗結果表明,與傳統的CNN 網絡模型相比,C-LSTM 作為識別模型時能夠更好地對鳥鳴聲的時間特征進行學習,具有更高的識別準確率,可以為鳥鳴聲識別提供新的思路及方法。