郭靜靜,侯志強,陳立琳,蒲 磊,余旺盛,馬素剛
(1.西安郵電大學(xué)計算機學(xué)院,西安,710121; 2.西安郵電大學(xué)陜西省網(wǎng)絡(luò)數(shù)據(jù)分析與智能處理重點實驗室,西安,710121; 3.空軍工程大學(xué)信息與導(dǎo)航學(xué)院,西安,710077)
目前,在視覺目標跟蹤[1]中,相關(guān)濾波方法以其優(yōu)異的快速性和良好的跟蹤性能受到研究人員的關(guān)注。Bolme等人[2]首次將相關(guān)濾波引入跟蹤領(lǐng)域,提出誤差最小平方和濾波器(MOSSE)跟蹤算法,對尺度和形變的魯棒性有較好的跟蹤效果;Henriques等人[3]提出基于循環(huán)結(jié)構(gòu)(CSK)的核相關(guān)濾波跟蹤算法,取得良好的跟蹤結(jié)果;Henriques等人[4]提出核相關(guān)濾波(KCF)跟蹤算法,擴展了特征通道,提升了跟蹤性能。但上述算法都是采用固定尺度因子,當目標尺度發(fā)生變化時,極易產(chǎn)生漂移甚至跟丟現(xiàn)象。
為解決跟蹤過程中目標尺度變化問題,Li等人[5]提出尺度池(scale adaptive with multiple feature tracker,SAMF)方法,提高了跟蹤效率,但由于其搜索范圍較小,導(dǎo)致目標尺度定位并不準確;Danelljan等人[6]提出以KCF為基礎(chǔ)的尺度金字塔(discriminative scale space tracking,DSST)跟蹤算法,解決了尺度等比例變化的問題,但未解決目標長寬比變化問題;He等人[7]基于尺度金字塔的方法提出尺度因子為10、步長因子為1.03的跟蹤算法,其尺度改進方法極大提高了跟蹤精度,但仍沒有解決目標長寬比變化問題;Li等人[8]提出使用4個二維相關(guān)濾波器分別定位目標上下左右邊界,能較好地估計目標尺度長寬比變化,但計算較復(fù)雜。
此外,在跟蹤過程中,目標和背景由于各種因素會發(fā)生變化,如果沒有良好的模板更新機制,很容易導(dǎo)致跟蹤失敗[9]。Wang等人[10]提出用平均響應(yīng)相關(guān)能量值(APCE)來判斷當前跟蹤情況,采用多峰檢測機制和高置信度更新機制,提升跟蹤的速度;KIANI等人[11]提出使用真實移位產(chǎn)生的負樣本,這些樣本包括更大的搜索區(qū)域和真實的背景,但當遇到背景復(fù)雜及各種干擾的情況下,易造成模板漂移,從而導(dǎo)致目標跟蹤失敗。
針對以上研究存在的不足,本文提出分層尺度估計方法,旨在解決實際跟蹤中目標尺度長寬比變化問題,進一步提高跟蹤算法的魯棒性。
在考慮目標尺度變化的跟蹤算法中,基于相關(guān)濾波框架的算法應(yīng)用廣泛[12]。以DSST算法為例,其位置估計使用二維相關(guān)濾波器,計算響應(yīng)值,取其最大值對應(yīng)的坐標為目標的位置;其尺度估計使用尺度金字塔方法[13],將目標進行不同尺度的放大或縮小,選擇最大響應(yīng)值作為最終目標的尺度,從而達到尺度自適應(yīng)。本文主要考慮基于相關(guān)濾波跟蹤的目標尺度估計問題。
相關(guān)濾波跟蹤是通過大量訓(xùn)練樣本找到一個分類器函數(shù)f(x;w)=
(1)
式中:xi和yi分別為訓(xùn)練樣本和所對應(yīng)的標簽;λ為正則化系數(shù)。通過對式(1)求偏導(dǎo),得到其解為:
w=(XTX+λI)-1XTy
(2)
(3)
DSST算法提出一種尺度估計方法[6],該方法可以和所有相關(guān)濾波算法相結(jié)合,具有良好的通用性。
利用1.1節(jié)的相關(guān)濾波模型可以得到預(yù)測目標的位置,然后以位置估計得到的中心點構(gòu)建尺度金字塔塊xS,xS為33種不同尺度因子構(gòu)建的訓(xùn)練樣本集。利用尺度金字塔塊計算出尺度濾波器的系數(shù)矩陣為:
αS=(KxS+λI)-1yS
(4)
式中:K表示核空間的核矩陣;yS為尺度濾波器響應(yīng)值。以位置預(yù)測的中心提取金字塔圖像塊,并提取其直方圖(HOG)特征,構(gòu)成尺度樣本集ZS,經(jīng)過訓(xùn)練的尺度濾波器的回歸函數(shù)為:
fS(ZS)=KxSZSΘαS
(5)
式中:αS為尺度濾波器的系數(shù)矩陣,取其函數(shù)最大值對應(yīng)的尺度為下一幀目標的尺度。
針對跟蹤過程中尺度的精確估計問題,本文提出一種長寬比自適應(yīng)變化的目標尺度估計算法,通過構(gòu)建二維尺度因子來估計目標的長寬比變化,有效地解決了目標的尺度變化問題;為進一步提高跟蹤算法的魯棒性,針對模板更新問題,提出了一種新的更新策略來判斷是否需要更新模板,有效避免了跟蹤過程中的模板漂移問題。
尺度估計模塊主要采用擴充尺度長寬因子和分層尺度估計的方法,在提高跟蹤器魯棒性的同時,還保證其具有較快的跟蹤速度。
2.1.1 尺度估計中長寬因子的選取
運動過程中,相較于目標尺度等比例擴大或縮小,更容易發(fā)生尺度長寬比變化的擴大或縮小[14]。目標尺度的擴大或縮小可能會由目標平面旋轉(zhuǎn)、形變等因素引起,并嚴重影響跟蹤性能。尺度金字塔用于尺度估計的目標樣本選擇方法為:
I=anP×anR
(6)
為了使目標的尺度估計出現(xiàn)長寬比變化,本文提出了新的尺度濾波器構(gòu)建方法,其尺度因子定義為:
ciP×djR
(7)
尺度金字塔與本文提出的尺度估計模塊在DSST算法中的采樣結(jié)果對比見圖1,對于第T+1幀圖片,對該圖片進行m×n次多尺度采樣(其中m為寬的采樣次數(shù),n為高的采樣次數(shù),m=n=35),達到了精確估計目標尺度長寬比變化的目的;采樣完成之后,對每一個圖像塊都提取其HOG特征,通過計算相關(guān)響應(yīng)值得到最佳的尺度因子,即為第T+1幀的目標尺度。
圖1 尺度金字塔與本文提出的尺度估計模塊在DSST中的采樣結(jié)果對比圖
2.1.2 減少運算量的分層尺度估計
采用2.1.1節(jié)中尺度長寬因子的選取方法,使目標尺度估計中出現(xiàn)具有長寬比變化的候選框,但由于目標在運動過程中的尺度變化具有連續(xù)性,若采用35×35的尺度估計方法進行窮搜索,則會出現(xiàn)過多的無效采樣,極大地降低跟蹤速度。因此本文提出分層尺度估計來減少采樣次數(shù)、提高跟蹤速度。
分層尺度估計方法思路如下:以目標高方向35個尺度因子為例,首先將35個因子按數(shù)值大小分為5份,每份7個因子,選取每一份居中的因子,作為該方向粗略估計因子,寬方向因子的選取類似;然后根據(jù)兩組因子的順序組合對搜索區(qū)域進行5次等比例采樣,粗略估計出目標的長寬因子,將其定位到35個因子中,選出所對應(yīng)的7個因子交叉組合,進行7×7次采樣實現(xiàn)對目標尺度的等比例變化和長寬比變化,取其最大響應(yīng)值對應(yīng)的尺度作為目標修正尺度因子,即目標最佳尺度,分層估計原理過程見圖2。
對于一幅輸入圖像,第1層粗略估計只對目標進行等比例的擴大或縮小變化,首先在35個因子中選取5個作為粗略估計因子,采樣結(jié)果記為F1,…,Ft,…,F5;然后提取其HOG特征,計算相關(guān)響應(yīng);最后將其最大響應(yīng)值對應(yīng)的因子作為粗略估計的長寬因子wt和ht,構(gòu)建粗略尺度估計模板。
第2層尺度修正估計包括等比例變化和長寬比變化,以第1層為基礎(chǔ)。圖2中,只提取藍色框的預(yù)測目標特征。第2層整體流程為:首先對第1層選取標號為t的因子,將其對應(yīng)交叉組合作為修正估計因子,對目標進行7×7次采樣采樣過程為:對于寬方向一個固定的尺度因子,取高方向7個修正估計因子,計算其響應(yīng);然后變化其寬方向因子,循環(huán)取盡7×7個修正估計因子;最后選取最大響應(yīng)值對應(yīng)的尺度為目標最佳尺度wf和hf,構(gòu)建修正尺度估計模板。
圖2 分層尺度估計原理圖
在目標尺度估計模塊,僅采用擴充尺度長寬因子的方法需進行m×n(m=n=35,共1 225)次采樣,而加入分層尺度估計模塊后僅需計算x+k×k(x=5,k=7,共54)次,因此跟蹤速度得到極大提高。
表1列出了3個原始算法的平均FPS和加入本文模塊之后3個算法的平均FPS。通過實驗數(shù)據(jù)得到:加入本文模塊之后的算法在運行效率上均有一定程度的提高。
表1 原始算法與改進之后的算法速度對比
目標在運動過程中,會出現(xiàn)尺度變化、旋轉(zhuǎn)、遮擋等復(fù)雜場景[15],采用一般的逐幀更新策略,會導(dǎo)致模板受到背景干擾,致使模板漂移嚴重。針對此問題,本文通過判斷相鄰兩幀目標的差異性來對模板進行選擇性更新。
(8)
式中:η為尺度濾波器的學(xué)習(xí)率。
在對目標進行分層尺度估計時,共使用2個模板,分別是粗略估計模板和修正估計模板,其模板構(gòu)建方式參考2.1.2節(jié)。對于粗略估計模板,為保證目標不被跟丟,使用式(8)對該模板進行實時更新;
對于修正估計模板,為防止模板漂移,提出一種新的模板更新策略,公式為:
(9)
式中:Rt和Rt-1分為目標第t幀和第t-1幀的目標響應(yīng)向量,δ的取值通過實驗選取。當式(9)成立時,認為目標發(fā)生明顯形變或尺度變化,對修正估計模板進行更新;反之,則不更新修正估計模板。
綜合本文算法關(guān)鍵部分的描述,主要跟蹤步驟見表2。
表2 一種尺度長寬比自適應(yīng)變化的目標尺度估計算法
圖3 加入本文模塊的HCF算法框架圖
在Window7系統(tǒng)下,采用MATLAB 2016Rb進行編程實現(xiàn)本文算法。實驗在配置為Intel(R)Core(TM)i7-6 850k 3.6 GHZ處理器,內(nèi)存為16 GB,GPU為NVIDIA GTX 1080Ti的電腦上進行測試。
通過大量實驗結(jié)果對比和分析,最終加入本文模塊的DSST、HCF[16]和OSA[17]算法中的尺度因子a和采樣個數(shù)S分別設(shè)定為a=1.02,S=35。粗略估計尺度因子Sc=5,其值固定不變,為{1.319 5,1.148 7,1,0.870 6,0.757 9},修正估計尺度因子Sf=7,其值根據(jù)粗略因子變化。其中DSST中δ=0.5;HCF中δ=0.1;OSA中δ=0.5。
利用OTB100測試本文算法的有效性,將本文算法的模塊引入到3個跟蹤算法中,其中3個算法中的原始尺度模塊和模板更新模塊使用的方法見表3,將本文提出的模塊替換原始算法的模塊。
表3 3種算法原始的尺度和模板更新模塊
為充分說明本文提出模塊的有效性,將本文算法作為新的模塊加入DSST、HCF和OSA中,將新的算法分別命名為DSST_Ours、HCF_Ours和OSA_Ours。圖4給出了3種原算法以及其改進后算法跟蹤結(jié)果,其中紅色為本文提出的算法跟蹤結(jié)果,綠色為3種原算法跟蹤結(jié)果,左上角數(shù)字為視頻幀數(shù)。從以下2個方面對算法進行定性分析:
1)快速尺度變化。以視頻CarScale、Car4和MotorRolling為例。在跟蹤過程中出現(xiàn)快速尺度變化去情況,雖然3種算法都能始終跟蹤目標,但不能解決目標尺度長寬比問題,在引入本文尺度模塊后,能達到目標尺度自適應(yīng)的效果。特別是在視頻MotorRolling中,目標尺度大小交替變化,本文算法能很好的適應(yīng)尺度變化。
2)目標遮擋。以視頻Lemming、Tiger2和Liquor為例,目標在跟蹤過程中有不同程度的遮擋,跟蹤算法不能很好地獲取目標信息甚至獲取錯誤的信息,致使跟蹤失敗。在視頻Liquor中,由于遮擋情況導(dǎo)致目標跟蹤錯誤,而本文算法提出的模板更新策略,避免了遮擋情況對跟蹤結(jié)果的影響,因此本文算法對目標遮擋問題有較好的魯棒性。
圖4 3種跟蹤算法實驗結(jié)果對比圖
根據(jù)2種標準對跟蹤器性能進行了評估,即精度和成功率[18]。圖5表示在OTB100上,3種原算法和加入本文模塊之后3種算法的精度和成功率圖。
表4和表5分別為3種算法在不同屬性的視頻中精確度對比結(jié)果和成功率對比結(jié)果。表格第1行代表不同屬性的縮寫,其中,各屬性及縮寫分別為:尺度變化屬性SV、平面外旋轉(zhuǎn)屬性O(shè)PR、平面內(nèi)旋轉(zhuǎn)屬性IPR、遮擋屬性O(shè)CC、形變屬性DEF、快速運動屬性FM、光照變化屬性IV、背景復(fù)雜屬性BC、運動模糊屬性MB、視野外屬性O(shè)V、低分辨率屬性LR。本文算法相較于原始算法在各種屬性中表現(xiàn)良好,特別是針對與尺度長寬比變化相關(guān)的屬性(如SV、OCC),本文算法跟蹤效果明顯優(yōu)于其原始算法。
圖5 OTB100上3種算法的精度和成功率
表4 不同屬性下算法的跟蹤精確度對比結(jié)果
表5 不同屬性下算法的跟蹤成功率對比結(jié)果
為驗證本文算法的有效性,將HCF_Ours與幾種性能較好的算法作對比:Staple[19]、LCT[20]、KCF、MEEM[21]、DCFNet[22]、HDT[23]。因為本文提出的方法是基于相關(guān)濾波的,所以我們選取的對比算法也多是基于相關(guān)濾波算法。實驗證明,本文算法與近年來的相關(guān)濾波算法相比有較好的結(jié)果,其精度和成功率見圖6。
圖6 OTB100上不同算法的精度和成功率
本文提出一種尺度長寬比自適應(yīng)變化的目標尺度估計算法。基于尺度金字塔方法,通過二維目標尺度因子,并采用分層尺度估計,有效解決了尺度長寬比變化問題。同時,提出一種新的模板更新策略來對模板進行選擇性更新。實驗結(jié)果表明,該算法在成功率和精度上都有提高,特別在目標尺度長寬比變化和遮擋場景下,本文提出的算法模塊能準確跟蹤到目標。
同時在實驗中發(fā)現(xiàn),對于Driving等視頻序列,不只有尺度變化會影響跟蹤結(jié)果,目標旋轉(zhuǎn)也是影響跟蹤結(jié)果的一個重要因素,當在跟蹤過程中出現(xiàn)旋轉(zhuǎn)場景時,會導(dǎo)致目標框跟蹤不準確,甚至跟蹤失敗。在接下來的工作中,如何解決跟蹤過程中出現(xiàn)的旋轉(zhuǎn)[24]問題,將是我們下一個研究的重點方向。