張 園,趙長勝,李曉明
(江蘇師范大學(xué) 地理測繪與城鄉(xiāng)規(guī)劃學(xué)院,江蘇 徐州 221116)E-mail:zy1993_xuzhou@sina.com
粒子濾波又稱序貫蒙特卡洛方法,其基本思想是用一組樣本或粒子,來近似表征非線性系統(tǒng)的后驗概率分布,由此來估計非線性系統(tǒng)的狀態(tài).粒子濾波可以解決傳統(tǒng)卡爾曼濾波的非線性誤差積累問題,因而精度逼近最優(yōu),數(shù)值穩(wěn)定性也很好,是一種很有效的非線性濾波技術(shù),可廣泛用于數(shù)字通信、計算機視覺、語音信號處理、機器學(xué)習(xí)、室內(nèi)定位與導(dǎo)航等方面[1-3].
1993年,Gordon提出基于重采樣技術(shù)的序貫蒙特卡洛方法,引出自舉濾波器,有效解決權(quán)值退化現(xiàn)象[4].1999年,Carpenter等人概括總結(jié)序貫重要性采樣SIS算法,首次提出粒子濾波的概念[5].在此基礎(chǔ)上,Torma等學(xué)者提出了似然分布自適應(yīng)粒子濾波算法,該算法選取先驗密度函數(shù)作為重要性密度函數(shù),該方法實現(xiàn)簡單[6],但是沒有考慮最新量測新息的影響[7].高怡等提出將基于似然分布的樣本數(shù)自適應(yīng)UPF算法應(yīng)用到SINS/SAR組合導(dǎo)航系統(tǒng)中,該方法雖然增大了似然分布的范圍,但也增大了計算量[8].高國棟等提出了基于似然分布調(diào)整的粒子群優(yōu)化粒子濾波新方法(LA-PSOPF),用于解決傳統(tǒng)基于粒子群優(yōu)化的粒子濾波(PF)算法(PSOPF)在移動粒子向高似然區(qū)域移動的過程中,由于破壞了預(yù)測分布,當似然函數(shù)具有多峰時,其在具有大計算量的同時濾波性能并沒有明顯提升等問題[9].王爾申等人提出將BP神經(jīng)網(wǎng)絡(luò)用于輔助基本粒子濾波算法(NNWA-PF),在濾波精度方面有一定提高,但用時也相應(yīng)增加[10].許夢陽等提出根據(jù)粒子分布情況確定分裂和調(diào)整的粒子數(shù)目,進而根據(jù)粒子權(quán)重采用正態(tài)分布的方式進行分裂,采用反向傳插(BP)神經(jīng)網(wǎng)絡(luò)進行權(quán)值調(diào)整,緩解了粒子的退化和貧化,具有更強的自適應(yīng)性能和跟蹤能力,同時計算量有所增加[11].吳蘭花等提出一種鋰電池SOC估計優(yōu)化粒子濾波算法,將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用到粒子濾波的權(quán)值更新過程中,實現(xiàn)鋰電池SOC估計[12].路飛等提出將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用到機器人定位中,首先利用基于BP神經(jīng)網(wǎng)絡(luò)的WIFI指紋定位對機器人進行粗定位,并將估計位置與估計誤差發(fā)送給ROS服務(wù)機器人;在粗定位的基礎(chǔ)上使用蒙特卡洛粒子濾波算法方法最終獲得服務(wù)機器人的精確位置[13].
對于傳統(tǒng)粒子濾波改進算法來說,可能存在當噪聲較大時導(dǎo)致濾波精度不夠高、易發(fā)散等問題;粒子濾波(PF)和BP神經(jīng)網(wǎng)絡(luò)結(jié)合后濾波精度有所提高,又導(dǎo)致算法計算量增加.因此本文在綜合考慮精度和實時性的關(guān)系上,提出基于動量BP算法的似然分布自適應(yīng)粒子濾波(MO-NNWA-APF):一方面通過反映量測噪聲統(tǒng)計性能的精度因子α對似然分布狀態(tài)自適應(yīng)調(diào)整,增加先驗和似然的重疊區(qū),改進權(quán)值的分布,提高濾波精度;另一方面將動量BP算法與似然分布自適應(yīng)調(diào)整結(jié)合,增大位于低概率密度區(qū)域的粒子的權(quán)值,同時部分高權(quán)值粒子被分裂為小權(quán)值粒子,一定程度上增加粒子的多樣性和改善算法的實時性.
動態(tài)空間模型一般采用狀態(tài)方程和觀測方程來表示:
xk=f(xk-1,vk-1)
(1)
zk=h(xk,nk)
(2)
式中,xk為k時刻狀態(tài)向量,zk為k時刻觀測向量,f和h分別為狀態(tài)轉(zhuǎn)移函數(shù)和觀測函數(shù),vk和nk分別為狀態(tài)噪聲向量和觀測噪聲向量.
基于似然分布自適應(yīng)調(diào)整的粒子濾波方法通常通過改變粒子對應(yīng)權(quán)值的分布,改變似然函數(shù)分布以實現(xiàn)自適應(yīng).改變似然函數(shù)的分布實質(zhì)上是改變粒子權(quán)值的分布,因而只需對標準粒子濾波算法的權(quán)值更新部分做相應(yīng)的自適應(yīng)改進[14].似然分布自適應(yīng)調(diào)整粒子濾波過程如下:
2)更新粒子:
(3)
(4)
式中,ε為閾值,根據(jù)經(jīng)驗確定;K為比例系數(shù),K/α>0.若系統(tǒng)量測噪聲較低,令β=0,似然分布不作調(diào)整,而當系統(tǒng)量測噪聲較高,即當似然分布位于轉(zhuǎn)移先驗分布尾部時,取β=K/α,使似然分布分布較廣.
5)歸一化權(quán)值.
(5)
標準BP神經(jīng)網(wǎng)絡(luò)基于最速下降算法,這可以使權(quán)值和閾值向量的解相對穩(wěn)定,但存在一些如BP神經(jīng)網(wǎng)絡(luò)收斂速度慢,網(wǎng)絡(luò)容易陷入局部最優(yōu)等問題.當采用較高學(xué)習(xí)速率時,常常發(fā)生振蕩.為了避免最速下降算法的振蕩現(xiàn)象,動量BP算法在最速下降法的基礎(chǔ)上引入動量因子η(0<η<1):
(6)
x(k+1)=x(k)+Δx(k+1)
(7)
動量BP算法總是增加同一梯度上的修正量,也就是說動量因子η越大,同一梯度方向上的“動量”也會越大.該算法不僅可以有效避免最速下降法的震蕩現(xiàn)象,還能加快算法收斂速率,從而減少學(xué)習(xí)時間.
即便在似然分布自適應(yīng)調(diào)整中加入自適應(yīng)因子自適應(yīng)地調(diào)整似然分布狀態(tài),仍然存在歸一化權(quán)值較小的樣本.為了解決上述問題,在似然分布自適應(yīng)粒子濾波的基礎(chǔ)上,增加權(quán)值分裂和權(quán)值調(diào)整兩個步驟,目的是隨時間遞增增加粒子的多樣性,有效降低粒子退化,且一定程度上減少誤差.通過增大位于概率分布尾部的粒子權(quán)值,從而使小權(quán)值粒子再次進入高權(quán)值區(qū)域,那么基于動量BP算法的似然分布自適應(yīng)粒子濾波算法具體步驟如下:
(8)
2)對i=1,2,…,N計算重要性權(quán)值.
(9)
(10)
6)令k=k+1,轉(zhuǎn)到步驟2).
5.1.1 一維系統(tǒng)建模
為了驗證算法的有效性,這里采用一個廣泛應(yīng)用的標量模型對基于似然分布自適應(yīng)粒子濾波算法進行仿真分析.其狀態(tài)模型和觀測模型分別為:
(11)
這里,wk和vk為均值為0、方差分別為Qk=10和Rk=1的高斯噪聲,狀態(tài)初始值為x0=0.1,訓(xùn)練次數(shù)T=50.動量BP算法中學(xué)習(xí)步長為0.05,神經(jīng)元個數(shù)為8,訓(xùn)練精度為0.005,動量系數(shù)設(shè)定為0.5,最大訓(xùn)練次數(shù)1000.
5.1.2 實驗數(shù)據(jù)分析
加入動量BP算法后,采取似然分布自適應(yīng)調(diào)整,進一步改善濾波結(jié)果如圖1到圖6.
1)從圖1到圖6可以看出,粒子數(shù)分別取50、150、300時,系統(tǒng)狀態(tài)表現(xiàn)為:從圖上直觀看出,基于動量BP算法的似然分布自適應(yīng)粒子濾波優(yōu)于其他兩種算法,更好的追隨系統(tǒng)的真實狀態(tài).估計與真值的關(guān)系表現(xiàn)為:考量后驗均值估計和最大后驗概率估計,基于動量BP算法的似然分布自適應(yīng)粒子濾波得到的結(jié)果更加均勻分布在直線兩側(cè),大致呈對稱分布.以上說明通過選用一維系統(tǒng)仿真三種算法,綜合比較它們在系統(tǒng)狀態(tài)、估計與真值的關(guān)系兩方面,可以得出基于動量BP算法的似然分布自適應(yīng)粒子濾波算法比基本粒子濾波算法、基于BP神經(jīng)網(wǎng)絡(luò)的粒子濾波算法預(yù)測能力更好,因而精度更優(yōu).
圖1 粒子數(shù)為50時系統(tǒng)狀態(tài)圖Fig.1 System state diagram with a particle number of 50
2)由表1,當粒子數(shù)相同時,依次為PF、NNWA-PF和MO-NNWA-APF,其有效粒子數(shù)逐漸增加,均方根誤差逐漸降低;對同一種算法而言,粒子數(shù)逐漸增加,其有效粒子數(shù)逐漸增加、均方根誤差逐漸降低.而對于MO-NNWA-PF算法和NNWA-PF算法兩種算法,除用時外有效粒子數(shù)和均方根誤差大致相同.以上分析表明MO-NNWA-APF算法精度上優(yōu)于PF、NNWA-PF和MO-NNWA-PF三種算法.
圖2 粒子數(shù)為50時估計與真值的關(guān)系Fig.2 Relation between estimation and truth value when the particle number is 50
從算法用時可以看出對同一種算法而言,隨著粒子數(shù)的增加,算法用時均增加;粒子數(shù)相同時,MO-NNWA-APF算法用時少于MO-NNWA-PF,這表明了動量BP算法實時性上的優(yōu)勢.粒子濾波整體用時較少,但精度不如新算法MO-NNWA-APF.
圖3 粒子數(shù)為150時系統(tǒng)狀態(tài)圖Fig.3 System state diagram with a particle number of 150
綜上可以推斷出,新算法MO-NNWA-APF的綜合性能優(yōu)于其他兩種算法,算法穩(wěn)定,精度高,實時性較好.
圖4 粒子數(shù)為150時估計與真值的關(guān)系Fig.4 Relation between estimation and truth value when the particle number is 150
圖5 粒子數(shù)為300時系統(tǒng)狀態(tài)圖Fig.5 System state diagram with a particle number of 300
圖6 粒子數(shù)為300時估計與真值的關(guān)系Fig.6 Relation between estimation and truth value when the particle number is 150
5.2.1 基于距離的系統(tǒng)模型
假設(shè)目標沿直線勻速運動,目標運動狀態(tài)為:
X(k)=[x1(k),y1(k),x2(k),y2(k)]T
(12)
式中x1(k)為東方向位置,y1(k)為北方向位置,x2(k)為東方向速度,y1(k)為北方向速度.
目標狀態(tài)方程為:
X(k)=ΦX(k-1)+Γω(k-1)
(13)
目標觀測方程為:
Z(k)=h(X(k))+v(k-1)
(14)
其中觀測站坐標為(xs,ys),函數(shù)h表示觀測站與目標的距離,V表示觀測噪聲.
(15)
表1 4種算法處理后的參數(shù)對比情況Table 1 Comparison of the parameters after the four algorithms are processed.
注:MO-NNWA-PF為基于動量BP算法的粒子濾波
5.2.2 單目標跟蹤系統(tǒng)建模
如目標在平面勻速運動,初始狀態(tài)為(0,0,1,0),東向速度為1m/s,初始位置為(11.251,3.453)m,粒子數(shù)為N=200,采樣次數(shù)80次.采用PF、NNWA-PF和MO-NNWA-APF三種算法仿真求出3種算法處理后的系統(tǒng)狀態(tài),對比分析如圖7所示.
圖7 系統(tǒng)狀態(tài)圖Fig.7 System state diagram
由圖7系統(tǒng)狀態(tài)圖可看出,NNWA-PF算法跟蹤效果優(yōu)于PF算法,而MO-NNWA-APF算法目標跟蹤效果優(yōu)于前兩種算法.新算法MO-NNWA-APF整體預(yù)測效果較其他算法表現(xiàn)穩(wěn)定,精度較高.
x方向位移RMSE,PF算法和NNWA-APF算法誤差較大,MO-NNWA-APF誤差較小;y方向位移RMSE,MO-NNWA-APF誤差小于PF和NNWA-APF兩種算法.
實時性上,加入BP神經(jīng)網(wǎng)絡(luò)后,NNWA-APF算法用時增加,而MO-NNWA-APF算法通過引入動量因子,在用時上有所降低.這表明新算法實時性上的優(yōu)勢.
綜上可知,新算法MO-NNWA-APF較PF算法和NNWA-APF算法,目標跟蹤精度較高,用時較少,算法較穩(wěn)定(如表2所示).
表2 三種算法處理后的誤差及用時對比情況Table 2 Comparisons of errors and time use after processing of three algorithms
針對粒子濾波固有的粒子退化問題、粒子匱乏現(xiàn)象等問題,本文提出基于動量BP算法的似然分布自適應(yīng)粒子濾波:一方面通過可以反映量測噪聲統(tǒng)計性能的精度因子來自適應(yīng)調(diào)整似然分布狀態(tài),增加先驗和似然的重疊區(qū),提高濾波精度;另一方面將動量BP算法與似然分布自適應(yīng)調(diào)整結(jié)合,增大位于低概率密度區(qū)域的粒子的權(quán)值,同時部分較高權(quán)值的粒子被分裂為小權(quán)值粒子,一定程度上增加粒子的多樣性和改善算法的實時性.
使用基于動量BP算法的似然分布自適應(yīng)粒子濾波算法優(yōu)于現(xiàn)有的標準粒子濾波算法、基于BP神經(jīng)網(wǎng)絡(luò)的粒子濾波算法,在系統(tǒng)狀態(tài)、均方根誤差、估計與真值的關(guān)系、有效粒子數(shù)等方面體現(xiàn)出較好的預(yù)測能力,預(yù)測結(jié)果表現(xiàn)精度較高,算法穩(wěn)定,實時性較好.