魏 穎,郭 魯
(沈陽工學(xué)院 信息與控制學(xué)院,遼寧 撫順 113122)
無線傳感器網(wǎng)絡(luò)(WSN,wireless sensor network)是當今比較重要的高科技技術(shù),其主要思想是在被測環(huán)境中布置相應(yīng)的無線傳感器設(shè)備,檢測相應(yīng)的環(huán)境數(shù)據(jù),并根據(jù)檢測的信息實時的將信息相融合,構(gòu)成網(wǎng)絡(luò)連接。目標跟蹤是無線傳感器網(wǎng)絡(luò)的基礎(chǔ)研究領(lǐng)域之一,同時也是研究的熱點,主要應(yīng)用于交通監(jiān)控和戰(zhàn)爭檢測等[1-2]。例如,要實現(xiàn)對一個目標進行及時準確跟蹤,可以將其放在布置有無線傳感器的環(huán)境中,通過無線傳感器網(wǎng)絡(luò)實時采集目標運動中的測量數(shù)據(jù),結(jié)合跟蹤系統(tǒng)的控制,對跟蹤目標的位置實時預(yù)估,達到準確跟蹤的效果。應(yīng)用WSN進行目標跟蹤時,如果監(jiān)測的準確性不高,系統(tǒng)就可能無法自動集中,導(dǎo)致目標跟蹤丟失。粒子濾波(PF,particle filter)通過非參數(shù)化的蒙特卡洛模擬實現(xiàn)遞推貝葉斯濾波,更新推斷系統(tǒng)的下一個狀態(tài),精確逼近最優(yōu)估計值,因此,粒子濾波比較適用于處理目標跟蹤等非線性系統(tǒng)的狀態(tài)估計問題。粒子濾波算法在多次重復(fù)迭代后會出現(xiàn)粒子貧化現(xiàn)象,導(dǎo)致目標跟蹤的準確性降低。粒子貧化問題一般可以通過改進重要性分布函數(shù)或者是改進重新提取粒子來解決,使粒子的多樣性得到了保證[3-4]。為了使粒子群優(yōu)化過程中持續(xù)保持具有局部多樣性的特性,本文通過對粒子濾波算法加以改進,克服粒子貧化問題,解決了粒子退化的缺陷。
現(xiàn)代粒子濾波領(lǐng)域有多種發(fā)展方向,其中群智能優(yōu)化粒子濾波算法是一個比較新的發(fā)展方向。群集智能粒子濾波方法的主要思想是對粒子分布實行反復(fù)迭代優(yōu)化,對于粒子群中低權(quán)重粒子不存在放棄問題,從而增加了粒子迭代過程中的多樣性,在根本上解決粒子貧化問題。文獻[5]在粒子樣本更新過程中,將粒子群算法和螞蟻群算法相結(jié)合,實現(xiàn)了信息融合和共享,大大提高了粒子群的全局優(yōu)化能力。采用文獻[6]進行優(yōu)化的粒子濾波算法應(yīng)用到自適應(yīng)粒子群中,對樣本粒子數(shù)量進行了適應(yīng)性調(diào)整,合理調(diào)整了粒子空間分布狀態(tài)和正確性。
布谷鳥算法(Cuckoo Search)CS算法是劍橋大學(xué)學(xué)者Yang和Deb提出的一種全局搜索的算法,該種算法實質(zhì)上是通過對布谷鳥尋窩產(chǎn)卵的行為的模擬過程。CS算法作為最新的智能優(yōu)化算法之一,還處于早期研究和擴展階段,與PF融合的報道較少。作為最新的智能優(yōu)化算法之一,布谷鳥算法還處于早期研究和擴展階段,關(guān)于與PF融合的報道較少。文獻[7]表明,布谷鳥算法優(yōu)化的綜合能力比螞蟻算法,粒子群等算法更強,因而布谷鳥算法和粒子濾波相結(jié)合時,智能優(yōu)化的粒子濾波性能進一步提高,具有重要意義。CS 算法基本上只需要調(diào)整宿主發(fā)現(xiàn)卵的概率pi的大小,算法較簡單,所以通用性很好,魯棒性較強,但是,該種算法的缺點是在算法的運算后期存在收斂速度慢、精確度低等問題。CS算法的Han 等[8-9]用布谷鳥搜索算法與粒子濾波器(CS-PF)相結(jié)合的算法應(yīng)用于故障檢測中,用此來估計測量信號的缺陷輪廓,其結(jié)果表明,該算法明顯優(yōu)于單獨使用布谷鳥算法,但算法的搜索效率還有待提高。因此,如果將標準的布谷鳥計算方法加入到粒子濾波算法中,通過兩者相結(jié)合,就不能滿足現(xiàn)代高頻精密跟蹤雷達精度的需要。黃辰等[10]在布谷鳥算法中加入策略差分變異過程,從而改變排隊機制,增加優(yōu)選機制,同時將粒子濾波與改進的布谷鳥算法(ICS-PF)相結(jié)合,增加了粒子的多樣性,解決了粒子貧化問題。但上述方法中,出現(xiàn)搜索速度慢,精度不高等缺點。為了使布谷鳥算法局部尋優(yōu)與全局尋優(yōu)的能力達到相協(xié)調(diào)的效果,本文對布谷鳥算法進行改進:針對算法中在解向量微調(diào)中起主要作用的兩個參數(shù),用它們來控制調(diào)整算法的收斂速度。一個參數(shù)是被宿主鳥發(fā)現(xiàn)的概率pi,另一個參數(shù)是Le′vy飛行過程中改變步長值α,它們的作用分別是通過對局部隨機搜索以獲得最優(yōu)解的能力,通過對全局搜索時以獲得種群多樣性。將改進的布谷鳥算法和粒子濾波結(jié)合,提出一種改進的布谷鳥算法優(yōu)化粒子濾波方法(ICS-PF, improved cuckoo search algorithm particle filter),該算法更有效地探索搜索空間算法的局部尋優(yōu)與全局尋優(yōu)得到平衡,進一步提高了算法精度。
針對粒子濾波算法粒子退化問題,本文提出了一種改進的布谷鳥與粒子濾波相結(jié)合跟蹤算法。改進布谷鳥的粒子濾波算法基本思想是在粒子濾波算法的基礎(chǔ)上加入改進的布谷鳥算法,代替了粒子濾波重采樣過程,通過改進布谷鳥算法中的搜索步長值α和發(fā)現(xiàn)外來鳥卵的物種的概率pi的自適應(yīng)調(diào)節(jié),同時在步長更新方程中實時引入函數(shù)值的變化趨勢,引導(dǎo)粒子整體上向較高的隨機區(qū)域移動, 有效調(diào)整全局探索和局部探索適應(yīng)能力、改善粒子貧化和局部極值問題,增加粒子群多樣化從而提高跟蹤性能。結(jié)果表明,該算法可以保持種群多樣性,收斂速度大大提高。
ICS-PF算法是通過改進的布谷鳥算法優(yōu)化粒子濾波重采樣過程,來實現(xiàn)無線傳感器目標跟蹤。其主要思想是在傳統(tǒng)粒子濾波算法中結(jié)合改進布谷鳥算法,增加了粒子多樣性,提高了跟蹤準確性,減少監(jiān)測時間,監(jiān)測能力得到了提高。實驗結(jié)果表明,該算法具有較好的跟蹤性能。
粒子濾波主要是采用隨機加權(quán)隨機樣本來近似表征的后概率密度u(xg|z1:g)。
(1)
δ是delta 函數(shù)。一般通過后驗概率密度函數(shù)來估計目標狀態(tài),按照重要樣本的原則,根據(jù)重要性分布函數(shù)來獲得重要性大的即為權(quán)值大的粒子。已知的樣本分布, 得到粒子對應(yīng)的重要度(權(quán)重)如公式(2),以及隨后的后驗概率如公式(3):
(2)
(3)
通過上述的公式,代入式(2),可以確加權(quán)粒子集的更新過程(4):
(4)
通過公式(3)和式(4)形成基于粒子濾波算法的方法,通過粒子重采樣的方法,解決粒子退化問題。重新采樣算法將所有粒子的權(quán)重值同樣更改為1/N,退化問題得到緩解。
但是為了保持樣本粒子的集中分布和合理分布功能,通常采用采樣算法復(fù)制大值粒子,刪除小值的方法,結(jié)果導(dǎo)致權(quán)重大值粒子出現(xiàn)了重復(fù)粒子增多的現(xiàn)象,即粒子貧化的現(xiàn)象,最終會導(dǎo)致粒子樣本多樣性減少,使整個算法的性能變差,因此在重要的采樣過程中,為了要保持其多樣性,要對粒子進行適當調(diào)整。
現(xiàn)有的重新采樣算法中,為了保留粒子集中有代表性的粒子,因此,通常只選擇高權(quán)重值的粒子進行更新,結(jié)果使重復(fù)性粒子增加較多,粒子群失去多樣性,導(dǎo)致出現(xiàn)粒子貧化現(xiàn)象。引入一種改進的布谷鳥算法來取代粒子濾波重采樣過程,該算法通過改變改進布谷鳥算法中的搜索步長值α和發(fā)現(xiàn)外來鳥卵的物種的概率pi的自適應(yīng)調(diào)節(jié),同時在步長更新方程中實時引入函數(shù)值的變化趨勢,有效調(diào)整全局探索和局部探索適應(yīng)能力、改善粒子貧化和局部極值問題,增加粒子群多樣化從而提高跟蹤性能[11]。
目前對于粒子濾波重采樣方法,通常保留大權(quán)重的粒子,而刪除小權(quán)重粒子,這樣多次迭代后,導(dǎo)致粒子缺乏,出現(xiàn)粒子貧化現(xiàn)象。對于上述問題,本文研究運用改進布谷鳥算法優(yōu)化了粒子濾波。
標準粒子濾波通常是通過后驗概率密度函數(shù)對樣本進行采樣,在此過程中,如果不考慮當前的觀測值,結(jié)果就會導(dǎo)致發(fā)生粒子加權(quán)值減小退化。為了克服權(quán)重值退化問題,主要通過重采樣過程中放棄小權(quán)重值粒子來實現(xiàn)。但是這樣經(jīng)過多次重復(fù)迭代,最終會導(dǎo)致粒子退化。針對以上問題,本文采用粒子濾波算法結(jié)合改進布谷鳥算法的新方法,為了保持粒子分布的合理性,在樣本的粒子集在權(quán)值更新前,通過全局最優(yōu)值逐漸引導(dǎo)大部分粒子向于高似然區(qū)域移動,同時高似然區(qū)域附近不會是全體粒子集。通過此方法優(yōu)化重采樣過程,最終可以改善粒子的分布,提高跟蹤精度算法[[12-14]。
布谷鳥搜索CS算法一種適用于全局搜索能力的算法。在文獻[15] 對于標準CS假設(shè)條件:①每個布谷鳥產(chǎn)卵方式是通過隨機選擇一個可用的巢穴方式進行的,同時在飛行中執(zhí)行Le′vy(λ)方式尋找新窩;②能夠延續(xù)到下一代通常是有高質(zhì)量卵的巢穴;③巢穴數(shù)量是固定的,宿主巢中每個布谷鳥的卵都有可能被宿主鳥發(fā)現(xiàn),被發(fā)現(xiàn)后舍棄。在上述假設(shè)中,尋找宿主鳥窩的位置和路徑的更新公式為
(5)
(6)
改進布谷鳥算法:
CS 算法的優(yōu)點是參數(shù)少,簡單,魯棒性強,易于實現(xiàn),缺點是算法后期存在搜索速度慢、精度低等問題。為了克服其缺點,通常需要通過優(yōu)化CS來提高算法的性能[16-17]。為了使布谷鳥算法的全局搜索能力得到提高,在CS 算法中有兩個參數(shù)Pi和α,它們是用于解向量微調(diào)的非常重要的參數(shù),分別用來幫助算法找到全局和局部改進的解,提高算法的收斂速度。在標準的CS算法中,使用固定值設(shè)置Pi和α。但是這些值在新一代中不能更改,導(dǎo)致需要更多次迭代才能找到最優(yōu)解。如果適當調(diào)整兩個參數(shù)值的大小,則能提高算法的尋優(yōu)能力。設(shè)定Pi的值很小,同時設(shè)定α的值很大,導(dǎo)致算法迭代次數(shù)的明顯增加。相反,使得收斂速度變快,最終結(jié)果可能無法找到最佳解。所以在算法中調(diào)整Pi和α值的大小,達到最佳設(shè)定值,可以提高CS 算法的性能,因此,改進的算法使用變量Pi和α。
針對標準布谷鳥算法的收斂速度慢、精度不高等缺點,本文提出改進的布谷鳥算法,一方面通過采用動態(tài)發(fā)現(xiàn)概率替換原來的固定發(fā)現(xiàn)概率,使算法迭代后可獲得最優(yōu)解,另一方面,在步長更新公式中,為了平衡搜索精度和搜索速度之間的關(guān)系,引入動態(tài)變化的函數(shù)值的變化趨勢。
改進的布谷鳥算法中采用動態(tài)發(fā)現(xiàn)概率Pi后,用數(shù)值s與發(fā)現(xiàn)概率Pi進行比較,其中s為[0,1]之間的隨機數(shù),通過在寄主鳥發(fā)現(xiàn)鳥蛋的這個過程中,確定是否產(chǎn)生新個體,公式如下:
(7)
通過新的鳥窩位置迭代更新,能夠保證個體集合理分布在高似然區(qū)域。為了便于跳出局部最優(yōu)解,在該算法初始迭代前期取較大值,但隨著運算的迭代次數(shù)的增多,個體質(zhì)量漸漸增強,這時適當減小Pi的取值,該算法的收斂性可以加快。本文采用余割策略實現(xiàn)Pi動態(tài)變化:
(8)
式中,n表示最大迭代次數(shù);c表示當前迭代次數(shù);Pi,max和Pi,min為Pi的控制參數(shù),Pi,max為0.3,Pi,min為0.01。
該算法的步長因子α的取值可以有效的控制搜索范圍,步長取值大搜索范圍就越大,搜索最優(yōu)解的速度就越快,反之,很容易偏離最優(yōu)解的位置。傳統(tǒng)的CS算法步長值是完全隨機的,理由是它由μ和v共同決定,并且它們都滿足正態(tài)分布。隨機步長的好處是既可以避免陷入局部最優(yōu)解,又可以滿足解的多樣性,但在局部范圍內(nèi)步長的m大小不確定,則導(dǎo)致全局算法的收斂速度逐漸變差,影響算法的性能。為了實現(xiàn)算法綜合最優(yōu)性能,前期采用大步長,后期采用小步長,這樣可以加快全局搜索速度,同時提高了算法的搜索精度。同時實現(xiàn)步長隨著迭代次數(shù)的增加而調(diào)整其值,根據(jù)公式(9)即可實現(xiàn)。
(9)
式中,fmax為最大步長因子,fmax= 0.5;fmin為最小步長因子,αmin=0.01。
因此,調(diào)整搜索精度和速度之間的關(guān)系后的位置更新公式為:
(10)
在公式中,要同時考慮函數(shù)值的變化趨勢和位置更新公式的計算。計算的步長跟隨變化趨勢Δk改變而改變,當Δk變大,步長也變大,保證較快的搜索速度;反之,當Δk變小,步長也變小保證搜索的精度。
改進布谷鳥算法具體步驟如下。
步驟一:進行初始化條件相關(guān)參數(shù)的設(shè)定,算法的終止條件;使用F(x)表示目標函數(shù),其中x=(x1,x2…x3)T,用xq(q=1,2,3…N)表示N個鳥窩初始化種群;
步驟二:隨機初始化的鳥窩用x=(x1,x2…x3)T,的N個解來表示,同時計算每個解的目標函數(shù)值;
步驟三:當計算迭代次數(shù)為c時,通過公式(9)計算出上一代最優(yōu)解同時保留下來,同時再計算步長因子值,將其步長因子結(jié)果帶入公式(10)中,更新得到最新解,同時與上一代通過比較函數(shù)值大小,保留最優(yōu)值;
對于算法的收斂性來說,改進的布谷鳥的收斂性比較CS 算法大大提高。通過自適應(yīng)調(diào)整pi和α的值大小,使算法避免因其值過大或過小而導(dǎo)致算法的收斂性降低設(shè)定Pi的值很小,若設(shè)定α的值過大,迭代次數(shù)增加較大,性能變差。反之,導(dǎo)致收斂速度很快,但可能無法找到最佳解。
改進的布谷鳥算法的優(yōu)點是明顯增加種群的多樣性。本文算法的方法是在鳥窩更新迭代后,進行算法的改進,通過實時調(diào)整概率的大小控制各個時期的種群多樣性,具有實時動態(tài)性,提高了算法的收斂速度,效果較顯著。
針對PF算法中的粒子貧化問題,本文將改進的布谷鳥算法來取代原來PF算法中的重采樣過程。改進CS-PF 算法具體實現(xiàn)步驟如下:
1)初始化。設(shè)定j=0是初始時刻,進行初始樣本采樣按照分布p(x0) 進行,使用產(chǎn)生的N個粒子作為初始樣本{xg(0)}(g=1,2,3…N),xg(j)服從重要性密度函數(shù)。
xg(j)_p(xg(j)|xg(j-1),z(j))
(11)
3)采用改進的CS 來優(yōu)化粒子進行全局搜索。
①進入優(yōu)化的初始粒子
{i(j)}={xg(j)}(i=1,2,…,N)
(12)
②在CS算法中加入粒子樣本,根據(jù)步驟1~5
每次重復(fù)都能得到新的粒子集合,鳥窩離最佳位置越近,步長就越小,而鳥窩離最佳位置越遠,步幅就越大。因此,每一次更新移動步長都是根據(jù)上一次重復(fù)的結(jié)果而進行的,提高了搜索速度和精度。改進后的布谷鳥算法采用的適應(yīng)度函數(shù)是:
(13)
③改進的CS搜索算法用來執(zhí)行粒子濾波重新采樣過程。
4)計算新粒子的重要性權(quán)值,同時進行歸一化處理。
(14)
5)輸出粒子狀態(tài),即求ICS-PF 后輸出粒子的均值。
對于ICS-PF收斂性來說,首先ICS-PF算法每重復(fù)一次就使群體有一次最佳位置,這樣可以使隨機算法具有收斂性。ICS-PF算法經(jīng)過多次重復(fù)迭代后,使得鳥窩位置的群體序列具有更好的狀態(tài),即最佳狀態(tài)。因此,無法連續(xù)無限次搜索全局最佳解的可能性為0。因此,ICS-PF算法會收斂到全局的最佳值。
對于ICS-PF時間復(fù)雜度來說,粒子濾波時間復(fù)雜程度主要受兩個因素影響:一個是初始化種群粒子數(shù),另一個是重新采樣粒子集,通常來說,時間復(fù)雜度與粒子數(shù)成比例,粒子也多,復(fù)雜度越高。另一個影響算法計算效率的因素是宿主發(fā)現(xiàn)卵的概率為pi和隨機步長α。在通常情況下,給定個體的目標函數(shù)執(zhí)行時間較小,因此ICS-PF的時間復(fù)雜度較低。
選擇過程模型和測量的非靜態(tài)增長模型,模型如下:
8cos[1.2(u-1)]+w(u)
(15)
(16)
在這里,w(u)和v(u)是零均值高斯噪聲,系統(tǒng)噪聲方差Q=1,x(u)是系統(tǒng)u時刻的狀態(tài),z(u)是系統(tǒng)u時刻的測量值。初始狀態(tài)x=0.1,過程噪聲和測量噪聲都是1,將其應(yīng)用于PF、CS-PF和ICS-PF用于非線性系統(tǒng)的狀態(tài)估算、跟蹤。
平方根差公式為:
(17)
4.1.1 精度測試
1)當粒子數(shù)為N=30,Q=1時,模擬結(jié)果如圖1和圖2所示。
圖1 濾波狀態(tài)估計
圖2 濾波誤差絕對值
2) 當粒子數(shù)為N=100,Q=1時,模擬結(jié)果如圖3和圖4所示。
圖3 濾波狀態(tài)估計
圖4 濾波誤差絕對值
從圖1~4可以看出,3種濾波算法相比,改進布谷鳥粒子濾波算法效果最好,得到了優(yōu)化。
由于ICS-PF 在PF的基礎(chǔ)上的原因,ICS-PF模擬以PF為基礎(chǔ)的個體或群體尋找布谷鳥產(chǎn)卵與CS-PF相比,ICS-PF可精確控制全局優(yōu)化能力和局部優(yōu)化能力其算法具有更高的狀態(tài)值預(yù)測準確度,從而優(yōu)化粒子在狀態(tài)空間的分布,可以粒子分布更合理,使用更少重復(fù)迭代次數(shù),達到尋優(yōu),用較少的粒子并進一步提高粒子過濾的精度。從表1可以看出,ICS-PF的運算精度在粒子數(shù)為20時,就高于PF算法粒子數(shù)為100的運算精度,并且運算時間與CS-PF差不多。ICS-PF同時還可以提高綜合性價比的濾波精度和保持較快的計算速度。
從表1還可以看出,如果粒子數(shù)為20和50,則PF、CS-PF、ICS-PF三種算法相比較,ICS-PF的精確度有了很大的提高,但當粒子數(shù)為100時,ICS-PF的準確度沒有太大的提高。這是因為當粒子數(shù)量非常少時,各粒子的平均權(quán)重較大,各粒子的質(zhì)量會對預(yù)測結(jié)果產(chǎn)生很大影響。這就體現(xiàn)了對ICS-PF的全局優(yōu)化能力和局部優(yōu)化能力的精確控制優(yōu)勢。但是,當粒子數(shù)量較大時,各粒子質(zhì)量的平均重要度就會降低,因此ICS-PF的自適應(yīng)探索機制的優(yōu)勢不會很大。這表明ICS-PF非常適合于快速、精確的預(yù)測,如果粒子數(shù)量少,如雷達、無線傳感器目標跟蹤等。
表1 實驗結(jié)果對比
4.1.2 粒子多樣性測試
在ICS-PF濾波估算中,為測定樣本的多樣性,得出了以下結(jié)果:
當g=10,g=30,g=90時,PF,CS-PF,ICS-PF的粒子分布如圖5~7所示。從5~7圖可以看出,PF、CS-PF、ICS-PF算法相比,標準PF算法按重復(fù)采樣進行的濾波過程中,粒子的多樣性明顯減少。在這個階段,大部分粒子只集中在幾個狀態(tài)值上,可能會嚴重影響濾波器的估計性能。而在CS-PF、ICS-PF的情況中,大部分粒子集中向高似然區(qū)域移動,與此同時,部分粒子在低相似性區(qū)域被合理地保存了下來,其中,ICS-PF算法合理優(yōu)化了每個階段的粒子分布,具有粒子相對最集中的優(yōu)點,利用ICS-PF采樣可以有效地清除每個階段多余的粒子,并穩(wěn)定地控制粒子的規(guī)模。ICS-PF算法的情況比CS-PF算法的情況更為明顯,ICS-PF粒子在空間的分布更加廣泛,以粒子群體目前的最佳位置為目標,以提高整個群體的重復(fù)搜索效率和粒子分布的多樣性。本文提出的算法大大提高了粒子的多樣性,而使用CS-PF算法,粒子的多樣性略有增加。ICS-PF證明了通過減小粒子大小和布谷鳥算法優(yōu)化穩(wěn)定性,可以提高計算效率。結(jié)果表明,雖然ICS-PF采樣可以減少粒子的數(shù)量,但根據(jù)動態(tài)粒子數(shù),ICS-PF采樣可以去除不必要的粒子,改進布谷鳥算法可以獲得更好的優(yōu)化性能。
圖5 g=10時粒子狀態(tài)分布情況
圖6 g=30時粒子狀態(tài)分布情況
圖7 g=90時粒子狀態(tài)分布情況
本文在進行性能測試分析時,主要針對單個目標做勻速直線運動,在設(shè)定的有效監(jiān)測范圍內(nèi)。其中,它的測量方程和運動狀態(tài)方程如下:
(18)
通常反映目標跟蹤算法性能好壞用跟蹤精度的大小來表示,通常用平均平方根誤差來表示。本文采用3種算法分別為PF算法、CS-PF算法、ICS-PF算法,通過它們的平均平方根誤差的計算數(shù)值和比較曲線分析性能。平均平方根誤差跟蹤的計算公式為(15~16)。
(19)
在仿真實驗中,取比值為0.72,在本實驗中得到跟蹤軌跡曲線圖,如圖8所示。
如圖8所示,ICS-PF算法相比較PF算法和CS-PF算法更接近目標的真實軌跡。PF算法和CS-PF算法跟蹤性能不夠理想,效果較差,不能實時準確跟蹤,但本文提出的ICS-PF算法更接近目標,跟蹤精度、性能更好,效果顯著,可以實現(xiàn)穩(wěn)定的準確的跟蹤。如圖9~10所示,ICS-PF算法跟蹤精度最高,跟蹤誤差最小,其次為CS-PF算法,PF算法的跟蹤精度最低,PF算法與CS-PF算法的跟蹤誤差較大。同時從圖9和圖10可以看出,PF的濾波速度估計誤差最大,CS-PF比PF的濾波效果好些,ICS-PF濾波誤差最小,效果最好,最能推算目標運動速度。PF、CS-PF和ICS-PF算法的運行時間分別為50.36秒、35.32秒和28.36秒。全面比較后,通過ICS-PF控制,合理兼顧了全局尋優(yōu)能力和局部尋優(yōu)能力,使粒子趨于更合理的分布,提高了濾波的精度,提高了跟蹤性能。本文用3種濾波PF算法、CS-PF算法和ICS-PF算法分別進行了100次模擬實驗,得到目標位置和速度的平均平方根誤差。通過對比分析,評價算法的性能,3種過濾算法的平均平方根誤差如表2所示。
圖9 目標運動速在x軸的分量比較
圖10 目標運動速度在y軸的分量比較
表2 3種濾波算法的均方根誤差
在表2中ICS-PF算法和PF算法、CS-PF算法相比,其中跟蹤精度最低是PF算法,其次是PF算法CS-PF算法,ICS-PF的跟蹤精度最高,可以看出具有較好的跟蹤性能。
從圖11可以看出,本文所提出的跟蹤算法的準確性優(yōu)于PF和CS-PF算法。由于ICS-PF是根據(jù)狀態(tài)后驗的概率分布的粒子集合來推測狀態(tài),所以對非高斯的雜音沒有太大反應(yīng),因此曲線幾乎沒有變化。標準PF算法的RMSE曲線彎曲程度最明顯,精度更低。實驗結(jié)果表明,本文提出的改進布谷鳥粒子濾波的無線傳感器的目標跟蹤方法。主要思想是用改進的布谷鳥算法取代粒子濾波的重采樣過程,通過改進的布谷鳥算法代替粒子濾波的重采樣過程,主要通過改進布谷鳥算法中的搜索步長值α和發(fā)現(xiàn)外來鳥卵的物種的概率pi的自適應(yīng)調(diào)節(jié),同時在步長更新方程中實時引入函數(shù)值的變化趨勢,使粒子向整體上較高的隨機區(qū)域移動,有效調(diào)整全局探索和局部探索適應(yīng)能力、改善粒子貧化和局部極值問題,增加粒子群多樣化從而提高跟蹤性能。改進布谷鳥粒子濾波算法重采樣方法可以防止粒子的退化,增加粒子的多樣性,減少跟蹤誤差,可以減少算法的運行時間,實時追蹤性能大幅提高。ICS-PF算法的計算時間最短。與CS-PF算法和PF算法相比,ICS-PF算法的位置和速度的平均平方根誤差最小(位置0.030 6、0.021 3、速度0.025 3、0.010 2),ICS-PF的跟蹤精度最高,表明了ICS-PF算法跟蹤性能較好。
圖11 3種算法的跟蹤精度
針對粒子濾波中的粒子貧化問題和采用群體智能優(yōu)化算法后的計算效率低下問題,本文提出了一種改進布谷鳥粒子濾波算法,用于無線傳感器網(wǎng)絡(luò)中的目標跟蹤。通過修改后的pi和α值來提高布谷鳥算法性能,通過ICS搜索策略代替粒子濾波重采樣階段,均衡局部和全局優(yōu)化能力,避免粒子樣本的貧化。采用改進的布谷鳥算法,使粒子模仿布谷鳥個體,在全局搜索范圍內(nèi)更精確地分布在最佳位置,即實際值附近。采用改進的布谷鳥算法替代粒子濾波重采樣過程,使整體粒子向更高的隨機區(qū)域移動,有效調(diào)整全局探索和局部探索適應(yīng)能力、改善粒子退化和局部極值問題,提高無線傳感器網(wǎng)絡(luò)目標跟蹤性能。由于后驗概率密度函數(shù)通過不斷更新產(chǎn)生新粒子,維持較優(yōu)粒子,持續(xù)保持了粒子的多樣性,有效緩解樣本枯竭問題,從而大大改善了濾波功能。結(jié)果表明,該算法的整體濾波效果比普通粒子濾波效果增強,可很好地實現(xiàn)準確的目標跟蹤,具有一定的實用價值。但是,粒子濾波算法具有運算量較大,能耗較大的缺點,需要在有限能量無線傳感器網(wǎng)絡(luò)、高精度測試、跟蹤問題、能耗等方面進行深入研究[18-20]。由粒子濾波不斷重復(fù)迭代更新,改進布谷鳥算法使粒子的分布更為集中在最優(yōu)點且分布合理,可以穩(wěn)定控制粒子集規(guī)模在較小的范圍內(nèi),提高粒子濾波的計算精度和效率。ICS-PF算法可實現(xiàn)粒子間的信息交換可以有效地壓縮粒子的規(guī)模,與人工智能進一步結(jié)合跟蹤領(lǐng)域?qū)⒌玫礁玫陌l(fā)展和應(yīng)用。