劉剛陽, 胡博, 王宇慶
(1.中國科學院 長春光學精密機械與物理研究所, 吉林 長春 130033;2.中國科學院大學, 北京 100049;3.中國人民解放軍第32035部隊, 陜西 西安 710000)
目標跟蹤是計算機視覺領域的一個重要研究課題。視覺目標跟蹤一般是給定初始幀圖像中目標的位置和矩形框尺寸,利用程序自動搜尋以后幀中目標的位置和矩形框尺寸。目標跟蹤技術應用廣泛,其在智能交通、自動駕駛、安防監控、機器人、軍事等眾多領域內已不可或缺[1]。目標跟蹤根據目標個數不同可分為單目標跟蹤和多目標跟蹤,根據其技術發展可分為經典的跟蹤方法、基于相關濾波的跟蹤方法和基于深度學習的跟蹤方法[2]。近些年比較熱門的目標跟蹤方法主要是基于相關濾波的算法和基于深度學習的算法,兩者都屬于判別式跟蹤方法。MOSSE方法[3]首次在跟蹤算法中引入相關濾波的概念,使運算速度提高了20倍。隨著深度學習的快速發展,應用了深度學習的目標跟蹤技術取得了前所未有的成功,它和基于相關濾波的跟蹤方法各有優劣。基于相關濾波的跟蹤方法對硬件平臺要求較低且運行速度快,而基于深度學習的跟蹤方法運算復雜度高、消耗內存大。基于深度學習的目標跟蹤多為基于檢測的跟蹤技術,其跟蹤性能依賴檢測階段的準確性。由于卷積神經網絡在計算過程中參數較多,為提高運算速度,算法需運行在性能較好的GPU平臺上。一般地,單目標跟蹤青睞基于相關濾波的方法,多目標跟蹤則使用深度學習能獲得更佳的指標。
能否有效跟蹤的一個關鍵因素是提取恰當數量且具有鑒別性的特征[4-5]。深度學習使用卷積神經網絡提取深度特征,相關濾波提取方向梯度直方圖(HOG)、灰度或紋理等作為特征,相關濾波必須考慮到模型更新的問題[6]。在跟蹤過程中往往出現目標變形或被遮擋等情況,跟蹤模型會隨之退化,導致跟蹤漂移[7]。以往大多數算法均采用連續更新策略,即在每一幀中都要進行模型更新,而后來有人使用Siamese[8]網絡沒有進行模型更新,仍然取得了不錯的效果。MEEM方法[9]根據最小熵準則選擇在需要時恢復當前跟蹤器以減少不必要的模型更新,利用預測算法中的在線SVM和顯式特征映射方法實現了高效的模型更新和推理。Nam[10]等人用預訓練卷積神經網絡中的共享層和在線更新的新二元分類層相結合構建網絡,通過評估圍繞先前目標狀態隨機采樣的候選窗口執行在線更新。SRDCFdecon方法[11]引入樣本權重對作用較小的樣本進行抑制。ECO方法[12](Efficient Convolution Operators for Tracking)采用了每隔5幀更新一次模型的稀疏更新方法,效果顯著,作者把這種效果歸因于稀疏更新減少了與最新樣本的過擬合。
本文基于相關濾波算法ECO的手工特征版本ECO-HC提出了一種以圖像場景變化為依據、自適應調節模型更新間隔的策略,有效提高了算法在圖像背景光照復雜、目標外形改變或被遮擋等情況下的跟蹤準確率,并保持了較高幀率的優點。
C-COT[13]是一種基于判別相關濾波器(Discriminative Correlation Filter)的目標跟蹤方法,該算法提出了一種連續卷積算子的理論框架,將特征信息從離散空間變換到連續空間,如公式(1)所示:
其中:Jd{xd}(t)表示經插值計算后的第d個通道的值,bd是一個周期為T的3次插值函數。根據此公式,既可以通過在連續域上執行卷積實現不同分辨率下特征的獨立表達,又能利用連續函數得到目標預測的分數,實現更準確的亞像素定位。ECO在C-COT的基礎上提出了因式分解卷積算子(Factorized Convolution Operator)和緊湊的生成式樣本空間模型(Generative Sample Space Model),并改進了模型更新策略(Model Update Strategy)。因式分解卷積算子通過一個d行c列的系數矩陣P將原本C-COT的d個濾波器縮減為c個,c<d,達到了減少模型參數的目的,如公式(2)所示:
其中:f表示濾波器,J{x}為特征化后的圖像,Jd{xd}為第d維濾波器,PT為P的轉置矩陣。
因為相鄰幀圖像中目標大概率外形相似,所以連續每幀都存儲新樣本會導致樣本數據冗余。緊湊的生成式樣本空間模型不再使用原本的連續訓練集,而是將訓練數據用混合高斯模型重新建模分類,其各個分量分別表示一類特征與其他樣本不同的樣本數據,可以提高樣本多樣性并減少數據冗余。
大多數基于相關濾波的目標跟蹤方法都是逐幀更新模型,而ECO每隔5幀更新一次,大幅減少了計算量,提高了跟蹤速度,并發現降低濾波器更新頻率可以提高學習過程的魯棒性。
本文嘗試使算法自適應確定模型更新間隔并以不等間隔更新模型,使算法在確保運算速度的同時提高跟蹤準確率。在確定具體的模型更新間隔數前,需要先計算出相鄰兩幀圖像的差異,并以此作為判斷圖像中場景變化幅度的依據。我們定義了一個參數D,用它來表示相鄰兩幀圖像間的變化幅度。有必要說明的是,并不是每兩幀圖像都要計算一次差異值。如果將模型更新間隔數記為train_gap,那么模型將是每間隔train_gap幀更新一次,即平均train_gap+1幀更新一次。
先將當前幀彩色圖像轉為灰階圖像,然后對像素值做歸一化處理,把m行n列的圖像轉化成一個m×n維的列向量X1,上一幀圖像也如此操作得到X2。合并X1和X2,即:
分別計算X各列元素的均值,即:
計算X1與X2的協方差:
其中每行都等于的m×n維矩陣。結果cov(X)是一個2行2列的矩陣,若記:
單個樣本序列的樣本方差為:
則令相關度為:
當X列數為2時,cov(X)的副對角元素b和c相等,則:
方向梯度直方圖(HOG)能簡化圖像并表達出圖像中的物體輪廓信息。我們根據第一幀圖像中給出的目標框預測下一幀的目標框位置和大小,在每次需要更新模型時不只是計算全圖的相關度,還需要利用圖像中目標框內的HOG計算基于HOG的相關度,避免了背景信息的干擾。其中根據HOG計算出的特征向量可近似看作是目標的特征信息,過程如圖1所示。
當前幀與上一幀圖像的HOG特征向量分別是H1和H2,根據上一節求相關度的方法計算H1與H2的相關度,可以更好地表達相鄰兩幀圖像中目標的變化情況。
用計算得到的相鄰兩圖像的相關度correlation1和基于HOG計算的目標區域相關度correlation2聯合表示場景變化情況,記為D,如公式(11)所示:
其中λ為權重系數。不能單一使用correlation2作為判斷場景變化的原因是跟蹤過程中可能發生目標跟蹤錯誤或被遮擋等情況。
將計算出的場景變化幅度D作為依據,選擇不同的模型更新間隔數train_gap,替代大多數相關濾波算法逐幀更新或等間隔更新的方法,形成一種以判斷圖像場景變化幅度來自適應調整模型更新間隔的模型更新方法,可以在較少損失計算速度的情況下有效提高跟蹤準確率且能避免因過多次更新導致的過擬合發生。
我們選擇適當的閾值threshold1和threshold2,確定最終的模型更新間隔數方案。其中第一幀時的模型是必須要更新的,第二幀時開始計算D,將結果與兩閾值做比較,確定模型更新的間隔數train_gap,然后在當前幀seq.frame的基礎上,停止更新train_gap次,第seq.frame+train_gap+1時再次更新并計算新的D,確定新的模型更新間隔數,過程如圖2所示。

圖2 本文策略流程圖Fig.2 Strategy flow chart of this paper
評價單目標跟蹤算法的指標有很多種,本文主要用到了跟蹤準確率(Precision)、成功率(Success rate)、AUC(Area under curve)、重疊率(Overlap)、平均重疊期望(Expected Average Overlap,EAO)、速度指標(Equivalent Filter Operations,EFO)和失敗次數(Failures),這些指標中失敗次數和跟蹤準確率呈負相關,其余均為正相關。
準確率計算公式為:
即計算預測框中心點與真值中心點間的歐氏距離,若該值小于閾值(一般設為20個像素)則跟蹤成功。
計算成功率需先計算預測框與真值框的交并比(IoU),若該值大于閾值(一般設為0.5)則稱在該幀圖像上跟蹤成功,在整個視頻序列上跟蹤成功的幀數除以視頻全部幀數即得該序列上的成功率。閾值與成功率的大小呈負相關,設置閾值范圍為0~1,畫出閾值與成功率的曲線,曲線下面積即為AUC(Area under curve)分數,它也用來反映跟蹤成功效果。
重疊率的計算方法為重疊區域面積/(預測框的面積+真值框的面積-重疊區域面積),其值等于兩矩形的交并比。
平均重疊期望是VOT[14]中最主要的指標之一,它的計算過程如下:先將所有視頻序列按長度分類,再將跟蹤器在長度為Ns的序列上測試求其每一幀的精度Φ(t),計算平均值得到該序列的精度:
計算全部序列的平均值即得該跟蹤器在長度為Ns序列上的平均重疊期望(EAO)值:
速度指標(EFO)的全稱為等效濾波操作(Equivalent Filter Operations)。先測試當前機器用30×30的濾波器在600×600圖像上的濾波時間,再將實際跟蹤時間除以此濾波時間即得EFO值,它相對常用的速度指標幀率(FPS)而言減少了硬件差異對數值造成的差異,對算法速度評價更具普適性。
當預測框與真值框的重疊率為0時認為在當前幀中目標跟蹤丟失,在跟蹤丟失發生后的第5幀開始對跟蹤器重新初始化。定義第i個跟蹤器在第k次重復中跟蹤丟失的次數為F(i,k),則其平均失敗次數如公式(15)所示,Nrep為重復次數:
失敗次數(Failures)反映的是跟蹤器的魯棒性,其值越大,跟蹤器魯棒性越差。
本文實驗硬件平臺為Inte(lR)Core(TM)i7-9 700K CPU@3.60 GHz、32.0 GB RAM,運行環境為Windows 10+MATLAB 2018a。
我們統計了OTB2015[15]中所有視頻序列的相鄰兩幀圖像的相關度,并對每個序列結果各自求平均以作為該序列的平均相關度。類似地,我們依據真值將各圖像中的目標區域裁剪出并計算其HOG,進而求出基于HOG的相鄰幀目標區域的平均相關度。系數λ為一常數,它負責調節全圖的相關度和基于HOG的目標所在區域的相關度間的關系,在本實驗中將其賦值0.5,即在本文中簡單認為計算全圖的變化幅度和僅計算目標的變化幅度同等重要,由公式(11)計算聯合相關度,如圖3所示,部分結果如表1所示。

表1 相鄰幀的相關度統計表Tab.1 Correlation statistics of adjacent frames

圖3 OTB2015各視頻序列相鄰幀的相關度統計Fig.3 Correlation statistics of adjacent frames of each video sequence in OTB2015
將100個序列按聯合相關度從小到大排序,取第17個序列的值0.588作為threshold1,第84個序列的值0.855作為threshold2,對數據集按1∶4∶1的比例切分。
ECO根據其提取特征的方式可以分為兩個版本:一個利用卷積神經網絡結合HOG和顏色特征;另一個僅用到HOG與顏色特征,即ECOHC。本文以ECO-HC作為基線,嵌入本文提出的策略進行實驗,設置牛頓迭代和共軛迭代數均等于模型更新間隔數,搜索區域縮放比設為4.5,最小和最大樣本尺寸分別設為200×200和250×250,共軛方向遺忘率為75。本文模型更新策略是從第一幀圖像輸入即開始生效,而ECO-HC從第10幀輸入后才開始每隔5幀更新一次。
以OTB2015中的Biker為例,它由142幀連續的圖像組成,圖4為本文算法對Biker進行實驗時的模型更新間隔與幀號的變化圖。從圖4可以看出,應用本文方法后,跟蹤過程共更新模型25次,改進前是31次。過程中有3段更新間隔為7,6,段間隔為3,其余和改進前一致,均為5。圖5(a)和圖5(c)分別是對Biker跟蹤的第13幀和第100幀圖像,在這些時刻,目標緩慢移動且背景不變,場景變化幅度較低,模型更新間隔較大。圖5(b)為第70幀的跟蹤效果,目標運動姿態變化較大,此時基于HOG的目標區域相關度減小導致D值變小,故減小模型更新間隔為3,使跟蹤器能更快適應目標的改變,提高跟蹤效果。再結合圖6可以發現,場景變化幅度指標D隨幀號變化的規律與模型更新間隔數隨幀號變化的規律(圖4)很相似,同升同降。

圖4 Biker中模型更新間隔與幀號的關系Fig.4 Relationship between model update interval and frame number in Biker

圖5 Biker中部分跟蹤效果Fig.5 Partial tracking effects in Biker

圖6 Biker中D與幀號的關系Fig.6 Relationship between D and frame number in Biker
OTB2015數據集中jogging和Skating2各有兩個目標,在實驗前需將其拆分。David、Blur-Car1、BlurCar3和BlurCar4的真值不是從第一幀開始的,Board的幀號編碼是5位,其他序列都是4位。圖7為ECO-HC和在其基礎上應用了本文方法(OURS)在OTB2013[16]數據集上與其他8種算法ASLA[17]、DFT[18]、SCM[19]、L1APG[20]、IVT[21]、MTT[22]、CT[23]、ORIA[24]的部分對比結果。本文方法相比于原方法,準確率提高了1.5%,在目標遮擋的場景中準確率提高了3.4%,在圖像變形的場景中成功率提高了1.9%。

圖7 在OTB2013上的部分結果。(a)面內旋轉成功率圖;(b)運動模糊成功率圖;(c)目標變形成功率圖;(d)平面內旋轉精度圖;(e)運動模糊精度圖;(f)目標變形精度圖;(g)目標被遮擋成功率圖;(h)光照變化精度圖;(i)背景雜亂精度圖;(j)尺度變化精度圖;(k)目標被遮擋精度圖;(l)OPE[15]的精度圖。Fig.7 Partial results on OTB2013. (a) Success plot of in-plane rotation;(b)Success plot of motion blur;(c) Success plot of deformation;(d) Precision plot of in-plane rotation;(e) Precision plot of motion blur;(f) Precision plot of deformation;(g) Success plot of occlusion;(h) Precision plot of illumination variation;(i) Precision plot of background clutter;(j) Precision plot of scale variation;(k) Precision plot of occlusion;(l) Precision plot of OPE[15].
在OTB2015數據集中的實驗結果顯示,本文方法相比于ECO-HC,在光照變化的情況下,成功率提高了1.6%,準確率提高了2.2%;在目標離開視場的情況下,成功率提高了3.7%,準確率提高了3.4%,如圖8所示。從以上實驗結果可以看出,改進后的算法在圖像背景復雜、圖像模糊、目標被遮擋或某幾幀中離開視場的情況下相比于原算法跟蹤效果均有提升。

圖8 在OTB2015上的部分結果。(a)光照變化成功率圖;(b)目標離開視場的成功率圖;(c)光照變化精度圖;(d)目標離開視場的精度圖。Fig.8 Partial results on OTB2015. (a) Success plot of illumination variation; (b) Success plot of out of view; (c) Precision plot of illumination variation; (d) Precision plot of out of view.
圖9為本文算法與ECO-HC、C-COT、DFT[18]、EBT[25]和SRBT[26]的對比實驗,6種算法中只有C-COT用了卷積神經網絡,其預訓練模型為imagenet-vgg-m-2048。選用視頻序列依次是Matrix、Soccer、Shaking和Ironman,這4個視頻的光照均變化劇烈。Matrix、Soccer和Ironman中的目標運動快速且外觀變化較多,跟蹤難度大。在視頻后半段,各對比算法發生跟蹤漂移,丟失真實目標,而本文算法表現良好,各算法對比效果明顯。即在圖像場景變化復雜的情況下,應提高模型更新的速率,使算法能及時調整并適應目標或背景的改變,避免跟蹤漂移。而在場景變化幅度不大時,減少模型更新既能降低過擬合的可能,又能減少運算并提高跟蹤速度,本文算法在本文實驗環境中平均速度可達60 FPS。

圖9 本文算法與其基線ECO-HC及其他4種算法的對比實驗。(a)Matrix;(b)Soccer;(c)Shaking;(d)Ironman。Fig.9 Comparison between the algorithm OURS in this paper and its baseline ECO-HC and other four algorithms.(a) Matrix; (b) Soccer; (c) Shaking; (d) Ironman.
在VOT2016[16]上的對比實驗結果如表2所示,第一列為幾種跟蹤算法名稱,中間3列為基線下的結果,最右兩列為無監督情況下的結果。從表2可以看出,本文算法與基線ECO-HC相比,提高了重疊率(Overlap)、平均重疊期望(EAO)、AUC(Area under curve)和速度指標(EFO),減小了失敗次數(Failures),提高了魯棒性。從對比實驗結果中可以看出C-COT的指標也很優秀,說明基于深度學習的目標跟蹤方法能獲得很好的跟蹤效果,但與其改進型ECO[14]的手工特征版本ECO-HC與本文方法相比,后者的速度是其30倍。ECO-HC是一種基于相關濾波的跟蹤方法,本文方法是在其基礎上改進而來的。C-COT在應用卷積神經網絡提取特征的過程中產生了大量的參數使得運行速度變慢且占內存。同樣應用深度學習的ECO使用因式分解卷積算子在數學上減少了濾波器個數,提高了計算效率,又用有間隔的模型更新方式減少了模型更新次數,使其速度達到了C-COT的8倍。而ECO-HC更快的原因是其未用卷積神經網絡,僅用了梯度特征(HOG)和顏色特征(CN),運算復雜度更小。本文方法OURS除了具有ECO-HC的優點外,采用自適應模型更新策略使精度、速度和魯棒性都得到了進一步提高。

表2 在VOT2016上的對比實驗Tab.2 Comparative experiment on VOT2016
本文提出了一種基于相關濾波的自適應模型更新策略,即摒棄常用的逐幀更新方法和每隔固定幀數更新一次的策略,自適應地以適當的更新間隔更新模型。本文定義了一個用于表述相鄰兩幀圖像間差異的差異值D,以此來反映視頻序列中的場景在此時刻的變化情況。當場景變化較劇烈時,減小跟蹤模型相鄰兩次更新的間隔數,使之加速適應目標變化,提高跟蹤準確率;當場景變化較和緩時,增大更新的間隔數,減少運算以提高運行速度,并避免過擬合。這樣的模型更新策略更加靈活,可以在保持跟蹤精度的同時提高跟蹤效率,可應用于更多變的場景。在OTB2015上的實驗結果顯示,相比于基線ECO-HC,本文方法在光照變化的情況下成功率提高了1.6%,準確率提高了2.2%;在目標離開視場的情況下成功率提高了3.7%,準確率提高了3.4%。在本文實驗環境中平均幀率可達60 FPS。