1. 程式人生 > >相關濾波-幾篇文章

相關濾波-幾篇文章

轉載至:http://blog.csdn.net/ben_ben_niao/article/details/51364323

上次介紹了SRDCF演算法,發展歷史軌跡為CSK=>>KCF/DCF/CN.鄙人首先介紹最基本的CSK演算法,其實在上一篇已經提過,但是原理,思路講的不清晰,這次爭取把思路講清楚。

CSK:[paper:Exploiting the Circulant Structure of Tracking-by-detection with Kernels(作者和KCF/DCF同一個作者)]

  • 文章特點:
    • 輸入:整個候選search區域的raw pixel(作為特徵,並不是每個候選框),label(y_i),label為符合Gauss分佈的連續取值
    • 目的:訓練一個分類器,學習分類器的權重W。 
    • 求解分類器的權重W,探究了subimage_window和circular struct以及kernel的關係,利用這個關係引入kernel Trick. 
    • 利用cirlular matrix和來求解分類器的權重,利用FFT以及迴圈矩陣的性質,避免了求W時的矩陣逆運算。    
    • 輸出:相對平移量,實驗選區響應值最大的位置作為目標移動的大小。
  • 缺點:
    • scale問題。   
    • 迴圈矩陣bounding效應(SRDCF解決)。    
    • 輸入為raw gray pixel(KCF,CN,DeepSRDCF豐富了特徵的選取). 
  • details
    • 首先,候選框subimage_window存在很多重合,計算特徵導致冗餘。所以為了滿足一定的速度要求,無法Dense sampling,只能random sampling少許,導致結果不好。    
    • 發現,所有subimage_window可以有候選區域和迴圈矩陣來表示。設候選區域的特徵連線為vector:V,迴圈矩陣為如下:

all_subimage_window = C(u)V,其實就是一個kernel變換,從候選區域中得到子區域。其實C(u_i),為(1,1,0. ...)等。其實這裡作者只是以此說明這個關係,具體在程式碼中使用時卻沒那麼複雜。

 有了上面的發現,則回到tracking問題,跟蹤其實就是訓練一個分類器:

 其中w為分類器的係數,需要學習。引入kernel trick(get the subimage_window):

如果式(1)中的loss function:L取二範數距離,則求解的結果為:

進而轉化為求a_i,公式如下:


其中最為關鍵的是求K為迴圈矩陣,而選擇好對應的核變換函式(線性核,高斯核,多項式核)即可求K,從而得到a_i,及分類器的權重。利用FFT變換,將卷積變換為頻域的dot-product,加快速度。

  •  核函式的選舉有多種,具體看原paper.所以通過這一步一步從而求解出分類器。

KCD/DCF[paper:High-Speed Tracking with Kernelized Correlation Filters],和CSK是同一個作者

這篇文章核心演算法同CSK,只是從特徵和多尺度以及核變換進行了改進。

  • 在CSK的基礎上解決了如下幾個問題:
    • 輸入為multi-channels(可以是彩色,可以是Hog),並定義了multi-channel特徵的連線方法。    
    • 採用不同函式,Gauss核函式,paper叫KCF,採用linear kernel時,paper取名叫DCF,其中DCF由於採用的linear-kernel,所以multi-channel合併時有優勢,速度比KCF快,效果差一點點。
  • detail

多通道特徵連線,由於卷積在頻域是dot-product的求和,所以將不同channels的特徵vector連線在一起為一個vector即可。multi-channel特徵可以是彩色,也可以時Hog和及其方向的不同channel.如果時Gauss核(KCF)則核函式計算如paper中式(31),如果時線性核(DCF)則根據式(32)計算。paper中分析了速度方面的影響,linear-kernel的DCF更簡單,所以速度更快。

CN[paper:Adaptive Color Attributes for Real-Time Visual Tracking]

  • 在CSK的基礎上,將輸入變為11個顏色空間,具體略

SRDCF見以前的博文

  • 在kcf上解決scale[多尺度搜索]和bounding effect[加入懲罰項]

DeepSRDCF

  • 在SRDCF基礎上 用CNN來提取特徵[CNN第一層輸出作為特徵]