劉 峰 羅再磊 沈同圣 趙德鑫
(軍事科學院 國防科技創(chuàng)新研究院 北京 100071)
隨著海洋的戰(zhàn)略地位日益突顯,各國都在積極開發(fā)利用海洋資源和空間。聲波是目前在海洋中唯一能夠進行遠距離傳播的能量形式,水聲目標識別對于海洋開發(fā)、國防安全有著重大意義,現(xiàn)已成為水聲領域的研究熱點之一。水下目標自動識別主要包括特征提取與構建分類器兩大部分。當前主流的特征提取方法包括時域波形結構分析、頻域譜估計以及時頻域分析3個方面。時間域的分布可由峰-峰值、過零點分布、波列面積和波長差分布等特征進行描述[1]。頻域譜估計可提取信號的頻率、功率、包絡等特征,以及利用高階譜分析非高斯信號的特征[2]。這類方法原理簡單、易于實現(xiàn),僅通過采集到的原始水聲信號即可獲得,但是提取的特征需要一定的先驗知識進行信號預處理,在時變的海洋環(huán)境下泛化性較弱。時頻分析方法提供了時間域與頻率域的聯(lián)合分布信息,可以清楚地描述信號頻率隨時間變化的關系,是目前應用效果最好、應用最廣的特征提取方法,常用的方法包括短時傅里葉變換(Short time Fourier transform,STFT)[3]、梅爾頻率倒譜系數(shù)(Mel-Frequency cepstral coefficients,MFCC)[4?5]、希爾伯特-黃變換(Hilbert-Huang transform,HHT)等。在特征提取之后再訓練隱馬爾可夫模型(Hidden Markov model,HMM)、支持向量機、K 近鄰、神經網絡等分類器以實現(xiàn)水下目標的識別。
近年來,隨著計算機硬件技術、信號處理技術的進一步發(fā)展,以機器學習(Machine learning,ML)、深度學習(Deep learning,DL)、大數(shù)據(jù)(Big date)等為代表的人工智能(Artificial intelligence,AI)技術,已經在語聲識別、圖像理解、機器翻譯等多個方面取得了長足的進展[6],這為水聲目標識別提供了新的解決思路。借助現(xiàn)代計算機技術、信號處理技術、人工智能技術等,開展基于深度學習和大數(shù)據(jù)分析的水聲信號智能化目標識別技術研究,可有效提高自主識別系統(tǒng)的泛化能力和環(huán)境適應性。水聲信號在傳播過程中受環(huán)境影響較大,存在著數(shù)據(jù)獲取困難、樣本數(shù)據(jù)少、噪聲干擾強等特點,在實際的應用場景中,很難針對每一種水下目標收集到足量的數(shù)據(jù),因此當收集到的數(shù)據(jù)量不足以支撐深度神經網絡的訓練需求時,如何利用少量數(shù)據(jù)實現(xiàn)目標識別是當前研究所面臨的難題。
Kamal 等[7]首先將深度置信網絡模型應用于水聲信號被動目標識別任務中,在40 個類別的目標共1000 個測試樣本的測試集上取得了90.23%的分類正確率,驗證了深度學習模型的有效性。王強等[8]利用卷積神經網絡(Convolutional neural network,CNN)對3 類水下目標噪聲數(shù)據(jù)進行分類識別,并與支持向量機方法進行對比。隨著深度學習的發(fā)展,目標識別的網絡構架逐漸成熟,基于ResNet[9]和DenseNet[10]等方法的網絡模型性能顯著優(yōu)于早期的基于VGG[11]、AlexNet[12]等架構,這主要是因為ResNet 很好地解決了訓練過程中的梯度消失問題。然而,在水聲目標識別任務中,可用數(shù)據(jù)規(guī)模通常較小,訓練這樣的深層架構會導致訓練樣本的過度擬合,目前最先進的分類方法仍然主要由VGG架構產生。McDonnell等[13]采用了取自計算機視覺領域的VGG 架構,以聲譜圖作為網絡輸入,在聲場景分類方面取得了良好的效果。Koutini 等[14]通過調整不同網絡層中CNN 的感受野增強模型的泛化能力,實現(xiàn)對不同場景中的聲目標信號進行分類,通過對比多種網絡模型的性能,基于VGG網絡的改進結構取得了最好的分類效果。
本文以Mel功率譜(Mel spectrum)作為水聲信號的特征提取方法,提出了一套適用于小樣本水聲信號的目標識別方法,利用多種數(shù)據(jù)增廣技術并結合深度學習網絡進行仿真驗證。結果表明,在數(shù)據(jù)樣本匱乏和樣本分布不平衡情況下的水聲目標識別方面,本文方法具有明顯優(yōu)勢。
本文方法如圖1所示,處理流程主要分為3 個步驟:(1)將原始信號提取Mel功率譜作為特征;(2)采用數(shù)據(jù)增強方法,分別從時域信號和時頻譜圖兩個方面進行擴展;(3)利用改進的VGG網絡對時擴展后的頻譜圖進行特征學習和訓練,實現(xiàn)目標分類。
圖1 本文方法的網絡結構示意圖Fig.1 Schematic diagram of the method in this paper
在聲頻信號處理中,構建特征向量和設計分類器通常被視為兩個獨立的問題。MFCC特征受到人類聽覺系統(tǒng)和語聲感知生理學的啟發(fā),被用作聲頻分析任務的主要聲學特征之一,由于其濾除的信息較多,Mel 頻譜作為一種特征提取方式在使用神經網絡作為分類器時被廣泛使用。
Mel 頻譜的提取過程如圖2所示,首先經過分幀加窗等預處理確定待處理的信號范圍,再利用快速傅里葉變換(Fast Fourier Transform,FFT)把水聲信號由時域變換到時頻域,用一組Mel 尺度的三角形濾波器組進行帶通濾波,再利用對數(shù)變換將這些幅值譜投影到一組縮小的頻帶上,然后用離散余弦變換(Discrete Cosine transform,DCT)進行近似的白化和壓縮,生成MFCC特征。由于DCT變換刪除了較多的信息,破壞了譜圖的空間關系,而省略DCT變換得到的Mel頻譜,在深度學習模型中通常能得到更好的分類效果。
圖2 Mel 頻譜特征提取過程Fig.2 The process of Mel-spectrogram feature extraction
在依賴頻譜圖作為深度學習的輸入特征時,譜圖的分辨率嚴重影響最終的目標分類結果,然而,時間分辨率和頻率分辨率是相互矛盾的。在處理過程中,寬窗具有良好的頻率分辨率,但時間分辨率會受到影響,窄窗則相反。到目前為止,這個問題并沒有得到統(tǒng)一的共識,根據(jù)不同的實際問題,研究者們選擇了不同的頻帶范圍,較為普遍的趨勢是將Mel 頻帶的數(shù)目限制在[60,200]范圍內。
數(shù)據(jù)增強是深度學習中常用的技術之一,主要用于增加訓練數(shù)據(jù)集,使數(shù)據(jù)集盡可能多樣化,使訓練模型具有較強的泛化能力。由于水聲信號本身就面臨著嚴重的數(shù)據(jù)樣匱乏、樣本完備性不足等問題,數(shù)據(jù)增強方法有助于改善目標分類結果。
本文分別從原始信號和頻譜圖兩方面進行數(shù)據(jù)的增強。在時域信號上,采用時域拉伸和音調變換進行數(shù)據(jù)增強,然后將變換后的信號轉換成Mel頻譜作為深度神經網絡的輸入。在頻譜圖上,借鑒SpecAugment[15]方法進行數(shù)據(jù)增強,該方法將聲信號的增強問題轉化為視覺問題進行處理,通過時空干擾和隨機掩蔽技術對頻譜圖實現(xiàn)增強,該方法能較好地應對時間方向上的變形和頻率信息的部分損失,具有較強的魯棒性和泛化性,這里忽略了時間扭曲變換,只采用時間掩蔽和頻率掩蔽進行變換。具體變換方法如下:
時域拉伸:放慢或加快聲頻樣本(同時保持音調不變)。每個樣本用兩個參數(shù)進行時間拉伸:{0.8,1.2};
音調變換:提高或降低聲頻樣本的音高(同時保持持續(xù)時間不變),每段聲頻樣本的音調變換比例為{?2,2};
時間掩蔽:在頻譜圖中使t個連續(xù)時間步長[t0,t0+t)被圖像均值掩蔽,其中t為掩蔽時長,其取值從0 到時間掩碼參數(shù)T的均勻分布中隨機選擇,t0為起始時間,從[0,τ ?t)中選擇,τ為信號幀長,T取值范圍與幀長呈正相關;
頻率掩蔽:使f個連續(xù)的Mel頻譜通道[f0,f0+f)被掩蔽,其中f為掩蔽頻段,其取值從0 到頻率掩碼參數(shù)F的均勻分布中隨機選擇,f0為起始頻率,從[0,υ ?f]中選擇,υ是Mel 頻譜的總頻帶數(shù),F(xiàn)取值與Mel頻帶數(shù)呈正相關。
根據(jù)上述參數(shù)設置,時域拉伸和音調變換可擴展數(shù)量為4,時間掩蔽和頻率掩蔽產生的數(shù)據(jù)增強可以表示在同一頻譜圖中,這里選擇擴展的倍數(shù)為5。因此,通過上述處理方法,結合原始信號共產生了10倍的數(shù)據(jù)增強。部分增強結果如圖3所示。
圖3 數(shù)據(jù)增強示意圖Fig.3 The schematic of data augmentation
本文參考VGG 網絡作為基礎模型,通過修改其網絡層中的部分參數(shù)以適應水聲信號的分類任務。網絡由8 個卷積層組成,每個卷積層通過一組濾波器對前一個卷積層的輸出進行卷積,用以捕獲特征圖中的局部信息,激活函數(shù)選擇ReLU,濾波器大小為3×3[12]。在每個卷積層之后應用批處理歸一化(Batch normalization)和2×2 的最大值池化,達到降低特征圖維度并避免過擬合的目的。對最后一個卷積層[16]的特征圖應用全局最大池化操作,將特征圖生成為一維向量,最后通過全連接層和softmax 分類器輸出不同目標類別的概率,實現(xiàn)分類。深度神經網絡通過多層結構自動提取聲譜圖中的特征信息,通過有監(jiān)督的線性與非線性的組合獲取數(shù)據(jù)的高層統(tǒng)計特征,達到減少人工參與、實現(xiàn)數(shù)據(jù)驅動的目的。由于聲信號的采樣率通常較高,且時域信號包含的信息有限,通常以人工提取的頻譜圖作為網絡的輸入數(shù)據(jù),本文將人工特征提取和深度網絡模型相結合實現(xiàn)水聲信號的識別,網絡結構和參數(shù)如表1所示。
表1 本文采用的基于VGG 模型改進的網絡構架Table 1 The network architecture based on improved VGG
為了評估本文的方法,使用ShipsEar 數(shù)據(jù)集[17]進行仿真驗證,該數(shù)據(jù)集中共包含90 段聲頻記錄,4 類不同的船只目標和1 類環(huán)境噪聲,數(shù)據(jù)是利用自容式水聽器對碼頭上往來的船只噪聲信號進行記錄,以采集不同船速下的噪聲以及與進塢或離塢時的空化噪聲。由于數(shù)據(jù)是在真實開放水域中采集的,部分信號中混雜了人說話聲、自然背景噪聲,偶爾也會記錄到海洋哺乳動物的聲音。最后,該數(shù)據(jù)集由5 類wav格式的90條記錄組成。每個類別包含一個或多個目標,每個聲頻片段的持續(xù)時間從15 s 到10 min 不等。經初步處理后,消除了背景噪聲干擾強烈和模糊不清的信號。對數(shù)據(jù)進行預處理,去除空白信號,并將原始信號按照5 s 時長進行分幀和標注,共生成1956 個標注樣本。將所有樣本按照7:1.5:1.5的比例進行隨機分割,得到訓練集、驗證集和測試集數(shù)據(jù)樣本分別為1370 個、293 個和293個。
詳細信息如表2所示,第一列是聲信號目標類別,第二列是每類對應的細分船只,第三列是每類目標的幀數(shù)。
表2 待測試數(shù)據(jù)集中的目標類別及幀數(shù)Table 2 Target category and number of frames in the data set to be tested
結合本文所述方法和網絡模型,采用Tensorflow2.1 和Librosa[16]模塊對聲頻信號進行處理,具體參數(shù)如下:
特征提?。簩⑤斎霐?shù)據(jù)下采樣到22050 Hz,STFT 采樣窗口為2048,步長移動率為25%,然后在加權譜圖上利用Mel 濾波器組,生成128 bin 和43 幀/s的Mel頻譜;
數(shù)據(jù)增強:時域拉伸的尺度選擇為rate = {0.8,1.2},音調變換中音高pitch ={?2,2},在時頻譜圖掩蔽中,時間掩蔽的最大值為T= 30,時間掩蔽數(shù)m_T= 2,頻率掩蔽最大值為F= 13,頻率掩蔽數(shù)m_F= 2,輸入信號通過數(shù)據(jù)增強變換后,共產生10倍的數(shù)據(jù)增強;
網絡訓練:將輸入數(shù)據(jù)歸一化為零均值和單位方差,采用Adam 進行優(yōu)化,損失函數(shù)為交叉熵(Cross entropy),在卷積層中,采用基于高斯分布的方法進行隨機初始化,以ReLU作為激活函數(shù),使用softmax 函數(shù)來獲得每個目標類別的概率。訓練中,共采用100 個Epoch,batch_size = 256,初始學習速率為1×10?4,50~100迭代周期時線性衰減,最小達到5×10?6。
本文分別驗證數(shù)據(jù)增強和改進的VGG 網絡模型對于水聲信號的分類識別結果,如圖4所示,圖4(a)為訓練周期中的訓練損失曲線,圖4(b)為識別率曲線,其中,虛線表示訓練集的測試結果,實線表示測試集結果。本文共對比了5種方法,分別為
圖4 不同方法的目標分類性能對比Fig.4 Comparison of target classification performance of different methods
(1)紅色曲線表示3 層的CNN 網絡, 記為3_CNN;
(2)藍色曲線為數(shù)據(jù)增強條件下的3層CNN網絡,記為3_CNN_Aug;
(3)黑色曲線為利用ResNet 網絡進行遷移學習的測試結果,該網絡以ImageNet 訓練權重進行初始化,通過添加全連接層進行目標分類,利用本文的數(shù)據(jù)集對后30層網絡進行微調實現(xiàn)遷移學習,記為ResNet;
(4)黃色曲線為采用改進的VGG 網絡進行的測試,該網絡共包括8個卷基層,記為8_VGGish;
(5)綠色曲線為本文方法,采用數(shù)據(jù)增強和改進VGG網絡的測試結果,記為8_VGGish_Aug。
從圖4中分析可知,分別對比3_CNN、8_VGGish方法和3_CNN_Aug、8_VGGish_Aug 方法,在相同的網絡參數(shù)下,在一定范圍內更深層的網絡結構可以取得更好的分類性能,8_VGGish、8_VGGish_Aug 方法以VGG 模型為基礎,選取8 層網絡進行測試,取得了較好的效果。對比ResNet 和8_VGGish 方法,ResNet 方法為目前流行的ResNet-50 網絡,但是由于水聲信號譜圖中的紋理、梯度等特征不明顯,細節(jié)信息較少,過深的網絡容易造成梯度消失,ResNet 網絡的性能相比于VGGish 較差。最后分別對比3_CNN、ResNet 和3_CNN_Aug、8_VGGish_Aug 方法,在相同網絡結構下,數(shù)據(jù)增強后的分類性能均有了一定的提高。綜上所述,網絡結構的改進和數(shù)據(jù)增強均有助于分類性能的提高,本文所提的方法取得了最好的分類性能。表3列出了不同分類方法的對比,通過數(shù)據(jù)增強和網絡模型的構建后,最終取得了95.2%的分類準確率。
表3 不同方法的分類準確率Table 3 The classification accuracy of different methods
圖5為本文方法識別結果的混淆矩陣(Confusion matrix),可用來呈現(xiàn)算法性能的可視化效果,每一列代表了預測類別,每一列的總數(shù)表示預測為該類別的數(shù)據(jù)的數(shù)目;每一行代表了數(shù)據(jù)的真實歸屬類別,每一行的數(shù)據(jù)總數(shù)表示該類別的數(shù)據(jù)實例的數(shù)目。如第二行的Moto boat,共有測試樣本68 個,正確分類結果為54 個,誤分類為Passanger、Ocean boat 和Nature Noise 的個數(shù)分別為2 個、11個和1 個,通過混淆矩陣能夠很快地分析每個類別的誤分類情況。
圖5 5 類目標分類的混淆矩陣Fig.5 Confusion matrices for five types of targets
本文以典型的船舶類水下輻射噪聲信號為研究對象,以水聲信號的分類識別為目的,研究了深度學習方法在水聲信號分類識別領域的應用能力。提取Mel 功率譜圖作為特征,構建基于VGG 網絡的分類模型框架,驗證了在數(shù)據(jù)增強條件下的分類性能,最終的分類性能達到95%。但是本文采用的試驗數(shù)據(jù)較少且訓練集、測試集中的數(shù)據(jù)屬于同一次試驗采集,在實際情況下的水聲信號種類更多,環(huán)境噪聲也更復雜。因此,深度學習方法在更加復雜環(huán)境下的識別應用還有待進一步進行研究。