馬 珺,王昱皓
太原理工大學 物理與光電工程學院,太原030600
計算機視覺已經在許多領域得到運用,其中目標跟蹤作為其重要的組成部分,已經成為研究的熱點問題。目標跟蹤在商業領域中可以用于智能監控、人機交互、行人與車輛的視頻監控;軍事領域中可以用于無人機偵察監視、敵對目標的自動定位和追蹤;雖然經過多年的發展,目標跟蹤技術已經取得了長足的進步。但由于跟蹤對象運動的不可預知性和所處環境的復雜性,目標跟蹤仍然存在許多亟待解決的難點。由于目標跟蹤存在遮擋(Occlusion)、形變(Deformation)、快速運動(Fast Motion)、背景雜波(Background Clutters)、光照變化(Illumination Variation)、超出視野(Out-of-View)、平面內旋轉(In-Plane Rotation)、平面外旋轉(Out-of-Plane Rotation)等問題。這些因素都會造成目標模型漂移甚至造成目標跟蹤的失敗,對跟蹤算法的性能提出了很高的要求。
近年來,由于對跟蹤算法的準確度和實時性提出了更高的要求,基于相關濾波的目標跟蹤算法憑借其高效的計算效率和良好的跟蹤性能引起了研究人員極大的關注。Bolme等[1]提出MOSSE算法,該算法首次將相關濾波引入目標跟蹤領域。在計算目標和待測樣本集之間相關性時,其通過傅里葉變換,直接將運算轉換到頻域中,大大降低運算量,提高了運算速度,跟蹤速度甚至能達到每秒數百幀。隨后,Henriques 等[2]在MOSSE 的基礎上提出了采用循環矩陣結構和核空間映射的CSK方法。這種方法只需要在目標位置提取待測樣本,然后利用循環偏移方式增加訓練樣本的數量,使訓練結果更準確。2014年,Henriques等[3]在CSK的基礎上提出核相關濾波KCF,該方法將CSK 單通道灰度特征擴展為基于HOG 多維特征,極大地提高了相關濾波目標跟蹤的魯棒性。雖然上述算法在跟蹤速度和性能有很大的提高,但是當目標出現遮擋或者尺度變化時,在每幀都進行更新的情況下,會出現模型漂移從而影響跟蹤性能。Danelljan 等[4]提出尺度空間判別跟蹤方法DSST,采用單獨的尺度濾波器來對目標的尺度變化進行判斷從而解決尺度變化問題。Dong 等[5]通過構建分類池緩存以往模板。當出現重度遮擋時,通過選擇最佳分類器進行重新檢測來解決其中的遮擋問題。TLD[6]算法雖然引入檢測模塊,在判斷跟蹤目標丟失時對每一幀圖片進行全局搜索來定位目標可能出現的位置。然而,這種方式有較大的盲目性計算效率不高,甚至無法得到較優的結果。Li等[7]提出了RPT跟蹤算法,該算法利用蒙特卡羅框架估計置信度高的塊分布,對部分遮擋比較有效,但是目標被長時間遮擋時很容易發生模型漂移問題從而導致跟蹤失敗。胡昭華等人[8]提出一種融合人工特征與深度特征目標跟蹤方法,驗證了雙支路框架的可行性,提升了目標跟蹤的效果。孫健等人[9]提出一種改進型的核相關濾波跟蹤算法,用SVM 分類器檢測目標。但是該方法沒有提出在遮擋等情況下目標跟蹤置信度問題,無法有效處理目標遮擋等情況。
劉芳等[10]提出基于深度特征的自適應模板更新算法去解決遮擋尺度變化等問題,取得了很好的跟蹤效果,但是該方法采用卷積神經網絡去提取目標特征,計算復雜度比較高,耗時嚴重。Sui 等[11]提出利用一種新的峰值強度來衡量相關濾波器的判別能力,很好地解決了由于遮擋和局部形變而導致的性能下降問題。
雖然以上跟蹤算法針對目標跟蹤過程中出現遮擋、形變等問題進行了改進取得了不錯的跟蹤效果[12-17],但在跟蹤過程中仍存在以下問題:一個問題是很多算法沒有對跟蹤結果進行可靠性的判定[18-19],每一幀的結果都用來更新,或者每隔幾幀更新一次。當目標出現被遮擋等情況時,利用不可靠的數據去更新模型,只會使得跟蹤器越來越無法識別目標,造成模型漂移。另一個問題是當跟蹤目標被遮擋、劇烈形變甚至丟失視野時,這些算法無法進行有效的重新檢測,重新找到所跟蹤的目標[20-23]。針對以上問題,本文提出了一種基于自適應更新策略和再檢測技術的關聯跟蹤算法。通過自適應更新策略和再檢測策略雙重檢測機制,提高了相關濾波跟蹤結果的準確性和魯棒性。
本文采用核相關濾波目標跟蹤框架,通過跟蹤算法對所標定的目標區域進行訓練得到濾波器更新模板。在目標的跟蹤過程中利用相關性找到與濾波器模板相關度最高的位置標記為目標可能存在的位置。最后利用自適應更新策略和再檢測策略對目標可能存在的位置進行置信度判斷和對不可靠的位置進行重新定位。具體算法流程如圖1所示。
步驟1訓練目標跟蹤模板。根據目標所在的矩形區域及背景樣本提取目標特征,采用相關濾波方法訓練目標濾波器模板,并估計目標在下一幀所在的新的位置。
步驟2目標尺度估計。在下一幀圖像目標范圍提取目標特征,構建目標金字塔,估計出最優尺度。
步驟3模板更新。采用自適應更新策略機制對目標響應峰值位置進行置信度判斷并對模版進行自適應更新。
步驟4目標重新檢測。構造在線SVM 檢測器,當跟蹤目標被長期遮擋或者在視野外發生跟蹤失敗等情況時,啟動檢測器對目標重新定位。
步驟5目標跟蹤。循環步驟1~步驟4 直至跟蹤結束。
本文采用核相關濾波(KCF)架構,該算法的思想是通過對圖像塊進行循環密集采樣構造循環矩陣,豐富目標樣本。然后基于循環矩陣的特性,利用循環矩陣對角化,把對問題的求解變換到了離散傅里葉變換域。這一過程免了矩陣求逆問題,大大縮減計算復雜度,提高了訓練速度,最終達到快速跟蹤目標的目地。樣本訓練采用嶺回歸函數訓練分類器,通過訓練出的分類器對新輸入的圖像與前一幀圖像進行相關性判斷,目標響應峰值位置可認為就是所預測的目標可能存在的位置。樣本訓練過程實際上是一個嶺回歸問題,訓練的目的就是找到函數f(z)=wTz,使得平方誤差達到最小值,即:

核相關濾波器就是引入核函數,求解核空間的嶺回歸。通過非線性映射函數φ(x),將特征空間映射到一個更高維的空間,使映射后的樣本在新空間中線性可分。此時分類器特征向量為優化問題轉化為求解向量α問題。引入核函數κ(xi,xj),目標函數可表示為:

對式(1)求解得:

式中,K為構造循環矩陣,I為單位矩陣。
利用循環矩陣的性質,通過離散傅里葉變換對α進行求解得:

式中,α^ 為目標濾波器的參數,在傅里葉域中向量x與其自身的核相關性。
為對所追蹤的目標進行快速追蹤,確定當前幀目標的位置,引入核矩陣Kz=C(kxz),對式(2)進行求解,并求傅里葉變換得:


式中,αt為采用插值更新后第t幀目標濾波器參數,xt為采用插值更新后第t幀模型的特征。η為模型更新插值。′為在第t幀所求目標濾波器參數,′為第t幀所求模型特征。
在實際的目標跟蹤過程中,所跟蹤目標的運動場景非常復雜并且經常發生變化。例如,目標的遮擋(Occlusion)、形變(Deformation)、快速運動(Fast Motion)等。想實現長時間穩定的跟蹤,還面臨很多的限制和挑戰。在目標跟蹤的過程中,如果不對每一幀數據的有效性進行判斷就更新模版,當目標發生遮擋等情況時,目標模版會學習到錯誤的目標表征信息而引起模型漂移,進而導致跟蹤失敗。因此針對以上情況,制定一個有效的目標模版更新策略對目標跟蹤結果進行評判是很有必要的。

圖2 目標在不同場景下跟蹤響應分布
在目標跟蹤的過程中,可以根據響應圖的分布情況對所跟蹤目標進行準確度判斷,響應圖的峰值越高說明跟蹤的結果越好。如圖2 所示,在圖2(a)為目標在第1幀所處的位置和目標響應分布。當所跟蹤的目標背景簡單無遮擋時,目標跟蹤準確,響應圖為一個很明顯的單峰并且響應分布接近理想的二維高斯分布圖;圖2(b)中,第48幀中的目標被部分遮擋,目標周圍存在干擾物體。響應圖開始出現震蕩,峰值減小;圖2(c)中,所跟蹤的目標被完全遮擋,響應圖出現多峰且峰值很小。如果按照最大峰值的位置為所跟蹤的目標,在54 幀所跟蹤的目標由于被遮擋而出現偽峰,峰值最大的位置不是目標所在的位置。如果只用這一個判據對模型進行更新,會因判斷不準確而使模型漂移到被遮擋物體上,導致后續跟蹤失敗。
置信度判斷依據兩個指標:第一是響應圖峰值Fmax大小;第二是響應圖的波動情況APCE。用變量EAPCE表示平均峰值相關能量,如公式(7)所示:
式中,Fmax、Fmin為目標響應的最大值和最小值。Fw,h為目標在響應矩陣w行h列的值。如圖3所示。

圖3 目標在不同場景下跟蹤響應置信度分布
如圖3(a)所示,當目標正常跟蹤時,目標響應最大值為Fmax=0.730 5并且平均峰值能量EAPCE=117.371 8很高,此時目標高度置信,可以對目標模版進行更新;在圖3(b)中,目標被部分遮擋,目標響應最大值為Fmax=0.255 2降低,平均峰值能量EAPCE=10.751 6急劇減小。目標響應的波動很大時可以判斷目標處于低置信度狀態,目標模版參數保持不變防止模型漂移;在圖3(c)中,目標被完全遮擋,目標響應最大值為Fmax=0.151 5 和平均峰值能量EAPCE=5.233 5 都很低,目標響應出現很多偽峰且持續震蕩。Fmax和EAPCE這兩個數據指標從局部和整體兩個角度反映了目標跟蹤置信度情況,因此可以根據這兩個指標判斷目標是否被遮擋。
在目標跟蹤過程中,對目標是否被遮擋進行判斷,采用自適應的更新策略對跟蹤模版進行更新。本文通過對濾波器的響應設置閾值的策略對目標模版進行更新。在視頻序列的第t幀中只有當目標跟蹤置信度指標Fmax和EAPCE分別以一定比例超過自身的歷史均值時,可以認定當前幀可置信。置信度閾值Tr為:

式中,α,β模版更新置信度參數。
目標跟蹤過程中置信度策略如圖4 所示,圖中所示的是在Jogging 序列中所跟蹤的目標從第30 幀到第70 幀狀態的變化。目標從完全顯示無遮擋到部分遮擋、完全遮擋再到完全顯示在視野中幾種運動狀態的變化。

圖4 在Jogging序列中目標跟蹤置信度
在目標跟蹤的過程中,依據目標跟蹤置信度指標Fmax和EAPCE對所跟蹤目標的置信度進行判斷。目標響應峰值Fmax的歷史均值與模版更新置信度參數α的乘積所得的曲線為目標響應峰值置信度曲線;平均峰值EAPCE的歷史均值與模版更新置信度參數β的乘積所得的曲線為平均峰值波動置信度曲線。當目標響應的峰值處于目標響應峰值置信度曲線上方時,可認為當前峰值處于可置信狀態;同理,當平均峰值EAPCE處于平均峰值波動置信度曲線上方時,可以認為當前幀的峰值波動情況可以接受,目標處于可置信狀態。在圖4 中,45~55幀這一區間處于低置信度狀態,目標處于部分遮擋到完全遮擋這一狀態中。實驗所得結果與實際情況基本一致。在本算法中參數α=0.45,β=0.6。
在目標跟蹤過程中需要對跟蹤模版和SVM分類器進行自適應更新,以防止模型漂移。在本文中根據多種跟蹤情況設置不同置信度區間,更新策略如下:

式中,c=0.5EAPCE+0.5Fmax,n1=0.05,目標處于高置信度狀態,n2=0.01,啟動SVM分類器進行檢測。
目標跟蹤過程中模板更新系數的變化如圖5所示,圖中所示的是在Jogging 序列中目標從第30 幀到第70幀狀態的變化。在視頻序列的第30 幀到第35 幀之間,所跟蹤目標沒有被遮擋。目標跟蹤的置信度為所設定的閾值的2 倍,此時目標處于高置信度狀態,以固定值n1更新濾波器模版與SVM分類器。在視頻序列的第35幀到45幀之間,目標逐漸被遮擋,目標的跟蹤置信度逐漸降低。當目標跟蹤的置信度大于可信度閾值時,停止更新SVM分類器并地更新濾波器模版。在這一階段動態調整跟蹤過程中的模板更新系數,使濾波器模版具有更強的適應性。在視頻序列的第45 幀到第60 幀之間,目標處于完全被遮擋狀態,目標跟蹤的置信度小于可置信度閾值。此時目標處于低置信度狀態,啟動SVM 分類器并以固定值n2更新濾波器模版,防止模型漂移。在視頻序列的第60 幀之后,目標開始重新出現并根據目標的狀態動態地調整模板更新系數,使其具有自適應能力。

圖5 在Jogging序列中模板更新系數分布
在目標跟蹤的過程中,由于目標外觀變化、突然快速移動或者長時間被遮擋而出現所跟蹤的目標丟失視野而導致跟蹤失敗。如圖4 和圖5 所示,在視頻序列的第45幀到第60幀之間,此時目標被嚴重遮擋,目標的置信度很低。如果仍以比較高的模板更新系數對濾波器模板進行更新,可能會造成模型漂移甚至跟蹤失敗。因此,當目標處于低置信度狀態時,濾波器模板以n1=0.01 的系數更新模板以保持模板的有效性。針對以上問題,本文提出當SVM再檢測策略,即所跟蹤的目標置信度低于所設定的可信度閾值Tr時,啟動SVM檢測器對所跟蹤目標進行重新定位。在置信度高的幀中對所跟蹤的目標及其周圍的背景進行訓練,得到密集的訓練樣本,并為這些樣本特征向量分配標簽。即,{(fi,ci)|i=1,2,…,N}。式中,f是樣本的特征向量,c是標簽ci∈{+1,-1} 。通過SVM檢測器,對所跟蹤目標的預測位置為中心密集地繪制樣本,并對每個跟蹤目標預測的位置進行打分,最后選擇分值最大的圖像位置為SVM 檢測器預測位置。
SVM 分類器使用非線性映射方法,將分類問題轉換為搜索最優超平面的問題。
分類平面可定義為:

在線性可分時:

在本文中偏置量b在第一幀用所求得為固定值。因此通過求解w值可得最佳分類平面。SVM分類器求得超平面滿足下式:

每個跟蹤目標預測的位置得分可定義為:

具體過程如圖6所示。

圖6 目標丟失檢測器重新找到目標
在目標跟蹤過程中,視頻中的女子在經過柱子時,所跟蹤的目標出現丟失。經過長時間的遮擋,濾波器學習到錯誤信息,置信度持續下降。在目標的置信度低于設定的閾值Tr時,啟動SVM分類器進行重新檢測。由于在相鄰幾幀圖像中目標形狀與位置一般不會發生太大的變化,因此目標中心搜索區域大小設定為上一幀目標外接框大小的2倍,并在此搜索范圍內采用滑動窗口的方式在預測區域進行搜索。此方法避免在算法在整幅圖像上進行盲目地搜索,提高了運算速度。在搜索的過程中,對每一個圖像塊進行特征提取的HOG 特征向量作為上式中f的值,通過式(13)對所有的候選區域進行打分,當分數為正時樣本為正。最終獲得的得分最高的陽性樣本可作為目標檢測器所尋找到的可靠位置,流程結束。
本文的仿真實驗均在CPU 為Intel 酷睿i5 主頻2.5 GHz,內存8 GB計算機環境,編程環境為matlab2018a進行。為了充分驗證本文所提算法的準確性和魯棒性,本實驗選擇OTB2013[12]作為測試數據集。在OTB2013數據集中的跟蹤目標都具有遮擋(Occlusion)、形變(Deformation)、快速運動(Fast Motion)、背景雜波(Background Clutters)、光照變化(Illumination Variation)、超出視野(Out-of-View)、平面內旋轉(In-Plane Rotation)、平面外旋轉(Out-of-Plane Rotation)等屬性,可通過這些影響因素對所測試的目標跟蹤算法的魯棒性有一個更全面、可靠的評價。
為了直觀地對本文中所提的目標跟蹤算法進行評估,將本文的算法與近幾年所提的幾種主流的相關濾波跟蹤算法進行對比實驗。選取以下幾種主流算法作為對比:KCF、DSST、TLD、MIL、Struck等5個目標跟蹤算法。
(1)目標跟蹤中心誤差(Precision Plot)
目標跟蹤的精度的測算主要通過計算每一幀所預測的位置中心點與benchmark 中所標注的目標中心點之間的歐式距離。通過歐式距離的大小評估目標跟蹤的精度,歐式距離越小,精度越高。
(2)目標跟蹤成功率(Success Plot)
目標跟蹤的成功率是對目標追蹤算法所得的邊界框與benchmark 中所給定的邊界框重合率的計算。計算公式如下:

式中,Ra、Rb分別為目標跟蹤算法所得邊界框與數據集所給的真實的邊界框。當某幀的OS大于所設定的閾值時,可認為目標被正確跟蹤。一般閾值設置為0.5。
5.3.1 定性分析
首先,對本文的算法與其他的算法在不同視頻序列中進行定性分析。如圖7 所示,圖中顯示了6 種跟蹤算法在8個不同場景下跟蹤效果。

圖7 跟蹤算法在復雜場景下跟蹤效果對比
本文所提算法主要是為解決目標在被遮擋等復雜情況下重新定位目標的問題。為驗證算法的有效性,從OTB 數據集選取suv、subway、jogging1、jogging2、david3、shaking、freeman4、coke 等視頻序列進行測試,這些視頻序列都包含目標被完全遮擋等復雜情況。具體跟蹤效果如圖7所示,在目標跟蹤的過程中,由于本文所提算法對目標置信度進行判斷,根據置信度自適應地對目標模板進行更新。當目標被完全遮擋又重新出現后,能迅速找到目標位置進行重新定位。具體分析如下:
(1)超出視野:在視頻序列suv 中,汽車在前進的過程中出現超出視野和遮擋等情況,如圖7(a)所示。文中所提的方法相比于其他方法表現出更好的適應能力,能更迅速準確地找到目標。
(2)背景雜波:以視頻序列subway 為參考,如圖7(b)所示。在所跟蹤的目標附近,背景具有與目標相似的顏色或紋理,目標在運動中會出現部分遮擋的情況。由于目標所處的環境比較復雜,這對算法的性能提出了更高的要求。文中對所跟蹤目標進行置信度判斷,有效減少因背景產生的錯誤信息,并將其更新到目標模型中。因此始終能準確地跟蹤目標。
(3)目標遮擋:在視頻序列jogging1、jogging2、freeman4、coke 中,如圖7(c)、(d)、(g)、(h)所示。兩組jogging視頻序列中行人在跑步的過程中被柱子完全遮擋,目標丟失。本文所提算法在行人經過柱子前,對目標進行置信度判斷,當目標丟失啟動再檢測模塊,目標重新出現以后可以迅速地找到目標。在freeman4 序列和coke序列均出現目標被完全遮擋情況,其余算法在目標丟失后發生漂移,甚至丟失目標。本文算法對遮擋情況具有較好的魯棒性,能始終正確跟蹤目標。
(4)形變:以視頻序列david3 為例,如圖7(e)所示。目標在步行過程中被部分遮擋,此時運動目標發生轉身等姿態變化。對比不同算法結果,本文所提的方法能對跟蹤目標狀態的變化進行準確地跟蹤,其他算法出現了不同程度地漂移。
(5)光照變化:以視頻序列shaking 為例,如圖7(f)所示,檢測算法在光照發生變化時的跟蹤能力。視頻序列中光照變化來自于后面燈光的變化,在視頻序列中大部分的算法都發生了漂移等問題,但在后續的視頻幀中,當光照逐漸增強時本文所提的算法可以持續穩定地進行跟蹤。
5.3.2 定量分析
本文主要采用目標跟蹤中心誤差,目標跟蹤成功率作為評價標準來檢測不同算法在不同場景下的跟蹤性能。圖8 為算法在OTB2013 目標跟蹤數據集上所有的跟蹤結果的綜合評價。

圖8 綜合評價指標對比結果
對比各算法在數據集上精度和成功率這兩項指標可以發現,本文所提的算法在目標跟蹤精度上較KCF提高13.3%,較DSST提高13.8%。在目標跟蹤的成功率上本文算法較KCF提高17.4%,較DSST提高8.8%。
表1、表2 為6 種跟蹤算法在不同的跟蹤環境條件下跟蹤性能的比較。跟蹤環境包括:遮擋(Occlusion)、形變(Deformation)、快速運動(Fast Motion)、背景雜波(Background Clutters)、光照變化(Illumination Variation)、超出視野(Out-of-View)、平面內旋轉(In-Plane Rotation)、平面外旋轉(Out-of-Plane Rotation)。由表1 與表2 中的數據分析可知,本文所提的算法與其他算法相比,本文所提算法在大部分的跟蹤環境下為最優結果。

表1 算法精度跟蹤性能對比 %

表2 算法成功率跟蹤性能對比%
5.3.3 復雜度分析
在自適應更新策略階段,在對跟蹤目標響應峰值的波動情況進行分析時,平均峰值相關能量EAPCE時耗費的時間復雜度為O(n2)。在再檢測階段,使用SVM分類器去尋找最優解。當訓練樣本的個數為n時,對于一個測試樣本標準支持向量機的時間復雜度是O(n3)。在本文中基于自適應更新策略和再檢測技術算法所需的時間復雜度為:

由式(15)可知,本文所提的算法時間主要消耗在尋找最優解的步驟中。雖然跟KCF算法相比本文所提算法速度為20.4 幀/s,在速度上有所降低。但在目標跟蹤精度上較KCF提高13.3%,在目標跟蹤的成功率上本文算法較KCF 提高17.4%。與KCF 算法相比性能上有較大的提升,并且能滿足實時跟蹤的要求,在OTB數據集上顯示,本文所提算法具有良好的跟蹤性能。
本文提出了一種基于自適應更新策略和再檢測技術的關聯跟蹤算法對目標進行實時跟蹤。利用目標響應峰值和平均峰值的波動情況,對目標響應峰值進行置信度的判斷。根據所提的自適應更新策略動態調整濾波器模版更新系數,對目標跟蹤模版進行更新。當判斷目標此時處于低置信度狀態時,用再檢測模塊對低置信度的位置進行重新檢測,重新選擇出最優的預測位置。通過實驗表明本文所提算法在目標被遮擋或目標外觀發生突變時,能實現對目標跟蹤模版的自適應判斷和更新。在目標被嚴重遮擋時可對目標進行重新檢測并尋找到目標,可有效解決在長時間的跟蹤過程中目標被遮擋、丟失視野等問題。