首先看下MD大神2015年ICCV論文:Martin Danelljan, Gustav Häger, Fahad Khan, Michael Felsberg. "Learning Spatially Regularized Correlation Filters for Visual Tracking." ICCV (2015).
【code: https://www.cvl.isy.liu.se/research/objrec/visualtracking/regvistrack/】
一、相關濾波跟蹤算法原理回顧
相關跟蹤的核心就是濾波器filters的求解,從MOSSE到KCF再到SRDCF,濾波器的模型越來越復雜,計算速度越來越慢,使得相關濾波在計算速度上的優勢越來越不明顯。


如上述公式所示,我們希望找到一個濾波器模板,可將樣本進行濾波操作,得到響應結果,通過響應就能找到跟蹤目標所在位置。因此問題就在怎么找到這個濾波器。轉換成數學的線性規划或者二分類問題,就是求解高維映射下的嶺回歸問題。
二、存在問題
傳統的相關濾波方法,通過濾波器求解響應最高位置,即為跟蹤目標所在位置,公式求解通過傅里葉變換轉到頻率域可極大簡化運算速度,甚至實現算法的實時性。但在傅里葉變換過程中,會將處理的圖像窗口邊緣進行循環拼接,這就導致邊緣處不連續,便產生邊緣效應。
三、SRDCF解決思路
主要貢獻:
1、在KCF/DCF基礎上改善了boundary effects,加入懲罰項[spatial regularization function that penalizes(懲罰) filter coefficients residing outside the target region].
2、不同的scale搜索,處理尺度的問題(暴力的分為指定個尺度,依次匹配)。
3、在求解corelation filters時,利用iterative Gauss-Seidel method在線學習。
4、融合多種特征:利用HOG(31維特征)和CN(11維特征)共計42維特征。
主要在於第一點:SRDCF將圖像信號x盡量取大一些的尺寸,保留目標更多的真實信息,然后再通過一個空間權值系數w來懲罰距離目標中心比較遠的樣本。
對上述公式進行求解,作者用的Gauss-Seidel來迭代求解,我覺得這個迭代方法很一般,速度很慢,SRDCF計算速度在4fps左右,達不到實時跟蹤的要求,不如ADMM(可參考知乎《交替方向乘子法(ADMM)算法的流程和原理是怎樣的?》)。故就不做詳細說明了。


四、公式推導(引自知乎用戶)

接着如下:

由第一幀的groundtruth可以計算第一幀的情況:

隨后進行迭代。
五、效果與待解決問題
正則項 www 用二次函數來構造:
w(m,n)=μ+η(m/P)2+η(n/Q) 2
1.P×QP\times QP×Q 表示目標尺寸
2.w的最小值 μ=0.1
3.正則化影響因子 η=3


4.實際上頻域下的 w只有幾個值有較大的幅值,如下圖所示。為保證 wˆ的稀疏特性,設置閾值來移除較小的值,結果包含約10個非零值。
5.HOG特征,cell大小為 4×44,特征大小為 M×N(M=N)
6.樣本區域是目標區域的 4^2
7.初始尺度的樣本M=50
8.學習率 γ=0.025,Gauss-Seidel迭代次數 NGS=4
9.在普通台式機matlab環境下5FPS
六、ADMM求解SRDCF
參見文章《相關濾波跟蹤算法中ADMM的使用》,代碼可下載。

