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

2)更新粒子:

(3)

(4)
式中,ε為閾值,根據(jù)經(jīng)驗(yàn)確定;K為比例系數(shù),K/α>0.若系統(tǒng)量測(cè)噪聲較低,令β=0,似然分布不作調(diào)整,而當(dāng)系統(tǒng)量測(cè)噪聲較高,即當(dāng)似然分布位于轉(zhuǎn)移先驗(yàn)分布尾部時(shí),取β=K/α,使似然分布分布較廣.
5)歸一化權(quán)值.
(5)

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

(8)
2)對(duì)i=1,2,…,N計(jì)算重要性權(quán)值.
(9)


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

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

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

圖3 粒子數(shù)為150時(shí)系統(tǒng)狀態(tài)圖Fig.3 System state diagram with a particle number of 150
綜上可以推斷出,新算法MO-NNWA-APF的綜合性能優(yōu)于其他兩種算法,算法穩(wěn)定,精度高,實(shí)時(shí)性較好.

圖4 粒子數(shù)為150時(shí)估計(jì)與真值的關(guān)系Fig.4 Relation between estimation and truth value when the particle number is 150

圖5 粒子數(shù)為300時(shí)系統(tǒng)狀態(tài)圖Fig.5 System state diagram with a particle number of 300

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

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

表1 4種算法處理后的參數(shù)對(duì)比情況Table 1 Comparison of the parameters after the four algorithms are processed.
注:MO-NNWA-PF為基于動(dòng)量BP算法的粒子濾波
5.2.2 單目標(biāo)跟蹤系統(tǒng)建模
如目標(biāo)在平面勻速運(yùn)動(dò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),對(duì)比分析如圖7所示.

圖7 系統(tǒng)狀態(tài)圖Fig.7 System state diagram
由圖7系統(tǒng)狀態(tài)圖可看出,NNWA-PF算法跟蹤效果優(yōu)于PF算法,而MO-NNWA-APF算法目標(biāo)跟蹤效果優(yōu)于前兩種算法.新算法MO-NNWA-APF整體預(yù)測(cè)效果較其他算法表現(xiàn)穩(wěn)定,精度較高.
x方向位移RMSE,PF算法和NNWA-APF算法誤差較大,MO-NNWA-APF誤差較小;y方向位移RMSE,MO-NNWA-APF誤差小于PF和NNWA-APF兩種算法.
實(shí)時(shí)性上,加入BP神經(jīng)網(wǎng)絡(luò)后,NNWA-APF算法用時(shí)增加,而MO-NNWA-APF算法通過(guò)引入動(dòng)量因子,在用時(shí)上有所降低.這表明新算法實(shí)時(shí)性上的優(yōu)勢(shì).
綜上可知,新算法MO-NNWA-APF較PF算法和NNWA-APF算法,目標(biāo)跟蹤精度較高,用時(shí)較少,算法較穩(wěn)定(如表2所示).

表2 三種算法處理后的誤差及用時(shí)對(duì)比情況Table 2 Comparisons of errors and time use after processing of three algorithms
針對(duì)粒子濾波固有的粒子退化問(wèn)題、粒子匱乏現(xiàn)象等問(wèn)題,本文提出基于動(dòng)量BP算法的似然分布自適應(yīng)粒子濾波:一方面通過(guò)可以反映量測(cè)噪聲統(tǒng)計(jì)性能的精度因子來(lái)自適應(yīng)調(diào)整似然分布狀態(tài),增加先驗(yàn)和似然的重疊區(qū),提高濾波精度;另一方面將動(dòng)量BP算法與似然分布自適應(yīng)調(diào)整結(jié)合,增大位于低概率密度區(qū)域的粒子的權(quán)值,同時(shí)部分較高權(quán)值的粒子被分裂為小權(quán)值粒子,一定程度上增加粒子的多樣性和改善算法的實(shí)時(shí)性.
使用基于動(dòng)量BP算法的似然分布自適應(yīng)粒子濾波算法優(yōu)于現(xiàn)有的標(biāo)準(zhǔn)粒子濾波算法、基于BP神經(jīng)網(wǎng)絡(luò)的粒子濾波算法,在系統(tǒng)狀態(tài)、均方根誤差、估計(jì)與真值的關(guān)系、有效粒子數(shù)等方面體現(xiàn)出較好的預(yù)測(cè)能力,預(yù)測(cè)結(jié)果表現(xiàn)精度較高,算法穩(wěn)定,實(shí)時(shí)性較好.