丁健偉
(四川大學計算機學院,成都610065)
隨著視頻監控設備地發展,目標跟蹤正逐步應用于各個領域,但在實際跟蹤場景中,目標會受到外觀和尺寸變化、運動狀態變化、背景干擾、遮擋及消失等情況的影響,造成跟蹤精度和成功率不高,不能做到有效地長期跟蹤,使其應用受到限制。因此,在復雜情況下,提高目標跟蹤的精度和成功率則是當下研究的重要方向。
在2010 年Bolme 等人提出基于相關濾波的目標跟蹤算法(MOSSE)[1],算法在訓練相關濾波器時采用對目標框進行仿射變換,增加訓練樣本數量,并采用實際相關輸出和期望相關輸出之間的平方誤差總和的方法訓練相關濾波器。在2012 年Henriques 等人提出循環矩陣和嶺回歸方法訓練相關濾波器(Circulant Structure Kernel,CSK)[2]相比MOSSE 算法,使用循環矩陣的方法,增加了樣本數量,并訓練相關濾波時引入嶺回歸方法,減少了計算量并且跟蹤效果更優。在2015 年Henriques 等人在CSK 算法的基礎上引入HOG 多通道特征訓練相關濾波器(Kernelized Correlation Filters,KCF)[3]MOSSE 算法和CSK 算法都是采用的是原始圖像的灰度像素值作為特征,特征相對單一,影響了跟蹤器的性能,使得跟蹤效果不理想。KCF 算法是采用多通道HOG 特征,將不同通道得到的圖像邊緣梯度信息向量相加,跟蹤性能得到了提升。在2012 年,Zdenek 等人提出TLD(Tracking Learning Detection)算法,利用在線學習機制解決了長期跟蹤的穩定性問題[4]。算法的關鍵點在于跟蹤和檢測同時進行,相互配合,從而可以減少了跟蹤失敗的情況出現,但應對復雜情況下的跟蹤的精度和成功率仍有待提高。由此可見,要想提高目標跟蹤的精度和成功率,需要對濾波器的特征表達、訓練方法,以及如何應對長期跟蹤過程中的目標變化等因素進行研究。
本文算法對相關濾波的特征表達、訓練方法進行改進,并將相關濾波和粒子濾波相融合作為跟蹤器。同時設計跟蹤狀態判斷模塊,對跟蹤預測框進行狀態判斷,若判斷跟蹤失敗,則對跟蹤目標的進行重定位,確保了跟蹤算法的魯棒性。

圖1 本文算法框架
本文算法對相關濾波器的特征表達和訓練方法進行改進,由于快速方向梯度直方圖(FHOG)特征對目標形變具有較強的魯棒性,顏色(CN)特征對跟蹤過程中顏色變化具有較強的魯棒性,故首先采用FHOG 特征和CN 特征融合為多通道特征作為樣本的特征表達,然后采用通道權重自適應方法訓練相關濾波器。
傳統的多通道特征是將每一維的特征簡單相加得到,對每個通道的特征等同對待,在相關濾波器計算相關響應時,會使得具有較高分辨能力的通道特征容易受到分辨力率低的特征影響,從而影響目標整體的特征表達。因此,若想更加準備表觀目標特征,需要對每維特征通道進行全局權重占比分析,若通過計算分析,該通道具備較高分辨能力的話,則賦予較高權重,否則,賦予較低權重,其中分辨能力是指是否可以明顯地區分目標與背景區域,在相關濾波中,每個通道的濾波器在不同區域的響應值差距大小,可直觀反映該通道特征的分辨能力。
每個通道的辨別能力反映在其各個主區塊的響應值上,采用一個通道中主區塊的第二大響應值與最大響應值的比率表示一個通道的重要程度,若比值較小說明該通道具有較高的分辨能力,權重應增大,否則,權重應減小。權重指標的計算方法為:

其中,wk是指計算得到第k 個通道的權重,k 表示通道數量,第二大響應值與最大響應值的比率,‘1/2’是指為了在多個相似物體出現在目標周圍時,使得通道具有正確判斷目標的能力的人工預設閾值。
采用自適應多通道相關濾波器的最小化式進行訓練并更新[5]:

其中,xk∈RD和hk∈RD表示的是第k 個通道的循環位移矩陣和濾波器,k 表示濾波器的數量,y ∈RD是最大相關響應,?代表的是空域中的相關操作。此處為防止過擬合,使用正則化方法,λ 是正則項。
為了使得計算效率提高,可采用傅里葉變換,使其在頻域中表示為:

其中,h∧=是每個通道的傅里葉變換的K×D 維矢量,可簡化為:


求解可得:

其中:

為了提高在長期跟蹤過程中,對跟蹤目標尺度變化的抗干擾性。本文提出將改進相關濾波器和粒子濾波器相融合作為跟蹤模塊。粒子濾波的理論基礎是序列重要性采樣,在狀態空間中釋放大量和當前目標狀態有關的帶權離散隨機粒子,將每個粒子的狀態和當前目標的狀態相比較,給予相似度高的粒子更大的權重,將權重最大的粒子定義為下一時刻的目標,重新釋放粒子,不斷重復此過程。利用粒子濾波對目標周圍進行重要性采樣,通過計算粒子與相關濾波器的相關響應值,找到最大相關響應所對應的粒子位置,即為預測框,并對粒子進行重采樣,不斷重復此過程,達到跟蹤的目的。濾波融合的具體步驟為:
步驟一:初始化每個粒子的狀態和權重。
步驟二:對每個粒子,將其坐標使用高斯隨機分布計算出某個新位置,將粒子轉移到該新位置。
步驟三:對于新位置的粒子,對其進行前文所述的多通道特征提取,作為其表觀模型y。
步驟四:計算每個粒子與相關濾波器的相關響應值,其計算公式為:

其中,Rn為第n 個粒子的相關響應值,hk為第k個相關濾波器,yn為第n 個的表觀模型,xˉ為跟蹤目標的表觀模型。
步驟五:找到相關響應值最大的粒子所對應的位置,即為跟蹤預測框。
步驟六:將N 個粒子的相關響應值進行歸一化,使其和為1,也就是轉化為每個粒子的權重。
步驟七:對粒子進行重采樣,剔除權重較小的粒子,更新粒子的權重。
步驟八:重復步驟二到步驟七。
本文算法設計跟蹤目標重定位模塊,當發生目標跟蹤丟失,能快速重定位跟蹤目標。在跟蹤過程中,采用跟蹤相應指標對跟蹤器得出的預測目標進行狀態判斷。跟蹤響應指標APCE(Average Peak-to Correlation Energy,平均峰值震蕩程度)[5],當跟蹤正常時,相關濾波器中噪聲較少,相關響應圖中呈波峰尖銳、波谷平坦狀,且極大值與極小值相差較大,而當跟蹤異常時,干擾較多,響應極值的差較小。APCE 計算方法如下所示:

其中Rmax代表最大相關響應值,Rmin代表最小相關響應值,R(w,h)代表在( )
w,h 位置上的相關響應值。
當APCE 值在一定閾值范圍內時,表示跟蹤成功,輸出跟蹤結果,否則,將當前幀定義為關鍵幀,對跟蹤目標進行重定位。首先采用尺寸為w×h×s 的搜索框,對當前幀進行從左到右,從上到下地掃描,其中,w,h為上一幀目標框的長和寬,s 為縮放因子,s=1.1a,a=( - 10:1:10 ),橫向掃描步長為,縱向掃描步長為,再掃描完成后,調整縮放因子大小,重復進行掃描,得到不同位置和不同尺寸的候選圖像塊集。將之前保存跟蹤成功目標框的圖像塊集作為訓練集,同時將候選圖像塊集與訓練圖像塊集的尺度統一到最近跟蹤成功目標框的尺度,并進行歸一化。利用KNN(K-最近鄰分類算法),找出最相似目標的圖像塊作為當前幀跟蹤目標框。
本文提出的算法步驟如下,算法流程如圖2 所示。

圖2 本文算法流程圖
步驟一:初始化視頻流,人工標定第一幀圖像的目標框,利用此目標框初始化跟蹤模塊中的相關濾波器和粒子濾波器。
步驟二:在跟蹤模塊中,將相關濾波器和粒子濾波器融合,計算粒子的相關響應值,找到最大相關響應值所對應的粒子,即預測框。
步驟三:在狀態判斷模塊中,計算其預測框的跟蹤響應指標值,來指示跟蹤狀態。若跟蹤成功,執行步驟四,五,若跟蹤失敗,執行步驟六,七,八。
步驟四:則將當前預測框作為目標框輸出,并用于更新跟蹤模塊中的相關粒子濾波器和存入目標圖像的訓練圖像塊集,以備進行重定位。
步驟五:將當前幀進行不同尺度、不同位置地采集圖像塊,作為候選圖像塊集。
步驟六:將訓練圖像塊集與候選圖像塊集的圖像塊尺度大小統一到同一尺度并做歸一化操作。
步驟七:利用機器學習KNN 算法與訓練圖像塊集找出候選圖像塊集中最相似目標的圖像塊作為當前幀的跟蹤目標框。
步驟八:重復步驟二到步驟八。
實驗硬件環境為Intel i5-6400 CPU,主頻為2.7GHz,內存為16G 的計算機,算法開發平臺為MATLAB R2016a。實驗采用OTB[6]數據集進行實驗,數據集中有不同場景的視頻序列,其包含運動模糊、光照變化、目標形變、背景干擾、局部遮擋、目標消失、尺寸變化等場景,并使用跟蹤精度和跟蹤成功率兩個指標對跟蹤結果進行評價。
本文算法在OTB 數據集上與經典的相關濾波跟蹤算法KCF、SRDCF[7]、MEEM[8]、CSRDCF[9]、Staple[10]算法進行對比實驗,其跟蹤精度和跟蹤成功率如表1 所示。
實驗結果表明本文算法的跟蹤精度達到了82.7%,跟蹤成功率達到了62.3%,相比與其他經典的基于相關濾波目標跟蹤算法,文本算法具備較為優異的跟蹤精度和跟蹤成功率。
為了對比算法性能,文本算法與經典的長期跟蹤算法TLD 和LCT[11]算法進行對比實驗,其跟蹤精度和跟蹤成功率如表2 所示,LCT 是在TLD 算法上進行的改進,相比TLD 來說,其長期跟蹤性能更為優異。

表2
實驗結果表明,本文算法在跟蹤精度上,比TLD 算法高出21.9%,在跟蹤成功率上比比TLD 算法高出18.6%,總體來說跟蹤性能優異。在OTB 數據集中的視頻序列中,本文算法能更有效地在目標信息出現干擾時,長期準確地跟蹤目標。
本文提出一種改進核相關濾波的目標跟蹤算法,該算法對濾波器的特征表達和訓練方法進行改進,并針對跟蹤目標尺度變化時,跟蹤性能較差的情況,將相關濾波和粒子濾波融合作為跟蹤器,提高了濾波器的跟蹤性能,引入跟蹤狀態判斷機制,能有效并及時地反饋跟蹤狀態,并且在跟蹤目標失敗時,能夠對目標進行重定位。實驗結果表明,本文提出的算法在跟蹤精度和成功率上具有較高水平。另外,需進一步研究如何降低計算成本問題,以提高跟蹤的實時性。

表1