1. 程式人生 > >目標跟蹤學習演算法DSST

目標跟蹤學習演算法DSST

原文:http://blog.csdn.net/gxb0505/article/details/52601613?locationNum=8

簡介(Accurate Scale Estimation for Robust Visual Tracking)

       DSST(Discriminative Scale Space Tracking)在2014年VOT上奪得了第一名,演算法簡潔,效能優異,並且我上一篇所述的KCF奪得了第三名,兩者都是基於濾波器的演算法,這一年是CF義軍突起的一年,值得研究這些相近的優秀演算法。這篇演算法是基於MOSSE的改進,突出內容是加入了尺度變換,下面開始逐一講解演算法內容。

相關濾波器

  首先講一下MOSSE提出的相關濾波器,從目標中提取一系列的影象patches,記為f1,f2,...ft作為訓練樣本,其對應的濾波器響應值為一個個高斯函式g1,g2,...gt,而目的就是找到滿足最小均方差(Minimum Output Sum of Squared Error)的最優濾波器: 

ε=j=1t||htfjgj||2=1MN||HtFjGj||2(1)
其中第二個等號根據Parseval定理匯出,等式左側是空域的方程式,右側是頻域的方程式,正正是這個等式,使得我們將問題求解變換到頻域裡求解,ε的最小值在頻域裡的解如下:
H
t
=tj=1GjFjtj=1FjFj
(2)

一般而言,gj可以是任意形狀的輸出,這裡的輸出gj是高斯型的函式,峰值位於中心處。這個方法的技巧或者目的在於:一是運算簡潔,基本都是矩陣運算;二是引入快速傅立葉(FFT)大大加快運算效率。這即是相關濾波器被應用在Tracking並獲得較好效果的原因,滿足了對速度的一大需求。
在得到上述相關濾波器後,對於新的一幀中的候選輸入樣本z,求相關得分y: 
y=1(HtZ)(3)
y取最大響應值時對應的位置z為新的目標位置。

演算法思想

  演算法設計了兩個一致的相關濾波器,分別實現目標的跟蹤和尺度變換,定義為位置濾波器(translation filter)和尺度濾波器(scale filter),前者進行當前幀目標的定位,後者進行當前幀目標尺度的估計。兩個濾波器是相對獨立的,從而可以選擇不同的特徵種類和特徵計算方式來訓練和

測試。文中指出該演算法亮點是尺度估計的方法可以移植到任意演算法中去。


這裡寫圖片描述

演算法流程:如上圖所示,通過左側的影象patch目標提取的特徵F和右側的高斯型函式G,應用式(2)得到一個相關濾波器H。然後在下一幀將測試的影象patches提取特徵Z作為輸入,與相關濾波器H按照式(3)進行運算,得到響應值y最大的候選目標,所以演算法很簡潔。
該演算法將輸入訊號f(影象中的某一個patch)設計為d維特徵向量(可選gray,hog),通過建立最小化代價函式構造最優相關濾波器h,如下:
ε=||l=1dhlflg||2+λl=1d||hl||2(4)
其中,l表示特徵的某一維度,λ是正則項係數,作用是消除f頻譜中的零頻分量的影響,避免上式解的分子為零,如下:
Hl=GFldk=1FkFk+λ=AltBt(5)
由於patch中的每個畫素點需要求解dxd維的線性方程,計算非常耗時,為了得到魯棒的近似結果,對上式中分子Alt和分母Bt分別進行更新:
Alt=(1η)Alt1+ηGtFlt
Bt=(1η)Bt1+ηk=1dFktF