林曉杰 索繼東
摘 要: 傳統(tǒng)粒子濾波算法中在重要性采樣部分存在采樣粒子位置不精確的問題,可用粒子群優(yōu)化算法優(yōu)化,但目前的標準粒子群優(yōu)化粒子濾波算法會出現粒子局部尋優(yōu)的情況。對此對算法中的慣性權重和學習因子同時采取自適應調整的方法,平衡粒子的搜索能力以減少這種情況的出現,并且為了解決算法優(yōu)化后因粒子聚集而造成的多樣性缺失問題,對粒子進行隨機變異以提高粒子多樣性。仿真結果表明,經過改進后的優(yōu)化算法可有效提高粒子濾波算法的準確性,使跟蹤誤差減小。
關鍵詞: 粒子濾波跟蹤; 粒子群優(yōu)化; 自適應調整; 搜索能力平衡; 隨機變異; 優(yōu)化算法
中圖分類號: TN911.1?34; TP391.9? ? ? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)17?0011?05
Abstract: The problem of inaccurate sampling particle position exists in the important sampling part of the traditional particle filter algorithm, which can be optimized by particle swarm optimization algorithm. However, the current standard particle swarm optimization particle filtering algorithm may lead to particle local optimization. In this paper, self?adaptive adjustment method is adopted to adjust the inertia weight and learning factor in the algorithm, so as to balance the searching ability of particles to reduce the occurrence of this situation. In order to solve the problem of diversity lack caused by particle aggregation after optimization of the algorithm, the particles are randomly mutated to improve the diversity of particles. The simulation results show that the improved optimization algorithm can effectively improve the accuracy of particle filtering algorithm and reduce the tracking error.
Keywords: particle filtering tracking; particle swarm optimization; adaptive adjustment; search capability balance; random variation; optimization algorithm
0? 引? 言
粒子濾波基于蒙特卡羅模擬方法實現遞推貝葉斯濾波估計[1],對于系統(tǒng)的過程噪聲和量測噪聲沒有任何的限制,更適合于實際工程中的應用[2]。但是其仍然存在問題,包括采樣粒子不準確、多樣性缺失等問題[3]。
針對粒子濾波所采樣的粒子不準確,造成整個粒子濾波算法正確性大幅度降低的情況,智能算法可以在一定程度上解決這個問題。已經有學者將人工魚群算法[4]、粒子群優(yōu)化算法[5]、人工鳥群算法[6]等與粒子濾波算法相結合,對采樣粒子進行位置上的調整,用于提高重要性采樣階段采樣粒子的準確性。除此之外,還有學者用遺傳算法[7]對重采樣進行改進,防止粒子退化,增加粒子多樣性。其中粒子群優(yōu)化算法是通過計算粒子的適應度值來對粒子位置和速度進行調整,使粒子能夠移動到高適應度位置的地方以提高算法的準確率[8],但是這種算法存在著局部尋優(yōu)的情況,容易發(fā)生跟蹤丟失的情況。
針對智能算法中粒子群算法優(yōu)化粒子濾波后會出現的局部尋優(yōu)情況,有學者提出使用自適應慣性權重的方法解決此類問題[9]。除了慣性權重外,學習因子也通常設定為常數[10],不利于平衡隨時間變化的搜索能力,因此,在標準粒子群算法中,有學者對學習因子進行自適應變化來代替常量提高精度[11]?;谶@些方法,本文將粒子群算法中對學習因子進行自適應這一措施加以調整后加入到優(yōu)化算法中,然后對自適應權重的方法也進行調整,通過同時對慣性權重和學習因子進行自適應調整來提高跟蹤精度。
除此之外,粒子群在調整位置后會出現過于集中造成多樣性缺失的情況,針對這種情況,本文在算法中加入粒子位置變異算法,用以改善粒子過于集中造成的多樣性缺失問題。
1? 基于粒子群優(yōu)化的粒子濾波
粒子濾波算法主要用于解決非線性非高斯情況下的目標跟蹤,其利用一組隨機采樣樣本對后驗概率密度進行假設,用樣本均值代替復雜的積分運算[12]。粒子濾波算法可能因為采樣粒子的不準確造成算法性能的低下,因此,采用粒子群優(yōu)化算法對采樣粒子的位置進行調整以提高目標跟蹤的準確性?;玖W尤簝?yōu)化粒子濾波算法的主要步驟如下:
1) 初始化粒子群。隨機抽取[N]個粒子。從先驗概率密度函數中隨機抽取粒子組成采樣粒子集合[{Xn,n=1,2,…,N}],并且隨機賦予這些粒子初始速度為[V1,V2,…,Vn]。
2) 對抽取的粒子利用粒子群優(yōu)化算法來優(yōu)化粒子位置。
評價粒子群,計算粒子的適應度值[P(y)],計算公式為:
式中:[R]為量測噪聲方差;[zn]為粒子的量測值;[znn-1]為量測預測值。
設第[i]個粒子的位置為[{xid,d=1,2,…,D}],速度為[{vid,d=1,2,…,D}]。令[Pid]為粒子[i]個體最優(yōu)位置;[Pgd]為群體中所有粒子全局最優(yōu)位置[13]。將粒子的當前適應度值與此粒子的個體最優(yōu)解[Pid]的適應度值進行比較,若更優(yōu),則令此粒子位置為個體當前最優(yōu)位置。對于每個粒子每次計算得到的適應度值,都與全局最優(yōu)解[Pgd]進行比較,如果大于[Pgd]的適應度值,則將所對應的粒子位置調整為全局最優(yōu)位置。按式(2),式(3)更新每個粒子的速度和位置以產生新的種群。
在式(2),式(3)中:[1≤i≤n],[1≤d≤D];[vid(t)]表示第[t]次循環(huán)粒子的飛行速度;[xid(t)]表示第[t]次循環(huán)粒子[i]所在的位置;[Pid]表示經過[t]次循環(huán)后第[i]個粒子的個體最優(yōu)位置;[Pgd]表示經過[t]次循環(huán)后粒子的群體最優(yōu)位置;[w(t)]為慣性權重;[c1]和[c2]為學習因子。不斷循環(huán)此步驟直到滿足迭代次數,此時更新后的位置為粒子的最終位置。
3) 權值計算
通過得到的最新量測信息對粒子的權值進行計算,由貝葉斯準則可以得到權值的更新公式:
權值計算更新后,需要對權值進行歸一化計算,公式為:
4) 重采樣
通過計算算法中的有效粒子數[Neff]的個數,將其與所設定的有效粒子數閾值[Nth]進行比較,判斷是否需要進行重采樣。
若[Neff 5) 狀態(tài)輸出 2? 自適應優(yōu)化策略 在粒子群優(yōu)化算法中,可以對粒子的參數進行自適應優(yōu)化,慣性權重和學習因子的自適應就是其中的一種方法[14]。對兩者進行自適應調整可以減少由于局部尋優(yōu)造成的準確性降低的問題。文獻[9]提出了自適應權重調整的粒子群優(yōu)化粒子濾波算法,降低發(fā)生局部尋優(yōu)情況的概率。本文在此基礎上對粒子群優(yōu)化粒子濾波算法進行慣性權重和學習因子兩方面的自適應,并且使用變異算法以提高多樣性。 2.1? 慣性權重自適應 在粒子群優(yōu)化算法中,通常慣性權重為一個常數。慣性權重較大,表示粒子有較好的全局搜索能力,較小則更有利于局部搜索。若慣性權重保持不變,粒子的搜索能力不變,會造成局部尋優(yōu)情況[14]。針對這種情況,可以對慣性權重根據適應度值進行自適應調節(jié)。當某一點的適應度值小于適應度均值時,可以將此點認為是遠離真實值的點或者陷入局部尋優(yōu)情況的點,對其慣性權重進行自適應調節(jié),使其能夠向更優(yōu)方向移動,具體優(yōu)化方法如下: 令[w(t)]為自適應慣性權重,慣性權重的計算方式按式(8)方法進行改進: 式中:[fmin]為粒子適應度最小值;[favg]為當前所有粒子的適應度均值;[F]為當前適應度值;[wmax]和[wmin]分別為設定的慣性權重最大值和最小值;iter表示粒子的最大迭代次數;[t]表示當前的迭代次數。若[F 計算得到慣性權重后,通過其對相應的粒子進行位置和速度的調整。每個粒子的速度和位置按照式(2)和式(3)進行迭代,從而提高粒子位置的準確性。 2.2? 學習因子自適應 在標準粒子群算法中,學習因子[c1]和[c2]通常被設定為一個常數。其中,學習因子[c1]表示自我認知,即對自身的調整;學習因子[c2]表示群體認知,即對整個種群的信息交流。[c1]的大小決定了粒子局部范圍搜索的能力,[c2]的大小決定粒子收斂到最優(yōu)值的速度[14],通過對[c1]和[c2]的調節(jié)能夠控制粒子向最優(yōu)位置移動的能力。 在算法初期,提高粒子向全局最優(yōu)位置移動的概率,避免陷入局部最優(yōu)位置。而到了粒子后期,則希望能夠加強粒子移向最優(yōu)位置的速度,獲得高質量的粒子。 [c1]和[c2]設定為一常數。在優(yōu)化算法中,令學習因子[c1]隨著迭代次數的增加而不斷增加,相反,學習因子[c2]則隨著迭代次數減小。其變化公式為: 式中:iter表示粒子的最大迭代次數;[t]表示當前的迭代次數。通過這個自適應算法,能夠動態(tài)調整兩個學習因子的數值,提高了粒子向最優(yōu)位置移動的能力。兩者的相互配合可以使粒子快速收斂到全局最優(yōu)位置,從而提高算法的收斂精度。 2.3? 變異操作 為了提高粒子的多樣性,引入了變異操作。設定一個隨機函數rand,再設定一個閾值,對此隨機函數進行判斷,當此隨機函數超過某一個閾值時,對粒子進行變異操作,即隨機調整該粒子的位置,避免粒子過于集中,提高粒子的多樣性,位置變動公式如下: 式中[Rmax]為粒子的最大追蹤范圍。 3? 改進的自適應粒子群優(yōu)化粒子濾波算法 根據上面的內容,基于自適應粒子群優(yōu)化的粒子濾波算法的步驟可總結如下: 1) 初始化。初始化各個參數,包括測量噪聲協(xié)方差、過程狀態(tài)協(xié)方差、模擬步長、粒子數、進化代數、慣性權重最大最小值等。 2) 重要性采樣,從重要性概率密度函數中采樣新的粒子[xkiNi=1]。 3) 進行粒子群優(yōu)化。將所采樣粒子作為初代粒子對其進行粒子群優(yōu)化。在第一代中,粒子的速度由隨機函數獲取,位置為粒子濾波算法中所提取的粒子的位置,得到此時粒子的速度以及位置。 利用式(1)計算粒子的適應度,通過比較當前的適應度值和適應度均值來判斷如何改變慣性權重,利用式(8)進行改變,同時更新個體最優(yōu)解和全局最優(yōu)解。學習因子由式(9)和式(10)計算得到后,按式(2)和式(3)來更新每個粒子的速度和位置,根據式(11)對滿足要求的粒子進行變異操作。 不斷循環(huán)此步驟直到滿足進化代數達到最大迭代次數或者全局最優(yōu)解[Pgd]達到理想的改進精度,此時粒子的位置為更新后的位置。 4) 權值計算,將經過粒子群優(yōu)化算法調整后的粒子取出。利用式(4)計算其權重,并且歸一化權重。 5) 重采樣,利用式(6)計算粒子的有效粒子數,若有效粒子數達不到閾值要求,則需要對粒子進行重采樣以得到新的粒子集,新的粒子集權重均為[1N]。若有效粒子數大于閾值,則進行下一步。 6) 狀態(tài)輸出。 4? 仿真分析 針對上述部分所提到的方法與步驟進行仿真分析。本文所進行的仿真實驗都是在Matlab R2016a的環(huán)境下進行仿真。所選用的系統(tǒng)模型和狀態(tài)模型表示為: 式中:rand()為0~1的隨機數;[R]為量測噪聲方差;[Q]是過程噪聲方差。 為了驗證算法的性能,將標準粒子濾波算法(PF)、文獻[9]調整慣性權重的粒子群優(yōu)化粒子濾波算法(PSO?PF)和本文改進的自適應粒子群優(yōu)化粒子濾波算法(APSO?PF)進行比較。比較的標準為均方誤差(Mean?Square Error,MSE),其計算公式如下: 粒子數設定為50,迭代次數設置為100次,粒子的最大飛行速度設置為1 m/s,最大飛行距離設定為20 m。 PSO?PF算法中的慣性權重采用文獻[9]所使用的方法進行變換,學習因子[c1]和[c2]均設定為2。 本文改進的APSO?PF算法中,慣性權重最大值和最小值[wmax]和[wmin]分別設定為0.9和0.4。慣性權重按照前面所提到的式(8)進行判斷和改變。學習因子[c1]和[c2]按照式(9)和式(10)進行自適應變化,并進行變異操作。 在相同的情況下,對隨機抽取的同一組粒子,分別使用粒子濾波算法、調整權重的粒子群優(yōu)化粒子濾波算法和本文的改進算法對目標進行跟蹤。圖1,圖2分別是量測噪聲方差[R=1]、過程噪聲方差[Q=1]和量測噪聲方差[R=1]、過程噪聲方差[Q=10]的情況下的跟蹤效果圖。 仿真圖給出了粒子的真實值和各種方法得到的粒子狀態(tài)值。通過仿真圖可以看出,標準粒子濾波算法所得到的預測目標位置與真實目標位置相差較大,調整慣性權重的粒子群優(yōu)化粒子濾波算法精度居中,而本文的改進算法能進一步提升目標跟蹤的精度。在大部分情況下,改良算法都能較好地跟蹤目標,其得到的目標位置大多都在真實位置附近,改良后的算法對目標的跟蹤更為準確。 除此之外,對三種算法均方誤差的計算中也可以驗證改良算法的性能更好。其誤差圖如圖3,圖4所示。 從圖3,圖4中可以看出:標準粒子濾波算法的誤差最大,調整慣性權重的粒子群優(yōu)化粒子濾波算法的誤差有明顯減小,而本文改進的算法誤差最小。 計算三種算法的均方誤差,其結果如表1所示。 從仿真實驗計算得到的平均值可以看出,本文改進的自適應粒子群優(yōu)化粒子濾波算法得到的均方誤差值最小。因此可以證實,對粒子濾波算法所提取的粒子利用改進的自適應粒子群優(yōu)化算法進行位置調整,可以有效地提高算法的準確性。 5? 結? 語 本文在粒子群優(yōu)化算法中引入自適應慣性權重以及學習因子,以減少基于粒子群優(yōu)化的粒子濾波算法中出現局部尋優(yōu)情況的可能性,同時,對移動后的粒子進行隨機變異以提高多樣性。仿真結果表明,改進后的基于自適應慣性權重和學習因子的粒子群優(yōu)化粒子濾波算法能夠減小跟蹤誤差,提高濾波性能。 參考文獻 [1] GORDON N J, SALMOND D J, SMITH A F M. Novel approach to nonlinear/non?Gaussian Bayesian state estimation [J]. IEEE proceedings F: radar and signal processing, 1993, 140(2): 107?113. [2] 劉暢,楊鎖昌,汪連棟.粒子濾波理論在單目標跟蹤中的應用綜述[J].飛航導彈,2017(10):67?71. [3] 昝孟恩,周航,韓丹,等.粒子濾波目標跟蹤算法綜述[J].計算機工程與應用,2019,55(5):8?17. [4] LI Min, CHEN Zhimei, SHAO Xuejuan. Iterated unscented Kalman particle filter algorithm based on a variable?step adaptive artificial fish swarm optimization [C]// 2016 35th Chinese Control Conference (CCC). Chengdu, China: IEEE, 2016: 7050?7053. [5] 方正,佟國峰,徐心和.基于粒子群優(yōu)化的粒子濾波定位方法[J].控制理論與應用,2008,25(3):533?537. [6] ZHANG Liang, BAO Qilian, FAN Wenxiu, et al. An improved particle filter based on bird swarm algorithm [C]// 2017 10th International Symposium on Computational Intelligence and Design (ISCID). Hangzhou, China: IEEE, 2017: 198?203. [7] SUN Chengyuan, HOU Jian, SUN Wei, et al. An adaptive intelligent particle filter for state estimation [C]// 2017 36th Chinese Control Conference (CCC). Dalian, China: IEEE, 2017: 7009?7014. [8] 張才千,葛磊,韓東.基于目標跟蹤的粒子群粒子濾波算法研究[J].計算機仿真,2014,31(8):392?396. [9] 劉峰,韓艷麗,王鐸.自適應權重粒子群優(yōu)化的粒子濾波算法[J].計算機仿真,2013,30(11):330?333. [10] KENNEDY J, EBERHART R, SHI Yuhui. Swarm intelligence [M]. San Francisco, USA: Morgan Kaufmann Publishers, 2001. [11] 仝秋娟,趙豈,李萌.基于自適應動態(tài)改變的粒子群優(yōu)化算法[J].微電子學與計算機,2019,36(2):6?10. [12] ARULAMPALAM M S, MASKELL S, GORDON N, et al. A tutorial on particle filters for online nonlinear/non?Gaussian Bayesian tracking [J]. IEEE transactions on signal processing, 2002, 50(2): 174?188. [13] 高國棟,林明,許蘭.基于似然分布調整的粒子群優(yōu)化粒子濾波新方法[J].計算機應用,2017,37(4):980?985. [14] 沈顯君.自適應粒子群優(yōu)化算法及其應用[M].北京:清華大學出版社,2015.