張鎧翔 姜文剛
(江蘇科技大學(xué)電子信息學(xué)院 江蘇 鎮(zhèn)江 212000)
目標(biāo)跟蹤技術(shù)作為環(huán)境感知的核心技術(shù)之一,在軍事勘察、精確制導(dǎo)、安防監(jiān)控等領(lǐng)域都有著巨大的應(yīng)用前景。由于目標(biāo)跟蹤的整個(gè)過程存在各種噪聲,所以幾乎都是對非線性的狀態(tài)估計(jì)。針對非線性或者非高斯系統(tǒng)的狀態(tài)估計(jì)問題,目前的解決方法有擴(kuò)展卡爾曼濾波[1](Extended Kalman Fifilter,EKF)、無跡卡爾曼濾波[2](Unstend Kalman Fifilter,UKF)、容積卡爾曼濾波[3](CubatureKalman Fifilter,CKF)、粒子濾波[4](Particle Fifilter,PF)等經(jīng)典非線性算法。
其中粒子濾波算法是貝葉斯估計(jì)理論的一種非線性算法,且相對于其他算法在目標(biāo)跟蹤領(lǐng)域更具有優(yōu)勢。然而傳統(tǒng)的粒子濾波并沒有考慮最新觀測,這便導(dǎo)致重要性采樣過程得出的樣本與真實(shí)分布存在較大的偏差,以及重采樣階段也會隨著不斷的迭代過程導(dǎo)致粒子匱乏,丟失了粒子的多樣性,進(jìn)而使?fàn)顟B(tài)的估計(jì)精度下降[5]。針對粒子濾波存在的退化問題,近年來不斷有學(xué)者提出解決方法。文獻(xiàn)[6]通過迭代擴(kuò)展卡爾曼和粒子濾波進(jìn)行融合改進(jìn)粒子濾波的重要性密度函數(shù)。文獻(xiàn)[7]為了緩解粒子退化和提高系統(tǒng)預(yù)測精度,提出基于強(qiáng)跟蹤無跡卡爾曼濾波算法,其中將強(qiáng)跟蹤無跡卡爾曼預(yù)測的狀態(tài)分布作為重要性密度函數(shù)。文獻(xiàn)[8]則使用差分演化算法與容積粒子濾波融合,由容積卡爾曼濾波產(chǎn)生重要性密度函數(shù),可以進(jìn)一步優(yōu)化粒子,提高濾波的預(yù)測精度。這三種算法都充分考慮了當(dāng)前的觀測值,進(jìn)一步優(yōu)化了重要性密度函數(shù),但對于重采樣過程中粒子多樣性丟失的問題并沒有很好地解決。
本文基于容積粒子濾波(Cubature Particle Fifilter,CPF)在提議分布和重采樣這兩點(diǎn)上進(jìn)行改進(jìn):(1) 引入文獻(xiàn)[9]中的漸消濾波與容積粒子濾波相融合產(chǎn)生自適應(yīng)提議分布函數(shù),使得融合的提議分布更加逼近真實(shí)狀態(tài),進(jìn)而緩解粒子退化;(2) 在重采樣過程中引入基于人工免疫[10]的重采樣并進(jìn)行自適應(yīng)部分重采樣。通過這兩點(diǎn)可以有效地提高粒子的濾波能力,可以有效地緩解粒子的樣本退化和貧化。
假定非線性系統(tǒng)模型離散系統(tǒng):
xk+1=f(xk)+w(xk)
(1)
zk+1=h(xk)+v(xk)
(2)
式中:xk、zk分別為狀態(tài)值和觀測量;w、v分別是過程噪聲和測量噪聲;f與h分別為非線性系統(tǒng)的狀態(tài)轉(zhuǎn)移函數(shù)和量測函數(shù)。
CKF算法主要是利用球面徑向原則來進(jìn)行高階積分。容積的原則主要是通過點(diǎn)集進(jìn)行非線性傳遞,然后通過加權(quán)求和來近似于非線性函數(shù)的后驗(yàn)均值和方差。
進(jìn)行容積規(guī)則與高斯分布結(jié)合:
(3)
式中:N為高斯概率密度;I為協(xié)方差。
容積點(diǎn)個(gè)數(shù)為:
m=2n
(4)
式中:n是狀態(tài)維數(shù)。
權(quán)重大小為:
(5)
容積點(diǎn)為:
(6)
式中:[1]為完全對稱的點(diǎn)集。
在高維度中CKF相比于UKF、EKF具有更好的收斂性和濾波精度。
CPF是通過CKF來改進(jìn)粒子濾波算法的。主要是在粒子濾波的重要性采樣的過程中通過CKF來計(jì)算每個(gè)粒子的均值和協(xié)方差,然后就是通過得到的均值與協(xié)方差來進(jìn)行提議采樣。由于在使用CKF計(jì)算均值和方差可以更好地來逼近后驗(yàn)概率密度函數(shù),也就是融合了最新的觀測值Zk。
容積粒子濾波算法具體過程如下:
(7)
(2) 重要性采樣階段。當(dāng)k=2,3,…,通過CKF進(jìn)行計(jì)算每個(gè)粒子的下一時(shí)刻的均值和協(xié)方差,分別進(jìn)行時(shí)間更新和量測更新。
時(shí)間更新:
第一步:對容積點(diǎn)進(jìn)行計(jì)算:
(8)
(9)
第二步:傳播容積點(diǎn):
(10)
第三步:下一步的狀態(tài)預(yù)測值和協(xié)方差預(yù)測值:
(11)
式中:R為過程噪聲。
量測更新:
第四步:對下一步的狀態(tài)預(yù)測值求解容積點(diǎn):
(12)
(13)
第五步:容積點(diǎn)傳播:
(14)
第六步:進(jìn)行測量預(yù)測值的計(jì)算:
(15)
第七步:進(jìn)行測量誤差的協(xié)方差和測量誤差與狀態(tài)誤差的互方差計(jì)算:
(16)
第八步:增益更新:
(17)
第九步:融入當(dāng)前觀測值的預(yù)測狀態(tài)值和測量協(xié)方差:
(18)
(19)
(20)
(3) 計(jì)算粒子權(quán)重并歸一化處理:
(21)
歸一化權(quán)重:
(22)
(23)
(24)
由于CPF是通過CKF來進(jìn)行重要性采樣的,在這個(gè)過程中由于CKF是通過確定點(diǎn)進(jìn)行采樣的,在實(shí)際運(yùn)用的過程中會出現(xiàn)系統(tǒng)初始化建模不準(zhǔn)確的問題[11]。UPF也存在類似問題,文獻(xiàn)[12]將漸消濾波與UPF結(jié)合來應(yīng)對系統(tǒng)模型匹配不準(zhǔn)確時(shí),可以通過漸消因子進(jìn)行在線調(diào)整變益矩陣,從而使建議分布更加逼近真實(shí)分布。為了解決CPF出現(xiàn)這類情況,本文將漸消因子與CPF進(jìn)行結(jié)合。結(jié)合過程如下。
(25)
α0,k=tr(Nk)tr(Mk)-1
(26)
式中:tr()為求跡公式。Nk、Mk在CPF中的公式如下:
(27)
(28)
則將漸消因子融入式(19)后新的測量協(xié)方差計(jì)算公式為:
(29)
通過漸消因子αt對增益矩陣進(jìn)行在線調(diào)節(jié)從而使得每個(gè)粒子的協(xié)方差可以自適應(yīng)地調(diào)節(jié),進(jìn)一步地獲得更加可靠的觀測信息,對干擾狀態(tài)模型和觀測模型的不利因子進(jìn)行抑制,這樣可以有效地使提議分布更加逼近真實(shí)的狀態(tài)分布。
人工免疫算法[13]主要構(gòu)架思想是起源于生物免疫系統(tǒng),通過人為的形式來對模仿生物進(jìn)化選擇機(jī)理,其實(shí)是優(yōu)勝劣汰的一種思想。利用細(xì)胞智能群體進(jìn)行尋優(yōu),實(shí)現(xiàn)系統(tǒng)的全局最優(yōu)解的迭代過程[14]。研究證明人工免疫群算法是通過對抗體的克隆和變異產(chǎn)生新的抗體,可以很好保證了樣本的多樣性,以及產(chǎn)生滿足要求的最優(yōu)解的時(shí)間較短,相比于其他群智能算法具有更高的收斂速度。
本文基于人工免疫重采樣的AFCPF具體步驟如下:
2) 重要性采樣。得到具有不同權(quán)重的抗體集合。并進(jìn)行歸一化處理,將N個(gè)新的抗體存入抗體記憶序列。
3) 設(shè)定重采樣閾值。
(30)
4) 計(jì)算抗體親和力??贵w的親和力表示抗體與抗原之間的匹配度??贵w的親和力越高,說明抗體與抗原匹配度越低。也就是親和力度與匹配度成反比。
則設(shè)定抗體i在k時(shí)刻的親和力計(jì)算公式如下:
(31)
5) 抗體間互斥力計(jì)算。粒子間的距離作為衡量粒子間互斥力的大小。取任意第i個(gè)抗體與第j個(gè)抗體在k時(shí)刻的互斥力。
(32)
6) 進(jìn)行抗體克隆。抗體的克隆數(shù)目以抗體抗原之間的親和力為計(jì)算標(biāo)準(zhǔn)??贵w按照親和力的大小進(jìn)行升序排序。取「μN(yùn)個(gè)抗體作為克隆對象,對第i個(gè)粒子進(jìn)行克隆。
(33)
7) 抗體變異。為了保證粒子的多樣性,進(jìn)行抑制與抗原親和力抗體變異,并結(jié)合抗體間的互斥力關(guān)系repk(i,j),抑制抗體克隆。避免傳統(tǒng)粒子濾波的貧化。若repk(i,j)≤Δ,Δ取[0,0.000 1],設(shè)在k時(shí)刻第i個(gè)抗體進(jìn)行克隆,并對第j個(gè)抗體進(jìn)行變異。
(34)
式中:randn為(0,1)內(nèi)的正態(tài)分布的隨機(jī)數(shù);e-repk(i,j)為非線性自適應(yīng)衰減函數(shù),其引入到變異公式里,是為了提高變異效率,提高粒子多樣性,進(jìn)而加快全局最優(yōu)搜索。
8) 新抗體群選擇。經(jīng)過抗體克隆與抗體變異得到新的一組抗體,再次進(jìn)行親和力計(jì)算,并按照親和力進(jìn)行排序,并選取N個(gè)抗體作為下一時(shí)刻的粒子狀態(tài)集合。人工免疫重采樣結(jié)束。
為了節(jié)省計(jì)算量,將對部分粒子進(jìn)行人工免疫重采樣。其具體步驟如下:
(1) 對重要性采樣后的粒子進(jìn)升序排列。
為了驗(yàn)證本文提出的基于自適應(yīng)漸消容積和人工免疫重采樣的粒子濾波(AI-AFCPF)的可行性,在非線性與非高斯的系統(tǒng)模型中,采用MATLAB 2018b仿真軟件,將本文算法與PF、UPF和CPF進(jìn)行對比實(shí)驗(yàn),作預(yù)測精度和運(yùn)行效率比較分析。狀態(tài)模型與觀測模型如下:
x(k)=1+0.8cos(0.04πk)+0.6x(k-1)+w(k)
(35)
(36)
式中:w為符合伽瑪分布的過程噪聲;v為符合高斯分布的觀測噪聲。
設(shè)定粒子數(shù)為50個(gè),迭代次數(shù)為20次,分別對4種方法進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)數(shù)據(jù)表明本文算法在預(yù)測精度上明顯要高于另外三種算法,四種算法性能比較曲線如圖1-圖3所示。
圖1 狀態(tài)估計(jì)
圖2 估計(jì)偏差
圖3 RMSE
為了讓算法的性能更加明顯,采用均方根誤差(RMSE)作為四種算法的狀態(tài)估計(jì)精度衡量標(biāo)準(zhǔn)。四種算法的RMSE的均值和方差如表1所示。根據(jù)表1中均方根的均值表明本文算法狀態(tài)估計(jì)誤差要低于另外三種算法,均方根的方差表明本文算法在穩(wěn)定性上要高于另外三種算法,可見本文算法具有更高的預(yù)測精度與穩(wěn)定性。在系統(tǒng)運(yùn)行上,可以表明本文算法雖然比傳統(tǒng)的PF計(jì)算量要大,但相比UPF和CPF這兩種融合了其他算法的傳統(tǒng)粒子濾波要低,所以本文算法具有一定的可行性。
表1 RMSE的均值和方差
為了分析粒子數(shù)對算法的影響,通過在50、70、100粒子情況下進(jìn)行四種算法的比較實(shí)驗(yàn),并進(jìn)行10次實(shí)驗(yàn)來計(jì)算對應(yīng)算法的RMSE的均值和方差,如圖4、圖5所示。
圖4 不同粒子RMSE均值對比
圖5 不同粒子RMSE方差對比
從圖4、圖5分析,沒有進(jìn)行其他算法融合的傳統(tǒng)粒子濾波的RMSE均值和方差都遠(yuǎn)遠(yuǎn)大于另外三種算法,說明融入其他算法后的粒子濾波提高了穩(wěn)定性與狀態(tài)估計(jì)精度。另外,隨著粒子數(shù)不斷增加,PF、UPF、CPF三種算法均值和方差也相應(yīng)下降且下降速率較大,說明這三種算法對粒子的依賴程度較大。而本文算法從柱形圖的變化來看相對平穩(wěn),可見本文算法對粒子數(shù)的依賴性較低,其主要原因是加入人工免疫重采樣大大增加了粒子多樣性,因此本文算法可以通過較少粒子數(shù)達(dá)到較多粒子數(shù)的性能效果,從而降低計(jì)算復(fù)雜度,提高系統(tǒng)運(yùn)行效率。
為了驗(yàn)證算法的有效性,將本文算法應(yīng)用于目標(biāo)跟蹤模型上,進(jìn)行對比仿真實(shí)驗(yàn)。實(shí)驗(yàn)采用基于距離的目標(biāo)跟蹤模型,因其模型簡單、偏差較小、更具實(shí)用性,其中觀測站為雷達(dá),假設(shè)目標(biāo)做勻速直線運(yùn)動(dòng),在t時(shí)刻目標(biāo)的狀態(tài)為:
(37)
觀測站的狀態(tài)為固定的點(diǎn)為:
Xstation=(xs,ys)
(38)
考慮目標(biāo)勻速運(yùn)動(dòng)的過程中有干擾噪聲所以將目標(biāo)按水平與垂直方向進(jìn)行分解,分解如下:
(39)
(40)
式中:T為采樣時(shí)間點(diǎn)。
觀測站與目標(biāo)狀態(tài)成非線性關(guān)系:
(41)
目標(biāo)的狀態(tài)方程和觀測方程如下:
X(t+1)=ΦX(t)+Γw(t)
(42)
Z(t)=h(X(t))+v(t)
(43)
設(shè)定粒子數(shù)為50個(gè),仿真次數(shù)為30次,過程噪聲Q=diag([0.5,1,0.5,1]),觀測噪聲設(shè)為R=2,進(jìn)行四種算法目標(biāo)跟蹤得到相應(yīng)目標(biāo)運(yùn)動(dòng)軌跡和偏差。實(shí)驗(yàn)結(jié)果如圖6、圖7所示。
圖6 跟蹤軌跡
圖7 目標(biāo)跟蹤RMSE曲線
從圖6、圖7分析得基于本文算法的目標(biāo)跟蹤算法相比另外三種算法,估計(jì)精度更高,主要是加入自適應(yīng)漸消容積粒子濾波使得當(dāng)前觀測值加入重要性密度函數(shù)這樣使得提議分布更加貼近真實(shí)分布,漸消因子減少影響狀態(tài)與觀測模型的噪聲。根據(jù)表2的目標(biāo)跟蹤性能對比,基于本文算法的目標(biāo)跟蹤的RMSE的均值與方差都優(yōu)于另外三種算法,進(jìn)一步表明本文算法提高了目標(biāo)跟蹤的精度與穩(wěn)定性。在系統(tǒng)運(yùn)行時(shí)間上傳統(tǒng)粒子濾波雖然運(yùn)行時(shí)間較低,但偏差較大,遠(yuǎn)遠(yuǎn)達(dá)不到目標(biāo)跟蹤所需誤差要求,通常是融合其他算法來彌補(bǔ)誤差,計(jì)算量相對會增大,但只要運(yùn)行時(shí)間在一定范圍內(nèi)一樣具有可行性。基于本文算法的目標(biāo)跟蹤系統(tǒng)在運(yùn)行整體時(shí)間上相比其他兩種融合算法少很多,其原因主要是采用了部分自適應(yīng)人工免疫重采樣,保證了粒子的多樣性以及算法整體的收斂速度從而降低計(jì)算量,很好地滿足目標(biāo)跟蹤中毫秒級響應(yīng)時(shí)間的需求,進(jìn)一步提高系統(tǒng)的估計(jì)精度。
表2 目標(biāo)跟蹤性能對比
本文提出基于自適應(yīng)漸消容積粒子濾波建議分布,并采用部分自適應(yīng)人工免疫重采樣的目標(biāo)跟蹤方法有效地解決粒子匱乏問題,同時(shí)提高了系統(tǒng)的估計(jì)精度。此方法主要在容積粒子濾波重要性采樣過程融入漸消濾波,其漸消因子對增益矩陣進(jìn)行在線調(diào)節(jié)從而使得每個(gè)粒子的協(xié)方差可以自適應(yīng)地調(diào)節(jié),這樣可以有效地使提議分布更加逼近真實(shí)的狀態(tài)分布。在重采樣階段對粒子進(jìn)行優(yōu)化組合,對不穩(wěn)定的粒子集合進(jìn)行人工免疫重采樣,保證系統(tǒng)的穩(wěn)定性,其中人工免疫重采樣利用群智能優(yōu)化粒子群可以保證粒子多樣化,提高估計(jì)精度,以及在粒子數(shù)較少的情況也能達(dá)到較多粒子數(shù)的性能從而提高系統(tǒng)運(yùn)行速率。實(shí)驗(yàn)表明本文提出的基于人工免疫的漸消容積粒子濾波目標(biāo)跟蹤算法在估計(jì)精度與穩(wěn)定性都要優(yōu)于基于PF、UPF、CPF三種目標(biāo)跟蹤算法。因此本文算法在目標(biāo)跟蹤領(lǐng)域具有一定的實(shí)用價(jià)值。