王 凱,黃 山
(四川大學 電氣工程學院,四川 成都 610065)
近年來目標跟蹤受到了廣泛的關注,大量的魯棒性的跟蹤方法被相繼提出,而且這些算法能夠對一些發(fā)生形變和復雜場景中的運動目標進行穩(wěn)定的跟蹤。由于在目標跟蹤過程中目標背景的復雜多變性,跟蹤過程中通常需要克服目標尺度變化、目標的快速運動、光照影響、旋轉、遮擋、背景相似等問題,以保障其穩(wěn)定性及實時性。
跟蹤算法大體上可分為3種:一種是以Meanshift和Kalman Filter[1,2]為代表的經典跟蹤算法,一種是基于深度學習的跟蹤算法[3-5],還有一種是基于相關濾波器的跟蹤算法[6,7]。由于經典算法無法處理和適應復雜背景下的目標跟蹤,所以在相關濾波和深度學習算法出現后被相繼舍棄?;谏疃葘W習的跟蹤框架目前還在不斷發(fā)展中,雖然在實際應用中的前景十分廣闊,但受限于其龐大的計算量以及對硬件設備的高要求,相比于相關濾波等傳統(tǒng)方法在實際應用中還有較大的不足。本文在KCF的基礎上針對跟蹤過程中的遮擋問題,提出一種自適應的核相關濾波器的目標跟蹤算法,引入不變矩特征,以目標前后幀不變矩特征的變化來判斷目標是否發(fā)生遮擋,進而實現相關濾波器的自適應更新。實驗結果表明,本文算法對跟蹤過程真的遮擋、運動模糊和旋轉等問題有較好的魯棒性,并滿足實時性的要求。
KCF是一種鑒別式跟蹤算法,即在跟蹤過程中通過循環(huán)位移構造大量的訓練樣本,并利用循環(huán)矩陣特性和快速傅里葉變換,避免了訓練分類器時相關的矩陣逆運算,從而保證了跟蹤的實時性,實現了對目標的快速跟蹤。
KCF算法的初始模型是線性回歸,即f(x)=<ω,x>+b,其中<.,.>為點積運算,利用訓練集X和回歸目標y求解目標函數
(1)
其中,λ為正則化參數,用來控制過擬合問題,w為權重。不難求出該最小化目標函數在頻域的閉式解為
w=(XHX+λI)-1XHy
(2)
對基樣本x進行循環(huán)采樣操作,得到矩陣X,我們可以觀察到矩陣X的每一行都由基樣本x的循環(huán)偏移向量組成
(3)
利用循環(huán)矩陣特性,可利用離散傅里葉變換將矩陣X對角化
(4)
(5)
由此,我們可以將方程式(2)中的矩陣逆運算轉換為式(5)中的點積運算,這將大幅度降低計算量,是KCF實現實時性跟蹤的保證。
為提升分類器的性能,將線性問題的輸入映射到高維非線性空間。此時,將w權重表示為輸入樣本的線性組合
(6)
要優(yōu)化的參數由w變?yōu)閷ε伎臻g中的α。引入核技巧φT(x)φ(x′)=k(x,x′),上文的線性回歸問題的最優(yōu)解就變換為
α=(K+λI)-1y
(7)
其中,K是以Kij=k(xi,xj)為元素的核矩陣,α是由αi組成的向量。K也是循環(huán)矩陣,利用循環(huán)矩陣的特性將式(7)整理為
(8)
設當前幀輸入樣本為z,由上一幀得到的目標模型為x,f(z)為輸出響應,引入核矩陣K,可以得到所有測試樣本的響應
(9)
對式(9)進行傅里葉逆變換即可得到輸入樣本的響應值,響應值最大的位置就是目標在當前幀的位置。最后,我們利用線性插值法更新分類器參數和目標模型
(10)
式中:i表示當前幀,xi為第i幀預測位置的目標模型;αi為第i幀預測位置的分類器參數;zi為檢測得到的目標模型;σi為檢測得到的分類器參數;θ為學習率。
Hu[8]在1962年提出了不變矩特征,也稱為Hu不變矩。Hu利用二階與三階歸一化中心矩構造了7個不變矩,并證明了不變矩在圖像發(fā)生平移、旋轉和尺度變化時,其特征值仍保持不變。Hu不變矩的相關概念如下。
設在尺寸為M×N的二維圖像中,坐標為(x,y)處的灰度值為f(x,y),則該圖像的p+q階幾何矩可以表示為
(11)
中心矩表示為
(12)
(13)
歸一化的中心矩為
(14)
利用圖像的二階及三階矩可以構造出7個Hu不變矩,如下所示
A1=z20+z02
A3=(z30-3z12)2+(3z21-z03)2
A4=(z30+z12)2+(z21+z03)2
(15)
Hu不變矩的前3個特征值反映了圖像邊緣的低頻信息,即粗略的整體信息,反映了圖像的高頻信息,即圖像中的一些細節(jié)變化。又因為在實際的運動場景中對比度和尺度也會發(fā)生變化,為了得到更一般化的特征值,利用文獻[9]提出的方法。設f0(x0,y0)和f1(x1,y1)為描述同一物體的圖像,它們僅在對比度、尺度、位置和旋轉上存在區(qū)別,則有
(16)
式中:k為對比度系數,c為尺度變化系數,θ為旋轉角度,Tx和Ty為水平位移與垂直位移。利用式(15)計算f0(x0,y0)和f1(x1,y1)的特征值,并將其帶入式(16)中,整理化簡后得到一組特征值,具有更好的對比度、位移和旋轉等不變性,如式(17)所示。其中M1-2反映圖像整體信息,M3-6反映圖像細節(jié)信息。為減少計算量,本文只選用M1-2作為特征值
(17)
本文采用歸一化互相關算法來計算相鄰幀之間ROI區(qū)域的相似度量
(18)
其中,MTk為前一幀的檢測區(qū)域的不變矩特征,Mk為當前幀檢測區(qū)域的不變矩特征。
KCF跟蹤算法采用的是檢測跟蹤機制(tracking-by-detection),若目標丟失,跟蹤算法會將相關濾波的響應峰值處當作目標繼續(xù)跟蹤,從而導致跟蹤失敗。由于目標被遮擋后響應峰值會產生明顯下降,所以以往的許多文獻中利用相關濾波的響應峰值振蕩程度來判斷目標受遮擋情況。但在一些復雜的運動場景如目標旋轉,尺度變換和模糊中,相關濾波的響應峰值也會產生劇烈的振蕩,所以只用響應峰值來判斷目標的遮擋情況并不合理。
由于不變矩的特征值具有旋轉、平移、尺度變換的不變性,所以本文采用式(18)建立遮擋判斷機制,通過對比目標在未遮擋和遮擋時,T值的變化情況來判斷目標是否被遮擋。實驗截取了測試視頻中的第1幀,第2幀和第250幀~第253幀的檢測區(qū)域圖像,如圖1所示。并分別計算第1幀與其它幀之間的T值,見表1。
圖1 目標遮擋過程提取
表1 目標遮擋時不變矩特征值變化
從表1中數據可以看出,當物體發(fā)生遮擋時,由于檢測區(qū)域中出現大面積的遮擋物,導致不變矩特征值發(fā)生較大的變化,第252幀處的值可以視為異常值。所以,本文通過T值的變化情況,利用剔除異常值的方法建立遮擋判斷機制。
設跟蹤置信度為BOUND,當前幀T值為Ti,當前幀和當前幀以前14幀的T值集合為Ui={Ti,Ti-1,…,Ti-14},則有
(19)
通過分析BOUND值的大小將KCF算法中的學習率θ劃分為兩個不同的值,即
(20)
由于在光照、視角、方位、噪聲等因素的作用下,同一類圖像的不同變形體之間的差距有時會大于該類圖像與另一類圖像之間的差距。所以,我們在提取目標特征之前,預先對檢測區(qū)域的圖像塊進行灰度歸一化,將圖像塊轉換成唯一的標準形式以抵抗各種變換,從而消除圖像塊之間的外觀差異,灰度歸一化表示為
(21)
其中,MN為像素總數,ni為第i灰度級的像素個數,D為最大灰度值。
基于KCF算法,本文所提的具體算法框架見表2。
我們在硬件為Intel Core i5-8250U 1.60 GHz 1.80 GHz的PC機,軟件為MATLAB2016的實驗環(huán)境中測試算法。我們利用Wu[10]等提出的目標追蹤測試平臺OTB-2015中的視頻序列對本文所提算法進行評估。算法中學習率的調整如式(16)所示,采樣窗口尺寸調整為目標尺寸的2.8倍,φ值設置為3.001,其余參數設置與KCF算法相同。
我們利用KCF算法與本文所提算法作對比,進行效果展示。
表2 改進的遮擋處理算法框架
圖2中,圖2(a)、圖2(b)為目標被遮擋的場景中,兩種算法的跟蹤結果;圖2(c)、圖2(d)為目標在運動模糊的場景中,兩種算法的跟蹤結果。每幅圖上方標示著對應的幀數。從圖2中不難看出,本文算法在大部分視頻序列中取得了較好的跟蹤效果,當目標發(fā)生嚴重遮擋和動態(tài)模糊時,具有較強的魯棒性。
為了準確評估本文算法的性能,采用Wu等提出的一次通過性評估(one-pass evaluation,OPE)和時間魯棒性評估(temporal robustness evaluation,TRE)選取精度圖和成功率圖兩個評估標準。
圖2 實驗結果展示
精度圖(precision plot)為:跟蹤算法估計的目標位置的中心點與人工標注的目標中心點,這兩者的歐式距離小于給定閾值的視頻幀數與總幀數之比。本文設定閾值為20個像素點。成功率圖(success plot),記跟蹤算法得到的目標框為s1,人工標注的目標框為s2。則重合率定義為
(22)
其中,|·|表示區(qū)域的像素數目。當某一幀的重合率大于給定閾值時,該幀被視為跟蹤成功??偟某晒瑪蹬c總幀數之比即為成功率。本文設定閾值為0.5。
本文采用OTB-2013中的50組視頻序列對本文算法和OTB-2013數據庫排名靠前的KCF、MOSSE、CSK、ASLA、CXT、SCM和Struck算法進行對比。
以OPE作為評價標準,如圖3所示,其中本文算法表示為Our。在0.5處的成功率,本文算法比KCF高10.8%。在20像素內的精度,本文算法比KCF高7.4%,排名第一。
由于某些算法對第一幀給定的初始位置比較敏感,不同的初始位置會對算法性能造成比較大的影響,并且大多數算法跟蹤失敗后沒有初始化機制。針對上述問題,引入TRE評估標準,結果如圖4所示,本文算法與KCF算法基本持平。在0.5處的成功率,本文算法比KCF高2.3%,在20像素內的精度,本文算法比KCF高0.6%。
為了進一步分析本文算法的跟蹤效果,采用OTB-2013數據集中所列的11種不同的場景,對本文算法與上文中的其它7種算法進行詳細對比。
圖5實驗數據表明,本文算法在運動模糊、形變、平面內旋轉、遮擋和平面外旋轉的場景中均排名第一。與KCF算法相比,本文算法在0.5處的成功率分別提升了27.7%、25.6%、1.1%、18.8%、10.2%,在20像素內的精度分別提升了22.3%、16.9%、4.2%、10.8%、6.47%。綜上所述,本文算法,相較于KCF算法在遮擋、運動模糊等復雜場景中的跟蹤效果有了明顯的提升,具有較強的魯棒性。
圖4 各跟蹤算法TRE的成功率和精度
本文針對傳統(tǒng)KCF算法在目標嚴重遮擋,運動模糊等場景中跟蹤失敗的問題,進行改進。對目標檢測區(qū)域進行圖像歸一化,消除灰度因素(光照等)造成的目標外觀變化。提取每一幀目標檢測區(qū)域優(yōu)化后的不變矩特征值,并根據歸一化后的特征值判斷目標的受遮擋情況。根據不同的遮擋情況調節(jié)學習率。利用OTB-2013數據集,對本文算法進行評估,并與多種主流算法進行實驗對比。本文算法比KCF算法,在精度上提升了7.4%,綜合性能也有了明顯的改善,在這幾種算法中排名第一。本文算法缺少尺度變換估計、更魯棒的損失函數以及對目標背景信息的有效利用,希望能在未來的工作中對本算法有所改善。
圖5 不同場景中OPE的成功率和精度