韓錕 張赫
摘 要:針對(duì)粒子濾波算法重采樣導(dǎo)致的樣本貧化問題,提出一種基于果蠅優(yōu)化思想的粒子濾波算法.該方法視粒子權(quán)值為個(gè)體適應(yīng)度值,并將果蠅不斷從低濃度的地方飛向高濃度的地方的覓食尋優(yōu)過程引入到粒子濾波當(dāng)中,驅(qū)使粒子不斷向高似然區(qū)域移動(dòng),提高了粒子群的整體質(zhì)量.為了解決標(biāo)準(zhǔn)果蠅優(yōu)化算法易陷入早熟的問題,將遺傳算法中的交叉、變異操作自適應(yīng)地應(yīng)用到果蠅優(yōu)化算法尋優(yōu)過程當(dāng)中.首先通過交叉操作改善粒子分布,當(dāng)果蠅優(yōu)化算法陷入局部最優(yōu)時(shí),再采用柯西變異擾動(dòng),促使算法快速跳出局部極值并繼續(xù)搜索全局極值.通過非線性模型仿真以及目標(biāo)跟蹤實(shí)驗(yàn)表明該算法有效提高了非線性系統(tǒng)狀態(tài)估計(jì)精度,具有較好的穩(wěn)定性,同時(shí)降低了狀態(tài)估計(jì)所需的粒子數(shù)量.
關(guān)鍵詞:粒子濾波;樣本貧化;果蠅優(yōu)化算法;非線性系統(tǒng);狀態(tài)估計(jì)
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)志碼:A
Abstract:A particle filter method based on fruit fly optimization algorithm is proposed to alleviate the sample impoverishment caused by resampling. When fruit flies forage, they usually fly from low concentration areas to high concentration areas efficiently and constantly. This optimum process is introduced into the particle filter to drive particles towards the high likelihood areas ceaselessly, and thus improves the overall quality of the particle swarm. Considering that the premature convergence is always associated with the fruit fly optimization algorithm, crossover and mutation operations of genetic algorithms are applied herein adaptively to keep the diversity of samples. Firstly, the particle distribution is improved by cross operation. When the algorithm falls into the local optimum, the Cauchy mutation perturbation is then used to help the fruit fly optimization algorithm jump out of the local optimal point effectively and continue searching for global extremum. The nonlinear simulations and target tracking experiments show that the proposed algorithm improves the estimation accuracy of the nolinear systems state, and it has better stability and reduces the number of particles required for state estimation at the same time.
Key words:particle filter; sample impoverishment; fruit fly optimization algorithm; nonlinear systems; state estimation
粒子濾波是一種用于求解后驗(yàn)概率的方法,它通過非參數(shù)化蒙特卡洛模擬方法實(shí)現(xiàn)遞推貝葉斯濾波[1].由于粒子濾波擺脫了傳統(tǒng)解決非線性濾波問題時(shí),隨機(jī)量必須滿足高斯分布的制約條件[2],使其能夠在非線性、非高斯系統(tǒng)下,相較于基于卡爾曼濾波框架的濾波算法,展現(xiàn)出明顯的優(yōu)越性.目前粒子濾波在無(wú)線定位、金融與經(jīng)濟(jì)學(xué)、參數(shù)估計(jì)、目標(biāo)跟蹤[3-6]等領(lǐng)域,都具有非常廣闊的應(yīng)用前景.然而,傳統(tǒng)的粒子濾波還存在著一些不足,需要加以改善,例如序列重要性采樣會(huì)帶來粒子退化問題,即經(jīng)過若干次循環(huán)遞推后,粒子集中絕大多數(shù)粒子權(quán)值變得很小,甚至接近于零,只有少數(shù)粒子具有非零權(quán)值,造成粒子集無(wú)法表達(dá)實(shí)際的后驗(yàn)概率分布[7].雖然通過重采樣[8]復(fù)制權(quán)重較大粒子、刪除低權(quán)值粒子能夠在一定程度上抑制粒子退化問題,卻在同時(shí)也破壞了粒子多樣性,導(dǎo)致粒子出現(xiàn)貧化現(xiàn)象[9].
近年來,為了解決粒子濾波算法存在的這些問題,國(guó)內(nèi)外學(xué)者提出了很多改進(jìn)方法,主要是以優(yōu)化重采樣的角度來改進(jìn)濾波精度.例如,Li等[10]提出確定性重采樣,利用粒子空間信息和狀態(tài)值進(jìn)行重采樣,避免盲目丟棄低權(quán)重的粒子,從而保證了粒子的多樣性,但是對(duì)于權(quán)值較大的粒子,直接進(jìn)行了權(quán)值平均,并沒有有效利用它們所具有的信息.程水英等[11]提出在重采樣前進(jìn)行權(quán)值排序列、裂變繁殖、權(quán)值歸一的預(yù)處理,以平滑權(quán)值差異使得更多的樣本能夠進(jìn)行重采樣,這樣雖然能延遲貧化時(shí)間,但無(wú)法從根本上避免貧化.張光等[12]采用正則化方法,引入核密度函數(shù)和核帶寬系數(shù)以連續(xù)形式計(jì)算狀態(tài)后驗(yàn)概率,有效緩解粒子退化問題,但無(wú)法保證樣本粒子都能近似表示后驗(yàn)概率,因而對(duì)非線性系統(tǒng)參數(shù)估計(jì)不能達(dá)到最優(yōu).
將群體智能優(yōu)化算法與粒子濾波結(jié)合是目前粒子濾波發(fā)展的一個(gè)較新的思路[13].采用智能優(yōu)化算法來避免粒子貧化問題,主要是將標(biāo)準(zhǔn)粒子濾波中的每個(gè)粒子看作生物群體的每個(gè)個(gè)體,通過模擬生物集群的運(yùn)動(dòng)規(guī)律來調(diào)整粒子的分布,使粒子群體向高似然區(qū)域移動(dòng),更加接近真實(shí)后驗(yàn)分布,由于其過程并未舍棄權(quán)重低的粒子,因而能夠從根本上避免粒子貧化現(xiàn)象[14].目前,已經(jīng)有多種基于群智能優(yōu)化算法的粒子濾波被提出,例如,田夢(mèng)楚等[14]提出基于螢火蟲算法的粒子濾波,引入了螢火蟲群體的優(yōu)勝劣汰機(jī)制以及螢火蟲個(gè)體的吸引和移動(dòng)的行為,使粒子向高似然區(qū)域移動(dòng),從而提高估計(jì)精度.汪榮貴等[15]將自適應(yīng)遺傳算法應(yīng)用到粒子濾波相,依據(jù)粒子的適應(yīng)度值自適應(yīng)確定對(duì)粒子進(jìn)行遺傳操作的概率,然后對(duì)選出的粒子實(shí)施交叉、變異操作來移動(dòng)粒子,增加粒子多樣性.Tian等[16]將人工魚群算法和無(wú)跡粒子濾波結(jié)合,利用人工魚群算法優(yōu)化采樣過程,克服樣本貧化問題.
果蠅優(yōu)化算法[17]由臺(tái)灣學(xué)者潘文超博士于2011年提出,是通過模擬自然界果蠅覓食行為而推演出來的群智能優(yōu)化算法,也是迄今為止所需調(diào)整參數(shù)最少、進(jìn)化方程最為簡(jiǎn)單的群體智能優(yōu)化算法之一[18].本文結(jié)合果蠅優(yōu)化算法迭代尋優(yōu)機(jī)制以及粒子濾波的特點(diǎn),對(duì)果蠅優(yōu)化算法尋優(yōu)機(jī)制加以改進(jìn),引入自適應(yīng)交叉和變異操作,保障粒子多樣性,并將結(jié)合交叉、變異的果蠅優(yōu)化算法到融入粒子濾波當(dāng)中,提出基于改進(jìn)的果蠅優(yōu)化思 想的粒子濾波算法.通過模型仿真以及目標(biāo)跟蹤實(shí)驗(yàn),表明本文所提算法在保證粒子多樣性的同時(shí)也能夠很好的提高狀態(tài)估計(jì)精度與穩(wěn)定性.
1 粒子濾波算法
2 果蠅優(yōu)化算法(FOA)
果蠅優(yōu)化算法是一種源于果蠅覓食行為推演出尋求全局優(yōu)化的群體智能算法[17].FOA的仿生原理是將種群數(shù)量為N的果蠅個(gè)體映射為搜索空間中的N個(gè)可行解,整個(gè)迭代尋優(yōu)以及搜索過程模擬成果蠅群體覓食過程.果蠅本身在感官知覺上優(yōu)于其它物種,尤其是在嗅覺與視覺上,果蠅的嗅覺器官能夠較好地搜集漂浮在空氣中的各種氣味,根據(jù)果蠅個(gè)體感知到的食物味道濃度的大小來衡量每個(gè)果蠅個(gè)體所處位置的優(yōu)劣,味道濃度越大,則表明該果蠅位置距離食物越近.果蠅覓食的過程就是果蠅不斷從濃度低的地方飛向濃度高的地方,飛近食物位置后亦可使用敏銳的視覺發(fā)現(xiàn)食物與同伴聚集的位置,且往該方向飛去,直到找到食物.
依據(jù)果蠅搜索食物的特征行為,果蠅優(yōu)化算法基本流程主要由以下3個(gè)步驟構(gòu)成:
1) 種群初始化:確定果蠅群體數(shù)量N、最大迭代次數(shù)m以及初始化果蠅個(gè)體覓食位置X0,Y0.
2) 覓食活動(dòng):果蠅群體從初始位置出發(fā),利用嗅覺搜尋食物,每個(gè)個(gè)體的搜索方向與距離皆為設(shè)定范圍的隨機(jī)數(shù).根據(jù)當(dāng)前的位置Xi,Yi,計(jì)算每個(gè)果蠅適應(yīng)度值fi(味道濃度值),找出其中適應(yīng)度值最大(或最?。┑膫€(gè)體,然后群體利用視覺向該個(gè)體位置飛去.
3) 種群位置更新:每一次迭代過程即每一次從當(dāng)前最佳適應(yīng)值位置飛出到下一最佳位置的過程,若下一次最佳適應(yīng)度值大于前一次最佳適應(yīng)度值,則群體更新最佳適應(yīng)度值點(diǎn)為新的覓食位置X0,Y0,所有個(gè)體向該位置飛去,然后再飛出繼續(xù)搜索.如此反復(fù),直到達(dá)到最大迭代次數(shù)或設(shè)定精度為止.
3 果蠅優(yōu)化粒子濾波(FOAPF)
3.1 整體改進(jìn)原理
傳統(tǒng)粒子濾波算法的重采樣過程通過復(fù)制大權(quán)重粒子、刪除小權(quán)值粒子來解決粒子匱乏現(xiàn)象,但經(jīng)過多次迭代后,又會(huì)帶來粒子貧化問題.
針對(duì)上述問題,本文將果蠅優(yōu)化算法融入到粒子濾波中改善采樣過程.算法具體思路如下:在標(biāo)準(zhǔn)粒子濾波過程中,當(dāng)經(jīng)過重要性采樣得到N個(gè)粒子后,根據(jù)個(gè)體的位置以及設(shè)定的適應(yīng)度函數(shù)計(jì)算每個(gè)粒子的適應(yīng)度值,如果粒子集分布在真實(shí)狀態(tài)附近,那么,粒子群中每個(gè)粒子的適應(yīng)度值都很高;反之,如果粒子群中的適應(yīng)度最優(yōu)值很低,則說明粒子集沒有分布在真實(shí)狀態(tài)附近,此時(shí),利用FOA算法對(duì)粒子分布進(jìn)行優(yōu)化,粒子不斷向適應(yīng)度值高的地方飛去,使得粒子不斷向真實(shí)狀態(tài)靠近,從而提高粒子群整體樣本的質(zhì)量.當(dāng)粒子集的最優(yōu)值達(dá)到設(shè)定的閾值ε時(shí),則說明粒子集已經(jīng)分布在真實(shí)狀態(tài)附近,此時(shí)即可停止優(yōu)化.
通過上述優(yōu)化過程,驅(qū)使粒子集合不斷向高似然區(qū)域靠近,從而解決粒子貧乏問題.然而,果蠅優(yōu)化算法也存在著一些不可避免的問題,即在整個(gè)尋優(yōu)過程中果蠅只向當(dāng)前味道濃度最高的個(gè)體飛去,所有粒子分布隨機(jī)在最優(yōu)值附近,無(wú)法保證粒子多樣性.而且如果該個(gè)體不是全局最優(yōu)值,極易使算法陷入局部最優(yōu),從而降低收斂速度和收斂精度,帶來早熟收斂的問題.因而直接將果蠅優(yōu)化算法融入到粒子濾波中并不一定會(huì)得到理想的效果,需要對(duì)果蠅優(yōu)化過程進(jìn)行適當(dāng)?shù)母倪M(jìn),采用一種機(jī)制,讓算法在出現(xiàn)早熟收斂時(shí),能夠跳出局部最優(yōu),并進(jìn)入解空間的其它區(qū)域繼續(xù)進(jìn)行搜索,直到找出全局最優(yōu)解[19].本文采取在果蠅優(yōu)化算法中引入自適應(yīng)交叉算子、自適應(yīng)變異機(jī)制,首先對(duì)粒子群體進(jìn)行自適應(yīng)交叉操作,增加粒子多樣性,可以在在一定程度減小陷入局部最優(yōu)幾率.然后判斷算法是否陷入早熟收斂,若是,則復(fù)制一些當(dāng)前最優(yōu)粒子,對(duì)這些粒子進(jìn)行柯西變異操作,可以促使算法跳出局部最優(yōu),繼續(xù)搜索全局極值.
3.2 適應(yīng)度函數(shù)設(shè)計(jì)
從圖1~6可以看出,本文所提基于改進(jìn)的果蠅優(yōu)化算法的粒子濾波(FOAPF),相較于標(biāo)準(zhǔn)PF以及GAPF,狀態(tài)預(yù)測(cè)曲線與實(shí)際狀態(tài)相似程度最高,其估計(jì)值更接近真實(shí)值,這是因?yàn)镕OAPF在PF的基礎(chǔ)上,通過對(duì)重要性采樣后的粒子進(jìn)行引入交叉、變異操作的果蠅迭代尋優(yōu),使粒子向高似然區(qū)域運(yùn)動(dòng)的同時(shí),保證了樣本多樣性,從而提高粒子分布的合理性.表1、表2中數(shù)據(jù)為每種算法獨(dú)立運(yùn)行50次后的均方根誤差平均值以及方差,從中可以看出,3種算法隨著粒子數(shù)的增加,均方根誤差以及方差大體上皆呈現(xiàn)減小的趨勢(shì),這與粒子濾波的粒子數(shù)越多則估計(jì)精度越高的理論是相符的.而在三種算法中,F(xiàn)OAPF的均方根誤差以及方差最低,且是唯一一個(gè)在粒子數(shù)為100時(shí)兩者皆小于1的,當(dāng)粒子數(shù)為50時(shí),其誤差值也比粒子數(shù)為100的PF算法低,與GAPF也只有不到0.2的差距,說明FOAPF能夠用較少的粒子達(dá)到所需的精度.而均方根誤差方差體現(xiàn)算法預(yù)測(cè)的穩(wěn)定性,F(xiàn)OAPF也是最低的,當(dāng)粒子數(shù)越多時(shí)更為明顯.綜上分析,F(xiàn)OAPF具有更好的估計(jì)精度以及穩(wěn)定性.
4.2 粒子多樣性測(cè)試
為測(cè)試FOAPF濾波時(shí)的粒子多樣性,設(shè)置粒子數(shù)為100,取PF和FOAPF濾波器在迭代過程第20和45步時(shí)的粒子分布情況,如圖7~8所示,可以看出,F(xiàn)OAPF與標(biāo)準(zhǔn)PF相比,具有更寬的粒子分布,除了在高似然區(qū)域存在較多粒子,周邊區(qū)域也分布著部分粒子,說明FOAPF在預(yù)測(cè)精度優(yōu)于PF的同時(shí),粒子多樣性并沒有降低,這是因?yàn)閷?duì)果蠅尋優(yōu)過程進(jìn)行了自適應(yīng)的交叉與變異操作,保證了粒子多樣性不下降,而且本文并沒有進(jìn)行重采樣操作,也能夠有效地避免粒子貧化現(xiàn)象的出現(xiàn).
5 目標(biāo)跟蹤實(shí)驗(yàn)
目標(biāo)跟蹤在計(jì)算機(jī)視覺領(lǐng)域中有著廣泛的應(yīng)用前景和商業(yè)價(jià)值,包括智能監(jiān)控、人機(jī)交互、視頻檢索等.快速移動(dòng)的目標(biāo)往往具有非線性、非高斯的特點(diǎn),跟蹤要求有較高的實(shí)時(shí)性、魯棒性.近年來,基于相關(guān)濾波[21]的判別式跟蹤方法以其優(yōu)越的跟蹤速度、出色的跟蹤性能及高效的魯棒性得到了廣泛關(guān)注和應(yīng)用.為檢驗(yàn)本文所提算法在目標(biāo)跟蹤應(yīng)用中的實(shí)際效果,將本文所提方法與相關(guān)濾波算法分別應(yīng)用到視頻目標(biāo)跟蹤當(dāng)中,并對(duì)結(jié)果進(jìn)行分析.
6 結(jié) 論
1)本文算法FOAPF通過單變量非靜態(tài)增長(zhǎng)模型進(jìn)行了仿真,粒子數(shù)為100時(shí),實(shí)驗(yàn)結(jié)果均方根誤差均值為0.729 5,均方根誤差方差為0.454 4,表明本文算法精度、穩(wěn)定性均高于標(biāo)準(zhǔn)粒子濾波和基于遺傳算法的粒子濾波算法,粒子分布圖進(jìn)一步說明本文算法有效保證了粒子的多樣性.
2)將FOAPF算法運(yùn)用到視頻目標(biāo)跟蹤實(shí)驗(yàn)中,與相關(guān)濾波算法跟蹤結(jié)果進(jìn)行比較,實(shí)驗(yàn)結(jié)果表明本文算法對(duì)目標(biāo)快速移動(dòng)以及被遮擋的情況都具有良好的跟蹤效果.
參考文獻(xiàn)
[1]
DOUCTE A, DE FREITAS N, GORDON N. Sequential Monte Carol methods in practice[M]. New York: SpringerVerlag,2001.
[2] 王法勝, 魯明羽, 趙清杰,等.粒子濾波算法[J].計(jì)算機(jī)學(xué)報(bào), 2014, 37(8):1679-1694.
WANG F S, LU M Y, ZHAO Q J, et al. Particle filter algorithm[J]. Journal of Computer Science, 2014, 37(8):1679-1694.(In Chinese)
[3] GUSTAFSSON F. Particle filter theory and practice with positioning applications[J]. Aerospace & Electronic Systems Magazine IEEE, 2010, 25(7):53-82.
[4] 李天成,范紅旗,孫樹棟.粒子濾波理論、方法及其在多目標(biāo)跟蹤中的應(yīng)用[J].自動(dòng)化學(xué)報(bào), 2015, 41(12):1981-2002.
LI T C, FAN H Q, SUN S D. Particle filtering: theory, approach, and application for multitarget tracking[J]. Acta Automatica Sinica, 2015, 41(12): 1981-2002. (In Chinese)
[5] GAO M, ZHANG H. Sequential Monte Carlo methods for parameter estimation in nonlinear statespace models[J]. Computers & Geosciences, 2012, 44(13):70-77.
[6] CREAL D. A survey of sequential Monte Carlo methods for economics and finance[J]. Serie Research Memoranda, 2009, 31(3):245-296.
[7] 朱志宇. 粒子濾波算法及其應(yīng)用[M].北京:科學(xué)出版社,2010:27-31.
ZHU Z Y. Particle filter algorithm and its application[M]. Beijing: Science Press, 2010:27-31. (In Chinese)
[8] ARULAMPALAM M S, MASKELL S, GORDON N, et al. A tutorial on particle filters for online nonlinear/nongaussisan Bayesian tracking[J]. IEEE Transactions on Signal Processing,2002,50(2):174-188.
[9] FOO P H, NG G W. Combing the interacting multiple model method with particle filters for manoeuvring target tracking[J]. IET Radar, Sonar and Navigation,2011,5(3):234-255.
[10]LI T C, SATTAR T P, SUN S D. Deterministic resampling :unbiased sampling to avoid sample impoverishment in particle filters[J]. Signal Processing,2012,92(7):1637-1645.
[11]程水英,張劍云.裂變自舉粒子濾波[J].電子學(xué)報(bào),2008,36(3):500-504.
CHENG S Y, ZHANG J Y. Fission bootstrap particle filter[J]. Journal of Electronics, 2008,36(3):500-504. (In Chinese)
[12]張光,張英堂,任國(guó)全,等.基于正則化粒子濾波的磁梯度張量跟蹤方法[J]. 探測(cè)與控制學(xué)報(bào),2014(2):0050-0053.
ZHANG G, ZHANG Y T, REN G Q, et al. Tracking method of magnetic gradient tensor based on RPF[J]. Journal of Detection & Control, 2014(2):0050-0053. (In Chinese)
[13]YU Y, ZHENG X. Particle filter with ant colony optimization for frequency offset estimation in OFDM systems with unknown noise distribution[J]. Signal Processing, 2011, 91(5):1339-1342.
[14]田夢(mèng)楚,薄煜明,陳志敏,等.螢火蟲算法智能優(yōu)化粒子濾波[J].自動(dòng)化學(xué)報(bào),2016,42(1):89-97.
TIAN M C, BO Y M, CHEN Z M, et al. Firefly algorithm intelligence optimized particle filter[J]. Acta Automatica Sinica, 2016,42(1):89-97. (In Chinese)
[15]汪榮貴,李孟敏,吳昊,等.一種新型的基于自適應(yīng)遺傳算法的粒子濾波算法[J].中國(guó)科學(xué)技術(shù)大學(xué)學(xué)報(bào),2011,41(2):134-141.
WANG R G, LI M M, WU H, et al. A new particle filter algorithm based on the adaptive genetic algorithm[J].Journal of University of Science and Technology of China,2011,41(2):134-141. (In Chinese)
[16]TIAN Y, LU C, WANG Z, et al. Artificial fish swarm algorithmbased particle filter for liion battery life prediction[J]. Mathematical Problems in Engineering, 2014(3):1-10.
[17]PAN W T. A new fruit fly optimization algorithm: taking the financial distress model as an example[J]. KnowledgeBased Systems, 2012, 26(2):69-74.
[18]韓虎. 果蠅優(yōu)化算法的分析[J]. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(2):9-17.
HAN H. Analysis on fruit fly optimization algorithm[J].Journal of Computer Applications,2017,26(2):9-17. (In Chinese)
[19]呂振肅,侯志榮. 自適應(yīng)變異的粒子群優(yōu)化算法[J]. 電子學(xué)報(bào),2004,32(3):416-420.
L Z S, HOU Z R. Particle swarm optimization with adaptive mutation[J].Acta Electronica Sinica,2004,32(3):416-420. (In Chinese)
[20]韓俊英,劉成忠. 自適應(yīng)變異的果蠅優(yōu)化算法[J]. 計(jì)算機(jī)應(yīng)用研究,2013,30(9):2641-2644.
HAN J Y, LIU C Z. Fruit fly optimization algorithm with adaptive mutation[J].Application Research of Computers,2013,30(9):2641-2644. (In Chinese)
[21]HENRIQUES J F, RUI C, MARTINS P, et al. Highspeed tracking with kernelized correlation filters[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, 37(3):583-596.