KCF演算法學習筆記

2021-08-06 06:22:05 字數 1203 閱讀 9651

博主正準備往tracking方向入坑,在師兄推薦下學習kcf演算法,據說是目前最流行的online visual tracking演算法。

**:j. f. henriques, r. caseiro, p. martins, j. batista, 『high-speed tracking with kernelized correlation filters』

從**所展示的實驗效果來看,確實在速度方面有很大的提公升,172fps達到真正意義上的實時,並且在準確率方面也有一定的提公升。下面將進行簡單的演算法分析。

使用迴圈矩陣是kcf演算法速度提公升的關鍵

如圖所示對於乙個實際的檢測目標,在紅色虛線的框所確定區域為目標區域,該區域為正樣本(x

i,1)

,而通過迴圈產生的周圍其他顏色的區域為負樣本(x

i,−1

) ,訓練的目標是找到合適的權重w使得 f(

xi)=

wt⋅x

i=yi

因此得到正則化的優化目標為: m

inwς

i(f(

xi)−

yi)2

+λ∣∣

w∣∣2

使用矩陣表示得到最小二乘解為: w

=(xh

x+λi

)−1x

hy**中使用迴圈矩陣傅利葉對角化方法優化上述運算,避免了求逆運算,迴圈矩陣對角化: x

=c(x

)=f⋅

diag

(x^)

⋅fh

具體關於迴圈矩陣、其傅利葉對角化和相應性質可參考這篇部落格:

迴圈矩陣傅利葉對角化

優化得到 w

=f−1

(x^⊙

y^x^

⊙x^∗

+λδ)

f(xi)

的響應最大,那麼該位置設為目標位置,如此求得在新一幀當中前景位置。

原理如上所示,關於文章中其他內容以及總結,可參考這篇部落格:kcf目標跟蹤方法分析與總結

演算法 學習筆記

1.輸入輸出演算法至少有乙個或多個輸出 2.有窮性 3.確定性 4.可行性 1.正確性a.演算法程式沒有語法錯誤 b.演算法程式對於合法的輸入資料能夠產生滿足要求的輸出結果 c.演算法程式對於非法的輸入資料能夠得出滿足規格說明的結果 d.演算法對於精心選擇的,甚至刁難的測試資料都有滿足要求的輸出結果...

演算法學習筆記

複雜度分析 1.只關注迴圈次數最多的一行 2.總複雜度等於量級最大 的複雜度 3.巢狀 的複雜度等於巢狀 內外複雜度的乘積 單鏈表結構和順序儲存結構的優缺點 儲存分配方式 時間效能 空間效能 單鏈表結構 用一組任意的儲存單元存放線性表元素 查詢 o n 插入和刪除 找到某位置的指標後,插入和刪除的時...

演算法學習筆記

影象分割是機器視覺後續處理的基礎,通過分割提取影象中的目標區域,方便後續進一步分析處理。分水嶺分割演算法 傳統的分水嶺演算法,是基於數學形態學的分割方法。其基本思想是,將2d影象視為3d地形 其中,畫素的座標 地形的位置,畫素的灰度 地形的高度 每乙個區域性極小值及其周圍區域稱為集水盆地,而集水盆地...