CNN-tracking-文章導讀

1.MDnet:learning multi-domain convolution neural networks for visual tracking

MDnet是vot2015的冠軍paper,由韓國Postech的Bohyung Han發表,測試了代碼,在多個benchMark上的測試結果都比較好,但是速度比較慢,1fps,下面就開始介紹這篇paper的整體思路。他主要是用檢測的思想來做跟蹤,並針對跟蹤和檢測的區別提出offline訓練的fc爲多分支,online階段針對具體的跟蹤對象將fc替換爲一個分支,並用到了BBox迴歸。

  • 文章特點
    • 採用離線pre-train和online update.shared layer 爲offline train, unshared layer的parameter爲online train.
    • 在offline階段,fc6層有多個branches,每一個branch對應一種video/sequence[paper 中取名叫 domain-specific layers],即在進行train iteration時,每一次iteration,只有一個branch的fc6響應,所以需要每一次迭代的data-batch[文中叫mini-batch]要與相應的fc6_K相對應[原文爲:Each domain in MDNet is trained separately and iteratively while the shared layers are updated in every iteration]。
    • online階段,將fc6_1~fc6_K換爲一個fc6,然後固定conv的參數不變,訓練fc6的權重,病fine-tune fc4~fc5的權重。
    • online階段,訓練數據利用到hard negative的思想,將negative samples 排序,選取其中score大的樣本(更接近正樣本的negative samples).
  • details
  1. shared layer的訓練流程[offline train]如下圖:

 

紅色部分爲domain-specific layers,offline train 時,選取positive&negative的規則見paper的4.4節[也是根據IoU來選]。network並不深,文章分析了採用這種VGG-M network的原因:deep爲高級的語義特徵,淺層爲具有區分的特徵。

  1. 對於mini-batch迭代時與fc6對應問題:每次iteration只利用一個sequence[假設時第k個sequence]來生成mini-batch,並激活對應的fc6_k,其他的fc6_i被抑制,所以特別注意有這麼一個對應關係。
  2.  online 階段網絡調整:將Figure1中的紅色fc6_1 ~fc6_k統一換成一個fc6,因爲在tracking時,只用一個sequence。訓練時,固定conv的參數不變,訓練fc6的參數,並fine-tune fc4,fc5的參數。因爲原文中將conv3的輸出作爲特徵,並不是fc5的輸出作爲特徵,因爲fc5輸出的特徵更具有語義性。最後網絡輸出score
  3. online : 階段數據選取規則[hard minibatch]:原文The hard negative examples are identified by testing M− (>> M_h − ) negative samples and selecting the ones with top M_h- positive scores.利用Gaussion 分佈來選取候選框[translation],並做一定的scale處理[具體設置見paper]
  4. update策略:採用Long-term(T_l) & short-term(T_s)更新,原文:Long-term updates are performed in regular intervals using the positive samples collected for a long period of time while short-term updates are conducted whenever potential tracking failures are detected—when the estimated target is classified as background—using the positive samples in a short-term period。
  5. Bounding box regression:利用conv3出來的特徵做regression.paper 只是利用了first frame來train regressor[time cosuming].

2. Fcnt:Visual Tracking with Fully Convolutional Networks

由港中文王曉剛發表,調試了代碼,速度比MDnet快3倍左右,3fps.效果比MDnet差點,比一般的傳統算法較好。

  • 文章特點
    •  同樣時offline pre-trained
    •  主要探索了不同Layer的特徵具有不同的表達[基於VGG-net],toper layers 更多的時語義特徵,而lower更多的discriminative information。
    •  然後在探索了不同特徵影響之後,運用不同layers的feature map來做tracking.選擇某些層的feature map可以去掉一些干擾(其實就是想用高層的語義信息和底層的更有區別的信息的結合)
  • details
  1. 首先作者進行實驗說明不同layers的feature map 有不同的意義,toper layers 更多的類別信息[即語義信息,對應選取conv5_3的特徵],lower更多間內差別的信息[對應選取conv4_3的特徵]。並且發現特徵是稀疏的[很多背景的響應爲zores,所以用稀疏矩陣更好],所以作者利用第一幀的mask和卷積的特徵F,來計算稀疏矩陣C,之後,C固定,在之後的幀中,利用F和C來反求mask,公式如下:


         2. paper中提出的方法如下:

  • 步驟爲:
  1. 根據conv5_3和conv4_3篩選feature map(paper中4.1節有公式,更具對loss function的貢獻來選擇).因爲conv4_3和conv5_3有很多個channels的feature map 它要選擇一個最好的feature map 最爲對應Gnet和Snet的輸入。
  2. 利用conv5_3的特定feature map生成Gnet,conv4_3的特定feature map生成Snet,在Figure5中(c),(d)的兩層卷積是一樣的,Snet和Gnet的update策略不同(4.3節有update的策略,fix Gnet, update Snet very 20 frames,在更新Snet時,加入第一幀作爲監督,因爲只有第一幀是可信的)。
  3. 對於input,將候選區域(既有前景又有背景)crop後feed給VGG Net.
  4. 根據Snet和Gnet來確定跟蹤的結果(4.2節有Location的策略,mentor paper sharing時提到,其實就是求概率score的最大,寫paper時直接這麼寫太low)。

3. Learning to Track at 100 FPS with Deep Regression Networks

    這篇文章也是基於cnn的tracking,貌似這篇文章沒有被收錄。思想很簡單,下面說一下基本思想

  • 文章特點
  1. 針對以前有online的cnn-tracking,本問提出offline-cnn-tracking[就連最後的fc都是offline-cnn,可以看出此處會有些效果不好],由於時offline,所以速度很快,100fps.
  2. 網絡的輸出:t_frame 相對 t-1_frame的位移座標(相當於已經迴歸後的position)。
  • details
  • 訓練的流程圖如下:

 

圖中,current frame 的crop會比 previous frame的object region大一些(paper中有一個策略),Conv Layers採用的是AlexNet的minor版,卷積後,將current和previous的特徵輸出合在一起爲n*1的向量,然後fc層,最後以相對previous frame的center位置的平移向量(座標)爲輸出。其實就是比對後迴歸出相對移動,由於很簡單,就不多說了。


4.Online Tracking by Learning Discriminative Saliency Map with Convolutional Neural Network

    cnn-tracking的思路大同小異.

  • 文章特點
  1. paper採用RCNN特徵學習爲offline,以fc6輸出爲特徵,然後online的SVM分出正負sample
  2. 定位:利用SVM的weight和SVM分類出來的positive samples反投影爲Target-specific features,進而得到saliency map,利用Generative model來定位
  3. update SVM&Generative model.
  • details

        流程圖:

圖中,sample features是fc6層出來的特徵,這一步爲offline,在SVM時,正負樣本也是利用IoU來選取。

那麼怎麼利用SVM weights 和分類後的positive sample來獲取顯著圖呢,顯著圖的直觀意義爲:The class-specific saliency map of a given image I is the gradient of class score Sc(I) with respect to the image as:


上式求解過程見原paper,求解會用到SVM weight.最後利用概率求最佳位置。


5.DeepTrack: Learning Discriminative Feature Representations Online for Robust Visual Tracking

    由於時間關係,先上傳流程圖,有時間在補充每一步的細節。fps1.5~4.0

  • 文章特點
  1.  CNN online:注意有positive samples pool,從中挑選樣本來訓練,以及模型更新的策略,生成不同的cues
  2.  loss funtion
  3. SGD.
  • details(以後補充)

        輸出:2D,表示正負score,利用指數函數來增加score的差距

        cues之後的特徵合在一起

        輸入圖像灰度歸一化到[0,10]

        online 更新的策略:long-term和short-term,long-term從positive sample pool 中按照一定概率抽取,負樣本同理。

        最後按照mini-batch的誤差大小來確定是否更新模型。

   





發佈了60 篇原創文章 · 獲贊 26 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章