王永雄 ,馮 漢
(1.上海理工大學(xué)光電信息與計算機(jī)工程學(xué)院,上海,200093;2.上海康復(fù)器械工程技術(shù)研究中心,上海,200093)
相關(guān)濾波(Correlation filters,CF[1])首次被應(yīng)用到目標(biāo)跟蹤就取得很好的跟蹤效果,產(chǎn)生了極大的反響。Henriques等在此基礎(chǔ)上引入循環(huán)移位操作和核技巧(Circulant structure of tracking-by-detection with kernel,CSK[2])極大增加了訓(xùn)練樣本集并增強濾波器的性能,在后續(xù)的工作中他們提出了核相關(guān)濾波跟蹤(High-speed tracking with kernelized correlation filters,KCF)算法[3]使用了更具鑒別力的快速梯度直方圖特征(Fast HOG,FHOG[4])替代原先的灰度特征,進(jìn)一步提高跟蹤精度。Danelljan等[5]則利用顏色屬性特征(Color name,CN[6])提出顏色自適應(yīng)的思想,選取最有鑒別力的顏色特征進(jìn)行跟蹤,同樣能取得較好的跟蹤效果。另外近幾年深度學(xué)習(xí)與相關(guān)濾波的結(jié)合在跟蹤領(lǐng)域也取得越來越多的成果[7-9]。
相關(guān)濾波類跟蹤算法在取得飛速發(fā)展的同時也有一些難點問題亟待解決,邊界效應(yīng)就是其中之一。邊界效應(yīng)的產(chǎn)生是由于循環(huán)移位過程中除了最原始的樣本以外其余樣本都是循環(huán)移位合成的,這樣真實樣本占比太少會導(dǎo)致訓(xùn)練結(jié)果不佳。實際應(yīng)用中普遍通過擴(kuò)大目標(biāo)檢測區(qū)域并且添加余弦窗抑制邊界效應(yīng),這樣只要在循環(huán)移位過程中保持目標(biāo)的完整即可認(rèn)為該樣本合理。但是添加余弦窗會過濾掉了大量背景信息,極大降低了跟蹤器的性能。Galoogahi等提出的背景感知相關(guān)濾波(Background-aware correlation filters,BACF)[10]算法巧妙地設(shè)計了一個裁剪矩陣P,在擴(kuò)大檢測區(qū)域的基礎(chǔ)上進(jìn)行循環(huán)移位操作,最后裁剪出合適的目標(biāo)和背景信息。假設(shè)檢測區(qū)域擴(kuò)大后矢量化的維度為T,原始目標(biāo)區(qū)域矢量化的維度為D,則被循環(huán)移位操作污染的樣本只占,當(dāng)T?D時污染樣本可以忽略不計。
BACF算法通過裁剪操作使得訓(xùn)練樣本集的質(zhì)量和數(shù)量都有極大的提高,能夠精準(zhǔn)預(yù)測目標(biāo)位置變化。但是目標(biāo)在移動過程中除了位置變化外,還會伴隨著尺度變化,BACF算法通過多次重復(fù)計算多個尺度的目標(biāo)區(qū)域獲得最大響應(yīng),求得目標(biāo)預(yù)測的位置及尺度。假設(shè)BACF算法單個尺度的位置預(yù)測運算時間為T,則N個尺度的計算時間約為N*T,該尺度檢測策略嚴(yán)重影響目標(biāo)的跟蹤速度。本文針對此問題采用了Danelljan等[11]提出的平移加尺度濾波思想,設(shè)計了一個獨立的一維尺度濾波器,充分利用了BACF算法的解決邊界效應(yīng)精準(zhǔn)估計目標(biāo)位置的優(yōu)勢,只計算單次BACF算法的目標(biāo)位置估計,然后再利用尺度濾波器預(yù)測目標(biāo)尺度變化。由于兩個濾波器單獨訓(xùn)練、局部優(yōu)化,且尺度濾波器計算量遠(yuǎn)小于完整的BACF算法,假設(shè)尺度濾波器單次計算時間為TS(TS<T),則本文算法單次計算時間約為T+TS,所以本文算法能在保證精準(zhǔn)預(yù)測和目標(biāo)尺度變化的同時極大提升目標(biāo)的跟蹤速度,與BACF算法相比,本文算法在不損失跟蹤精度的基礎(chǔ)上提高約75%的跟蹤速度。
空間域相關(guān)濾波跟蹤模型是通過最小化損失函數(shù)來找到適合的濾波器h,具體損失函數(shù)定義為
式中:y∈RD代表目標(biāo)期望輸出;K表示目標(biāo)特征通道數(shù);“°”表示空間相關(guān)運算符;λ為正則化系數(shù);xk∈RD,hk∈RD,分別表示第k個通道矢量化的訓(xùn)練樣本和第k個通道的濾波器,D表示原訓(xùn)練樣本單通道的維度。由于式(1)只針對一幀圖像做優(yōu)化,往往得不到魯棒性高的濾波器,通過循環(huán)移位操作可以極大擴(kuò)充訓(xùn)練樣本集,提高濾波器的魯棒性。添加循環(huán)移位操作后的損失函數(shù)定義為
式中:[Δτj]代表第j次循環(huán)移位操作,y(j)代表期望輸出的第j個元素,上標(biāo)T代表轉(zhuǎn)置操作。
循環(huán)移位操作可以極大增加訓(xùn)練樣本集,提高分類器性能,通過利用頻域的相關(guān)性質(zhì)[12]進(jìn)行快速求解。通過引言部分介紹可知邊界效應(yīng)會極大削弱跟蹤器的性能。不同于文獻(xiàn)[11]采用1.1節(jié)所示的平移濾波器帶有邊界效應(yīng),本文采用BACF算法的思想,利用基于背景感知的平移濾波器,削弱邊界效用,提升跟蹤器性能。
利用基于背景感知的平移濾波器通過添加一個裁剪矩陣P裁剪出合適的訓(xùn)練樣本,既能增加訓(xùn)練樣本數(shù)量,又能極大提高訓(xùn)練樣本的質(zhì)量。添加裁剪矩陣P后的損失函數(shù)定義為
式中:P表示D×T的二值矩陣,T表示擴(kuò)充后訓(xùn)練樣本單通道的維度,其中T?D;xk∈RD表示第k個通道訓(xùn)練樣本。由于T?D,所以濾波器h的尺寸遠(yuǎn)小于訓(xùn)練樣本x的尺寸。
式(3)的求解計算量為O(D3K3),不利于跟蹤的實時性。通過利用復(fù)頻域的性質(zhì)可以有效減少計算量,式(3)在復(fù)頻域的表達(dá)式為
式中:上標(biāo)⌒運算符代表傅里葉變換,?運算符表示為克羅內(nèi)克積,IK為K×K的單位矩陣,F(xiàn)為T×T的傅里葉變換系數(shù)矩陣,表示輔助變量。
為了求解式(4),通過添加拉格朗日向量并利用增廣拉格朗日方法(Augmented Lagrangian method,ALM)得到式(5)所示的增廣拉格朗日式。
式中:μ為懲罰系數(shù),拉格朗日向量大小為為第k個通道的拉格朗日向量的傅里葉變換形式。
由于式(5)引入了裁剪矩陣P導(dǎo)致沒有解析解,把原問題的求解過程轉(zhuǎn)化為求解濾波器h和輔助變量g的兩個子問題,再采用交替方向乘子法(Alternating direction method of multipliers,ADMM)求解此優(yōu)化問題。
通過上述求解過程可知,計算量主要集中在兩個子問題的優(yōu)化過程。為了得到尺度變化,原BACF算法針對N個尺度求解N次優(yōu)化問題將耗費大量的計算時間,因此原BACF算法跟蹤速度較低。
上述介紹了BACF算法的建模及求解過程,解決了跟蹤過程中的邊界效應(yīng),可以精準(zhǔn)估計目標(biāo)位置變化。由于目標(biāo)運動過程中還會伴隨著尺度變化,如果不能精準(zhǔn)且快速估計目標(biāo)尺度變化仍會導(dǎo)致跟蹤器不夠完善。不同于原BACF算法利用平移濾波器在多尺度縮放的目標(biāo)區(qū)域進(jìn)行檢測,需要對每個尺度做一次相關(guān)運算求解,導(dǎo)致消耗大量計算時間。本文將采用平移加尺度濾波的思想,額外訓(xùn)練一個一維尺度濾波器與平移濾波實現(xiàn)無縫融合,精準(zhǔn)快速預(yù)測目標(biāo)尺度變化。
尺度濾波器的建模與1.1節(jié)中傳統(tǒng)核相關(guān)濾波器類似,通過計算尺度濾波器hs與訓(xùn)練樣本f的相關(guān)運算結(jié)果,然后計算與期望輸出gs的均方誤差,最后通過均方誤差最小化求得最優(yōu)尺度濾波器hs,如式(9)所示。
式中:上標(biāo)l代表第l個通道,λs為正則化常數(shù),gs表示一維的高斯輸出。式(9)是一個最小線性二乘問題,通過帕斯瓦爾定理轉(zhuǎn)移到頻域可以快速求解得到
式中:Hs,Gs,F分別代表濾波器hs,期望輸出gs和訓(xùn)練樣本f的傅里葉變換。求得濾波器hs后,采用如下更新策略進(jìn)行更新
式中:At,Bt分別代表式(10)的分子、分母部分,η代表學(xué)習(xí)速率。式(10)給出了尺度濾波器hs的表達(dá)式,應(yīng)用該濾波器到當(dāng)前第t幀目標(biāo)區(qū)域上進(jìn)行相關(guān)運算將得到尺度響應(yīng)輸出ys,ys在復(fù)頻域的表達(dá)式為
式中:d代表特征維度,下標(biāo)t,t-1分別代表當(dāng)前幀和上一幀代表當(dāng)前幀目標(biāo)區(qū)域的傅里葉變換,可以利用傅里葉反變換求得響應(yīng)輸出設(shè)P×R表示目標(biāo)在第t-1幀尺度的寬和高,通過找到y(tǒng)t最大值所在的位置為n,則目標(biāo)在第t幀尺度為:anP×anR,a為尺度因子。
由于尺度系數(shù)an是指數(shù)函數(shù),為非線性增長,可以實現(xiàn)對較大尺度進(jìn)行粗檢測,對較小尺度進(jìn)行細(xì)檢測。通過上述分析可知,僅通過對式(12)進(jìn)行一次求解就能夠預(yù)測目標(biāo)的尺度變化。不同于式2.2節(jié)中平移濾波器需要大量優(yōu)化迭代求解預(yù)測位置變化,式(12)具備解析解,能夠快速求解尺度輸出響應(yīng)。如圖1所示,圖1(a)為原圖,跟蹤目標(biāo)為行人;圖1(b)利用平移濾波器在不同尺度上進(jìn)行計算得到預(yù)測的尺度加位置,所需時間Ttotal=5×T(T為一次平移濾波器計算的時間,假設(shè)有5個尺度);圖1(c)在利用平移濾波器預(yù)測得到位置的基礎(chǔ)上,再利用尺度濾波器預(yù)測目標(biāo)尺度變化,所需時間Ttotal=T+Ts(T為一次平移濾波器計算的時間,Ts為預(yù)測尺度所需的時間)。由前面分析可知Ts?T,所以平移加濾波的思想能夠節(jié)省大量運算時間。
圖1 尺度檢測對比圖Fig.1 Scale detection comparison
式(12)具備解析解可以快速預(yù)測目標(biāo)的尺度變化,由于目標(biāo)每一維的特征維度大小為P×R,但是需要劃分的特征尺度個數(shù)為S,且P×R?S,所以不同特征尺度之間有著極強的相關(guān)性,導(dǎo)致數(shù)據(jù)冗余,增添不必要的計算負(fù)擔(dān)。為了削弱數(shù)據(jù)特征相關(guān)性,減小數(shù)據(jù)冗余,本文利用主成分析法(Principal component analysis,PCA[13])把特征向量降維為S維,再進(jìn)行計算,從而極大減小了特征向量的維度,從而提高尺度檢測速度。
為了有效評估本文算法的性能,實驗中采用了VOT2014數(shù)據(jù)集,該數(shù)據(jù)集共有50段不同類型的跟蹤場景,包含了光照變化、快速運動、運動模糊、尺度變化、背景相似干擾等常見的跟蹤問題,同時采用視覺跟蹤中最常用的3種評估方法來評估本文算法的性能指標(biāo):中心位置誤差法(Center location error,CLE),距離精度法(Distance precision,DP)和重疊精度法(Overlap precision,OP)。CLE評價方法即計算目標(biāo)預(yù)測位置(xp,yp)和真實位置(xr,yr)的平均歐式距離N為樣本幀數(shù);DP評價方法即計算CLE數(shù)據(jù)中小于一定閾值的幀數(shù)占總幀數(shù)的百分比,本實驗取該閾值為20像素;OP評價方法即計算目標(biāo)預(yù)測位置及大小與實際位置及大小的重疊率大于一定閾值的幀數(shù)占總幀數(shù)的百分比,該閾值一般選取PASCAL[14]的評價標(biāo)準(zhǔn)為0.5。同時為了直觀對比本文算法的性能,本文選取了近幾年優(yōu)秀的幾種算法做對比實驗,包括以尺度變換為代表的DSST算法,解決邊界效應(yīng)的BACF算法,以循環(huán)移位操作和核技巧代表的KCF算法。各算法選取的特征均為FHOG[4]特征。
本實驗的硬件平臺為Inter(R)Core(TM)i7 2.90 GHz處理器,8 GB內(nèi)存,軟件平臺為Matlab R2015a。第2節(jié)和第3節(jié)均選取FHOG特征作為目標(biāo)的表現(xiàn)形式,F(xiàn)HOG特征cell大小為4,梯度直方圖方向個數(shù)為9,2.2節(jié)中的ADMM優(yōu)化過程中迭代次數(shù)設(shè)為2,懲罰因子μ設(shè)為1,本文的正則化系數(shù)λ和λs為0.001,第3節(jié)更新速率η為0.025,3.2節(jié)中尺度因子a為1.02。
為了方便顯示與對比算法的性能優(yōu)劣,本實驗首先選取實驗視頻集中6類代表不同特性的視頻序列做定性分析,其中每個視頻序列對應(yīng)如表1所示的特性。
為了顯示對比算法與本文算法的跟蹤結(jié)果,選取表1中每個視頻序列的3幀照片,如圖2所示,其中圖1(a)中不同顏色框代表不同跟蹤算法。
表1 視頻序列Table 1 Video Sequence
從圖2可以直觀看出本文算法有較高的魯棒性,在目標(biāo)經(jīng)過遮擋、形變、運動模糊之后能持續(xù)跟準(zhǔn)目標(biāo),KCF算法和DSST算法都有不同程度上的偏移,BACF算法魯棒性也很高,但從Basketball和Coke序列中可以看出,經(jīng)過姿態(tài)變化和大面積遮擋之后由于本文算法獨立的尺度檢測策略使得跟蹤器能更好捕捉到目標(biāo)的尺度變化,進(jìn)而學(xué)習(xí)到更合適的背景與目標(biāo)的占比,所以本文算法較BACF算法有更高的魯棒性。
圖2 定性分析圖Fig.2 Qualitative analysis
通過4.2的定性分析,可以直觀粗略看出各算法性能,接下來將進(jìn)行更細(xì)致的分析,通過計算上述提到的3種性能評估指標(biāo)(CLE、DP、OP)來定量對比各算法性能差異,具體數(shù)據(jù)如表2所示。表2加粗部分?jǐn)?shù)據(jù)為各對比算法中最優(yōu)性能數(shù)據(jù),從表2可以看出本文算法和BACF算法在CLE、DP、OP 3個指標(biāo)中都能取得很好的成績;從最后一行均值數(shù)據(jù)可以看出本文算法性能略優(yōu)于BACF算法,而KCF[3]算法和DSST算法效果欠佳。
表2只給出了在20個像素閾值下的DP值,為了看出各對比算法的DP變化曲線以了解各跟蹤器的魯棒性,圖3給出了在1~50個像素閾值下各個算法的DP曲線。從圖3可以直觀看出隨著閾值的增加本文算法和BACF法DP曲線值趨近于1,性能明顯強于KCF和DSST[10]算法。
在上述實驗中為了具體直觀對比顯示只取了其中6個代表性視頻序列做實驗。為了不失一般性,本文對數(shù)據(jù)集中所有50個視頻序列做了對比實驗并求出CLE,DP,OP值。同時為了便于查看,給出了各算法3個性能指標(biāo)均值,實驗結(jié)果數(shù)據(jù)如表3所示。
表2 多種不同方法的性能指標(biāo)對比Table 2 Multi algorithm performance comparison
圖3 在1~50個像素閾值下各個算法的DP曲線Fig.3 DP curves of different algorithms under 1—50 thresholds
從表3可以看出,在CLE和OP性能均值指標(biāo)上本文算法略低于BACF算法1個像素和1個百分點,在DP性能均值指標(biāo)上高于BACF算法2.6個百分點,KCF和DSST算法性能均遠(yuǎn)弱于本文算法和BACF算法。
表3 性能平均指標(biāo)對比Table 3 Performance average index comparison
本算法的最大優(yōu)勢在于不損失跟蹤精度的前提下,極大地提升算法的跟蹤速度,前幾節(jié)主要以CLE,DP,OP三個性能指標(biāo)來分析跟蹤精度,可以看出本文算法與BACF算法在跟蹤精度上差異不大,在CLE和OP性能均值指標(biāo)上略低于BACF算法1個像素和1個百分點,在DP性能均值指標(biāo)上高于BACF算法2.6個百分點。接下來通過實驗數(shù)據(jù)分析各算法的跟蹤速度,由于同一算法的跟蹤速度在不同目標(biāo)跟蹤過程中的差異性并不大,本實驗通過將表1中6個視頻序列的跟蹤速度的平均值作為最終結(jié)果再作對比,結(jié)果如表4所示。
表4 跟蹤速度對比Table 4 Tracking speed comparison
從表4的跟蹤速度可以看出,KCF算法的跟蹤速度最快達(dá)到129 f/s,但是從前幾節(jié)的對比實驗可知其跟蹤精度遠(yuǎn)低于本文算法和BACF算法。在跟蹤速度上本文算法為21 f/s,而BACF算法為12 f/s,速度超出BACF算法75%,完全可以滿足跟蹤的實時性要求并且并不損失跟蹤精度。
本文通過在傳統(tǒng)BACF算法基礎(chǔ)上融合尺度濾波器,既利用BACF算法的優(yōu)勢解決邊界效應(yīng),精準(zhǔn)估計目標(biāo)位置變化,又利用尺度濾波器快速精準(zhǔn)估計目標(biāo)尺度變化,在不損失跟蹤精度的同時極大提升了目標(biāo)的跟蹤速度。通過對比實驗可以看出,本文算法能達(dá)到既快又好的跟蹤效果。但是在跟蹤過程中還有難點亟待解決,比如:長時間跟蹤模板污染的問題,姿態(tài)、快速運動模板更新不及時,目標(biāo)丟失再跟蹤等,將是今后的研究方向。