馬劍飛,顏 冰,林春生,陳 浩
(海軍工程大學 兵器工程學院, 湖北 武漢 430033)
艦船磁場是水中兵器實施磁性探測的信號源,在水下布放測量節點可直接獲取艦船目標磁場時間序列數據,據此可以對艦船目標運動參數進行估計。傳統的濾波估計方式,如卡爾曼濾波以及粒子濾波,對目標的估計效果嚴重依賴于初始位置和磁矩等先驗信息。而且傳統的檢測估計模型對于不同的目標或者同一目標的不同形態,需要設計者仔細思考如何去提取其特征,模型的最終識別效果也深受設計者們是否有充足的相關經驗的影響。
卷積神經網絡(Convolutional Neural Network, CNN)建立在認知機的基礎之上[1-3],通過卷積核的卷積處理來從輸入圖像中自學習得到目標特征。CNN 具有良好的通用性,可以識別多種不同的模式或目標,并對一定程度的扭曲形變具有良好的魯棒性。目前CNN已經在圖像檢測、圖像分割、語音識別等領域應用得十分廣泛[4],本文的研究工作主要集中在以多通道磁時間序列數據作為網絡輸入,利用CNN估計磁性艦船目標的運動參數。
CNN的訓練過程需要大量的磁場數據,所以在研究利用CNN估計磁性目標運動參數之前,先建立磁性運動目標產生的磁場三分量磁傳感器的投影模型,并據此生成不同磁性目標在各種運動參數條件下的運動數據集。
橢球體與磁偶極子陣列混合模型是艦船磁場建模中最常使用的等效模型。在建立艦船磁場混合模型時,如圖1所示,艦船可等效為一個均勻橢球體,并且在橢球體內沿長軸方向等間隔分布著一定數量的磁偶極子。其中均勻橢球體是用于擬合艦船的宏觀磁場,它的長軸等于船長,短軸等于船寬,而磁偶極子陣列用于模擬艦船的局部不均勻磁場。

圖1 混合模型Fig.1 Hybrid model
假設艦船磁場混合模型由N-1個磁偶極子和1個橢球體模型構成(統稱為磁單元)。船長為L,船寬為W,磁偶極子個數為N-1時,每個磁偶極子之間的距離為:
(1)
以艦船中心建立坐標系,橢球體在艦船吃水面中心,磁偶極子均勻分布在吃水面上,第i個磁偶極子的坐標為(ui,vi,wi)(i=1,2,…,N-1),則其在測量點Pj(xj,yj,zj)所產生的磁場[5]為:
(2)
其中:j=1,2,…,m表示不同的測量點;Mxi,Myi,Mzi(i=1,2,…,N-1)分別為第i個磁偶極子在x,y,z方向的磁矩;MxN,MyN,MzN為均勻旋轉橢球體的x,y,z方向磁矩;axij,ayij,azij,bxij,byij,bzij,cxij,cyij,czij分別為磁偶極子對應的磁場計算系數。
其中,
當i=N時,對應的均勻橢球體系數的計算公式為:

CNN的估計確實依賴于樣本的完備性,即它只能對與訓練樣本近似的目標做出較為準確的估計,因此采用了大量具有不同磁矩特征、運動特征和信噪比的樣本進行訓練以保證樣本的完備性。在磁矩特征完備性方面,選用了隨機生成的10類不同磁矩強度的目標,每類目標由10個偶極子和單個橢球體構成模型,從而保證了模型能夠準確模擬艦船的局部磁矩特征和尺度磁矩特征。
圖2為建立的磁性運動目標三分量投影模型,可推出磁場信號的空間分布特征、時間和頻率等信息[6],其中OXYZ坐標系是以三分量磁傳感器為原點O建立的笛卡爾坐標系,X軸、Y軸和Z軸(垂直向下)的指向性與三分量磁傳感器對應的指向性一致。oxyz坐標系是以艦船中心o為原點建立的笛卡爾坐標系,x軸與艦船目標的航行方向一致,y軸垂直于艦船航向且指向右舷方向,z軸垂直向下。航行角α0為x軸與X軸的夾角,a點為圓心O點在x軸上的垂點,即圓O的切點,R為圓O的半徑,磁傳感器的布放深度為D。

圖2 投影模型Fig.2 Projection model
設艦船目標做勻速直線運動,航行速度為V,目標航行至切點a時對應零時刻點,磁傳感器的采樣頻率為fs,采樣點數為N(零時刻點前后的采樣點數都為N/2),則O點在oxyz坐標系中的運動方程為:
(3)
其中:k=-N/2,-N/2+1,…,N/2;±R分別對應同一航行角、同一圓周半徑的上下切點。
將式(3)代入式(2)以及由坐標轉換公式可得:
(4)
其中:HXj,HYj,HZj為三分量的磁場強度;μ0為真空磁導率;B為磁感應強度。
考慮實際艦船目標的運動速度、航向變化的特性以及信噪比的影響,設置仿真參數為:V~U(5,15);α0~U(0,2π);SNR~U(0,10);R~U(-50,50);Mxi,Myi,Mzi~U(0,1×106);D=20 m;fs=20 Hz;N=2048;cls=10;L=120 m;W=10 m。其中:V為目標的航行速度,單位為m/s;α0為目標的航行角;SNR為采集信號的信噪比,單位為dB;Mxi、Myi和Mzi分別為磁性目標的第i個磁單元的x軸、y軸和z軸磁矩,單位為A·m2;cls為模型仿真種類數。考慮到實際環境中會存在噪聲干擾,對原始信號混入信噪比為SNR的高斯白噪聲從而得到混合信號。
圖3~4是不同仿真條件下投影模型生成的三分量磁場信號以及1 Hz低通FIR濾波后的仿真信號。圖中,SNR=5 dB,α0=π/4,V=10 m/s,R=20 m。通過對比不難看出,不同艦船目標在同一航向、速度、正橫距離條件下的三分量波形差異較大,而且存在紋波擾動,加之目標本身磁矩特性未知,因此很難人為地建立對不同目標的航向、速度與正橫距離進行估計的統計量。卡爾曼濾波、粒子濾波等算法的跟蹤效果十分依賴于目標運動的初始狀態以及目標的磁矩參數[7-8],而在實際的應用背景中這些初始條件是未知的。深度學習方法較傳統算法的優越性在于不需任何目標初始狀態信息,只需通過CNN對磁性運動目標的特征數據與運動參數之間的關系進行足夠的學習,就可以訓練產生一個從目標特征數據到目標運動參數的映射關系。

(a) X軸(a) X-axis

(b) Y軸(b) Y-axis

(c) Z軸(c) Z-axis圖3 第三類目標三分量磁場信號Fig.3 Three-axis magnetic field signal of category 3 goals

(a) X軸(a) X-axis

(b) Y軸(b) Y-axis

(c) Z軸(c) Z-axis圖4 不同條件下的目標磁場信號對比Fig.4 Comparison of magnetic signals under various conditions
基于磁性運動目標三分量投影模型和參數配置,仿真生成3種磁性目標特征數據集:
1)生成10類目標的訓練數據集M_Si_tr (每類目標包含200組數據,記數據集的大小為10×200);
2)生成與訓練目標的磁矩特征一致的驗證數據集M_Si_va(每類目標包含100組數據,記數據集的大小為10×100);
3)生成與訓練目標磁矩特征不一致的10類目標測試數據集M_Si_ts (每類目標包含100組數據,記數據集的大小為10×100)。
每組仿真信號的大小都為4×2048的矩陣,4代表X分量、Y分量、Z分量和三軸合成量C,2048代表時間序列長度為2048點。估計的運動參數是磁性運動目標的正橫距離和運動速度,所以訓練標簽分別設為式(5)中的仿真參數R與V。考慮到水中兵器的應用背景,當艦船已經通過傳感器時所估計的運動參數意義不大,應在艦船距傳感器最近時(即正橫方向)就完成運動參數估計,所以選取前1024個點進行運動參數估計。
與圖像分類檢測的輸入為二維的像素點不同,水下磁信號測量過程能夠獲取的只有XYZ三軸時域序列,此處將XYZ三軸信號序列以及信號的模C的序列組成一個4×1024的矩陣作為網絡的輸入。圖5是設計的多通道卷積神經網絡(Multi-Channel Convolutional Neural Network, MC-CNN)的結構示意圖。
目標運動速度和正橫距離特征屬于淺層特征,深度過高反而會影響網絡的泛化能力,所以設計的MC-CNN由2個卷積層、2個池化層以及2個全連接層組成,其中卷積層C1和卷積層C2的卷積核的大小為[1,11],卷積步長設為[1,5],池化層S1和池化層S2采用max-pooling的池化方式,池化核的大小為[1,7],池化步長設為[1,3]。卷積層C1的特征圖數量為32,大小為4×342;池化層S1的特征圖數量為32,大小為4×112;卷積層C2的特征圖數量為64,大小為4×38;池化層S2的特征圖數量為64,大小為4×11;全連接層F1是池化層S2的排列展開;全連接層F2的點數為1024,與全連接層F1采用全連接的方式連接;由于網絡是對磁性運動目標的運動參數進行估計,所以輸出層OUTPUT的大小為1,其與全連接層F2之間以全連接的方式連接。

圖5 MC-CNN結構Fig.5 Structure of MC-CNN
參數估計是一個典型的回歸問題,所以設置誤差準則為最小均方誤差(Minimum Mean-Square Error, MMSE)準則,批處理Batch的大小設為50。激活函數是CNN輸入輸出從線性關系到非線性關系的重要保證,目前流行的激活函數主要有Sigmoid、tanh、ReLU等方式。誤差傳遞采取Adam算法,與傳統的隨機梯度下降算法(Stochastic Gradient Descent, SGD)保持單一學習率更新所有權重的方式不同,Adam算法通過計算梯度的一階矩估計和二階矩估計為不同參數設定獨立設計自適應學習率[9],適應于解決包含高噪聲的非穩態目標估計問題。
實驗硬件平臺為:Intel Core i5-5200 CPU @2.20 GHz,8 GB RAM,NVIDIA GeForce 940 M; 實驗軟件平臺為:Windows 7,TensorFlow-GPU 1.40。
在1.2節中,利用磁性運動目標磁場模型生成了3種磁性目標特征數據集,其中M_Si_tr集主要用于MC-CNN的訓練,M_Si_va集用于檢驗訓練的網絡對與訓練目標的磁矩特征一致的目標的運動參數的估計能力,M_Si_ts集用于檢驗訓練的網絡對與訓練目標的磁矩特征不一致的目標的運動參數的估計能力。
圖6(a)~(c)分別是4種激活函數與學習方式的組合在M_Si_tr集、M_Si_va集和M_Si_ts集上正橫距離的估計誤差曲線。圖7(a)~(c)分別是4種激活函數與學習方式的組合在M_Si_tr集、M_Si_va集和M_Si_ts集上目標運動速度的估計誤差曲線。可以看出,Adam學習方式在3種數據集上的估計效果和收斂速度都要優于SGD學習方式,這是因為SGD的估計效果依賴于網絡訓練的初始值以及其學習策略的調整方式容易陷入極小值點。
為了更加直觀地比較不同激活函數與學習方式的優劣,迭代1001~2000次的正橫距離與運動速度估計誤差分別見表1、表2,表中加粗數值表示4類組合方式估計的最優結果。通過對比不同組合方式的估計效果,可以看出在Adam學習方式下,tanh激活函數的效果要優于ReLU函數,而在SGD的學習方式下,ReLU激活函數的效果略優于tanh函數。下面結合tanh函數和ReLU函數的數學公式予以解釋。

(a) M_Si_tr

(b) M_Si_va

(c) M_Si_ts圖6 正橫距離估計誤差曲線Fig.6 Estimated error curve of distance abeam
(5)
ReLU(x)=max(0,x)
(6)

(a) M_Si_tr

(b) M_Si_va

(c) M_Si_ts圖7 速度估計誤差曲線Fig.7 Estimated error curve of velocity
tanh函數是一種典型的飽和激活函數,反向傳播的更新需要逐層與激活函數的導數相乘,在輸入很大或者很小時隨著層數的增加會產生梯度消失問題[10],而ReLU激活函數在x>0時的導數為1,這樣就可以避免在輸入較大的時候梯度消失的問題。從數據集的角度來考慮,輸入信號波形都是在0值上下波動,而使用ReLU激活函數時會丟失數據負值特征,所以當以SGD方式進行誤差反饋時,ReLU激活函數只是略優于tanh函數。與SGD方式不同,Adam方式通過計算梯度的一階矩估計和二階矩估計為不同參數設定獨立設計自適應學習率,在接近收斂時梯度變得更加稀疏[9],可以有效避免梯度消失和SGD學習方式的隨機擾動問題,而tanh函數具有不丟失負值的優勢,所以Adam+tanh組合方式的估計性能要優于其他的組合方式。在后文的參數估計過程中皆采用Adam+tanh的組合方式。
從表1和表2中可以看出,MC-CNN在M_Si_tr集、M_Si_va集和M_Si_ts集對正橫距離的估計的最優結果分別為0.704 m、3.413 m和4.502 m,對運動速度估計的最優結果分別為0.256 m/s、0.727 m/s、0.826 m/s。這說明當網絡在訓練集訓練完成后,僅利用目標磁場信息對非訓練目標的正橫距離估計的誤差可控制在5 m以內,對目標運動速度估計的誤差可控制1 m/s以內,其估計效果完全能夠滿足水下預置武器的指標要求。

表1 正橫距離估計誤差

表2 速度估計誤差
為進一步說明算法的性能,利用海試數據對MC-CNN算法有效性進行測試。表3分別是對A型船、B型船以及C型船的速度和正橫距離的估計結果,其速度估計誤差小于1 m/s,正橫距離估計誤差小于3 m。可以看出,磁性目標運動參數的估計效果完全能夠滿足水下預置武器的指標要求。

表3 實測信號估計結果
本文在橢球體與磁偶極子陣列混合模型的基礎上,建立了磁性運動目標三分量投影模型,并據此生成了磁性艦船運動目標在運動速度、航向、信噪比等參數變化情況下的10類目標的訓練數據集、驗證數據集以及測試數據集。基于磁信號測量的特性提出了MC-CNN,并比較和分析了不同的學習方式和激活函數對網絡性能的影響。結果表明,Adam+tanh的組合方式的估計性能要優于其他的組合方式,而且磁性目標運動參數的估計效果完全能夠滿足水下預置武器的指標要求。
MC-CNN主要分為訓練和測試過程,訓練是一個對運算量要求很高的過程,一般都采用GPU加速,而測試過程是一個只涉及乘法和加法的前向運算過程。在實際的應用過程中,訓練環節都是事先在計算機上訓練完成,然后將訓練好的參數植于單片機中。當系統檢測到目標時,結合網絡結構和網絡參數就可以對目標特征進行估計,其相較于卡爾曼濾波、粒子濾波等估計算法的優越性在于運算復雜度低以及不需要目標初始狀態信息,因此MC-CNN估計算法具有良好的工程應用性。