郭靜靜,侯志強,陳立琳,蒲 磊,余旺盛,馬素剛
(1.西安郵電大學計算機學院,西安,710121; 2.西安郵電大學陜西省網絡數據分析與智能處理重點實驗室,西安,710121; 3.空軍工程大學信息與導航學院,西安,710077)
目前,在視覺目標跟蹤[1]中,相關濾波方法以其優異的快速性和良好的跟蹤性能受到研究人員的關注。Bolme等人[2]首次將相關濾波引入跟蹤領域,提出誤差最小平方和濾波器(MOSSE)跟蹤算法,對尺度和形變的魯棒性有較好的跟蹤效果;Henriques等人[3]提出基于循環結構(CSK)的核相關濾波跟蹤算法,取得良好的跟蹤結果;Henriques等人[4]提出核相關濾波(KCF)跟蹤算法,擴展了特征通道,提升了跟蹤性能。但上述算法都是采用固定尺度因子,當目標尺度發生變化時,極易產生漂移甚至跟丟現象。
為解決跟蹤過程中目標尺度變化問題,Li等人[5]提出尺度池(scale adaptive with multiple feature tracker,SAMF)方法,提高了跟蹤效率,但由于其搜索范圍較小,導致目標尺度定位并不準確;Danelljan等人[6]提出以KCF為基礎的尺度金字塔(discriminative scale space tracking,DSST)跟蹤算法,解決了尺度等比例變化的問題,但未解決目標長寬比變化問題;He等人[7]基于尺度金字塔的方法提出尺度因子為10、步長因子為1.03的跟蹤算法,其尺度改進方法極大提高了跟蹤精度,但仍沒有解決目標長寬比變化問題;Li等人[8]提出使用4個二維相關濾波器分別定位目標上下左右邊界,能較好地估計目標尺度長寬比變化,但計算較復雜。
此外,在跟蹤過程中,目標和背景由于各種因素會發生變化,如果沒有良好的模板更新機制,很容易導致跟蹤失敗[9]。Wang等人[10]提出用平均響應相關能量值(APCE)來判斷當前跟蹤情況,采用多峰檢測機制和高置信度更新機制,提升跟蹤的速度;KIANI等人[11]提出使用真實移位產生的負樣本,這些樣本包括更大的搜索區域和真實的背景,但當遇到背景復雜及各種干擾的情況下,易造成模板漂移,從而導致目標跟蹤失敗。
針對以上研究存在的不足,本文提出分層尺度估計方法,旨在解決實際跟蹤中目標尺度長寬比變化問題,進一步提高跟蹤算法的魯棒性。
在考慮目標尺度變化的跟蹤算法中,基于相關濾波框架的算法應用廣泛[12]。以DSST算法為例,其位置估計使用二維相關濾波器,計算響應值,取其最大值對應的坐標為目標的位置;其尺度估計使用尺度金字塔方法[13],將目標進行不同尺度的放大或縮小,選擇最大響應值作為最終目標的尺度,從而達到尺度自適應。本文主要考慮基于相關濾波跟蹤的目標尺度估計問題。
相關濾波跟蹤是通過大量訓練樣本找到一個分類器函數f(x;w)=
(1)
式中:xi和yi分別為訓練樣本和所對應的標簽;λ為正則化系數。通過對式(1)求偏導,得到其解為:
w=(XTX+λI)-1XTy
(2)

(3)

DSST算法提出一種尺度估計方法[6],該方法可以和所有相關濾波算法相結合,具有良好的通用性。
利用1.1節的相關濾波模型可以得到預測目標的位置,然后以位置估計得到的中心點構建尺度金字塔塊xS,xS為33種不同尺度因子構建的訓練樣本集。利用尺度金字塔塊計算出尺度濾波器的系數矩陣為:
αS=(KxS+λI)-1yS
(4)
式中:K表示核空間的核矩陣;yS為尺度濾波器響應值。以位置預測的中心提取金字塔圖像塊,并提取其直方圖(HOG)特征,構成尺度樣本集ZS,經過訓練的尺度濾波器的回歸函數為:
fS(ZS)=KxSZSΘαS
(5)
式中:αS為尺度濾波器的系數矩陣,取其函數最大值對應的尺度為下一幀目標的尺度。
針對跟蹤過程中尺度的精確估計問題,本文提出一種長寬比自適應變化的目標尺度估計算法,通過構建二維尺度因子來估計目標的長寬比變化,有效地解決了目標的尺度變化問題;為進一步提高跟蹤算法的魯棒性,針對模板更新問題,提出了一種新的更新策略來判斷是否需要更新模板,有效避免了跟蹤過程中的模板漂移問題。
尺度估計模塊主要采用擴充尺度長寬因子和分層尺度估計的方法,在提高跟蹤器魯棒性的同時,還保證其具有較快的跟蹤速度。
2.1.1 尺度估計中長寬因子的選取
運動過程中,相較于目標尺度等比例擴大或縮小,更容易發生尺度長寬比變化的擴大或縮小[14]。目標尺度的擴大或縮小可能會由目標平面旋轉、形變等因素引起,并嚴重影響跟蹤性能。尺度金字塔用于尺度估計的目標樣本選擇方法為:
I=anP×anR
(6)

為了使目標的尺度估計出現長寬比變化,本文提出了新的尺度濾波器構建方法,其尺度因子定義為:
ciP×djR
(7)

尺度金字塔與本文提出的尺度估計模塊在DSST算法中的采樣結果對比見圖1,對于第T+1幀圖片,對該圖片進行m×n次多尺度采樣(其中m為寬的采樣次數,n為高的采樣次數,m=n=35),達到了精確估計目標尺度長寬比變化的目的;采樣完成之后,對每一個圖像塊都提取其HOG特征,通過計算相關響應值得到最佳的尺度因子,即為第T+1幀的目標尺度。

圖1 尺度金字塔與本文提出的尺度估計模塊在DSST中的采樣結果對比圖
2.1.2 減少運算量的分層尺度估計
采用2.1.1節中尺度長寬因子的選取方法,使目標尺度估計中出現具有長寬比變化的候選框,但由于目標在運動過程中的尺度變化具有連續性,若采用35×35的尺度估計方法進行窮搜索,則會出現過多的無效采樣,極大地降低跟蹤速度。因此本文提出分層尺度估計來減少采樣次數、提高跟蹤速度。
分層尺度估計方法思路如下:以目標高方向35個尺度因子為例,首先將35個因子按數值大小分為5份,每份7個因子,選取每一份居中的因子,作為該方向粗略估計因子,寬方向因子的選取類似;然后根據兩組因子的順序組合對搜索區域進行5次等比例采樣,粗略估計出目標的長寬因子,將其定位到35個因子中,選出所對應的7個因子交叉組合,進行7×7次采樣實現對目標尺度的等比例變化和長寬比變化,取其最大響應值對應的尺度作為目標修正尺度因子,即目標最佳尺度,分層估計原理過程見圖2。
對于一幅輸入圖像,第1層粗略估計只對目標進行等比例的擴大或縮小變化,首先在35個因子中選取5個作為粗略估計因子,采樣結果記為F1,…,Ft,…,F5;然后提取其HOG特征,計算相關響應;最后將其最大響應值對應的因子作為粗略估計的長寬因子wt和ht,構建粗略尺度估計模板。
第2層尺度修正估計包括等比例變化和長寬比變化,以第1層為基礎。圖2中,只提取藍色框的預測目標特征。第2層整體流程為:首先對第1層選取標號為t的因子,將其對應交叉組合作為修正估計因子,對目標進行7×7次采樣采樣過程為:對于寬方向一個固定的尺度因子,取高方向7個修正估計因子,計算其響應;然后變化其寬方向因子,循環取盡7×7個修正估計因子;最后選取最大響應值對應的尺度為目標最佳尺度wf和hf,構建修正尺度估計模板。

圖2 分層尺度估計原理圖
在目標尺度估計模塊,僅采用擴充尺度長寬因子的方法需進行m×n(m=n=35,共1 225)次采樣,而加入分層尺度估計模塊后僅需計算x+k×k(x=5,k=7,共54)次,因此跟蹤速度得到極大提高。
表1列出了3個原始算法的平均FPS和加入本文模塊之后3個算法的平均FPS。通過實驗數據得到:加入本文模塊之后的算法在運行效率上均有一定程度的提高。

表1 原始算法與改進之后的算法速度對比
目標在運動過程中,會出現尺度變化、旋轉、遮擋等復雜場景[15],采用一般的逐幀更新策略,會導致模板受到背景干擾,致使模板漂移嚴重。針對此問題,本文通過判斷相鄰兩幀目標的差異性來對模板進行選擇性更新。

(8)
式中:η為尺度濾波器的學習率。
在對目標進行分層尺度估計時,共使用2個模板,分別是粗略估計模板和修正估計模板,其模板構建方式參考2.1.2節。對于粗略估計模板,為保證目標不被跟丟,使用式(8)對該模板進行實時更新;
對于修正估計模板,為防止模板漂移,提出一種新的模板更新策略,公式為:
(9)
式中:Rt和Rt-1分為目標第t幀和第t-1幀的目標響應向量,δ的取值通過實驗選取。當式(9)成立時,認為目標發生明顯形變或尺度變化,對修正估計模板進行更新;反之,則不更新修正估計模板。
綜合本文算法關鍵部分的描述,主要跟蹤步驟見表2。

表2 一種尺度長寬比自適應變化的目標尺度估計算法

圖3 加入本文模塊的HCF算法框架圖
在Window7系統下,采用MATLAB 2016Rb進行編程實現本文算法。實驗在配置為Intel(R)Core(TM)i7-6 850k 3.6 GHZ處理器,內存為16 GB,GPU為NVIDIA GTX 1080Ti的電腦上進行測試。
通過大量實驗結果對比和分析,最終加入本文模塊的DSST、HCF[16]和OSA[17]算法中的尺度因子a和采樣個數S分別設定為a=1.02,S=35。粗略估計尺度因子Sc=5,其值固定不變,為{1.319 5,1.148 7,1,0.870 6,0.757 9},修正估計尺度因子Sf=7,其值根據粗略因子變化。其中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種原算法以及其改進后算法跟蹤結果,其中紅色為本文提出的算法跟蹤結果,綠色為3種原算法跟蹤結果,左上角數字為視頻幀數。從以下2個方面對算法進行定性分析:
1)快速尺度變化。以視頻CarScale、Car4和MotorRolling為例。在跟蹤過程中出現快速尺度變化去情況,雖然3種算法都能始終跟蹤目標,但不能解決目標尺度長寬比問題,在引入本文尺度模塊后,能達到目標尺度自適應的效果。特別是在視頻MotorRolling中,目標尺度大小交替變化,本文算法能很好的適應尺度變化。
2)目標遮擋。以視頻Lemming、Tiger2和Liquor為例,目標在跟蹤過程中有不同程度的遮擋,跟蹤算法不能很好地獲取目標信息甚至獲取錯誤的信息,致使跟蹤失敗。在視頻Liquor中,由于遮擋情況導致目標跟蹤錯誤,而本文算法提出的模板更新策略,避免了遮擋情況對跟蹤結果的影響,因此本文算法對目標遮擋問題有較好的魯棒性。

圖4 3種跟蹤算法實驗結果對比圖
根據2種標準對跟蹤器性能進行了評估,即精度和成功率[18]。圖5表示在OTB100上,3種原算法和加入本文模塊之后3種算法的精度和成功率圖。
表4和表5分別為3種算法在不同屬性的視頻中精確度對比結果和成功率對比結果。表格第1行代表不同屬性的縮寫,其中,各屬性及縮寫分別為:尺度變化屬性SV、平面外旋轉屬性OPR、平面內旋轉屬性IPR、遮擋屬性OCC、形變屬性DEF、快速運動屬性FM、光照變化屬性IV、背景復雜屬性BC、運動模糊屬性MB、視野外屬性OV、低分辨率屬性LR。本文算法相較于原始算法在各種屬性中表現良好,特別是針對與尺度長寬比變化相關的屬性(如SV、OCC),本文算法跟蹤效果明顯優于其原始算法。


圖5 OTB100上3種算法的精度和成功率

表4 不同屬性下算法的跟蹤精確度對比結果

表5 不同屬性下算法的跟蹤成功率對比結果
為驗證本文算法的有效性,將HCF_Ours與幾種性能較好的算法作對比:Staple[19]、LCT[20]、KCF、MEEM[21]、DCFNet[22]、HDT[23]。因為本文提出的方法是基于相關濾波的,所以我們選取的對比算法也多是基于相關濾波算法。實驗證明,本文算法與近年來的相關濾波算法相比有較好的結果,其精度和成功率見圖6。

圖6 OTB100上不同算法的精度和成功率
本文提出一種尺度長寬比自適應變化的目標尺度估計算法。基于尺度金字塔方法,通過二維目標尺度因子,并采用分層尺度估計,有效解決了尺度長寬比變化問題。同時,提出一種新的模板更新策略來對模板進行選擇性更新。實驗結果表明,該算法在成功率和精度上都有提高,特別在目標尺度長寬比變化和遮擋場景下,本文提出的算法模塊能準確跟蹤到目標。
同時在實驗中發現,對于Driving等視頻序列,不只有尺度變化會影響跟蹤結果,目標旋轉也是影響跟蹤結果的一個重要因素,當在跟蹤過程中出現旋轉場景時,會導致目標框跟蹤不準確,甚至跟蹤失敗。在接下來的工作中,如何解決跟蹤過程中出現的旋轉[24]問題,將是我們下一個研究的重點方向。