陳麗萍,王銘羽,楊文柱,王思樂,陳向陽
(河北大學(xué) 網(wǎng)絡(luò)空間安全與計(jì)算機(jī)學(xué)院,河北 保定 071002)
目標(biāo)跟蹤是計(jì)算機(jī)視覺領(lǐng)域的重要研究?jī)?nèi)容,也是計(jì)算機(jī)視覺領(lǐng)域的難點(diǎn)之一,除了光照變化、障礙物遮擋等環(huán)境影響,目標(biāo)本身的旋轉(zhuǎn)、尺度變化及出視野情況都對(duì)進(jìn)行準(zhǔn)確的目標(biāo)跟蹤造成挑戰(zhàn)[1]。根據(jù)觀測(cè)模型的不同,可將視覺目標(biāo)跟蹤方法分為生成式方法和判別式方法。比較著名的生成式方法有Meanshift算法[2-3]、粒子濾波算法[4]。生成式方法重點(diǎn)關(guān)注對(duì)目標(biāo)本身的刻畫,不考慮背景的影響,在目標(biāo)形變劇烈或遮擋嚴(yán)重時(shí)容易產(chǎn)生目標(biāo)漂移;判別式方法同時(shí)考慮了目標(biāo)和背景信息,在現(xiàn)有跟蹤方法中具有明顯的優(yōu)勢(shì),其中比較經(jīng)典且性能突出的判別類方法有FCT算法(fast compressive tracking)[5]和相關(guān)濾波算法(correlation filter-based tracking,CFTs)。
相關(guān)濾波算法是由Bolme最早引入的,該算法通過相關(guān)濾波器(minimum output sum of squared error, MOSSE)[6]來構(gòu)造一種自適應(yīng)的訓(xùn)練策略。由于該算法在實(shí)時(shí)目標(biāo)跟蹤上的優(yōu)秀表現(xiàn),此后基于該算法框架的改進(jìn)算法被相繼提出[7-10],其中最有影響力的為Henriques等[7]提出的核相關(guān)濾波算法(kernelized correlation filters,KCF)。KCF不僅能以每秒數(shù)百幀的速度運(yùn)行,且實(shí)現(xiàn)簡(jiǎn)單,在VOT(visual object tracking)競(jìng)賽測(cè)評(píng)中展現(xiàn)出明顯的高效性和魯棒性。
傳統(tǒng)的相關(guān)濾波跟蹤算法均是針對(duì)短時(shí)視頻的跟蹤研究,而在實(shí)際應(yīng)用中往往需要長(zhǎng)時(shí)間對(duì)目標(biāo)進(jìn)行準(zhǔn)確跟蹤。在進(jìn)行長(zhǎng)時(shí)目標(biāo)跟蹤過程中,由于目標(biāo)的外觀變化、周圍環(huán)境造成的目標(biāo)遮擋以及光照變化等,傳統(tǒng)濾波跟蹤算法很容易發(fā)生模板漂移現(xiàn)象。
為解決上述問題,提出了一種基于改進(jìn)核相關(guān)濾波的長(zhǎng)時(shí)目標(biāo)跟蹤算法LKCF(long-term kernelized correlation filter)。該算法以KCF算法為基本跟蹤框架,為避免模板漂移,采用了一個(gè)高置信度的模版更新機(jī)制。另外,通過構(gòu)造目標(biāo)重檢機(jī)制來解決由于遮擋造成的目標(biāo)丟失問題,以便實(shí)現(xiàn)魯棒的目標(biāo)跟蹤。
設(shè)f表示輸入圖像;h表示相關(guān)濾波器;g表示響應(yīng)輸出,則
g=h?f,
(1)
式中:g由高斯函數(shù)產(chǎn)生;h為濾波器,在跟蹤時(shí),將下一幀的搜索窗口與濾波器進(jìn)行相關(guān)計(jì)算,目標(biāo)的新位置根據(jù)響應(yīng)最大值所對(duì)應(yīng)的位置確定。通過快速傅里葉變換,在頻率域計(jì)算相關(guān)性可加快運(yùn)算速度。另外,由卷積定理可知:
F{g}=(F*(h))⊙F(f),
(2)
式中:F表示傅里葉變換;⊙表示點(diǎn)乘;*表示復(fù)數(shù)共軛,則有
(3)
LKCF采用了KCF的訓(xùn)練機(jī)制。在KCF中,對(duì)相關(guān)濾波器的求解實(shí)質(zhì)是一個(gè)嶺回歸問題,即
(4)
式中:λ為正則化參數(shù),用來控制訓(xùn)練的過擬合;w為權(quán)重參數(shù)矩陣,用以描述樣本x和評(píng)分f(x)之間的關(guān)系。每一個(gè)樣本xi對(duì)應(yīng)一個(gè)標(biāo)記yi∈[0,1]。通過各種垂直、水平的循環(huán)移位來構(gòu)建訓(xùn)練樣本矩陣X,并采用核函數(shù)K將目標(biāo)x的低維特征空間映射到高維空間。濾波器w的求解空間則被轉(zhuǎn)化到對(duì)偶空間α中,核化的嶺回歸表示為[11]:
α=(K+λI)-1y,
(5)
式中:I為單位矩陣;K是核矩陣,也是一個(gè)循環(huán)矩陣,由循環(huán)矩陣的性質(zhì)可以繼續(xù)化解為:
(6)
(7)
由高斯核函數(shù)的性質(zhì)可以得到:
(8)
傳統(tǒng)的相關(guān)濾波算法采用的是線性插值方法,該方法能夠?qū)⒆钚碌奶卣餍畔⑻砑拥接?xùn)練模型中,從而簡(jiǎn)單有效地進(jìn)行在線跟蹤。但是對(duì)于實(shí)際應(yīng)用中的復(fù)雜環(huán)境,相關(guān)濾波類算法仍存在著很大挑戰(zhàn),如長(zhǎng)時(shí)跟蹤產(chǎn)生的錯(cuò)誤累積問題、目標(biāo)遮擋時(shí)的模板漂移問題等。
針對(duì)以上問題,通過分析模板更新時(shí)對(duì)跟蹤階段的影響,提出了對(duì)長(zhǎng)時(shí)目標(biāo)跟蹤的基本解決方案:①設(shè)計(jì)了最大響應(yīng)值和響應(yīng)模式的穩(wěn)定度兩個(gè)指標(biāo)來反映跟蹤器的跟蹤置信度,以此避免目標(biāo)在遇到遮擋和嚴(yán)重形變時(shí)的跟蹤失敗;②運(yùn)用TLD算法[12]思想將跟蹤任務(wù)分解為跟蹤、學(xué)習(xí)和檢測(cè)三部分,以減輕在線模版更新時(shí)的錯(cuò)誤累積。檢測(cè)器負(fù)責(zé)在檢測(cè)到跟蹤失敗時(shí)重新初始化跟蹤器,把跟丟的目標(biāo)找回并將產(chǎn)生的誤差清零,而跟蹤器的結(jié)果則提供訓(xùn)練數(shù)據(jù)來更新檢測(cè)器。
當(dāng)新一幀進(jìn)來時(shí),s為上一幀目標(biāo)位置,當(dāng)前目標(biāo)位置為y=φ(s;w)。其中,w的求解轉(zhuǎn)化到對(duì)偶空間α中,通過式(6)來計(jì)算。通過循環(huán)采樣獲得的整個(gè)響應(yīng)圖按下式計(jì)算[13]:
(9)
為判斷跟蹤目標(biāo)位置的精確度,設(shè)定了兩個(gè)基準(zhǔn)。第一個(gè)基準(zhǔn)是響應(yīng)圖F(s,y;w)中最大響應(yīng)分?jǐn)?shù)Fmax,定義為:
Fmax=maxF(s,y;w),
(10)
高置信度更新機(jī)制的第二個(gè)判斷基準(zhǔn)為平均峰值相關(guān)能量(average peak-to correlation energy)[13],即APCE為
(11)
式中:Fmax、Fmin以及Fi,j分別為F(s,y;w)的最大值,最小值和指定的第i行第j列的元素。如果當(dāng)前幀中的APCE大于算法設(shè)定的第二個(gè)閾值Tt(運(yùn)動(dòng)閾值),則認(rèn)為當(dāng)前幀中的跟蹤結(jié)果是高置信度的。此時(shí),相關(guān)濾波模版將會(huì)在固定的學(xué)習(xí)率參數(shù)μ下進(jìn)行在線更新,更新方式如下:
(12)
(13)
式中:t為當(dāng)前幀的索引。
步驟1在首幀中標(biāo)出欲跟蹤目標(biāo)的位置與尺寸,利用式(6)訓(xùn)練核相關(guān)濾波器中的參數(shù);
步驟2提取下一幀的圖像特征ft,并用式(9)計(jì)算響應(yīng)圖F(s,y;w);
步驟3通過式(10)和(11)計(jì)算兩個(gè)判斷基準(zhǔn)Fmax和APCE;
步驟5保存目標(biāo)位置信息s=ft;
步驟6采用APCE基準(zhǔn)判斷跟蹤的置信度,若APCE≥Tt,則用式(12)和(13)來更新濾波模版Ht,否則轉(zhuǎn)到步驟2;
步驟7更新檢測(cè)器Dtf,轉(zhuǎn)到步驟2直到視頻結(jié)束。
實(shí)驗(yàn)采用13個(gè)目標(biāo)跟蹤基準(zhǔn)數(shù)據(jù)庫(kù)OTB50和OTB100中的具有挑戰(zhàn)性的視頻序列對(duì)提出的算法進(jìn)行評(píng)測(cè),序列涉及了運(yùn)動(dòng)模糊(MB)、快速運(yùn)動(dòng)(FM)、遮擋(OCC)、背景雜亂(BC)和光照變化(IV)等多種因素。實(shí)驗(yàn)結(jié)果采用兩種度量評(píng)估標(biāo)準(zhǔn):
(1)成功重疊率(OS),即預(yù)測(cè)邊框與實(shí)際邊框重疊超過閾值的幀占比,可利用有效幀的重疊率均值來計(jì)算;
(2)距離精度(DP),即跟蹤到的位置與目標(biāo)實(shí)際位置的距離小于指定閾值的幀占比。
在公共基準(zhǔn)數(shù)據(jù)集OTB100上將LKCF與7種典型的跟蹤算法進(jìn)行了對(duì)比實(shí)驗(yàn)。7個(gè)對(duì)比算法包括Struck(structured output tracking with kernels)[14]、TLD(tracking-learn-detection)[12]、在線AdaBoost方法(OAB)[10]、KCF[7]以及依據(jù)在線分類器分類的跟蹤算法MIL (multiple instance learing)[15]、CT(compressive tracking)[8]和ASLA(adaptive structural local sparse appearance model)[16]。采用距離精度和重疊成功率評(píng)估標(biāo)準(zhǔn)[17],以0.5為重疊閾值的重疊率、20個(gè)像素內(nèi)的精度分?jǐn)?shù)以及平均幀速來定量比較,如表1所示。結(jié)果顯示,LKCF算法的成功重疊率(OS)為78.9%、距離精度(DP)為86.6%,優(yōu)于其他7個(gè)對(duì)比算法。雖然KCF的平均OS為62.2%,DP為74.1%,但是KCF的幀速率172 Hz明顯比LKCF的34 Hz快。這是由于LKCF算法的重新檢測(cè)機(jī)制增長(zhǎng)了檢測(cè)時(shí)間,但在實(shí)際應(yīng)用中仍可滿足工程的實(shí)時(shí)要求。
表1 與其他算法的跟蹤結(jié)果對(duì)比Table 1 Comparison with other algorithms
不同環(huán)境下目標(biāo)跟蹤效果的分析。將LKCF與其他4個(gè)目前最好的追蹤器KCF、TLD、IVT(incremental visual tracking)和Struck在公共數(shù)據(jù)集OTB50上進(jìn)行了對(duì)比,實(shí)驗(yàn)效果如圖1所示。
圖1 不同場(chǎng)景下的跟蹤結(jié)果對(duì)比Figure 1 Tracking results in different video scenes
在圖1(a)中,目標(biāo)David經(jīng)歷光照變化,所有被測(cè)試的算法都可以穩(wěn)定地跟蹤目標(biāo),原因在于上述算法均使用了基于PCA的外觀模型,可適應(yīng)目標(biāo)的外觀變化。在圖1(b)和圖1(c)中,目標(biāo)對(duì)象遭受了重度遮擋,此時(shí)只有TLD和LKCF方法可以完成跟蹤,因?yàn)樗鼈兪褂昧酥匦聶z測(cè)機(jī)制。在圖1(d)的快速運(yùn)動(dòng)場(chǎng)景下,KCF、TLD和LKCF方法表現(xiàn)良好,而Struck和IVT算法無法在幀#297之后跟蹤目標(biāo)。在圖1(e)中,目標(biāo)的運(yùn)動(dòng)方向和背景環(huán)境發(fā)生了很大變化,大多數(shù)算法均丟失了目標(biāo),只有LKCF算法能正確跟蹤。在圖1(f)的雜波背景下,KCF跟蹤器由于僅使用了HOG特征,使跟蹤目標(biāo)產(chǎn)生了漂移。相比之下,LKCF和TLD跟蹤器由于采用了重新檢測(cè)機(jī)制使得跟蹤效果更好。
總之,由于采用了重新檢測(cè)機(jī)制和有條件的模板更新機(jī)制,筆者提出的LKCF算法有效避免了檢測(cè)中的誤差累積和模板漂移問題,完整地完成了跟蹤任務(wù)。
通過改進(jìn)核相關(guān)濾波跟蹤算法,實(shí)現(xiàn)了一種長(zhǎng)時(shí)核相關(guān)濾波目標(biāo)跟蹤算法。①構(gòu)建了高置信度模版更新機(jī)制,使長(zhǎng)時(shí)目標(biāo)跟蹤中的模板漂移問題得到較好解決;②構(gòu)造了目標(biāo)重檢機(jī)制,以此解決由于遮擋造成的目標(biāo)丟失問題。實(shí)驗(yàn)結(jié)果表明,所提算法在處理長(zhǎng)時(shí)目標(biāo)跟蹤時(shí),相較于傳統(tǒng)算法在效率、準(zhǔn)確性和魯棒性方面表現(xiàn)更好。下一步工作將探索更富表現(xiàn)力的特征來描述目標(biāo)對(duì)象,并擴(kuò)展尺度變換模塊來完善目標(biāo)跟蹤器。