丁 一,張 瑤,李冠男
1(中國科學院 沈陽自動化研究所 機器人學國家重點實驗室,沈陽 110016)
2(中國科學院 機器人與智能制造創新研究院,沈陽 110016)
3(中國科學院大學,北京 100049)
E-mail:dingyi@sia.cn
被動目標跟蹤不會主動發出探測信號,而是被動地采集輻射噪聲信號并解算出目標方位角信息,以此來進行目標跟蹤,相對于主動目標跟蹤隱蔽性好,在軍事上有著廣泛的應用.由于傳感器不能獲得距離的量測信息,只有一維的角度信息,因此被動目標跟蹤是一種不完全的觀測.同時由于其觀測方程為非線性,對目標的觀測又屬于非線性觀測,因此常規的線性濾波方法難以得到較高的估計精度[1].
在被動目標跟蹤領域具有十分廣泛應用的是擴展卡爾曼濾波(EKF),EKF可以將卡爾曼濾波應用在弱非線性模型上,通過線性化技巧,將其轉化為一個近似的線性濾波問題.EKF在系統非線性程度不高且測量誤差不大的情況下,其性能比較可靠,但在實際的水下被動目標跟蹤中,EKF很容易出現濾波誤差變大與發散的情況,主要原因有:
1)量測方程是強非線性的,線性化方法產生的誤差較大.
2)系統狀態信息是四維的,而量測信息是一維的,估計起來困難較大.
3)目標機動時,系統運動模型與噪聲模型失配等.
針對水下被動目標跟蹤應用濾波時效果不夠理想的問題,國內外也有相關的研究[2-4].考慮到BP神經網絡具有實現任何非線性映射的能力,本文將BP神經網絡算法引入到被動目標跟蹤濾波中,提出一種由BP神經網絡自適應校正擴展卡爾曼濾波中濾波誤差的方法.利用BP神經網絡可實現任何非線性映射的能力,構建出卡爾曼濾波狀態方程中輸入變量和輸出變量的關系[5],預測出在一定條件下的濾波誤差的分布規律[6],再將學習過的誤差反饋到濾波器末端,實現對EKF濾波誤差的校正,從而提高了目標跟蹤濾波精度[7-10].最后,通過仿真和真實試驗驗證了該方法的有效性.本文提出的方法與傳統EKF方法相比,在跟蹤精度、穩定性等方面都有了很大的提升.
航行器與目標均工作在淺水區域時,通??珊雎阅繕松疃刃畔?目標運動模型抽象為二維平面.目標始終作勻速直線運動,而觀測站為確保可觀測性采用了一定的機動策略,目標和觀測站的相對運動態勢如圖1所示.

圖1 目標和觀測站的相對運動態勢圖

目標的狀態方程和量測方程可以表示為如下形式[8]:
X(k)=AX(k-1)+w(k)
(1)
(2)

由式(1)和式(2)可知,目標的狀態方程是線性的,而其量測方程含有復雜的非線性函數arctan(·),所以,在使用線性化濾波算法時需要首先對其進行線性化變換.

擴展卡爾曼濾波算法的基本公式如下[1]:
狀態一步預測:

(3)
協方差矩陣一步預測:
P(k+1|k)=AP(k|k)AT+Q
(4)
濾波增益:
K(k+1)=P(k+1|k)HT[HP(k+1|k)HT+R]-1
(5)
協方差矩陣更新:
P(k+1|k+1)=[I-K(k+1)H]P(k+1|k)
(6)
狀態更新:

(7)

(8)

擴展卡爾曼濾波的五個基本方程將卡爾曼濾波分為兩個過程,一個是時間更新過程,式(3)(4)進行一步預測更新,將時間從k遞推更新到k+1,其余式子計算對時間更新值的修正量,該修正量由時間更新的質量優劣P(k+1|k)、觀測信息的質量優劣R、觀測與狀態的關系H以及具體的觀測信息Z(k)所決定,該修正量校準了時間更新值,得到一個更為精確的濾波估計值,這一過程描述的是濾波的估計過程.
由于BP神經網絡對非線性系統強大的學習能力[7],我們以減小卡爾曼濾波誤差為目標,將卡爾曼濾波的估計能力和神經網絡的學習能力相結合,采用神經網絡來輔助校正卡爾曼濾波過程,從而抑制濾波器的發散.
通過(7)式可知,卡爾曼濾波的狀態更新由以下三部分所構成[10]:
②卡爾曼增益:K(k+1)
③新息:v(k+1)


本文中的神經網絡結構如圖2所示.

圖2 BP神經網絡結構
具體步驟如下:
1)首先要確定神經網絡的結構,包括隱層的個數,隱層的結點數.
2)在網絡中輸入大量足夠精度的訓練樣本數據,根據誤差逆傳播算法進行神經網絡的離線訓練,得到神經網絡的權值閾值參數.
3)將濾波過程和神經網絡同時在線運行,濾波輸出估計值結果,神經網絡預測出濾波估計誤差.
4)將得到的狀態估計值與神經網絡預測的估計值誤差進行融合處理,得到一個修正之后更為精確的狀態估計值.

圖3 神經網絡輔助卡爾濾波器結構圖
卡爾曼濾波中間變量與濾波誤差之間存在很大的相關性,這種關系雖然無法準確的通過數學模型來表示,但是可以通過該BP神經網絡來對這種非線性關系進行擬合[11-13],描述出卡爾曼濾波狀態更新方程輸入與輸出之間的非線性關系,將神經網絡預測得到的濾波誤差值信息輸送給濾波估計值,從而實現了對濾波結果的修正,提高了濾波的相對精度,該方法的原理框圖如圖3所示.
仿真按照上文問題描述中的目標與觀測站的相對運動態勢構建二維平面坐標系,跟蹤過程中目標通過改變航向與航速進行機動.通過MATLAB軟件編程完成實現了傳統的擴展卡爾曼濾波方法和神經網絡輔助校正卡爾曼濾波方法的仿真對比[14].
首先需確定神經網絡的隱含層層數以及結點數,一般來說,隱層的數量越多,對系統的非線性映射能力即越強,但過高會導致網絡的學習計算量爆炸,學習速度變慢以及過擬合等情況.
綜合考慮計算時間與精度,在仿真中選取的神經網絡層數結構為4層,輸入層結點數為9,第一層隱含層結點數為10,第二層隱含層結點數為12,輸出層結點數為2.隱含層的激活函數皆為tansig,是一種sigmoid的函數,輸出限制在[-1,+1]之間,該函數精度比線性函數要高得多,但計算量較大.輸出層的激活函數為purelin,是一個線性函數,可以對神經網絡的輸出結果進行更為精確的映射.
由于激活函數的值域是有限制的,且各個輸入變量的數據范圍不一致,數據范圍大的對神經網絡訓練產生的作用可能會偏大,而數據范圍小的作用就可能會偏小,因此需要將輸入數據進行歸一化操作,輸出預測值再進行反歸一化.
訓練函數使用動量及自適應lr的梯度下降法,網絡連接權值參數初值隨機產生,網絡學習率η取值0.3,最大迭代次數epoch為1200,網絡輸出的均方誤差達到0.001時則停止訓練.
本文采用離線訓練的方式.在濾波結束后,輸入一條經濾波器估計完成的目標軌跡,采用隨機抽取的方式將軌跡上的數據點作為訓練集和測試集,將訓練集輸入給神經網絡進行學習.為了驗證神經網絡對卡爾曼濾波過程的校正效果,采用了數值仿真試驗和外場海試試驗數據進行算法驗證.
對單目標進行仿真分析,初始位置坐標為(0,1400),x軸和y軸對應的速度為2m/s和10m/s,高度保持不變,將真實軌跡加入一定的高斯白噪聲.
傳統的EKF方法得到的估計的軌跡如圖4(a),可以看到,當目標發生機動轉彎時,濾波跟蹤精度嚴重下降,最大誤差在200m左右.而采用神經網絡輔助卡爾曼濾波修正后的目標軌跡如圖4(b),與圖4(a)相比較,可以觀察到本文方法有效地校正了機動轉彎后跟蹤效果差的點,該方法得到的估計軌跡始終保持在真實軌跡附近.神經網絡預測的x軸濾波誤差和y軸濾波誤差如圖5(a)(b),從圖中可以看出經過了大量數據的學習,預測的濾波誤差趨勢與真實值大致相同,但由于輸入的訓練數據數量較少,且數據本身存在一定的隨機性,在預測過程中出現了跳變點.

圖4 單目標仿真結果對比

圖5 神經網絡預測濾波誤差效果圖
在單目標仿真試驗進行良好的基礎上加入一條軌跡,對多目標進行仿真實驗.目標1的初始位置為(1400,50),速度為(-6,0),目標2的初始位置為(0,1400),速度為(2,-6),跟蹤過程中兩個目標交叉.圖6(a)(b)對比可以看出,在EKF估計的濾波結果有發散的趨勢時,經過BP神經網絡校正過的軌跡始終圍繞在真實值附近.

圖6 多目標仿真結果對比
經實驗得出,單目標校正前RMSE=381.3m,校正后RMSE=73.6m,多目標校正前RMSE=135.17m,校正后RMSE=31.64m.
采用真實海試試驗數據,實際場景中無法達到仿真中傳感器檢測概率為1,且無雜波的理想環境,因此為了保證對目標的可觀測性,設定載體的路線為往返運動,而目標始終靜止在原點處.觀測站載體的初始位置為北緯29.56°東經118.96°,初始航向角198.33°、俯仰角0°、橫滾角0°,量測噪聲的方差R設置為3°,被動聲納接收到的目標角度值為圖7,可以看出測量數據斷續,且有雜波污染.
將各個相對位置統一到北東地(NED)坐標系下,訓練完成后,抽取大量測試集對比純濾波結果和神經網絡校正濾波結果,如圖8所示,可以看出誤差有大幅度的降低,統計均方根誤差后發現,RMSE由956.24m減小至182.51m.因此,在實際水下環境中,該算法也通過了驗證.
從數值仿真實驗的結果可以看出,該算法可以應用在單目標情況下,也可以應用在多目標情況下,EKF-BP算法的精度遠遠高于EKF算法.外場數據的實驗結果則說明了,EKF在有雜波干擾且量測斷續的情況下,收斂速度很慢,而本文提出的算法誤差大大減小,校正后被動目標跟蹤過程的精度和穩定性都有了明顯的提高.在實際海試試驗中,由于沒有對傳感器的數據進行關聯篩選,因此校正后的結果雖然比之前的相比有所改進,但仍有很多離散的大誤差點,后期將對傳感器獲得的量測角度加入數據關聯環節,以提高濾波精度.

圖7 被動聲納接收到的角度量測值

圖8 校正前后的濾波誤差對比圖
本文針對擴展卡爾曼濾波應用于水下被動目標跟蹤易于發散的問題,提出將神經網絡與擴展卡爾曼濾波相結合的方法.經過理論分析和仿真驗證發現:經過神經網絡校正后的卡爾曼濾波過程,可以抑制目標載體機動以及強非線性模型等帶來的不良影響,通過神經網絡對卡爾曼濾波狀態方程輸入到輸出變量映射關系的構建,在一定程度上減小了濾波估計誤差,提高了濾波誤差的精度,進而提升了水下被動目標跟蹤的可靠性與魯棒性.
但神經網絡與卡爾曼濾波相結合的技術方法,仍存在需要完善的細節.比如神經網絡的結構層數以及初始權值等參數是否能有一種更高效率的方法來確定,目前多是根據經驗進行選取,導致訓練時效率較低等問題.后續需要進一步深入進行研究和探討,從而得到更精準的目標跟蹤結果.