影象跟蹤與識別-KCF+DSST演算法簡單融合
阿新 • • 發佈:2018-12-17
一:KCF高速跟蹤詳解
本文的跟蹤方法效果甚好,速度奇高,思想和實現均十分簡潔。其中利用迴圈矩陣進行快速計算的方法尤其值得學習。另外,作者在主頁上十分慷慨地給出了各種語言的實現程式碼。
本文詳細推導論文中的一系列步驟,包括論文中未能闡明的部分。請務必先參看這篇簡介迴圈矩陣性質的部落格。
思想
一般化的跟蹤問題可以分解成如下幾步:
1. 在It幀中,在當前位置pt附近取樣,訓練一個迴歸器。這個迴歸器能計算一個小視窗取樣的響應。
2. 在It+1幀中,在前一幀位置pt附近取樣,用前述迴歸器判斷每個取樣的響應。
3. 響應最強的取樣作為本幀位置pt+1。
迴圈矩陣表示影象塊
在影象中,迴圈位移操作可以用來近似取樣視窗的位移。
訓練時,圍繞著當前位置進行的一系列位移取樣可以用二維分塊迴圈矩陣X表示,第ij塊表示原始影象下移i行右移j列的結果。類似地,測試時,前一幀結果附近的一系列位移取樣也可以用X表示。
這樣的X可以利用傅立葉變換快速完成許多線性運算。
線性迴歸訓練提速
此部分頻繁用到了迴圈矩陣的各類性質,請參看這篇部落格。
線性迴歸的最小二乘方法解為:
根據迴圈矩陣乘法性質,XHX的特徵值為x^⊙x^∗。I本身就是一個迴圈矩陣,其生成向量為
w=(Fdiag(x^⊙x^∗)FH+λFdiag(δ)FH)−1XHy
=(Fdiag(x^⊙x^∗+λδ)FH)−1XHy
根據迴圈矩陣求逆性質,可以把矩陣求逆轉換為特徵值求逆。
w=F⋅diag(1x^⊙x^∗+λδ)⋅FH⋅Fdiag(x^∗)FH⋅y
利用F的酉矩陣性質消元:
分號表示用1進行對位相除。
反用對角化性質:
w=C(F−1(x^∗x^⊙x^∗+λδ))⋅y
利用迴圈矩陣卷積性質F(C(x)⋅y)=x^∗⊙y^:
由於 x^⊙x^∗ 的每個元素都是實數,所以共軛不變:
F(w)=x^x^⊙x^∗+λδ⊙F(y)=x^