石浩德,侯 勁,2*,李紅文,2,謝金軒,移 潔
(1.四川輕化工大學 自動化與信息工程學院,四川 宜賓 644002;2.四川輕化工大學 人工智能四川省重點實驗室,四川 宜賓644002)
目標跟蹤作為計算機視覺領域重要的研究方向之一,在智慧交通監測、行人異常行為檢測、虛擬現實、無人駕駛等領域都有著廣泛的應用需求。目前,運動目標跟蹤領域仍然面臨著很大的挑戰,如目標遮擋、尺度變化、外觀形變以及相似物體干擾等復雜因素影響。
近年來,目標跟蹤[1]領域取得了突破性進展,其主要理論方法是將通信領域的相關濾波引入到目標跟蹤當中。2010年,Bolme等[2]首次將信號相關濾波引入了跟蹤任務,提出了MOSSE目標跟蹤算法。在MOSSE的基礎上,Henriques等[3]提出了CSK目標跟蹤算法且證明了可以用循環位移代替隨機采樣進而實現密集采樣,并推導了不同核函數的封閉解;隨后,又將多通道的HOG[4]特征融入CSK框架中,提出了核相關濾波器(Kernel Correlation Filter,KCF)算法和對偶相關濾波器(Dual Correlation Filter,DCF)算法[5]。為了克服KCF算法邊界效應影響,SRDCF算法[6]提出加入空域正則化以懲罰的形式對邊界信息進行篩選。BACF算法[7]提出將整幅圖像的正負樣本全部用于濾波器的訓練,實現跟蹤器密集采樣過程。STRCF算法[8]通過在SRDCF的基礎上加入時間正則項,將時間正則化引入到單個樣本的SRDCF中,以此來防止模型腐敗。后來,隨著深度學習在目標跟蹤任務中的應用,極大地改變了跟蹤器的性能,傳統手工提取特征方式逐漸被深度特征取代,DeepSRDCF算法[9]在SRDCF基礎上將HOG特征替換為單層深度卷積特征,取得了較好的效果。MDnet算法[10]提出了基于卷積神經網絡的多域學習模型,采用視頻跟蹤數據集訓練得到特征提取網絡。CF2算法[11]在KCF算法的基礎上將HOG特征替換為VGGNet19[12]中提取出的深度特征,整體精度也得到了提升,但缺點是未進行尺度估計以及模型更新策略不夠完善。
目前,深度學習在跟蹤領域的應用主要分為端到端的目標跟蹤模型和結合相關濾波的跟蹤模型。前者魯棒性和準確度都較高,但網絡模型結構設計復雜,訓練數據需求量大。因此,為了解決傳統KCF算法存在的缺陷,本文采用相關濾波與深度學習結合的方式來構建跟蹤模型框架,以KCF算法為基線提出了一種融合深度特征和尺度自適應的目標跟蹤算法。
KCF算法是通過循環矩陣構建樣本集,然后采用基于核函數的嶺回歸方法訓練濾波器,通過訓練好的濾波器對候選區域圖像塊進行相關性計算,最后計算相關性響應最大的位置即可得到目標的估計位置。為了簡化訓練模型的運算量,KCF算法將大量時域的卷積運算通過傅里葉變換轉換到頻域進行乘積運算,從而避免了矩陣的逆運算和卷積運算等復雜的計算過程,同時采用核函數將得到的低維特征映射到高維特征空間,從而提高了特征的表達能力。KCF算法執行過程可以分為3個流程:模型訓練、目標檢測、模型更新。
① 模型訓練
設訓練的目標函數為:
f(xi)=wTxi,
(1)
式中,xi為訓練樣本;w為訓練樣本xi的權重;wT為w的轉置。
由此可構造目標損失函數為:
(2)
式中,yi為樣本xi的期望輸出;λ是為了防止過擬合的正則化懲罰項參數。通過最小二乘法求解式(2),從而找到最優的w,當導數為0時,求得w為:
w=(XTX+λI)-1XTy,
(3)
式中,X=[x1,x2,x3,…,xn],每一列代表一個樣本的特征向量;y為列向量,每個元素代表一個樣本標簽;I為單位矩陣。
轉換到頻域后,w可以表示為:
(4)

引入核函數,將原始空間中不可分的非線性分類問題,通過特征的非線性映射到高維空間后,可以推出映射后的特征空間滿足線性關系,由此可以通過嶺回歸求得最優解。因此可將式(1)表示為:
(5)
通過非線性函數映射,將原始損失函數中求解w的問題轉換為求解a的問題,并利用循環矩陣的性質優化a,求得最終的a為:
(6)

② 目標檢測
當分類器訓練完成后,將新輸入圖像幀z作為輸入并描述其對應的相關響應,通過進行離散傅里葉變換后得到:
(7)
最后由傅里葉反變換求得在時域中的峰值響應為:
(8)

③ 模型更新
當完成新的目標區域檢測后,需要對當前位置進行重新采樣并訓練新的模板,更新模板系數,用來檢測下一幀圖像:
at=(1-κ)×at-1+κ×a,
(9)
xt=(1-κ)×xt-1+κ×x,
(10)
式中,κ為學習速率;at為當前幀需要更新的濾波器系數;at-1為上一幀更新后的濾波器系數;a為當前幀的濾波器系數;xt為當前幀需要更新的目標觀測模型;xt-1為上一幀更新后的目標觀測模型;x為當前幀的目標觀測模型。
在傳統目標跟蹤算法中,主要以手工特征如HOG特征、CN特征、LBP[13]特征作為目標進行特征提取,在面對一些復雜的跟蹤環境下準確性較低,遭遇嚴重的外觀變化時容易導致跟蹤器漂移的問題。本文替換傳統手工特征而采用深度學習神經網絡提取的深度特征,VGGNet19是一種功能十分強大的分類卷積神經網絡,網絡本身共有16層卷積層、3層全連接層、5層池化層以及3層Softmax層,其網絡結構如圖1所示。

圖1 VGGNet19 網絡模型結構
在VGGNet19深度卷積網絡模型中,每個卷積層提取出的特征對目標的表達能力不同。一般底層卷積特征包含了目標特征的許多紋理和邊緣信息,且空間分辨率高,在跟蹤過程中可以準確定位目標的位置,但底層特征因缺少目標的語義信息,在跟蹤目標發生非剛性形變或者平面旋轉時,容易導致目標跟蹤失敗。而高層卷積特征一般包含了豐富的語義信息,在目標發生嚴重的外觀變化或者平面旋轉時有較強的適應能力,但由于從輸入目標信息到最后的高層卷積特征輸出,VGGNet19深度卷積網絡共經歷了16層卷積和5層池化,這些傳輸過程使得輸出的高層特征分辨率很低,當目標在快速移動或者發生遮擋時容易造成跟蹤模型的漂移,最終導致跟蹤失敗。因此,為了更好地適應實際跟蹤環境下的復雜因素,本文通過將底層卷積特征和高層卷積特征進行特征融合實現特征的提取,通過借鑒文獻[14]的特征提取方式并加以改進,最終選取Conv1_2,Conv3_4,Conv4_4,Conv5_4共4層卷積層的輸出作為最終的特征提取層,將以上層卷積輸出可視化如圖2所示。可以直觀地看出,底層特征紋理和邊緣信息豐富,空間分辨率高,而高層特征包含更多的語義信息。

圖2 VGGNet19 不同卷積層輸出結果可視化
類似于KCF算法中的處理流程,為了避免最終得到的響應圖邊界的不連續性,本文在采樣窗口進行特征提取前對每個Patch窗引入余弦窗來降低邊界效應的影響,同時利用雙線性插值方法將卷積網絡輸出層的特征圖進行歸一化操作,得到尺寸相同的特征圖,當每層的特征提取出來后,讓每一層學習一個相關濾波器。通過每層相關濾波器輸出的最大響應可以得到每層的目標估計位置,同時對每層的響應值進行不同權重的加權融合,得到最終的目標估計位置,最后在目標估計位置上建立尺度金字塔進行尺度估計,并進行遮擋檢測以及模型更新處理。本文最終設計的跟蹤算法框架如圖3所示。

圖3 本文設計的跟蹤算法框架
在目標跟蹤過程中,由于目標運動引起的目標尺度變化是不可避免的,因此尺度變換是目標跟蹤中必需解決的問題。在目標跟蹤過程中,若不能及時更新跟蹤目標的尺度大小,將會產生以下影響:第一,當跟蹤的目標尺度變大時,若外觀模型中進行特征采樣的目標框比例不能及時隨著跟蹤目標變大,將會導致跟蹤模型在當前幀只能提取跟蹤目標的部分特征;第二,當目標尺度變小時,若外觀模型中進行特征采樣的目標框比例不能及時隨著跟蹤目標變小,會導致跟蹤模型在當前幀將跟蹤目標外的很多背景信息當作目標特征,引入了背景噪聲。顯然以上2種情況都會導致目標跟蹤的精確度降低。為了解決上述因尺度變化引起的目標跟蹤失敗問題,本文改進的算法通過融合Discriminative Scale Space Tracking(DSST)目標跟蹤算法[15]中的尺度濾波器來實現目標尺度的估計。
在目標跟蹤尺度自適應過程中,通過在目標估計位置進行不同比例的尺度縮放,得到不同的尺度樣本,然后將得到的不同尺度樣本送入尺度濾波器并從中找出響應最大的尺度因子,并將此尺度因子作為最終的輸出尺度,其中尺度金字塔的構建如圖4所示。

圖4 尺度金字塔的構建
假設濾波器大小為W×H×S,其中W和H分別代表濾波器的寬和高,S代表尺度。在位置濾波器得到目標估計位置后,通過S個不同尺度對目標進行尺度縮放,組成一個W×H×S的尺度金字塔。設x為從上一幀中心區域提取的尺度金字塔樣本,h為跟蹤模型每次迭代更新后的尺度濾波器,g為輸入樣本經過尺度濾波器后的輸出響應。對于跟蹤序列中新一幀的跟蹤目標,將x與h進行卷積后,得到的最大響應值g的尺度因子就是新一幀的目標尺度,其參考模型如圖5所示[16]。

圖5 尺度相關濾波器模型
設訓練樣本為x1,x2,…,xk,每個樣本對應的輸出為g1,g2,…,gk,每個樣本對應的濾波器為hj,理想輸出記為gj,根據濾波器的輸出與期望響應值構造目標損失函數為:
(11)
式中,*表示卷積;λ是為了防止過擬合的正則化懲罰項參數。
根據帕薩瓦爾定理,將式(11)轉到頻域中得到:
(12)

求解上式得到尺度濾波器為:
(13)
為了簡化運算,將上式中的分子與分母分別記為Aj和Bj,然后利用下式對Aj和Bj分別進行更新:
(14)
(15)
式中,κ為學習率;Aj-1為上一幀濾波器的分子。
對于第t幀輸入樣本z,得到最大尺度響應yt為:
(16)
式中,Z表示輸入樣本z離散傅里葉變換。
在目標跟蹤過程中,當目標被正常跟蹤時,相關濾波器得到的響應值較大;而發生遮擋時,得到的響應值會變小。同時,如果背景中存在與跟蹤目標相似的干擾物時,也可能產生偽峰值。在原始的KCF算法中,跟蹤算法會對每一幀都進行模型更新,導致目標跟蹤出現跟蹤誤差后,核相關濾波器持續地累積誤差,而一旦目標出現遮擋或者跟丟時,如果不停止模型更新,采樣窗口將會把背景信息當作目標外觀模型進行采樣,很容易導致跟蹤模型發生漂移。通過上述研究分析結果,當判斷目標是否被遮擋或者要進行模型更新時不能僅僅根據峰值響應的大小來判斷,為此本文引入了最大響應歷史均值和平均峰值相關能量(Average Peak to Correlation Energy,APEC)來檢測目標受遮擋程度以及模型更新的條件[17]。
首先是最大響應的歷史均值,假設當前幀目標響應峰值的最大值為Pimax(i=1,2,3,…,n),當檢測到第n幀時前所有幀的最大響應歷史均值為:
(17)
其次是APEC,假設當前幀的位置目標響應峰值的最小值為Pmin,目標響應峰值的最大值為Pmax,Pi,j為采樣窗口每一個點的響應值,S是當前采樣窗口的面積,因此得到的當前跟蹤模型的APEC為:
(18)
根據實驗分析可知,當檢測的目標響應峰值很尖銳且噪聲特別少時,APEC非常大,同時檢測到的峰值響應也會特別大;當目標被遮擋或者產生較大形變時,APEC會急劇下降,同時峰值響應也會降低。如果單從APEC一個值來判斷目標是否被遮擋或是否進行模型更新容易產生錯誤判斷,特別是當出現背景干擾時,為了避免這種情況的出現,本文通過設定2個閾值θ1和θ2,并執行判斷以下條件:
Pimax>(θ1×Pmean),
(19)
PiAPEC>(θ2×mean(APEC)),
(20)
式中,mean表示求均值。
① 當式(19)成立且式(20)成立時繼續目標跟蹤,并且進行模型更新;
② 當式(19)不成立或式(20)不成立時停止目標跟蹤,不進行模型更新。擴大采樣窗口的搜索范圍,直到再次檢測到式(19)成立或式(20)成立時停止搜索,然后在重新檢測到的目標估計位置進行尺度更新,最后再次初始化采樣窗口的大小。
最終,通過多次實驗驗證和分析,當閾值θ1=0.7,θ2=0.45時目標跟蹤效果最優。
本文實驗結果是在Matlab-R2019a仿真平臺運行,操作系統為Windows10 64位,處理器為Intel(R)Core(TM)i5-10400F CPU @ 2.90 GHz,運行內存為16 GB,其中深度特征采用MatConvNet[18]工具箱并由已經訓練好的VGGNet19深度學習網絡進行提取,改進算法中的學習率與正則化等參數設置與原始KCF算法、DSST算法保持一致。
實驗采用OTB100[19]中的100個標準數據集進行測試,為了驗證本文改進后算法的有效性,與其他7種經典的目標跟蹤算法(CF2,BACF,SRDCF,LMCF[17],KCF,DSST,CSK)進行對比。
本實驗進行分析時,采用One Pass Evaluation(OPE)評估方式來完成。在OTB100測評標準中,OPE是指根據視頻序列的第一幀對要跟蹤的目標對象進行初始化操作,標定初始位置,然后運行跟蹤算法直至視頻序列結束,最終得到該視頻序列所有幀的估計位置,并利用距離準確度和重疊成功率作為評價標準。
距離準確度是跟蹤算法估計的目標位置的中心點與人工標注的中心點之間的歐式距離小于給定的閾值視頻幀占所有視頻幀的百分比,其歐式距離計算方式如下:
(21)
式中,E為中心誤差;(xd,yd)為跟蹤算法得到的目標中心位置;(x0,y0)為數據集中人工標注的真實目標坐標位置。在實驗中,設置不同的參考閾值所得到的距離準確度也就不一樣,通常設置參考閾值為20個像素點。
成功率是指跟蹤算法預測的目標框與人工真實標注的目標框的交集與并集的比值,通常也稱該比值為重疊率(OR),當該比值大于一定閾值時,則代表該幀跟蹤成功,否則表示跟蹤失敗。實驗中,通常設置閾值為0.5。最后,通過計算該視頻序列中跟蹤成功的幀數與視頻序列的總幀數得到此次跟蹤的成功率,其中OR的計算如下:
(22)
式中,Sr為跟蹤算法跟蹤得到的目標框;Sp為人工標注的正確目標框。
表1和圖6是8種算法在OTB100數據集的測試結果。從測試結果可以看出,在OTB100數據集中無論是在距離精確度還是在重疊成功率上本文算法都比其他7種算法表現更優,這也證明本文算法改進的有效性。

表1 本文算法與其他7種算法在OTB100數據集上的距離精度和重疊成功率

(a)距離精度
表2和圖7是8種算法在OTB100數據集上遮擋(OCC)屬性的測試結果。由表2和圖7可以看出,本文算法在數據集遮擋屬性的視頻序列中也取得了較好的效果,在對比的8種算法成功率和精確度中屬于優勝地位。

表2 本文算法與其他7種算法在OTB100數據集上遮擋(OCC)屬性的距離精度和重疊成功率

(a)距離精度
能取得以上效果的主要原因是:首先,本文將KCF中的HOG特征替換為表達能力更強的深度特征,同時將VGGNet19深度網絡提取出的深度特征進行分層加權融合,充分利用了不同層間的優良特性,最終建立了比較好的外觀模型。其次,本文在原始KCF的基礎上考慮了目標尺度變化,將DSST算法中尺度檢測濾波器融入到本文算法中,因此在跟蹤過程中遇到尺度變化時仍能夠很好地跟蹤目標。最后,當目標跟蹤中出現遮擋因素時,本文融入了抗遮擋檢測機制,當跟蹤模型檢測到目標被遮擋時,通過自動調整抗遮擋搜索機制,有效降低了出現遮擋時目標跟丟的風險。同時,本文算法較CF2算法也有提高,這說明通過融合多層深度特征和抗遮擋檢測策略,可以更好地提高目標跟蹤的精確度和成功率。
為了更好地直觀展示本文算法相對于其他幾種算法跟蹤性能的優勢,本文選取了OTB100數據集中所測視頻序列中的部分視頻序列進行定性對比跟蹤實驗,通過用不同顏色的矩形跟蹤框在視頻序列幀中對跟蹤目標進行標注顯示,以此來分析和展示本文算法與其他幾種對比算法的跟蹤效果。
如圖8所示從上到下的視頻序列依次是Soccer,Sylvester,Trellis,CarScale,從抽樣結果來看,在Soccer視頻序列中本文算法和CF2算法均能夠正確跟蹤到目標位置,但本文算法跟蹤的位置更準確,這是因為CF2算法僅僅采用高層特征進行特征提取,缺少底層的特征信息,當遇到快速形變和背景混亂的復雜場景時容易導致目標跟蹤失敗。同時可以看出BACF算法最終也跟蹤失敗,這是由于BACF算法雖然解決了KCF算法中的邊界效應問題,但是遇到背景混亂的場景時由于不能夠正確地分辨出正負樣本,誤把背景信息當成是正樣本進行跟蹤。其次,KCF算法雖然能夠大概地跟蹤到目標的位置,但是由于缺少尺度變換,導致跟蹤過程始終為固定的跟蹤框。

圖8 Soccer,Sylvester,Trellis,CarScale視頻序列抽樣跟蹤結果展示
Sylvester屬于平面內旋轉序列,同時也是長時間跟蹤的視頻列,本文算法在整個Sylvester視頻序列中都表現較好,而LMCF算法最終跟蹤失敗,這是由于LMCF算法雖然采用了多峰前向檢測,能夠解決相似物體干擾的問題,但由于在模型更新策略上只是簡單地采用APEC更新策略,導致跟蹤模型在目標跟丟后仍然更新模型,最終跟蹤失敗。
Trellis屬于光照變化序列,本文算法和CF2算法采用深度特征明顯比采用傳統特征的跟蹤器更具魯棒性,在遭遇嚴重的外觀變化時仍能抑制跟蹤器漂移的現象,達到較好的跟蹤效果。
CarScale屬于尺度變化序列,可以看出DSST算法、BACF算法和SRDCF算法以及本文算法均可以適應序列的尺度變化,而且本文算法更為接近目標中心,這說明本文算法跟蹤的目標位置更為準確。
視頻序列抽樣跟蹤結果展示如圖9所示,從上到下的視頻序列依次是Girl2,Jogging-1,Human3,Box。

圖9 Girl2,Jogging-1,Human3,Box視頻序列抽樣跟蹤結果展示
為了更好地體現本文算法抗遮擋的特性,圖9所示的視頻序列全都采用含有遮擋屬性的視頻序列,從Girl2視頻序列和Box視頻序列可以看出,到最后一幀時只有本文算法和LMCF算法能夠準確地跟蹤到目標位置,而其他算法都跟蹤失敗。在Human3視頻序列中,在第63幀出現遮擋后,雖然在LMCF算法中采用了多峰值檢測,但由于LMCF算法出現遮擋后未采用抗遮擋搜索機制,導致目標出現遮擋后未重新找回丟失的目標,最終跟蹤失敗。而本文算法在出現遮擋后,及時采用目標重新找回的策略,再次定位到目標位置,最后仍能準確地跟蹤到目標的位置。
為了驗證本文算法在特征融合上的有效性,對算法的深度特征提取層進行消融實驗對比,本文算法在基準數據集OTB100上進行對比實驗。表3 和圖10展示了不同層特征進行融合后,對算法性能的影響。

表3 不同層特征組合在OTB100數據集上的實驗對比

(a)距離精度
從上面的結果可以看出,無論是在距離精確度還是在重疊成功率上,本文算法所采用的特征融合Conv(1,3,4,5)在OTB100上的表現都是最優的;同時也可以看出,融合底層特征和高層特征的組合Conv(1,4,5)和Conv(1,3,5)都比只有高層特征的Conv(3,4,5)算法要好,這是因為底層特征的紋理和邊緣信息都比較豐富,適合目標精確定位。其次,未疊加高層特征的Conv(1,3,4)明顯低于其他融合了高層特征的組合,這是因為高層特征包含很多語義信息,缺少高層特征的跟蹤器在快速移動或者發生遮擋時容易造成模型漂移。
本文提出了一種融合深度特征和尺度自適應的抗遮擋目標跟蹤算法,通過深度特征分層融合、尺度自適應以及抗遮擋檢測和模型更新3個方面的改進,有效地提高了目標跟蹤算法在復雜環境下的成功率和準確度。實驗通過在OTB100標準數據集上的視頻序列與幾種經典的算法進行對比實驗,其結果也驗證了本文改進后算法的有效性。但本文算法通過實驗分析也發現存在一些不足,由于采用了多層深度特征融合導致本文算法實時性顯著降低;其次,在尺度自適應方面,當目標幀間產生嚴重的形變和外觀變化時,本文算法中的尺度金字塔不能準確適應目標尺度變化;最后,在跟蹤失敗后重新找回策略上,本文算法雖能夠找回目標,但算法復雜度較高。
目前,通過全卷積孿生網絡構建的目標跟蹤算法因其跟蹤速度快和跟蹤精度高,在OTB100數據集上取得了較好的表現,通過孿生網絡構建的目標跟蹤器靈活度高,可以與不同的骨干網絡進行組合,也可以與不同的搜索策略和學習方式進行互補,通過在大量數據集上進行訓練從而得到較優的實驗結果。但孿生網絡的缺陷在于沒有在線更新策略以及采用AlexNet網絡使得目標特征不夠具體,而本文算法設計的網絡能夠很好地提取目標特征以及擁有在線更新策略。因此,下一步工作是結合孿生網絡和相關濾波的方法對本文算法進行改進和提高。