本發明涉及的是一種模式識別方法,具體地說是一種水下聲音信號的特征提取和多目標分類識別方法。
背景技術:
聲音信號是在水下能進行遠距離傳輸的主要能量形式,聲吶也是最為有效的水下探測手段。水下聲音信號的分類識別水聲信號研究的重點,而在水聲識別的發展過程中經歷了最傳統的聲吶員到水下目標的自動識別的發展。對水下聲音信號的研究最早起步于西方發達國。盡管我國在水下聲音識別領域起步較晚,但是在科研工作者的努力之下也取得了一些突破。主要是通過時頻轉換獲取原始信號的統計特性來進行分析。具體有功率譜、線譜、小波變換、希爾伯特黃變換等方法。除此之外還有應用到分型與混沌、高階譜等角度的方法。在目標識別領域,人工神經網絡已經比較多的完成最終的分類任務。現有的水下多目標聲音識別的特征提取還是較多的采用物理分析的方法來獲取特征,這種人工提取的特征雖然有嚴謹的理論依據,但是在實際的應用當中已經達到了瓶頸,從2012年開始的深度學習熱潮,在更深的網絡結構和計算機計算能力的大幅提升下取得了很大的進步,尤其是在圖像識別和語音識別領域取得的成果已經全面超越傳統方法。
目前在水下多目標識別領域的研究都是基于傳統的方法,利用深度學習也主要集中于語音識別領域,還沒有利用深度卷積網絡進行聲信號的目標識別的相關文獻。
技術實現要素:
本發明的目的在于提供一種能夠提高識別準確率的一維深度卷積網絡的水下多目標識別方法。
本發明的目的是這樣實現的:
對水聲信號的預加重、交疊分幀聲音信號長度選擇、輸入卷積網絡提取特征、調整選擇網絡參數、極限學習機進行分類識別,所述預加重是采用6dB/倍頻的一階數字濾波器增強高頻部分使信號頻譜平坦;所述交疊分幀聲音信號長度選擇是選用窗函數對信號進行截取,獲得時長為170ms的信號作為卷積神經網絡的最佳輸入幀長;所述輸入卷積網絡提取特征是采用一維深度卷積網絡對聲音信號進行特征提取;所述調整選擇網絡參數是使用訓練樣本集對卷積網絡進行學習得到能獲取最佳特征的網絡結構參數;所述極限學習機進行分類識別為選擇極限學習機對卷積網絡的輸出特征進行分類識別。
本發明還可以包括:
1、所述選用窗函數對信號進行截取是用窗函數w(n)乘以原始信號s(n),得到幀信號sw(n)=s(n)*w(n),窗函數選擇旁瓣衰減較少的漢明窗。
2、所述采用一維深度卷積網絡對聲音信號進行特征提取是使用三層卷積加兩層池化的深度卷積網絡對原始語音信號進行逐層特征提取。
3、所述網絡結構參數包括卷積核大小、卷積步長、池化核大小、池化步長、激活函數、學習率、沖量大小。
4、所述選擇極限學習機對卷積網絡的輸出特征進行分類識別包括:將由深度遞歸網絡逐層提取的特征圖全連接到極限學習機分類器上,選用一個無限可微的激活函數,隨機設置輸入層權重和隱含層偏置,僅訓練輸出層權值。
受啟發于深度學習的方法,本發明提出了一種使用一維深度卷積網絡對原始聲音信號進行自動特征提取來取代傳統的物理方法、并用極限學習機來進行對特征的分類識別的方法。本發明從深度學習借鑒靈感,利用深度學習強大的表征能力自動提取聲音信號的特征作為分類識別的依據,提高水下多目標聲信號的識別準確率。
本發明利用深度學習的方法,設計了一維深度卷積網絡對原始水下聲音信號進行特征提取,網絡能夠自動提取出有效的特征信息,取代了依靠物理分析進行的人工特征提取特征,使得獲取的特征能夠盡量多的包含有用的特征信息,避免了在進行物理分析時損失部分信息,從而提高識別準確率。
本發明的一維深度卷積神經網絡的聲音信號特征自動提取方法,主要包括包括:預加重、交疊分幀聲音信號長度選擇、輸入卷積網絡提取特征、調整選擇網絡參數、極限學習機進行分類識別。采用6dB/倍頻的一階數字濾波器增強高頻部分使信號頻譜平坦;選用窗函數對信號進行截取,獲得時長為170ms的信號作為卷積神經網絡的最佳輸入幀長;選擇最佳的卷積網絡結構,卷積核大小,卷積步長,池化核大小,池化步長,激活函數,學習率,沖量大小進行特征提取;選擇極限學習機對卷積網絡的輸出特征進行分類識別。本發明的主要特點體現在:
1、采用6dB/倍頻的一階數字濾波器增強高頻部分,是基于水聲信號中能量損耗的存在,使得水聲信號能量在高頻處要明顯小于低頻處和中頻處的能量,大部分能量集中在低頻區域,不適合作統一的分析與處理,所以需要對聲音信號進行高頻增強。研究發現能量損耗有這樣的規律:信號的頻率每提高兩倍,信號的功率譜幅值下降約6分貝。所以采用用6dB/倍頻程來增強高頻部分使信號頻譜能夠變得平坦,便于頻譜分析。
2、交疊分幀是基于聲音信號的短時平穩特性,采用固定幀長和幀移將原始信號截取為一段段的短時聲音信號。使用一個有限長度的窗函數對聲音信號進行截取,就是用窗函數w(n)乘以原始信號s(n),得到幀信號sw(n)=s(n)*w(n)。窗函數選擇旁瓣衰減較少的漢明窗。
3、采用一維深度卷積網絡對聲音信號進行特征提取,是基于計算速度和存儲能力的提升,使用三層卷積加兩層池化的深度卷積網絡對原始語音信號進行逐層特征提取。替代傳統人工轉換提取出代表聲音特征參數(如美爾倒譜系數(MFCC)、希爾伯特黃變換(HHT))。避免在信號進行時頻轉換或相應變換時,損失信號本身的特征信息。使用訓練樣本集對卷積網絡進行學習得到能獲取最佳特征的網絡結構參數,包括卷積核大小,卷積步長,池化核大小,池化步長,激活函數,學習率,沖量大小。訓練后得到最終的特征圖表示。
4、選擇極限學習機對卷積網絡的輸出特征進行分類識別,將由深度遞歸網絡逐層提取的特征圖全連接到極限學習機分類器上。選用一個無限可微的的激活函數,隨機設置輸入層權重和隱含層偏置,僅訓練輸出層權值。能夠快速的完成網絡訓練,并獲取更好的泛化能力。最終完成對水下聲音信號的分類識別,提高識別準確率。
本發明的特點在于:利用深度學習中的深度卷積網絡(CNN)對聲音信號進行特征提取,替代傳統的人工提取特征,自動提取的聲音特征包含有更為豐富的識別信息。利用極限學習機(ELM)對卷積網絡自動提取的特征進行分類識別,能有效找出不同于傳統人工分析的特征,提高了水下聲音信號的識別率。
附圖說明
圖1一維卷積網絡水下聲音信號分類識別方法的模塊組成。
圖2三類民船原始聲音信號。
圖3(a)-圖3(c)聲音信號的分幀加窗:其中圖3(a)為聲音信號分幀示意圖;圖3(b)為漢明窗函數圖;圖3(c)構建卷積網絡的輸入特征圖。
圖4(a)-圖4(b)特征提取及識別的網絡結構設計:其中圖4(a)為特征提取和分類識別的總體框架圖;圖4(b)為深度卷積神經網絡的特征提取結構圖。
圖5(a)-圖5(b)的表1.1-1.2是不同幀長的聲音信號作為卷積網絡的輸入后的識別效果:其中圖5(a)的表1.1為不同幀長的識別率(訓練樣本);圖5(b)的表1.2為不同幀長的識別率(測試樣本)。
圖6(a)-圖6(c)為最優網絡結構以及訓練過程涉及到的參數表:其中圖6(a)的表2.1為卷積網絡結構;圖6(b)的表2.2為網絡訓練參數取值;圖6(c)的表2.3為不同池化方式的對比。
圖7的表3不同特征的分類效果比較。
圖8(a)-圖8(b)為不同的分類器的的識別效果對比表:其中圖5(a)的表4.1為不同分類器性能比較(MFCC特征);圖5(b)的表4.2為不同分類器性能比較(卷積網絡特征)。
具體實施方式
下面結合舉例對本發明做詳細描述。
本發明實驗環境為64位win7操作系統,64GB內存24核CPU,NVIDIA公司的K40GPU。軟件工具為MATLAB 2015,VS 2013,CUDA 6.5。在特征提取過程中,在MATLAB上配置神經網絡各層參數,配置后用C++編寫的網絡訓練,網絡前向傳播等文件編譯成MATLAB可執行文件,實現網絡訓練,采用訓練好的卷積網絡對聲音信號進行特征提取,輸入分類器分類識別。實驗過程中使用CUDA進行GPU并行加速運算。
1、聲音信號的預加重
采集到的數據集為實測民船數據集,在該數據集中總共有小艇、大船、渤海輪渡三類不同型號的民船,數據集中聲音信號的采樣頻率均為12800Hz。小艇聲音信號的采集時間約為18分鐘,大船的信號采集時間約為19分鐘,渤海輪渡的信號采集時間約為25分鐘。在實驗中每類的百分之八十的樣本用作訓練集,剩余的百分之二十作為測試集。
在水聲信號中由于能量損耗的存在,使得水聲信號能量在高頻處要明顯小于低頻處和中頻處的能量,大部分能量集中在低頻區域,不適合做統一的分析與處理,所以需要對聲音信號進行高頻增強。能量損耗具有如下的規律:當聲音信號的頻率每提高兩倍,信號功率譜的幅值下降約6分貝。所以預加重也應該采用6dB/倍頻程來增強高頻部分。可以采用具有6分貝/倍頻程的數字濾波器實現信號的預加重,預加重濾波器通常為一階的,其形式如下式所示:
H(z)=1-μz-1 (1-1)
式中,μ稱之為預加重系數,其值約為1,實際應用中通常取0.94~0.97之間的值。將此系統函數轉化為輸入和輸出之間的差分方程關系,如下式所示:
y(n)=x(n)-μx(n-1) (1-2)
對輸入的聲音信號都進行這樣的操作,就實現了信號預加重的目的。經過預加重分析處理之后的信號,需進行去加重操作,即加上-6分貝/倍頻程的頻率特性將信號還原成原來的特性。
2、聲音信號的分幀加窗
聲音信號具有短時平穩特性。因此,可以在聲音信號的短時處理過程中引入平穩信號的處理方法與理論,每個短時的聲音片段被稱作一個分析幀。將原始聲音信號截為一段一段的短時聲音信號即為分幀。語音信號分幀采用交疊分段的方法。如圖3(a)所示,通常情況下幀長為20~30ms,后一幀和前一幀之間的距離稱之為幀移,為了使幀和幀之間能夠平滑過渡,幀移和幀長的比值通常選擇0~1/2。
通常我們使用一個有限長度的窗函數對聲音信號進行截取,窗函數窗寬之外的采樣點被置為零用于獲取當前語音幀。也就是用一個窗函數w(n)來乘上s(n),從而形成加窗聲音信號sw(n)=s(n)*w(n)。最常用的的窗函數有漢明(hamming)窗,即
在分幀的的過程中涉及到幀長的問題,如果幀長選擇太小每幀中包含的分類信息太少,無法自動提取有用的分類特征;如果幀長選擇太大,在特征提取過程中需要的網絡層的個數將會大大增加,必然會導致計算量的進一步增大。因此選擇合適的幀長作為深度卷積網絡的輸入顯得尤為重要。通過大量的實驗,不斷嘗試得到了一個合適的幀長。圖5(a)的表1.1、圖5(b)的表1.2列出了不同幀長的聲音信號作為卷積網絡的輸入,通過深度卷積進行特征提取后的特征用于極限學習機(ELM)進行分類識別的識別效果。
3、利用一維卷積網絡進行聲音信號的特征提取
傳統的特征提取方法,比如希爾伯特黃變換,美爾頻率倒譜系數(MFCC)以及小波變換等,其時域波形進行進行相應變換時,會損失信號本身的一些信息。鑒于深度學習在語音識別領域取得的成績,本發明提出一種新的特征提取方法用于艦船聲音信號識別。網絡的總體框架如圖4(a)所示。對原始語音信號直接分幀處理,分幀后的語音信號作為卷積網絡的輸入,利用深度卷積網絡對艦船聲音信號進行逐層特征提取,卷積網絡的每層的輸出都可以看作是對原始語音信號的一種深層次表示,將網絡前一層的輸出作為后一層網絡的輸入,不斷進行提取最后得到聲音信號的高級特征。
如圖4(b)所示,在特征提取過程中輸入層為采用交疊分幀后的原始語音信號波形(也稱之為輸入特征圖)。不同于全連接神經網絡,下層的神經元與上層的每一個神經元都連接,卷積神經網絡中下層中的神經元只是將上層中的一小部分近鄰的神經元作為輸入,也就是所謂的局部感受野。在卷積層,采用一個通過反向傳播算法得到的卷積核對于上層的輸入特征圖進行遍歷,可以得到一張對應的輸出特征圖,這個輸出特征圖是對上層輸入的另外一種表示方法,相當于對上層輸入進行一次自適應的特征學習。采用多個不同的卷積核對上層特征圖進行卷積運算得到多個不同的特征圖,這些特征圖是輸入特征圖不同類型的特征表示。卷積層后緊接著的池化層,池化層降低了特征圖的分辨率,同時也降低了網絡輸出對于位移和變形的敏感程度,減少運算復雜度。多次卷積池化后通過一個全連接神經網絡實現最終的分類。因為本發明采用卷積網絡進行特征提取而不是分類識別,所以在網絡訓練完成后將前8層提出來作為特征提取器,最后一層(輸出層)移除。為了方便實現,全連接過程相當于采用一個1*1的卷積核對上層所有特征圖進行卷積求和,特征圖的個數相當于全連接網絡中當前層神經元的個數。
獲得了最佳的輸入幀長后,在卷積網絡中還有大量的參數需要學習,卷積核的大小、卷積的步長、池化核的大小、池化步長的選擇等問題。通過大量的實驗驗證得到:在聲音信號的特征提取過程中,卷積核的大小選擇尤為重要,網絡的第一個卷積層卷積核的大小選擇204,步長可以選擇為25效果最佳。在其他卷積層中,卷積核大小選擇12左右即可。池化核的大小通常選擇2,且不存在重疊(即池化核的大小等于步長)。網絡采用誤差反向傳播算法進行訓練,在訓練過程中采用批樣本處理(每200個樣本進行一次權值更新)。訓練步長選擇為0.02,沖量大小為0.09。最優網絡結構以及訓練過程涉及到的參數見圖6(a)的表2.1、圖6(b)的2.2。
在池化過程中有兩種常見的池化方式:均值池化以及最大值池化。本發明將這兩種不同的池化方式進行對比,實驗結果如表圖6(c)的2.3所示。通過表上可以看出:在池化過程中選擇不同的池化方式對提取的特征有較大影響。兩個池化層全采用均值池化的性能最差,在池化過程中采用均值池化和最大值池化相結合效果較為理想,而且在池化過程中,網絡最后一個池化層采用均值池化的效果要優于最大值池化。
將傳統的“手動特征”和本發明所使用的深度卷積網絡自動提取的特征進行對比。在實驗中選擇的分類器都為極限學習機分類器,但極限學習機隱藏層神經元的個數以及激活函數不同。實驗結果如圖7的表3所示:
通過表所示可知:在MFCC作為極限學習機分類器的特征中,選擇Sigmoid函數作為激活函數,隱含層神經元的個數只需40個就可以達到一個較好的識別性能。在激活函數的選擇問題上,傳統特征中ELM隱含層激活函數選擇sigmoid函數性能較好,而通過深度卷積網絡提取的特征,ELM隱層神經元的激活函數選擇反正切函數較好。對于希爾伯特黃變換提取的特征而言,在隱藏層神經元個數達到60個時性能較好,相比MFCC特征在隱層神經元個數增加了20個,極限學習機訓練時間會有所增加,因此從整體上來看MFFC特征要優于希爾伯特黃變換提取的特征。對于深度學習提取到的特征而言,其識別率明顯的要高于傳統特征提取獲得的特征,而且在激活函數的上,ELM隱藏層神經元激活函數選擇反正切函數的識別率要明顯高于sigmoid函數,且隱藏層神經元的個數為40時性能最優。
總結可得:
1、通過深度學習對原始語音信號進行特征提取得到的特征是有效的,采用ELM算法可以實現對于民船聲音信號的分離,且在測試集上識別率可以達到93.04%。
2、對比于傳統的MFCC特征和希爾伯特黃變換得到的特征,深度學習得到的特征更易于分類,在識別率上本發明采用的特征比傳統特征的是比率要高5%~10%。這主要是因為傳統的特征是“手動”生成的特征,沒有充分考慮到信號的內在聯系,而深度學習實現“自動”特征的提取。
4、極限學習機(ELM)進行多目標分類
完成最終的分類識別任務,除了要有便于分類的特征之外,分類器的選擇是系統的至關重要的另一部分,分類器的好壞將直接影響最終系統的性能。隨著模式識別技術的快速發展,各種各樣的分類技術層出不窮,主要的分類器有基于距離度量的分類器、基于概率統計的分類器、人工神經網絡和支持向量機等。這些常見算法中各自都有各自的優點,但是在實際的應用中也因為任務不同而有不同的表現。
在分類器階段主要對比了本發明所使用的極限學習機與傳統的分類支持向量機、最近鄰分類器之間的性能差異(主要包含識別率,分類時間,訓練時間等)。在本發明中采用的特征為深度卷積網絡自動提取的特征以及傳統的MFCC特征,在每類船的特征中選擇五分之一作為測試樣本,剩余的樣本用于網絡的訓練。實驗數據如圖8(a)的表4.1、圖8(b)的4.2所示:實驗中,極限學習機隱藏層神經元的個數均為40個,訓練時間和測試時間都是指單個樣本的平均時間。從表中可以看出采用極限學習機算法對于民船聲音信號分類是可行的,可以實現對于特征空間的劃分。對于深度學習得到的特征ELM分類器性能更優,在測試集上達到93.04%的識別率。