萬永菁 王博瑋 婁定風



摘 要:進口木材蛀蟲檢疫是海關的一項重要工作,但其存在著蟲聲檢測算法準確率低、魯棒性差等問題。針對這些問題,提出了一種基于三維卷積神經網絡(3D CNN)的蟲音檢測方法以實現蟲音特征的識別。首先,對原始蟲音音頻進行交疊分幀預處理,并使用短時傅里葉變換得到蟲音音頻的語譜圖;然后,將語譜圖作為3D CNN的輸入,使其通過包含三層卷積層的3D CNN以判斷音頻中是否存在蟲音特征。通過設置不同分幀長度下的輸入進行網絡訓練及測試;最后以準確率、F1分數以及ROC曲線作為評估指標進行性能分析。結果表明,在交疊分幀長度取5s時,訓練及測試效果最佳。此時,3D CNN模型在測試集上的準確率達到96.0%,F1分數為0.96,且比二維卷積神經網絡(2D CNN)模型準確率提高近18%。說明所提算法能準確地從音頻信號中提取蟲音特征并完成蛀蟲識別任務,為海關檢驗檢疫提供有力保障。
關鍵詞:三維卷積神經網絡;短時傅里葉變換;語譜圖;蟲音識別;聲學信號處理
中圖分類號:TP391.4
文獻標志碼:A
Insect sound feature recognition method based on three-dimensional convolutional neural network
WAN Yongjing1, WANG Bowei1*, LOU Dingfeng2
1.School of Information Science and Engineering, East China University of Science and Technology, Shanghai 200237, China;
2.Shenzhen Customs, Shenzhen Guangdong 518045, China
Abstract:
The quarantine of imported wood is an important task for the customs, but there are problems such as low accuracy and poor robustness in the insect sound detection algorithm. To solve these problems, an insect sound detection method based on Three-Dimensional Convolutional Neural Network (3D CNN) was proposed to detect the presence of insect sound features. Firstly, the original insect audio was framed and pre-processed, and Short-Time Fourier Transform (STFT) was operated to obtain the spectrogram of the insect audio. Then, the spectrogram was used as the input of the 3D CNN consisting three convolutional layers. Network training and testing were conducted by setting inputs with different framing lengths. Finally, the analysis of performance was carried out using metrics like accuracy, F1 score and ROC curve. The experiments showed that the test results were best when the overlap framing length was 5 seconds. The best result of the 3D CNN model on the test set achieved an accuracy of 96.0% and an F1 score of 0.96. The accuracy was increased by nearly 18% compared with that of the two-dimensional convolutional neural network (2D CNN) model. It shows that the proposed model can extract the insect sound features from the audio signal more accurately and complete the insect identification task, which provides an engineering solution for customs inspection and quarantine.
Key words:
Three-Dimensional Convolutional Neural Network (3D CNN); Short-Time Fourier Transform (STFT); spectrogram; insect sound detection; acoustic signal processing
0 引言
我國進口原木的數量逐年上升,其攜帶的有害生物造成的疫情也不斷加重,其中小蠹科、長小蠹科、天牛科、吉丁蟲科、長蠹科等鉆蛀性昆蟲為進口原木中的主要害蟲[1]。進口原木中的這些害蟲對我國的生態環境、林業生產和公眾生活構成極大的威脅。在口岸檢疫時,通常采用破壞性的檢查方法對原木進行目視和剖檢,其檢出效率不高,費工費時[2]。近年來,隨著聲學、信號處理、計算機技術的發展,出現了無損的檢測方法。如Sutin等[3]利用震動傳感器獲得木材表面的振動信號,提出了一套基于時域的害蟲檢測方法;害蟲在進食、活動和交流時都會有聲音信號的產生,所以利用聲音信號來檢測也是一個不錯的選擇:祁驍杰等[4]通過采集聲音信號,采用時頻結合的方法對木材內的害蟲數量進行識別。盡管以上研究取得了不錯的效果,但使用的方法均基于時頻域手工提取的特征,帶來的設備成本和對環境的要求都嚴重限制了其在邊境檢疫中的推廣。隨著近些年來深度學習的快速發展,它在圖像處理、語音識別、自然語言處理等領域的成功應用也為解決這個問題帶來了新的研究方法和思路。
將深度學習應用在動物的聲學識別和分類最早可以追溯到本世紀初期蝙蝠回聲定位的相關研究中[5]。隨后也不斷涌現出了許多基于傳統特征提取的識別方法。利用動物的聲音信號來進行識別在害蟲控制[6]、物種多樣性檢測[7]等方面都有著重要的作用。傳統的聲音識別主要包括三個階段:首先是預處理,然后是特征提取,最后是模式識別。預處理通常包括標準化、降噪等,雖然目前降噪技術在某些數據集上能夠有效工作,但是在復雜環境下的處理仍然是一個挑戰。然后會進入到特征提取環節,將數據轉換為適合分類器輸入的形式進入到最后的判決階段。通常,特征提取指的是應用信號處理的不同方法提取時頻域的各種特征。常見的提取方法包括梅爾頻率倒頻系數(Mel Frequency Cepstral Coefficients, MFCC)[8],線性頻率倒頻系數(Linear Frequency Cepstral Coefficients, LFCC)[9]。這些方法不僅在語音識別領域均取得了不錯的效果,在其他音頻信號處理中也得到了廣泛的應用。除此之外,利用短時傅里葉變換(Short-Time Fourier Transform, STFT)、小波變換(Wavelet Transform, WT)以及希爾伯特黃變換(Hilbert-Huang Transform, HHT)等方法得到語譜圖的特征提取也有著不錯的效果[10]。常見的分類方法包括支持向量機(Support Vector Machine, SVM)、隱馬爾可夫模型(Hidden Markov Model, HMM)、高斯混合模型(Gaussian Mixture Model, GMM),以及最近的深度神經網絡(Deep Neural Network, DNN)。深度神經網絡通過使用視覺上的某些信息進行相關的訓練。音頻通過二維的語譜圖作為輸入,卷積神經網絡(Convolutional Neural Network, CNN)模型能夠捕獲時域和頻域的某些能量變換從而實現分類判決任務。但是使用二維輸入將會使CNN模型更多地關注背景噪聲而不是聲音事件,且其性能受數據集大小影響較大。
為了解決傳統信號處理在高噪聲背景下難以提取微弱信號以及二維卷積神經網絡(Two-Dimensional Convolutional Neural Network, 2D CNN)不能充分利用時頻信息的問題,本文提出了基于聲學的三維卷積神經網絡(Three-Dimensional Convolutional Neural Network, 3D CNN)以識別木材中的害蟲。CNN在各種視覺識別任務中都有著出色的性能。最近,CNN在聲學信號處理方面有了一些新的嘗試:牛津大學的Kiskin等[11]提出基于小波變換的2D CNN以識別熱帶家蚊且達到了0.925的F1分數,該方法也同樣被證實在鳥類的分類任務中有著出色的表現;Zhou等[12]通過快速傅里葉變換(Fast Fourier Transform, FFT)和n-gram語言模型提取特征,使用CNN混合模型在自動語言識別(Automatic Speech Recognition, ASR)上也取得了不錯的成果。考慮到木制品中害蟲活動規律的周期性,本文提出了基于3D CNN的蟲聲檢測方法。該方法相比二維能夠更好地提取蟲音特征,在F1分數和準確率兩個指標上均優于2D CNN模型,在低信噪比環境下也能夠實現較高的準確率,為邊境檢驗檢疫部門提供檢測害蟲的有效工具。
1 卷積神經網絡
1.1 二維卷積神經網絡
卷積神經網絡是一種典型的深度學習方法,近年來的飛速發展使得其在圖像識別領域有了巨大的進步。深度卷積神經網絡通過模仿生物神經網絡,低層表示細節,高層表示語義,能夠通過大量的數據自動地訓練出模型[13]。二維卷積神經網絡的計算公式如式(1)所示:
yxy=f(∑i∑jwijv(x+i)(y+j)+b)(1)
其中:yxy是位置(x,y)的特征圖,wij是卷積核的權重,v(x+i)(y+j)是在(x+i,y+j)的輸入值,b是偏差[14]。
一個典型的神經網絡通常包括卷積層、池化層和全連接層。CNN網絡的核心功能在卷積層完成,在每一層都會計算輸入與當前層權重的點積。在圖像處理中,為了確保能從圖像信息中得到所有的顏色信息,接受層的深度必須和顏色通道個數一致。卷積層的輸出叫作特征圖,而特征圖的個數也由深度決定。卷積層后會有激活層,通常會使用非線性函數對上一層數據進行激活。在卷積層后通常也會有池化層,池化層的作用是在保證輸入不變的情況下進行降采樣以減少計算量。
1.2 三維卷積神經網絡
三維卷積神經網絡和二維卷積神經網絡類似,是二維卷積神經網絡的一種拓展。在二維卷積神經網絡中,卷積層的輸入是二維的空間信息;而在三維卷積神經網絡中,時間和頻域信息能夠被更加充分地利用。三維神經網絡的卷積核有三個維度,有時還考慮顏色通道為第四個維度。其計算公式如式(2)所示:
yxyt=f(∑i∑j∑kwijkv(x+i)(y+j)(t+k)+b)(2)
其中:yxyt是在(x,y,t)處的特征圖,f是激活函數,wijk是核權重,v(x+i)(y+j)(t+k)是在(x+i,y+j,t+k)位置的輸入值,b是偏差[14]。
正如前面所描述的那樣,三維卷積神經網絡是對二維卷積神經網絡的一種拓展。模型的輸入也會根據需要修改為合適的三維形式。
2 基于3D CNN的檢測方法
2.1 方法概述
本文以短時傅里葉變換(STFT)得到的語譜圖作為3D CNN的輸入搭建了模型,應用到害蟲的聲學識別中。首先,對獲取到的音頻數據進行標準化的預處理;其次,需要提取音頻數據的特征,本文利用短時傅里葉變換(STFT)提取蟲聲的時頻特征并進行分幀處理;最后,將二維的頻譜特征數據變換到合適的三維形式作為3D CNN的輸入進行訓練。
2.2 數據來源和預處理
本文的音頻數據來源于深圳市出入境檢驗檢疫局,覆蓋了在2017年到2018年期間不同環境下錄制的67段音頻。其中785個片段為31種害蟲在木材中活動和進食的音頻,1534個片段為各種實際檢疫環境中的非蟲音(分幀長度n=5s時)。存在害蟲的音頻被標記為1,包括環境噪聲在內的非蟲音被標記為0。木材中的害蟲已經通過昆蟲分類專家鑒定,因此可以認為數據標定是準確的。
同時,特征的提取還受到錄音設備、發聲響度的影響,本文使用了式(3)對音頻進行標準化處理,其中x[k]表示聲音序列,K表示音頻的長度。
x[k]=x[k]∑kx2[k]/K(3)
2.3 特征提取
為了將訓練數據轉換為適合神經網絡訓練的形式,本文采用短時傅里葉變換(STFT)提取時頻特征。離散短時傅里葉變換方法如式(4)所示:
STFT{x[k]}≡X(m,ω)=∑∞k=-∞x[k]w[k-m]e-jωk(4)
根據害蟲的發聲規律,對音頻信號作短時傅里葉變換得到語譜圖,然后將語譜圖以50%的重疊分幀為n秒的片段,其中n取3、4、5、6、7、8,在不影響原始數據的基礎上擴大了實驗樣本。因為數據集的采樣頻率fs=44100Hz,最大可辨識頻率被限制在22050Hz。本文選擇了20ms的Hanning窗,重疊率為50%,1024點的FFT來計算短時傅里葉變換。最后,原始語譜圖(80×100×n)作為2D CNN的輸入并將原始語譜圖規范化為80×100×n作為3D CNN的輸入(n=4時)。
3 CNN結構
3.1 3D CNN
本文使用的三維CNN是對二維CNN的一種擴展。具體而言,3D CNN包括三個卷積層(Kernel):第一層卷積層包括8個3×3×3的卷積核;第二層卷積層有32個3×3×3的卷積核;第三層卷積層有40個3×3×3的卷積核。均采用SAME的補零方式,步長為1。
另外在每層卷積層后還包括批規范層[15]、激活函數層、最大池化層(Max Pooling)和Dropout[16]層。其中批規范層將前一層的值重新規范化,使得其輸出數據的均值接近0,標準差接近1,在提高學習速率的同時防止其過擬合。批規范層的參數設置均相同,動量參數為0.99,epsilon為0.001。而激活層的激活函數均選用線性整流函數(Rectified Linear Unit,ReLu)。最大池化層均采用SAME補零方式,池化層各層的窗口大小分別為1×2×2、2×2×2、3×2×2,步長與窗口大小相同。為了防止過擬合,將Dropout層速率均設置為0.5。在進入全連接層之前,Flatten層將特征向量整合為一維。最后一層節點個數為2,用Softmax函數激活以預測有蟲或無蟲。詳細結構如圖1所示(n=5時)。
3.2 2D CNN
為了準確評估3D CNN的性能,本文搭建了與3D CNN類似的2D CNN模型。不同之處在于,2D CNN均采用二維的卷積核和池化窗口。卷積核大小均為3×3,步長為1;池化層窗口大小均為2×2,步長為2。其他參數設置與3D CNN相同。
4 實驗結果與分析
4.1 實驗平臺
所有的實驗均是在Google Colab平臺上完成的。該平臺搭載有一顆Intel Xeon @2.20GHz的處理器,13GB RAM以及一塊20GB的Nvidia Tesla K80圖形處理器,操作系統為Ubuntu。深度學習框架是以Python和Tensorflow[17]為后端的Keras。
4.2 評估指標
本文的性能通過準確率、F1分數以及受試者工作特征(Receiver Operating Characteristic, ROC)曲線[18]來進行評估。F1分數能夠綜合準確率(Precision)和召回率(Recall)兩個性能指標綜合評判,F1分數越高,則模型的效果越好。準確率、召回率和F1分數的計算方法如式(5)(6)(7)所示。所有的指標均在測試集上計算。
Precision=正確有蟲標簽數預測有蟲標簽數(5)
Recall=正確有蟲標簽數實際有蟲標簽數(6)
F1=2×Precision×RecallPrecision+Recall(7)
4.3 參數選擇
訓練過程中,2D CNN和3D CNN模型均使用了AdaDelta優化器[19],損失函數為分類交叉熵(Categorical Crossentropy)函數。其中AdaDelta學習速率設置為1.0,epsilon參數設置為10-8。將整個數據集按90%、5%、5%的比例分為訓練集、驗證集和測試集。驗證集用于超參數調節以及篩選最后的模型,測試集用于對模型最后的評估。為了避免訓練過程中的過擬合現象,在訓練66代(epoch)后停止訓練。
4.4 不同分幀長度的網絡性能
本文首先研究了不同分幀長度的輸入對網絡性能的影響。選擇合適的分幀長度在本文中至關重要:過長會導致可訓練的數據集減少,網絡容易出現過擬合現象;過短則不能保證幀內有蟲,從而導致標簽錯誤。不同的分幀長度的網絡性能以準確率、F1分數、真陽率(True Positive Rate,TPR)和真陰率(True Negative Rate,TNR)來表示(表1);6種分幀長度的ROC曲線如圖2所示。結果表明在n=4、5、6時,網絡性能較好。本文將準確率、F1分數和ROC曲線折中考慮,在n=5時模型性能達到最佳。
4.5 與2D CNN的比較
本文將3D CNN模型與2D CNN模型從準確率、F1分數和ROC曲線三個指標進行了比較。兩種模型的詳細配置如表2所示(“—”表示該層沒有這個參數)。從表3可以看出,在準確率和F1分數兩個指標上,3D CNN模型均勝過2D CNN模型。圖3給出了兩種方法的ROC曲線,可以看到3D CNN模型效果較好。
[6]YAZGA B G, KIRCI M, KIVAN M. Detection of sunn pests using sound signal processing methods [C]// Proceedings of the 2016 5th International Conference on Agro-Geoinformatics (Agro-Geoinformatics). Piscataway, NJ: IEEE, 2016: 1-6.
[7]ZILLI D, PARSON O, MERRETT G, et al. A hidden Markov model-based acoustic cicada detector for crowdsourced smartphone biodiversity monitoring[C]// Proceedings of the 23rd International Joint Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2013: 2945-2951.
[8]LIKITHA M S, GUPTA S R R, HASITHA K, et al. Speech based human emotion recognition using MFCC [C]// Proceedings of the 2017 International Conference on Wireless Communications, Signal Processing and Networking. Piscataway, NJ: IEEE, 2017: 2257-2260.
[9]POTAMITIS I, GANCHEV T, FAKOTAKIS N. Automatic acoustic identification of crickets and cicadas[C]// Proceedings of the 9th International Symposium on Signal Processing and Its Applications. Piscataway, NJ: IEEE, 2007: 1-4.
[10]DONG X, YAN N, WEI Y. Insect sound recognition based on convolutional neural network [C]// Proceedings of the IEEE 3rd International Conference on Image, Vision and Computing. Piscataway, NJ: IEEE, 2018: 855-859.
[11]KISKIN I, ZILLI D, LI Y, et al. Bioacoustic detection with wavelet-conditioned convolutional neural networks [J]. Neural Computing and Applications, 2018, Online: 1-13.
KISKIN I, ZILLI D, LI Y, et al. Bioacoustic detection with wavelet-conditioned convolutional neural networks [EB/OL]. [2018-12-28]. https://link.springer.com/article/10.1007/s00521-018-3626-7.
[12]ZHOU X, LI J, ZHOU X. Cascaded CNN-resBiLSTM-CTC: an end-to-end acoustic model for speech recognition [EB/OL]. [2019-02-01]. https://arxiv.org/pdf/1810.12001.pdf.
[13]SCHMIDHUBER J. Deep learning in neural networks: an overview[J]. Neural Networks, 2015, 61: 85-117.
[14]HUANG J, ZHOU W, LI H, et al. Sign language recognition using 3D convolutional neural networks[C]// Proceedings of the 2015 IEEE International Conference on Multimedia and Expo. Piscataway, NJ: IEEE, 2015: 1-6.
[15]IOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift [C]// Proceedings of the 32nd International Conference on International Conference on Machine Learning. Brookline, MA: JMLR, 2015, 37: 448-456.
[16]SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al. Dropout: a simple way to prevent neural networks from overfitting [J]. Journal of Machine Learning Research, 2014, 15(1): 1929-1958.
[17]ABADI M, BARHAM P, CHEN J, et al. TensorFlow: a system for large-scale machine learning [C]// Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation. Berkeley, CA: USENIX Association, 2016: 265-283.
[18]DOWNEY T J, MEYER D J, PRICE R K, et al. Using the receiver operating characteristic to asses the performance of neural classifiers [C]// Proceedings of the 1999 International Joint Conference on Neural Networks. Piscataway, NJ: IEEE, 1999: 3642-3646.
[19]ZEILER M D. ADADELTA: an adaptive learning rate method [EB/OL]. [2019-02-01].? https://arxiv.org/pdf/1212.5701.pdf.
[20]SELVARAJU R R, COGSWELL M, DAS A, et al. Grad-CAM: visual explanations from deep networks via gradient-based localization [C]// Proceedings of the 2017 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2017, 1: 618-626.
This work is partially supported by the National Natural Science Foundation of China (61872143), the National Undergraduate Innovation and Entrepreneurship Training Program of China (201810251064).
WAN Yongjing, born in 1975, Ph. D., associate professor. Her research interests include intelligent information processing, image processing, pattern recognition, audio signal processing.
WANG Bowei, born in 1997, undergraduate student. His research interests include signal processing, data mining, machine learning.
LOU Dingfeng, born in 1960, professorresearch fellow. His research interests include entomological bioacoustics.