張鎧翔 姜文剛
(江蘇科技大學電子信息學院 江蘇 鎮江 212000)
目標跟蹤技術作為環境感知的核心技術之一,在軍事勘察、精確制導、安防監控等領域都有著巨大的應用前景。由于目標跟蹤的整個過程存在各種噪聲,所以幾乎都是對非線性的狀態估計。針對非線性或者非高斯系統的狀態估計問題,目前的解決方法有擴展卡爾曼濾波[1](Extended Kalman Fifilter,EKF)、無跡卡爾曼濾波[2](Unstend Kalman Fifilter,UKF)、容積卡爾曼濾波[3](CubatureKalman Fifilter,CKF)、粒子濾波[4](Particle Fifilter,PF)等經典非線性算法。
其中粒子濾波算法是貝葉斯估計理論的一種非線性算法,且相對于其他算法在目標跟蹤領域更具有優勢。然而傳統的粒子濾波并沒有考慮最新觀測,這便導致重要性采樣過程得出的樣本與真實分布存在較大的偏差,以及重采樣階段也會隨著不斷的迭代過程導致粒子匱乏,丟失了粒子的多樣性,進而使狀態的估計精度下降[5]。針對粒子濾波存在的退化問題,近年來不斷有學者提出解決方法。文獻[6]通過迭代擴展卡爾曼和粒子濾波進行融合改進粒子濾波的重要性密度函數。文獻[7]為了緩解粒子退化和提高系統預測精度,提出基于強跟蹤無跡卡爾曼濾波算法,其中將強跟蹤無跡卡爾曼預測的狀態分布作為重要性密度函數。文獻[8]則使用差分演化算法與容積粒子濾波融合,由容積卡爾曼濾波產生重要性密度函數,可以進一步優化粒子,提高濾波的預測精度。這三種算法都充分考慮了當前的觀測值,進一步優化了重要性密度函數,但對于重采樣過程中粒子多樣性丟失的問題并沒有很好地解決。
本文基于容積粒子濾波(Cubature Particle Fifilter,CPF)在提議分布和重采樣這兩點上進行改進:(1) 引入文獻[9]中的漸消濾波與容積粒子濾波相融合產生自適應提議分布函數,使得融合的提議分布更加逼近真實狀態,進而緩解粒子退化;(2) 在重采樣過程中引入基于人工免疫[10]的重采樣并進行自適應部分重采樣。通過這兩點可以有效地提高粒子的濾波能力,可以有效地緩解粒子的樣本退化和貧化。
假定非線性系統模型離散系統:
xk+1=f(xk)+w(xk)
(1)
zk+1=h(xk)+v(xk)
(2)
式中:xk、zk分別為狀態值和觀測量;w、v分別是過程噪聲和測量噪聲;f與h分別為非線性系統的狀態轉移函數和量測函數。
CKF算法主要是利用球面徑向原則來進行高階積分。容積的原則主要是通過點集進行非線性傳遞,然后通過加權求和來近似于非線性函數的后驗均值和方差。
進行容積規則與高斯分布結合:
(3)
式中:N為高斯概率密度;I為協方差。
容積點個數為:
m=2n
(4)
式中:n是狀態維數。
權重大小為:
(5)
容積點為:
(6)
式中:[1]為完全對稱的點集。
在高維度中CKF相比于UKF、EKF具有更好的收斂性和濾波精度。
CPF是通過CKF來改進粒子濾波算法的。主要是在粒子濾波的重要性采樣的過程中通過CKF來計算每個粒子的均值和協方差,然后就是通過得到的均值與協方差來進行提議采樣。由于在使用CKF計算均值和方差可以更好地來逼近后驗概率密度函數,也就是融合了最新的觀測值Zk。
容積粒子濾波算法具體過程如下:

(7)
(2) 重要性采樣階段。當k=2,3,…,通過CKF進行計算每個粒子的下一時刻的均值和協方差,分別進行時間更新和量測更新。
時間更新:
第一步:對容積點進行計算:
(8)
(9)
第二步:傳播容積點:
(10)
第三步:下一步的狀態預測值和協方差預測值:
(11)
式中:R為過程噪聲。
量測更新:
第四步:對下一步的狀態預測值求解容積點:
(12)
(13)
第五步:容積點傳播:
(14)
第六步:進行測量預測值的計算:
(15)
第七步:進行測量誤差的協方差和測量誤差與狀態誤差的互方差計算:
(16)
第八步:增益更新:
(17)
第九步:融入當前觀測值的預測狀態值和測量協方差:
(18)
(19)

(20)
(3) 計算粒子權重并歸一化處理:
(21)
歸一化權重:
(22)


(23)
(24)
由于CPF是通過CKF來進行重要性采樣的,在這個過程中由于CKF是通過確定點進行采樣的,在實際運用的過程中會出現系統初始化建模不準確的問題[11]。UPF也存在類似問題,文獻[12]將漸消濾波與UPF結合來應對系統模型匹配不準確時,可以通過漸消因子進行在線調整變益矩陣,從而使建議分布更加逼近真實分布。為了解決CPF出現這類情況,本文將漸消因子與CPF進行結合。結合過程如下。
(25)
α0,k=tr(Nk)tr(Mk)-1
(26)
式中:tr()為求跡公式。Nk、Mk在CPF中的公式如下:
(27)
(28)

則將漸消因子融入式(19)后新的測量協方差計算公式為:
(29)
通過漸消因子αt對增益矩陣進行在線調節從而使得每個粒子的協方差可以自適應地調節,進一步地獲得更加可靠的觀測信息,對干擾狀態模型和觀測模型的不利因子進行抑制,這樣可以有效地使提議分布更加逼近真實的狀態分布。
人工免疫算法[13]主要構架思想是起源于生物免疫系統,通過人為的形式來對模仿生物進化選擇機理,其實是優勝劣汰的一種思想。利用細胞智能群體進行尋優,實現系統的全局最優解的迭代過程[14]。研究證明人工免疫群算法是通過對抗體的克隆和變異產生新的抗體,可以很好保證了樣本的多樣性,以及產生滿足要求的最優解的時間較短,相比于其他群智能算法具有更高的收斂速度。
本文基于人工免疫重采樣的AFCPF具體步驟如下:

2) 重要性采樣。得到具有不同權重的抗體集合。并進行歸一化處理,將N個新的抗體存入抗體記憶序列。
3) 設定重采樣閾值。
(30)

4) 計算抗體親和力??贵w的親和力表示抗體與抗原之間的匹配度。抗體的親和力越高,說明抗體與抗原匹配度越低。也就是親和力度與匹配度成反比。
則設定抗體i在k時刻的親和力計算公式如下:
(31)
5) 抗體間互斥力計算。粒子間的距離作為衡量粒子間互斥力的大小。取任意第i個抗體與第j個抗體在k時刻的互斥力。
(32)
6) 進行抗體克隆。抗體的克隆數目以抗體抗原之間的親和力為計算標準??贵w按照親和力的大小進行升序排序。取「μN個抗體作為克隆對象,對第i個粒子進行克隆。
(33)
7) 抗體變異。為了保證粒子的多樣性,進行抑制與抗原親和力抗體變異,并結合抗體間的互斥力關系repk(i,j),抑制抗體克隆。避免傳統粒子濾波的貧化。若repk(i,j)≤Δ,Δ取[0,0.000 1],設在k時刻第i個抗體進行克隆,并對第j個抗體進行變異。
(34)
式中:randn為(0,1)內的正態分布的隨機數;e-repk(i,j)為非線性自適應衰減函數,其引入到變異公式里,是為了提高變異效率,提高粒子多樣性,進而加快全局最優搜索。
8) 新抗體群選擇。經過抗體克隆與抗體變異得到新的一組抗體,再次進行親和力計算,并按照親和力進行排序,并選取N個抗體作為下一時刻的粒子狀態集合。人工免疫重采樣結束。
為了節省計算量,將對部分粒子進行人工免疫重采樣。其具體步驟如下:
(1) 對重要性采樣后的粒子進升序排列。


為了驗證本文提出的基于自適應漸消容積和人工免疫重采樣的粒子濾波(AI-AFCPF)的可行性,在非線性與非高斯的系統模型中,采用MATLAB 2018b仿真軟件,將本文算法與PF、UPF和CPF進行對比實驗,作預測精度和運行效率比較分析。狀態模型與觀測模型如下:
x(k)=1+0.8cos(0.04πk)+0.6x(k-1)+w(k)
(35)
(36)
式中:w為符合伽瑪分布的過程噪聲;v為符合高斯分布的觀測噪聲。
設定粒子數為50個,迭代次數為20次,分別對4種方法進行實驗。實驗數據表明本文算法在預測精度上明顯要高于另外三種算法,四種算法性能比較曲線如圖1-圖3所示。

圖1 狀態估計

圖2 估計偏差

圖3 RMSE
為了讓算法的性能更加明顯,采用均方根誤差(RMSE)作為四種算法的狀態估計精度衡量標準。四種算法的RMSE的均值和方差如表1所示。根據表1中均方根的均值表明本文算法狀態估計誤差要低于另外三種算法,均方根的方差表明本文算法在穩定性上要高于另外三種算法,可見本文算法具有更高的預測精度與穩定性。在系統運行上,可以表明本文算法雖然比傳統的PF計算量要大,但相比UPF和CPF這兩種融合了其他算法的傳統粒子濾波要低,所以本文算法具有一定的可行性。

表1 RMSE的均值和方差
為了分析粒子數對算法的影響,通過在50、70、100粒子情況下進行四種算法的比較實驗,并進行10次實驗來計算對應算法的RMSE的均值和方差,如圖4、圖5所示。

圖4 不同粒子RMSE均值對比

圖5 不同粒子RMSE方差對比
從圖4、圖5分析,沒有進行其他算法融合的傳統粒子濾波的RMSE均值和方差都遠遠大于另外三種算法,說明融入其他算法后的粒子濾波提高了穩定性與狀態估計精度。另外,隨著粒子數不斷增加,PF、UPF、CPF三種算法均值和方差也相應下降且下降速率較大,說明這三種算法對粒子的依賴程度較大。而本文算法從柱形圖的變化來看相對平穩,可見本文算法對粒子數的依賴性較低,其主要原因是加入人工免疫重采樣大大增加了粒子多樣性,因此本文算法可以通過較少粒子數達到較多粒子數的性能效果,從而降低計算復雜度,提高系統運行效率。
為了驗證算法的有效性,將本文算法應用于目標跟蹤模型上,進行對比仿真實驗。實驗采用基于距離的目標跟蹤模型,因其模型簡單、偏差較小、更具實用性,其中觀測站為雷達,假設目標做勻速直線運動,在t時刻目標的狀態為:
(37)
觀測站的狀態為固定的點為:
Xstation=(xs,ys)
(38)
考慮目標勻速運動的過程中有干擾噪聲所以將目標按水平與垂直方向進行分解,分解如下:

(39)
(40)
式中:T為采樣時間點。
觀測站與目標狀態成非線性關系:
(41)
目標的狀態方程和觀測方程如下:
X(t+1)=ΦX(t)+Γw(t)
(42)
Z(t)=h(X(t))+v(t)
(43)
設定粒子數為50個,仿真次數為30次,過程噪聲Q=diag([0.5,1,0.5,1]),觀測噪聲設為R=2,進行四種算法目標跟蹤得到相應目標運動軌跡和偏差。實驗結果如圖6、圖7所示。

圖6 跟蹤軌跡

圖7 目標跟蹤RMSE曲線
從圖6、圖7分析得基于本文算法的目標跟蹤算法相比另外三種算法,估計精度更高,主要是加入自適應漸消容積粒子濾波使得當前觀測值加入重要性密度函數這樣使得提議分布更加貼近真實分布,漸消因子減少影響狀態與觀測模型的噪聲。根據表2的目標跟蹤性能對比,基于本文算法的目標跟蹤的RMSE的均值與方差都優于另外三種算法,進一步表明本文算法提高了目標跟蹤的精度與穩定性。在系統運行時間上傳統粒子濾波雖然運行時間較低,但偏差較大,遠遠達不到目標跟蹤所需誤差要求,通常是融合其他算法來彌補誤差,計算量相對會增大,但只要運行時間在一定范圍內一樣具有可行性?;诒疚乃惴ǖ哪繕烁櫹到y在運行整體時間上相比其他兩種融合算法少很多,其原因主要是采用了部分自適應人工免疫重采樣,保證了粒子的多樣性以及算法整體的收斂速度從而降低計算量,很好地滿足目標跟蹤中毫秒級響應時間的需求,進一步提高系統的估計精度。

表2 目標跟蹤性能對比
本文提出基于自適應漸消容積粒子濾波建議分布,并采用部分自適應人工免疫重采樣的目標跟蹤方法有效地解決粒子匱乏問題,同時提高了系統的估計精度。此方法主要在容積粒子濾波重要性采樣過程融入漸消濾波,其漸消因子對增益矩陣進行在線調節從而使得每個粒子的協方差可以自適應地調節,這樣可以有效地使提議分布更加逼近真實的狀態分布。在重采樣階段對粒子進行優化組合,對不穩定的粒子集合進行人工免疫重采樣,保證系統的穩定性,其中人工免疫重采樣利用群智能優化粒子群可以保證粒子多樣化,提高估計精度,以及在粒子數較少的情況也能達到較多粒子數的性能從而提高系統運行速率。實驗表明本文提出的基于人工免疫的漸消容積粒子濾波目標跟蹤算法在估計精度與穩定性都要優于基于PF、UPF、CPF三種目標跟蹤算法。因此本文算法在目標跟蹤領域具有一定的實用價值。