張 園,趙長勝,李曉明
(江蘇師范大學 地理測繪與城鄉規劃學院,江蘇 徐州 221116)E-mail:zy1993_xuzhou@sina.com
粒子濾波又稱序貫蒙特卡洛方法,其基本思想是用一組樣本或粒子,來近似表征非線性系統的后驗概率分布,由此來估計非線性系統的狀態.粒子濾波可以解決傳統卡爾曼濾波的非線性誤差積累問題,因而精度逼近最優,數值穩定性也很好,是一種很有效的非線性濾波技術,可廣泛用于數字通信、計算機視覺、語音信號處理、機器學習、室內定位與導航等方面[1-3].
1993年,Gordon提出基于重采樣技術的序貫蒙特卡洛方法,引出自舉濾波器,有效解決權值退化現象[4].1999年,Carpenter等人概括總結序貫重要性采樣SIS算法,首次提出粒子濾波的概念[5].在此基礎上,Torma等學者提出了似然分布自適應粒子濾波算法,該算法選取先驗密度函數作為重要性密度函數,該方法實現簡單[6],但是沒有考慮最新量測新息的影響[7].高怡等提出將基于似然分布的樣本數自適應UPF算法應用到SINS/SAR組合導航系統中,該方法雖然增大了似然分布的范圍,但也增大了計算量[8].高國棟等提出了基于似然分布調整的粒子群優化粒子濾波新方法(LA-PSOPF),用于解決傳統基于粒子群優化的粒子濾波(PF)算法(PSOPF)在移動粒子向高似然區域移動的過程中,由于破壞了預測分布,當似然函數具有多峰時,其在具有大計算量的同時濾波性能并沒有明顯提升等問題[9].王爾申等人提出將BP神經網絡用于輔助基本粒子濾波算法(NNWA-PF),在濾波精度方面有一定提高,但用時也相應增加[10].許夢陽等提出根據粒子分布情況確定分裂和調整的粒子數目,進而根據粒子權重采用正態分布的方式進行分裂,采用反向傳插(BP)神經網絡進行權值調整,緩解了粒子的退化和貧化,具有更強的自適應性能和跟蹤能力,同時計算量有所增加[11].吳蘭花等提出一種鋰電池SOC估計優化粒子濾波算法,將BP神經網絡應用到粒子濾波的權值更新過程中,實現鋰電池SOC估計[12].路飛等提出將BP神經網絡應用到機器人定位中,首先利用基于BP神經網絡的WIFI指紋定位對機器人進行粗定位,并將估計位置與估計誤差發送給ROS服務機器人;在粗定位的基礎上使用蒙特卡洛粒子濾波算法方法最終獲得服務機器人的精確位置[13].
對于傳統粒子濾波改進算法來說,可能存在當噪聲較大時導致濾波精度不夠高、易發散等問題;粒子濾波(PF)和BP神經網絡結合后濾波精度有所提高,又導致算法計算量增加.因此本文在綜合考慮精度和實時性的關系上,提出基于動量BP算法的似然分布自適應粒子濾波(MO-NNWA-APF):一方面通過反映量測噪聲統計性能的精度因子α對似然分布狀態自適應調整,增加先驗和似然的重疊區,改進權值的分布,提高濾波精度;另一方面將動量BP算法與似然分布自適應調整結合,增大位于低概率密度區域的粒子的權值,同時部分高權值粒子被分裂為小權值粒子,一定程度上增加粒子的多樣性和改善算法的實時性.
動態空間模型一般采用狀態方程和觀測方程來表示:
xk=f(xk-1,vk-1)
(1)
zk=h(xk,nk)
(2)
式中,xk為k時刻狀態向量,zk為k時刻觀測向量,f和h分別為狀態轉移函數和觀測函數,vk和nk分別為狀態噪聲向量和觀測噪聲向量.
基于似然分布自適應調整的粒子濾波方法通常通過改變粒子對應權值的分布,改變似然函數分布以實現自適應.改變似然函數的分布實質上是改變粒子權值的分布,因而只需對標準粒子濾波算法的權值更新部分做相應的自適應改進[14].似然分布自適應調整粒子濾波過程如下:

2)更新粒子:

(3)

(4)
式中,ε為閾值,根據經驗確定;K為比例系數,K/α>0.若系統量測噪聲較低,令β=0,似然分布不作調整,而當系統量測噪聲較高,即當似然分布位于轉移先驗分布尾部時,取β=K/α,使似然分布分布較廣.
5)歸一化權值.
(5)

標準BP神經網絡基于最速下降算法,這可以使權值和閾值向量的解相對穩定,但存在一些如BP神經網絡收斂速度慢,網絡容易陷入局部最優等問題.當采用較高學習速率時,常常發生振蕩.為了避免最速下降算法的振蕩現象,動量BP算法在最速下降法的基礎上引入動量因子η(0<η<1):
(6)
x(k+1)=x(k)+Δx(k+1)
(7)
動量BP算法總是增加同一梯度上的修正量,也就是說動量因子η越大,同一梯度方向上的“動量”也會越大.該算法不僅可以有效避免最速下降法的震蕩現象,還能加快算法收斂速率,從而減少學習時間.
即便在似然分布自適應調整中加入自適應因子自適應地調整似然分布狀態,仍然存在歸一化權值較小的樣本.為了解決上述問題,在似然分布自適應粒子濾波的基礎上,增加權值分裂和權值調整兩個步驟,目的是隨時間遞增增加粒子的多樣性,有效降低粒子退化,且一定程度上減少誤差.通過增大位于概率分布尾部的粒子權值,從而使小權值粒子再次進入高權值區域,那么基于動量BP算法的似然分布自適應粒子濾波算法具體步驟如下:

(8)
2)對i=1,2,…,N計算重要性權值.
(9)


(10)
6)令k=k+1,轉到步驟2).
5.1.1 一維系統建模
為了驗證算法的有效性,這里采用一個廣泛應用的標量模型對基于似然分布自適應粒子濾波算法進行仿真分析.其狀態模型和觀測模型分別為:
(11)
這里,wk和vk為均值為0、方差分別為Qk=10和Rk=1的高斯噪聲,狀態初始值為x0=0.1,訓練次數T=50.動量BP算法中學習步長為0.05,神經元個數為8,訓練精度為0.005,動量系數設定為0.5,最大訓練次數1000.
5.1.2 實驗數據分析
加入動量BP算法后,采取似然分布自適應調整,進一步改善濾波結果如圖1到圖6.
1)從圖1到圖6可以看出,粒子數分別取50、150、300時,系統狀態表現為:從圖上直觀看出,基于動量BP算法的似然分布自適應粒子濾波優于其他兩種算法,更好的追隨系統的真實狀態.估計與真值的關系表現為:考量后驗均值估計和最大后驗概率估計,基于動量BP算法的似然分布自適應粒子濾波得到的結果更加均勻分布在直線兩側,大致呈對稱分布.以上說明通過選用一維系統仿真三種算法,綜合比較它們在系統狀態、估計與真值的關系兩方面,可以得出基于動量BP算法的似然分布自適應粒子濾波算法比基本粒子濾波算法、基于BP神經網絡的粒子濾波算法預測能力更好,因而精度更優.

圖1 粒子數為50時系統狀態圖Fig.1 System state diagram with a particle number of 50
2)由表1,當粒子數相同時,依次為PF、NNWA-PF和MO-NNWA-APF,其有效粒子數逐漸增加,均方根誤差逐漸降低;對同一種算法而言,粒子數逐漸增加,其有效粒子數逐漸增加、均方根誤差逐漸降低.而對于MO-NNWA-PF算法和NNWA-PF算法兩種算法,除用時外有效粒子數和均方根誤差大致相同.以上分析表明MO-NNWA-APF算法精度上優于PF、NNWA-PF和MO-NNWA-PF三種算法.

圖2 粒子數為50時估計與真值的關系Fig.2 Relation between estimation and truth value when the particle number is 50
從算法用時可以看出對同一種算法而言,隨著粒子數的增加,算法用時均增加;粒子數相同時,MO-NNWA-APF算法用時少于MO-NNWA-PF,這表明了動量BP算法實時性上的優勢.粒子濾波整體用時較少,但精度不如新算法MO-NNWA-APF.

圖3 粒子數為150時系統狀態圖Fig.3 System state diagram with a particle number of 150
綜上可以推斷出,新算法MO-NNWA-APF的綜合性能優于其他兩種算法,算法穩定,精度高,實時性較好.

圖4 粒子數為150時估計與真值的關系Fig.4 Relation between estimation and truth value when the particle number is 150

圖5 粒子數為300時系統狀態圖Fig.5 System state diagram with a particle number of 300

圖6 粒子數為300時估計與真值的關系Fig.6 Relation between estimation and truth value when the particle number is 150
5.2.1 基于距離的系統模型
假設目標沿直線勻速運動,目標運動狀態為:
X(k)=[x1(k),y1(k),x2(k),y2(k)]T
(12)
式中x1(k)為東方向位置,y1(k)為北方向位置,x2(k)為東方向速度,y1(k)為北方向速度.
目標狀態方程為:
X(k)=ΦX(k-1)+Γω(k-1)
(13)

目標觀測方程為:
Z(k)=h(X(k))+v(k-1)
(14)
其中觀測站坐標為(xs,ys),函數h表示觀測站與目標的距離,V表示觀測噪聲.
(15)

表1 4種算法處理后的參數對比情況Table 1 Comparison of the parameters after the four algorithms are processed.
注:MO-NNWA-PF為基于動量BP算法的粒子濾波
5.2.2 單目標跟蹤系統建模
如目標在平面勻速運動,初始狀態為(0,0,1,0),東向速度為1m/s,初始位置為(11.251,3.453)m,粒子數為N=200,采樣次數80次.采用PF、NNWA-PF和MO-NNWA-APF三種算法仿真求出3種算法處理后的系統狀態,對比分析如圖7所示.

圖7 系統狀態圖Fig.7 System state diagram
由圖7系統狀態圖可看出,NNWA-PF算法跟蹤效果優于PF算法,而MO-NNWA-APF算法目標跟蹤效果優于前兩種算法.新算法MO-NNWA-APF整體預測效果較其他算法表現穩定,精度較高.
x方向位移RMSE,PF算法和NNWA-APF算法誤差較大,MO-NNWA-APF誤差較小;y方向位移RMSE,MO-NNWA-APF誤差小于PF和NNWA-APF兩種算法.
實時性上,加入BP神經網絡后,NNWA-APF算法用時增加,而MO-NNWA-APF算法通過引入動量因子,在用時上有所降低.這表明新算法實時性上的優勢.
綜上可知,新算法MO-NNWA-APF較PF算法和NNWA-APF算法,目標跟蹤精度較高,用時較少,算法較穩定(如表2所示).

表2 三種算法處理后的誤差及用時對比情況Table 2 Comparisons of errors and time use after processing of three algorithms
針對粒子濾波固有的粒子退化問題、粒子匱乏現象等問題,本文提出基于動量BP算法的似然分布自適應粒子濾波:一方面通過可以反映量測噪聲統計性能的精度因子來自適應調整似然分布狀態,增加先驗和似然的重疊區,提高濾波精度;另一方面將動量BP算法與似然分布自適應調整結合,增大位于低概率密度區域的粒子的權值,同時部分較高權值的粒子被分裂為小權值粒子,一定程度上增加粒子的多樣性和改善算法的實時性.
使用基于動量BP算法的似然分布自適應粒子濾波算法優于現有的標準粒子濾波算法、基于BP神經網絡的粒子濾波算法,在系統狀態、均方根誤差、估計與真值的關系、有效粒子數等方面體現出較好的預測能力,預測結果表現精度較高,算法穩定,實時性較好.