寧晨敬,張選德
(陜西科技大學電子信息與人工智能學院,西安710021)
目標跟蹤是計算機視覺研究的熱點問題之一[1],目前已被廣泛應用于軍事識別、航空航天、視頻監控、人機交互等領域[2]。目標跟蹤研究的目標是在初始幀給定目標位置和大小的情況下,在后續幀中能夠繼續預測目標的運動軌跡[3]。
現有的目標跟蹤方法主要分為生成式方法和判別式方法[4]。生成式方法先學習一個能夠表示目標的外觀模型,再基于最小化誤差的思想搜索候選區域,找到與目標最相似的圖像區域。生成式算法的性能取決于對目標的描述是否成功,經典生成式方法有均值漂移[5]等。判別式方法把跟蹤問題看作是二分類問題,訓練一個能夠將目標從背景中分離出的分類器,來完成目標跟蹤[6]。基于深度學習和相關濾波的方法都屬于判別式方法。盡管深度學習方法的引入,能夠有效地提升跟蹤算法的精度,目標跟蹤問題中仍然存在難以解決的挑戰,如場景因素(光照變化)、攝像機因素(視角變化)、遮擋等[7]。針對遮擋問題的目標跟蹤,文獻[8]根據不同的權重融合梯度直方圖(Histogram of Oriented Gradient,HOG)特征和顏色命名(Color Name,CN)特征來表示目標,提高對目標的表征能力,并根據響應函數提出一種遮擋檢測的方法。文獻[9]將遮擋定義為部分背景點出現在目標區域的前方,若發生遮擋,采用背景跟蹤器來分析背景點的運動軌跡,從而得到目標的相對位置。文獻[10]提出幀差法檢測目標,在遮擋位置采用最小二乘法擬合目標的運動軌跡,實現對目標的跟蹤。文獻[11]提出分塊處理的思想,同時提出新的更新方案,以避免“更新過量”的問題。
從文獻[8-11]中可以看出,目前解決遮擋問題的方案主要有兩種:①引入檢測機制進行遮擋判別,并針對遮擋和正常跟蹤兩種狀態決定是否進行模板的更新。②采用分塊處理的思想,利用發生遮擋時未被遮擋的部分進行跟蹤,來確定目標的相對運動軌跡。
本文基于KCF[12]算法,通過分析輸出濾波響應圖,提出響應圖的最大峰值波動和響應值波動兩種計算模型來判斷目標是否被遮擋,同時引入結構相似性指標(Structural Similarity,SSIM)[13]將遮擋進一步細分為輕微遮擋和嚴重遮擋,并針對兩種不同的遮擋狀態,提出濾波器的更新方案。最后,針對嚴重遮擋狀態,利用SURF(Speeded Up Robust Feature)[14]特征重新檢測目標位置,提高跟蹤準確率。
由于相關濾波方法具有精度高、速度快等優勢[15],所以本文采用核相關濾波算法作為基本框架。相關濾波方法是根據每幀樣本圖像來訓練濾波器,在跟蹤中,利用訓練好的濾波器對后續幀圖像作濾波響應,響應圖最大值處即為目標位置。
在核相關濾波(KCF)中,作者將跟蹤問題轉化為一個分類問題(目標和背景)。在問題的具體求解中,應用了嶺回歸方法。求解分類器的過程包含矩陣的求逆運算,導致運算量較大,循環矩陣的引入解決了這一問題。由于循環矩陣具有對角化的性質,使得分類器的計算能夠巧妙地避免求逆運算,提高運行速度。KCF算法主要分為:模型建立、在線跟蹤、模型更新三部分。
給定線性分類器:

其中,w為濾波模板,z為輸入樣本,優化目標是最小化樣本數據xi與真實目標標簽yi之間的平方誤差,使f(xi)盡可能地接近yi,算法的目標函數為:




其中,αi為系數,φ(xi)為樣本xi在高維空間中的映射。這時,分類器可表示為:


其中,K為核矩陣。同樣的,公式(7)也可使用對角化來避免求逆運算:

定義Kz為測試樣本和訓練樣本在核空間的核矩陣,則有:

通過濾波器作用在所有訓練樣本上,可得各個測試樣本的響應:

通過對角化技術,將公式(10)轉化到頻域為:

其中,kxz表示樣本x與z之間的相關。
KCF框架中采用雙線性插值進行目標模型的更新,濾波器系數α與樣本外觀模型x的更新方案為:

針對遮擋問題,本文在KCF的基礎上,對得到的濾波響應圖進行評估,提出最大值波動和平均響應值波動兩種計算模型判斷目標是否處于遮擋狀態;當目標處于遮擋狀態時,再進一步判斷此時目標是輕微遮擋還是嚴重遮擋從而確定是否需要進行更新方案的調整。整體算法實現過程如圖1所示。為了清晰描述算法流程,本文將其分為未發生遮擋和發生遮擋兩個階段。
(1)未發生遮擋。跟蹤過程按照原始KCF的框架進行訓練與跟蹤,在每次定位目標后,學習一組目標的SURF特征,同時更新目標模型。
(2)發生遮擋。本文通過對濾波響應圖進行評估,來判斷目標是否發生遮擋。本文利用圖像間的相似性度量(SSIM)將遮擋細化為輕微遮擋和嚴重遮擋。若目標處于輕微遮擋,則調低學習率,防止濾波器過多地學習到干擾信息。若目標處于嚴重遮擋,則停止更新濾波器系數和樣本外觀模型,同時使用SURF特征對目標進行檢測,以實現目標位置的重新定位。

圖1 本文算法整體框架示意圖
KCF跟蹤器在跟蹤中對每一幀樣本圖像都更新外觀模型,并沒有對輸出響應結果圖進行判別。當樣本圖像中出現干擾信息,如目標發生遮擋時,會產生跟蹤漂移。本文通過分析相關濾波響應結果圖,使用未發生遮擋與發生遮擋兩種條件下,響應圖中最大峰值與響應值波動的情況以及與歷史值的對比,進行遮擋判別,從而實現長時間的穩定跟蹤。
三種狀態下的濾波響應結果如圖2所示。圖2(a)為正常跟蹤狀態下的響應結果圖。響應圖為單峰,最大響應值處對應目標位置,其余位置響應值低,為背景區域,這時可有效跟蹤目標。圖2(b)為輕微遮擋下的響應結果圖。響應圖有多個峰值,最大響應值處仍對應目標位置,但值大小低于正常跟蹤狀態下最大響應值大小,說明樣本圖像中存在前景信息干擾目標,這時可較為有效地跟蹤目標,但此時更新外觀模型會使濾波器學習到干擾目標的前景信息。圖2(c)為嚴重遮擋下的響應結果圖。響應圖為多峰,最大響應值遠低于正常跟蹤狀態下最大響應值,若此時更新外觀模型,會產生跟蹤漂移現象。本文設計兩種模型評估輸出響應圖,進行遮擋判別以及更深層次的輕微遮擋與嚴重遮擋的判別,分別為響應值波動和相似性度量。

圖2 三種狀態下響應結果對比圖
對濾波響應圖分析可知,當目標發生遮擋時,多峰之間的波動程度較小,最大響應值小于正常跟蹤的最大響應值。本文采用最大響應值與響應值波動的變化情況對遮擋進行判別,即:

式(13)~(18)中,t代表幀數的索引,rˉ代表響應的平均值。Δrt_max為當前幀與前一幀最大響應值的變化情況,當其發生突變(大于Δrmean)時,證明此時目標可能發生遮擋,最大響應值位置為非目標位置。Δrmean描述最大響應值的歷史波動情況。ΔRFt為當前幀與前一幀響應值波動的變化情況,當其發生突變(大于ΔRFmean)時,證明此時目標已經摻雜了大量的干擾信息,說明目標被障礙物遮擋。
當rt_max大于歷史值時,且ΔRFt為發生突變,判定此刻目標未發生遮擋,應正常進行跟蹤。當Δrt_max和ΔRFt均發生突變時,判定此刻目標已經發生遮擋,這時應進一步使用結構相似性判斷目標的遮擋情況。
式(13)~(18)中,t代表幀數的索引,代表響應的平均值。為當前幀與前一幀最大響應值的變化情況,當其發生突變(大于)時,證明此時目標可能發生遮擋,最大響應值位置為非目標位置。描述最大響應值的歷史波動情況。為當前幀與前一幀響應值波動的變化情況,當其發生突變(大于)時,證明此時目標已經摻雜了大量的干擾信息,說明目標被障礙物遮擋。
當大于歷史值時,且為發生突變,判定此刻目標未發生遮擋,應正常進行跟蹤。當和均發生突變時,判定此刻目標已經發生遮擋,這時應進一步使用結構相似性判斷目標的遮擋情況。
結構相似性(Structural Similarity,SSIM)是衡量兩圖像間相似性的指標,其值反映圖像之間的相似程度,值越大,圖像越相似。若目標被判定為遮擋,則利用SSIM值衡量遮擋與未遮擋的圖像區域之間的相似程度。
設定閾值T,若,證明兩候選區域高度相似,判定此時目標處于輕微遮擋狀態,這時需要調低濾波器的學習率,防止學習到過多的干擾信息。若,證明兩候選區域之間相似程度低,判定此時目標處于嚴重遮擋狀態,這時停止更新濾波器,同時使用SURF特征對目標進行檢測,當目標再次出現時,能夠實現重新定位。
本文采用SURF特征來描述嚴重遮擋之后的目標,在目標發生嚴重遮擋時,使用提取的SURF特征進行目標的檢測;當目標再次出現,通過SURF特征的匹配重新確定目標位置。SURF特征是對SIFT(Scale-in?variant Feature Transform)[16]算法的改進,提升了算法的執行效率。設檢測區域匹配成功的特征點集合為為 對 應 點 的位置坐標,則目標重新定位后的位置坐標為:

為驗證本文算法的跟蹤效果以及處理遮擋問題的能力,將本文算法與TLD[17]算法以及抗遮擋的改進算法(TLD-A[18]算法、文獻[8]~[10]算法)在具有遮擋屬性的視頻序列上進行實驗,同時在目標跟蹤標準數據集(Object Tracking Benchmark,OTB)[19-20]上與benchmark_tracker中基于相關濾波的算法進行對比。
本文所有實驗均在MATLAB R2016a環境中完成,計算機配置為Intel Bronze處理器,32G內存,Win10 64位操作系統。在實驗設置中,保持原有KCF的部分參數不變,選用HOG特征描述目標,HOG中cell_size為4,梯度方向個數(orientation)為9。結構相似性中閾值T設置為0.6,對于所有實驗,參數始終保持固定。
實驗數據集采用目標跟蹤標準數據集OTB-2015,由文獻[20]可知,OTB-2015由100段不同視頻序列組成,每個視頻序列都具有一種或多種標記的屬性,共11種。為進一步分析所提算法的優劣,文中采用文獻[19]提出的一次通過評價(One-Pass Evaluation,OPE)標準分析所提算法的性能,OPE中精確度使用中心位置誤差(CLE)進行評估,其計算過程為:其中,( )xbox,ybox為算法跟蹤目標框的中心,為真實標記的目標框中心。

(1)基礎算法對比實驗
本文算法是基于KCF算法提出的針對遮擋問題的改進算法,圖3給出兩種算法在三個具有遮擋屬性的典型視頻實驗結果。其中,實線框,虛線框分別代表本文算法和KCF算法的結果。
實驗1:Girl2視頻序列中,目標受遮擋影響嚴重。在第104幀目標發生輕微遮擋,此時兩種算法還能較為有效地跟蹤目標。但在109幀,目標被遮擋物嚴重遮擋,此時KCF算法已經由于跟蹤漂移丟失目標位置,而更改更新方案的本文算法還能較為有效地跟蹤目標。
實驗2:Human4視頻序列中,目標在317~360幀中間發生遮擋,由圖3(b)可以看出,KCF算法隨著遮擋物的影響,跟蹤誤差明顯增加,直接丟失跟蹤目標,而本文算法能夠快速檢測出目標,跟蹤效果良好。
實驗3:Jogging視頻序列中,第46幀目標處于正常狀態,兩種算法都能很好地跟蹤目標。但在82幀目標發生嚴重遮擋之后,KCF算法出現明顯的跟蹤偏差,導致跟蹤失敗。整體看來,本文算法能夠較為有效地處理遮擋情況,在目標發生嚴重遮擋之后,依然能夠繼續跟蹤目標。

圖3 遮擋屬性中的跟蹤算法結果
(2)抗遮擋算法對比實驗
將本文算法與TLD算法、針對遮擋問題改進的TLD-A算法以及文獻[8-10]的抗遮擋改進算法在OTB-2015中具有遮擋屬性的49個視頻序列上進行實驗,選擇其中一部分視頻序列,其精確度對比如表1所示。

表1 本文算法與抗遮擋改進算法的精確度對比
由表1可知,本文算法的精確度要高于TLD算法和針對遮擋問題改進的其余4種算法。如Girl2序列,本文算法的精確度為0.798,相比于TLD算法、TLD-A算法以及文獻[8]~[10]算法分別提升了72.7%、17.5%、8.9%、12.5%和26.1%;Jogging-1序列,本文算法的精確度為0.974,相比于TLD算法、TLD-A算法以及文獻[8-10]算法分別提升了73.9%、43.7%、4.7%、7.6%和9.8%。
(3)算法整體分析
將本文算法與KCF算法以及benchmark_tracker庫中基于相關濾波的優秀算法進行對比,對比數據為OTB-2015中全部100個視頻序列,對比結果如圖4所示,圖中Our代表本文算法。由圖4可知,圖4(a)為精確度對比曲線,本文算法的精確度為0.733,相比于KCF、CSK和MOSSE分別提高3.7%、21.5%和13.5%。圖4(b)為成功率對比曲線,本文算法的成功率為0.577,相比于KCF、CSK、MOSSE分別提高2.6%、16.6%和7.9%。

圖4 OTB-2015中算法整體對比圖
(4)跟蹤效率分析
表2 為4種算法在跟蹤速度方面的對比。由表2可知,本文算法在增加了遮擋判別、特征匹配等功能后,還能保持104的平均幀數,略低于KCF算法,但也能夠滿足跟蹤實時性的要求。

表2 4種算法的平均運行速度
(5)結構相似性中閾值選取分析
針對跟蹤過程中目標出現遮擋的情況,文中使用結構相似性(SSIM)指標判斷目標被遮擋的程度,將遮擋進一步細化為輕微遮擋與嚴重遮擋。SSIM中閾值的選取成為衡量遮擋程度的唯一評判標準。圖5為閾值的選取對跟蹤精確度的影響,橫坐標為閾值的取值,縱坐標為算法精確度。由圖5可知,隨著閾值的增大,跟蹤精確度先增后減,在處達到最大。當閾值取0.6時,SSIM指標能夠較好地區分輕微遮擋與嚴重遮擋,從而提升算法的性能。

圖5 不同閾值的選取
針對跟蹤過程中由于目標遮擋引起的跟蹤丟失現象,本文提出一種遮擋判別下基于特征匹配的相關濾波跟蹤算法。該算法深入分析了相關濾波的輸出響應圖,提出響應圖最大峰值波動和響應值波動兩種計算模型,通過這兩種計算模型來判斷目標是否發生遮擋;然后通過使用結構相似性指標(SSIM)將遮擋進一步分為輕微遮擋和嚴重遮擋,并針對兩種不同的遮擋情況,重新設計濾波器的更新方案;最后,針對嚴重遮擋情況,利用SURF特征重新確定目標的位置。
本文算法在OTB-2015和49段具有遮擋屬性的視頻序列上均取得了良好的跟蹤效果,表明算法能夠較好地處理跟蹤過程中由于遮擋引起的目標丟失現象,同時在速度方面,能夠達到實時性,平均104幀/秒。