石昌森,侯 巍,楊琳琳,楊詩博
1(河南大學 人工智能學院,開封 475001)
2(河南大學 計算機與信息工程學院,開封 475001)
視頻目標跟蹤是指對圖像序列中機動目標進行檢測、提取、識別和跟蹤,以獲得機動目標位置、速度、加速度、運動軌跡等運動參數,從而對機動目標進行進一步處理與分析的過程[1].隨著計算機運算能力和存儲能力的迅速發展及大數據分析需求的逐漸增大,視頻跟蹤技術在交通控制[2]、視頻檢索[3]、人機交互[4]等方面有了廣泛應用.早期的目標跟蹤算法主要根據目標建模或對目標特征進行跟蹤,主要的方法有基于目標模型建模方法與基于搜索的方法[1].特征匹配法是常用的基于目標模型建模方法,首先提取目標特征,然后在后續幀中找到最相似的特征進行目標定位;均值漂移(mean-shift)算法[5]是常用的基于搜索的方法,該方法利用圖像特征構造概率密度函數,由梯度方向搜索局部最大值作為目標位置.由于在新近的較有挑戰的數據集例如VOT2018 或者大規模數據集TrackingNet上,傳統跟蹤算法達不到實際要求,而深度學習因為其強大的特征提取能力以及端對端的訓練模式慢慢受到了廣泛關注.近年來越來越多基于深度學習的跟蹤方法被相關學者提出,Chao 等[6]將深度學習網絡及自適用相關濾波器結合,提出了ECO(efficient convolution operators for tracking)算法,該算法在速度和精度上都有較好的表現.Wang 等[7]使用Transformer[8]深度學習跟蹤器將不同時刻視頻幀橋連起來,傳遞了豐富的時序信息,該算法在最新數據集上有很高的速度與精度.
在對視頻中目標跟蹤過程中不可避免會存在目標快速移動問題,即對視頻序列中機動目標進行跟蹤時,如果跟蹤目標在前后兩視頻幀間位移超過20 個像素點,則被認為是快速移動[9].此時目標可能超出了搜索范圍或移動到了搜索范圍邊界,導致丟失目標的情況,進而跟蹤失敗.目標位置預測是解決機動目標快速移動問題的首要難點,雖然卡爾曼濾波算法可以快速預測目標位置,但是不能很好地解決機動目標運動過程中存在的非線性情況,而粒子濾波算法具有解決非線性問題的特性,對非線性運動過程有較好的預測效果.Nummiaro 等[10]提出了基于顏色特征的粒子濾波跟蹤(particle filter,PF)算法.PF 首先在目標區域提取顏色特征,然后散播粒子,計算每個粒子的權重,最后根據粒子位置及權重預測目標位置.PF 提取目標區域顏色特征,得到豐富的特征信息,可以有效地對非剛性和快速移動目標進行跟蹤,而且在遮擋以及復雜環境情況下也有較好的魯棒性.然后對目標位置進行修正,為了正確跟蹤目標,修正算法需要有較高的速率及準確率,深度學習方法準確率高但運行時間過長.Bolme 等[11]設計了MOSSE(minimum output of squared error )濾波器,將計算由時域轉換到頻域,提供了運算速度,對信號相關性的求解保證了算法精度.MOSSE 雖然運算速度快,但不能直接對快速移動的機動目標進行跟蹤.Henriques 等[12]在MOSSE 基礎上引入循環矩陣及核函數,提出CSK(circulant structure of tracking-bydetection with kernels)算法.精度上相對于MOSSE 有了很大提升,但CSK 特征選取比較單一,而且對快速移動情況沒有處理,很難直接跟蹤快速移動的機動目標.Henriques 等[13]在CSK 的基礎上改變灰度特征提取為FHOG 特征提取,同時加入核方法,提出了KCF(kernel correlation filter)及DCF(dual correlation filter)算法,KCF 對應非線性核,DCF 對應線性核.Li 等[14]在KCF 的基礎上將單一特征選擇擴展為多個特征選擇,并添加了尺度池,提出了SAMF(scale adaptive with multiple features tracker)算法.SAMF 算法雖然精度相對于KCF 有些許提升但是速度比較慢,所以這里選擇KCF 作為修正算法.最后針對機動目標在視頻中由于快速移動問題導致的形變、模糊問題,融入零截距以及平均峰值相關能量.實驗結果表明,新方法在公開數據集OTB100 與UA-DETRAC 上都有較高的識別率.







式中,k表示一個大于1 的常數,M00/256表示搜索框中屬于目標的像素點個數[25],目標框的長度為 ηs( η為目標框長寬比例系數).

圖1 KCF-PF 流程圖
由于機動目標在快速運動過程中很容易出現模糊情況,如果對此不進行處理,會在每一幀更新的模板中加入背景擾動,最終影響跟蹤精度.針對該問題,首先利用APCE對目標狀態估計:

其中,Fmax與Fmin表示響應矩陣中最大、最小值.
然后APCE與預先設定閾值Thr1比較,當APCE大于Thr1時正常跟蹤,小于Thr1時停止更新模板,直至當前幀APCE大于Thr1后對目標重跟蹤.
考慮到跟蹤過程中時間與空間的連續性,如果僅丟失一幀,目標不會移動很遠,可以在上幀目標位置周圍搜索,但當連續幀丟失目標時,目標可能位移到任何位置,此時需要擴大搜索范圍.傳統的遍歷搜索方法花費時間長,為減少重跟蹤時長,將視頻幀劃分成n個不重疊區域,用倒金字塔搜索方式進行重跟蹤.倒金字塔搜索方式的迭代公式及步長計算公式如下:

其中,x、y表示橫縱坐標,式(21)中的上下兩式分別表示沿著x、y方向的搜索迭代公式,Pos(·,·)表示搜索位置坐標,Step(·,·)表示搜索步長,i表示區域編號,τ表示常數.
為了更好地解釋倒金字塔跟蹤方式,假設只有3 個分區,分區圖如圖2所示.

圖2 倒金字塔搜索方式分區圖
根據上次正確跟蹤地目標位置為中心劃分區域,距離中心越遠搜索步長越大,第一分區是距離目標最近的搜索區域,在第一分區進行搜索時步長最短.第二分區步長是第一分區的二倍,第三分區步長是第二分區的二倍,公式如下所示:

為了對KCF-PF 算法量化評價,引入OTB 數據集兩個評價標準:精確度(precision plot)以及成功率(success plot),下面分別對兩個評價標準進行簡介.
(1)Precision plot:跟蹤過程中,算法估計出的目標位置稱為預測值,人工標注目標位置為真實值,兩者的差值小于閾值的幀數占總幀數的百分比就是精確度.一般選擇20 個像素點作為閾值,給定的閾值不同,求出的precision plot 也不同.
(2)Success plot:成功率的計算用到了覆蓋率公式:

其中,BT表示運行算法得到的目標框,BG表示真實目標框,Area表示面積統計函數.如果覆蓋率大于給定閾值,表明此幀成功跟蹤,成功跟蹤的幀數占總幀數的百分比,即成功率.一般閾值設定為0.5,給定閾值不同,success plot 也不同.
為了更好地驗證新方法的準確性,設置了兩組參數在不同的數據集上進行實驗,實驗參數如表1所示.

表1 實驗參數
Jogging 中部分視頻幀與APCE關系如圖3所示.

圖3 目標狀態分析
對圖3 左邊跑步女人分析,第3 幀沒有遮擋及模糊情況,此時APCE大于30.第74 幀目標被遮擋,此時APCE小于10.接著對OTB100 中多個存在模糊、遮擋的視頻分析后得到表2.

表2 目標狀態與APCE關系表
根據以上分析,為了更好地運用歷史信息并減少模糊、遮擋的影響,得到新的模板更新策略如下:

其中,μ表示常量,mel表示模板矩陣.更改模板更新策略后的KCF-PF 與其他算法性能比較如圖4所示.

圖4 算法性能比較
與Meanshift、PF、KCF、SAMF 相比,KCF-PF在UA-DETRAC 及OTB100 數據集上有更高的識別率,具體提升如表3 和表4所示.

表3 UA-DETRAC 數據集的實驗結果(%)

表4 混合OTB100 與UA-DETRAC 數據集的實驗結果
6.3.1 定性分析
本節選取UA-DETRAC 視頻數據集中兩個視頻片段進行定性分析.圖5 與圖6 為跟蹤效果圖,其中紅色框是KCF-PF,黃色框是SAMF,綠色框是KCF,黑色框是PF,藍色框是Meanshift.由圖5 與圖6 可以看出隨著目標車輛的快速移動SAMF、KCF、PF、Meanshift都丟失了目標,而KCF-PF 可以對目標準確跟蹤.

圖5 由遠及近車輛跟蹤效果

圖6 側拍車輛跟蹤效果
6.3.2 定量分析
本節對UA-DETRAC 以及OTB100 數據集進行定量分析,結果如圖7所示.其中圖7(a)與圖7(b)是在10 個有快速移動情況車輛行駛序列中進行算法對比的結果;圖7(c)與圖7(d)是在25 個車輛行駛視頻序列中進行算法對比的結果;圖7(e)與圖7(f)是在OTB100數據集中算法對比的結果;圖7(g)與圖7(h)是在混合了OTB100 與UA-DETRAC 數據集中算法比較的結果.


圖7 定量分析圖
視頻機動目標快速移動問題一直是目標跟蹤問題中的難點,結合粒子濾波以及核相關濾波算法的優點,提出首先由粒子濾波算法預測目標位置,然后核相關濾波算法修正目標位置的新方法,在一定程度上解決了快速移動問題.針對形變問題加入了零截距,實現了對快速移動形變機動目標的跟蹤,在原模板更新策略的基礎上融入平均峰值相關能量,更好的利用了歷史信息.實驗結果表明,新方法可以有效地跟蹤快速移動的機動目標.