閭斯瑤,周武能,李龍龍
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
視覺目標(biāo)跟蹤的應(yīng)用范圍很廣,涵蓋了很多領(lǐng)域,諸如視頻監(jiān)控[1]、人機交互[2-3]、自動車輛控制[4]和人類行為分析[5]等任務(wù)都從視覺系統(tǒng)中受益,并大量利用目標(biāo)跟蹤。粒子濾波器普遍在視頻目標(biāo)跟蹤應(yīng)用[6-9]。粒子濾波器精度靠近最優(yōu)估計,對于非線性和非高斯時變系統(tǒng)的狀態(tài)估計求解比較適用。然而,標(biāo)準(zhǔn)粒子濾波(PF)會因解決權(quán)值退化的問題,發(fā)生樣本貧化問題。針對PF樣本貧化問題,文獻(xiàn)[10]的算法可以增加粒子的多樣性。文獻(xiàn)[11]的算法選取的重采樣方法會依據(jù)系統(tǒng)進(jìn)行選擇,使粒子更逼近于真實狀態(tài)。然而,上述文獻(xiàn)是通過重采樣方法來改進(jìn)算法,不能從源頭處理粒子貧化。
基于群智能優(yōu)化算法的粒子濾波[12]是一種較好的研究方向。因為群智能算法主要是在迭代和優(yōu)化粒子群的分布狀態(tài)方面來進(jìn)行優(yōu)化[13-14],這不牽涉到直接拋棄較低權(quán)重的粒子,因而粒子可以在源頭上解決粒子貧化問題。
蝙蝠算法(BA)[15]實現(xiàn)智能優(yōu)化的方法是模仿真實世界的蝙蝠對食物進(jìn)行捕捉行為。蝙蝠算法是一種類似粒子群算法基于搜尋的隨機策略來找到最佳的算法。蝙蝠算法在隨機性方面相較于其他算法具有一定的優(yōu)勢。文獻(xiàn)[15]表明蝙蝠算法的綜合性能更加強于目前的主流群智能優(yōu)化算法,例如粒子群優(yōu)化算法以及蟻群算法等。在文獻(xiàn)[16]中發(fā)現(xiàn),將蝙蝠算法與PF相結(jié)合后粒子濾波器的性能得到了進(jìn)一步的增強。
但是,蝙蝠算法也有下述缺陷:后期收斂慢,較低的收斂精度,容易陷入局部最優(yōu)等。文中算法是在蝙蝠算法中融合模擬退火和高斯擾動來優(yōu)化粒子濾波(SAGBA-PF),要優(yōu)化的集合群體通過使用高斯擾動的變異操作進(jìn)一步調(diào)節(jié),這樣能夠增強全局尋優(yōu)以及局部尋優(yōu)能力。模擬退火算法具備在搜尋過程中的概率突變特點,而且能夠避免在尋優(yōu)過程中選取局部最優(yōu)。它不僅在退火過程中獲得了良好的解決方案,并且還會有一定的幾率接收到相對較差的解決方案,該幾率由溫度參數(shù)控制,幾率的值會隨著溫度的下降而減小。文中實驗結(jié)果也證明SAGBA效果更佳。
(1)
為了確保粒子濾波器的準(zhǔn)確性,文中算法目標(biāo)函數(shù)如下:
(2)
fi=fmin+(fmax-fmin)β
(3)
(4)
(5)
其中,β∈[0,1]服從均勻分布,x*是當(dāng)前最優(yōu),fmin和fmax取決于ROI大小。
一旦獲得局部最優(yōu),就使用隨機游走模型生成蝙蝠個體新解,文中算法中的局部搜索方法為:
若rand>ri,則
xnew=xold+εAg
(6)
(7)
得到蝙蝠個體相對應(yīng)的適應(yīng)度值,并更新每個蝙蝠個體的相對更優(yōu)位置,在上述相對更優(yōu)位置處使用式(8)進(jìn)行高斯擾動操作,然后比較高斯擾動之前和之后的位置以找出最優(yōu)的位置和相對應(yīng)的最優(yōu)值xpbest;
xt=xt+a⊕ε
(8)
響度Ai和脈沖率ri的更新意義在于如果找到或者接近目標(biāo),蝙蝠個體會在降低響度的同時增加脈沖率,其計算方法如下:
(9)
對于任何0<ω和γ<1,有:
(10)
文中算法流程如圖1所示??梢钥吹秸麄€蝙蝠種群中,可以使得各個蝙蝠個體避免陷于局部最優(yōu),避免了個體狀態(tài)值在迭代過程,變化不大的情況。可以看到該算法可以使得粒子的多樣性增加,進(jìn)而提高粒子樣本的質(zhì)量。
在仿真實驗中,選取的過程模型和觀測模型如下:
過程模型:
(11)
觀測模型:
(12)
上述等式中,net(t)和wet(t)均是高斯噪聲,平均值為零。
圖1 算法流程
在仿真實驗中,假設(shè)系統(tǒng)噪聲方差分別為Q=1和Q=10,觀測噪聲方差R=10,濾波時間步長為50,初始化脈沖響度A0=0.5,初始化脈沖率r0=0.5,fmax=2,fmin=0,使用PF、PSO-PF和SAGBA-PF進(jìn)行狀態(tài)估計和跟蹤該非線性系統(tǒng)。
在模擬退火算法部分中,文中算法設(shè)置的初始溫度為TW0=1 000 °C,平衡溫度TWmin=50 °C,最大迭代次數(shù)是20,退火方式如式(13)所示,退化系數(shù)as=0.99:
T=T*as
(13)
在文中算法中所使用的均方根誤差公式為:
(14)
(1)當(dāng)N=20、Q=10時,濾波狀態(tài)誤差如圖2所示;
圖2 N=20、Q=10時濾波狀態(tài)誤差絕對值
(2)當(dāng)N=50、Q=10時,濾波狀態(tài)誤差如圖3所示;
(3)當(dāng)N=100、Q=10時,濾波狀態(tài)誤差如圖4所示;
(4)當(dāng)N=20、Q=1時,濾波狀態(tài)誤差如圖5所示;
(5)當(dāng)N=50、Q=1時,濾波狀態(tài)誤差如圖6所示;
圖6 N=50、Q=1時濾波狀態(tài)誤差絕對值
(6)當(dāng)N=100、Q=1時,濾波狀態(tài)誤差如圖7所示。
圖7 N=100、Q=1時濾波狀態(tài)誤差絕對值
參數(shù)RMSEPFPSO-PFBA-PFSAGBA-PFN=20,Q=104.72674.57773.98450.9264N=50,Q=103.70572.31253.41340.5284N=100,Q=103.63822.25973.14000.4008N=20,Q=11.46700.94591.24510.3660N=50,Q=11.25870.73181.15560.3154N=100,Q=11.08710.76191.01330.2600
從圖2~圖7可以看出,相較于對比的幾種算法,SAGBA-PF具有更好的狀態(tài)值預(yù)測精度,因為融合模擬退火算法,對部分蝙蝠個體產(chǎn)生高斯擾動操作,執(zhí)行進(jìn)一步的搜索行為以存儲蝙蝠個體相對更優(yōu)值。隨著進(jìn)化過程的推進(jìn),模擬退火的溫度逐漸降低,漸漸減少接受較差解的概率,從而提高算法的性能。該算法能夠較大提高算法的收斂速度、魯棒性和尋優(yōu)能力。
從表1可以看出,在高噪聲的影響下,當(dāng)SAGBA-PF的蝙蝠個數(shù)為20時的精度依然高于PF中粒子數(shù)為100時的精度,這表明算法SAGBA-PF在非線性、高噪聲的環(huán)境會較PF更好地跟蹤目標(biāo)。
文中提出的SAGBA-PF目標(biāo)跟蹤算法,全局搜索和局部搜索過程能力相對較好,提高了跟蹤算法的跟蹤性能。仿真結(jié)果表明,該算法具有較好的狀態(tài)值預(yù)測精度。在后面的工作中,將對跟蹤過程中的模板更新、目標(biāo)遮擋等問題做進(jìn)一步優(yōu)化。