吳毅斌,翟春平,張 宇,田作喜
(大連測控技術研究所,遼寧 大連 116013)
對艦船的水下噪聲進行監測和評估,可及時發現異常狀況,有針對性地指導艦船進行必要的檢修和維護[1]。為方便對艦船的水下噪聲進行監測和評估,通常在艦船進出港的航道上沉底布放測量傳感器(水聽器),將測量數據傳輸給岸上設備,對是否存在異常進行評估。關于異常,Hawkins 給出了本質性定義[2]:異常是在數據集中與眾不同的數據,使人懷疑這些數據并非隨機偏差,而是產生于完全不同的機制。判斷數據是正常還是異常,屬于數據分類問題。本文采用基于隱馬爾可夫模型的模式識別方法,對艦船水下噪聲進行評估判斷。
隱馬爾可夫模型在語音識別領域有著廣泛的應用,在水聲領域也有相應的應用,如管景崇等在文章中驗證了隱馬爾可夫模型在線譜跟蹤技術中的有效性和穩定性[3]。
隱馬爾可夫模型(HMM)是一種描述隨機過程統計特性的概率模型,是由馬爾可夫(Markov)鏈演變發展而來。與Markov 鏈不同的是,HMM 是一個雙重隨機過程,其中一個隨機過程是具有有限狀態的Markov 鏈,描述狀態的轉移;另一個隨機過程描述每個狀態和觀察值之間的統計對應關系(隱含參數)。觀察者只能看到觀察值,不能直接看到狀態,而是通過一個隨機過程去感知狀態的存在及其特性。HMM 根據觀測信號的性質分為兩類:連續隱馬爾可夫模型和離散隱馬爾可夫模型[4]。
HMM 描述如下:
1)狀態變量{q1,q2,…,qn},其中qi表示第i 個時刻的系統變量。狀態變量通常是隱藏的,不可被觀測的,也稱為隱變量。設每個時刻有N 種狀態,則取值范圍為{S1,S2,…,SN};
2)觀測變量{x1,x2,…,xn},其中xi表示第i 個時刻的觀測值。觀測值可以取連續值,也可以取離散值。每個時刻的觀測值可能有M 種情況,取值范圍為{O1,O2,…,OM};
3)HMM 的結構,在任意t 時刻,觀測變量xt的取值僅依賴于狀態變量qt,而qt僅依賴于t-1 時刻的狀態qt-1(馬爾可夫性),基于這種依賴關系,所有變量的聯合概率如下式:

4)描述HMM 的3 組參數:
① 狀態轉移概率A:A={aij}N×N,其中aij=P(qi+1=Sj|qi=Si),1≤i,j≤N,即任意時刻t,若狀態為Si,則下一狀態為Sj的概率;
② 輸出觀測值概率B:B={bjk}N×M,其中bjk=P(xi=Ok|qi=Sj),1≤i≤N,1≤k≤M,即任意時刻t,若狀態為Sj,則觀測值為Ok的概率;
③ 初始狀態概率π:π=(π1,π2,…,πi,…,πN),其中πi=P(q1=Si),1≤i≤N,即t=1 時刻,狀態取值的概率分布。
因此,一個HMM 可簡記為:λ=(π,A,B)。
HMM 主要解決三類基本問題:
1)評估問題:計算給定模型λ 產生觀測序列O 的概率p{O|λ};
2)解碼問題:對給定模型λ 和觀測序列O,求可能性最大的狀態序列S;
3)學習問題:對給定觀測序列O,在最大似然度下學習得到模型λ=(π,A,B):max p{O|λ}。
一般實際應用問題可以歸納為以上三類基本問題之一或者問題的組合。HMM 可實現對艦船的運行趨勢進行預測,并且可以通過反映當前艦船狀態信息的特征矢量代入訓練好的HMM,經過模式匹配識別出艦船當前健康狀態或者故障模式。
HMM 作為一種信號動態時間序列統計模型,非常適合處理連續動態信號,具有堅實的理論基礎,還具有學習功能和自適應能力,能夠通過訓練獲取知識來監測系統的狀態。但是HMM 也有不足的地方:一是,HMM 為一種模式識別方法,強調的是其分類能力,但缺乏對故障本身的描述信息,對模型的學習參數不能夠完全恰當的解釋;二是,HMM 初始模型的選取仍是一個懸而未決的問題,僅是憑經驗選取;三是,HMM 對于隱藏狀態的物理意義不能給出恰如其分的解釋。
艦船水下噪聲信號是時域信號,其數據不能直接送進HMM 進行處理,需要先對噪聲數據進行分幀并提取特征參數,再進行VQ 矢量量化,得到一串觀察序列后再送進HMM 進行處理。本文選取梅爾倒譜系數(Mel Frequency Cepstrum Coefficients,MFCC)作為特征參數,MFCC 是受人的聽覺系統研究成果推動而導出的聲學特征,在一定程度上模擬了人耳對語音的處理特點,因此表現相對比較穩健,是語音識別中常用的特征參數[5],陸振波也證明了MFCC 特征參數對于目標識別性能要好于AR 特征參數[6]。
MFCC 本質是提取功率譜中低頻部分的包絡特征,其提取流程如圖1 所示[7]。

圖1 MFCC 特征參數提取Fig. 1 MFCC feature parameter extraction
利用HMM 進行訓練和評估時,必須輸入一串可觀測序列,以下稱特征序列。需要先對艦船水下噪聲信號數據進行一系列的變換,其步驟如下:
分幀:將一段時長的艦船水下噪聲信號數據分成若干幀,分幀主要是為了后面構造一串特征序列,所分的幀數越多,對應的特征序列越長,原始信號如圖2 所示。
提取MFCC:對每幀信號數據提取一個24 維的MFCC 特征向量,其中某一幀的MFCC 如圖3 所示。
VQ 矢量量化:把一個多維特征向量看成是多維特征空間里的一個點,將特征空間分成若干塊相互獨立的子空間,給每塊子空間定義一個字符,用這個字符來代表這個特征向量,所有幀的字符構成了一串特征序列,如下式:

圖2 原始信號Fig. 2 Original signal

圖3 某一幀的MFCCFig. 3 MFCC of a frame

訓練時,將艦船正常狀態數據樣本對應的特征序列送進HMM 進行學習,得到正常狀態對應的模型參數(A1,B1);將艦船異常狀態數據樣本對應的特征序列送進HMM 進行學習,得到異常狀態對應的模型參數(A2,B2)。訓練完畢后,將得到的正常狀態和異常狀態對應的模型作為評估模型,對待評估的艦船水下噪聲信號數據進行評估,訓練流程如圖4 所示。

圖4 HMM 訓練Fig. 4 HMM training
評估時,先將待評估的數據樣本變換成一串特征序列,再分別用正常狀態和異常狀態對應的模型來評估2 種狀態發生的概率,概率明顯大的,說明數據樣本更符合這個模型對應的狀態,該狀態即為評估判斷結果,評估流程如圖5 所示。

圖5 HMM 估計Fig. 5 HMM estimation
訓練模型λ=(π,A,B)時,需要初始條件,包括初始隱含狀態的概率矩陣π、初始隱含狀態的轉移概率矩陣A、輸出概率矩陣B。一般取6 個隱含狀態就滿足分類識別需求,研究表明HMM 狀態數并非越多越好,隨著狀態數的增加,附加熵逐漸趨于零,從而導致HMM 的信息熵逐漸趨于固有值[8]。由于訓練需要多次迭代,A 和B 每次都會更新,故而A 和B 的初始條件對結果影響不太大,但合適的初始條件有利于在訓練A 和B 時更快地收斂,另外A 和B 的初始條件要符合概率性質,即是概率矩陣每行元素的概率之和必須為1。
HMM 參數的訓練取決于樣本數量,樣本數量越多,訓練得到的結果越準確,但計算量也隨之增加。由于實際應用時,有時樣本獲取存在困難,故而當樣本數量過少時,會出現訓練得出的輸出概率矩陣B 的某個元素為0,這非常不利于機器運算,因為算法中會出現“0×lg(0)”的情況,由于這個值不收斂,所以機器計算某序列的概率時會返回“NaN”的結果,這不利于概率比較并輸出識別判斷結果。為了解決這個問題,在符合概率性質的前提下,可以賦予B 中那些為0 的元素一個極小值,例如0.000 1,這樣可以避免結果出現“NaN”的情況,從而避免識別判斷失敗。
試驗需要艦船水下噪聲正常狀態數據樣本和異常狀態數據樣本,正常狀態數據樣本比較容易獲取,而異常狀態數據樣本則極難獲取。本試驗選擇艦船2 種不同工況下獲取的水下噪聲數據樣本分別代表正常狀態數據樣本和異常狀態數據樣本,先從中選取訓練樣本對HMM 參數進行訓練,然后再從中選取測試樣本進行分類測試,以驗證該算法是否適用于艦船水下噪聲狀況評估(分類)。針對2 種工況中的每種工況,選取101 個數據樣本,其中1 個樣本作為訓練樣本(時長10 s),另外100 個樣本作為測試樣本(時長2 s)。
首先對訓練數據樣本進行預處理,包括端點自動識別、歸一化和濾波等,處理后得到的仍然是10 s 的時域噪聲數據。然后對數據樣本進行分幀,每幀長為60 ms,幀間重疊30 ms,則10 s 的數據可拆分為332 幀數據。對每一幀數據提取MFCC 特征,得到一個24 維的特征向量,總共得到332 個24 維的特征向量。對這332 個特征向量進行矢量量化,把其看成是24 維特征空間里的332 個點,按照最鄰近法對特征空間進行子空間劃分,每個子空間用一個字符來表示,這樣每個特征向量就用對應的字符來表示,得到332 個字符的特征序列。該序列送入HMM 進行訓練,得到對應的模型參數。利用2 種工況的訓練數據樣本分別對HMM 進行訓練,得到2 種工況對應的模型參數。
將測試數據樣本按照與訓練數據樣本相同的方法進行預處理、分幀、MFCC 特征提取和矢量量化,得到一串特征序列,利用已訓練好的2 種工況對應的HMM 參數來對待測試的特征序列進行最大似然評估,得到概率值,大概率對應的HMM 為最佳匹配模型,其對應的工況即為評估判斷結果。利用2 種工況的測試數據樣本各100 個,分別送進2 種工況對應的HMM 進行評估判斷,每種工況對100 個測試樣本的判斷正確率均超過95%,結果如表1 和圖6 所示。

表1 兩種工況的識別結果Tab. 1 The recognition results under two conditions

圖6 兩種工況的識別結果Fig. 6 The recognition results under two conditions
本文將基于隱馬爾可夫模型的模式識別方法應用于對艦船水下噪聲進行評估判斷。利用艦船在2 種不同工況下獲取的水下噪聲數據樣本進行試驗,結果表明,艦船水下噪聲提取MFCC 特征后對HMM 進行訓練,再利用HMM 進行評估判斷效果很好。進一步增加訓練樣本的數量和測試樣本的時間長度,可以在一定程度上提高判斷的正確率,但對應的計算量也隨之加大。MFCC 和HMM 相結合的分類方法,在語音識別領域有著非常廣泛的應用,本文研究結果表明該方法也可以應用于艦船水下噪聲狀況評估。近年來發展起來的深度學習算法,在噪聲處理和特征提取方面有著更優越的性能,已應用于水中目標識別、去噪和去混響等[9-11],該算法也適用于艦船水下噪聲狀況評估,正在進行相關研究。