論文筆記之:Fully-Convolutional Siamese Networks for Object Tracking

Fully-Convolutional Siamese Network for Object Trackinghtml

Updated on 2018-11-19 10:17:29git

 

Paper: http://www.robots.ox.ac.uk/~vedaldi/assets/pubs/bertinetto16fully.pdf  github

Code-1: https://github.com/rafellerc/Pytorch-SiamFC  (PyTorch Implementation)   算法

Code-2: https://github.com/StrangerZhang/SiamFC-PyTorch (Train and Testing)  express

Code-3https://github.com/got-10k/siamfc (Training and Testing PyTorch code from GOT-10K tracking benchmark)網絡

Project Pagehttps://www.robots.ox.ac.uk/~luca/siamese-fc.html app

 

  摘要:任意目標的跟蹤問題一般是根據一個物體的外觀來構建表觀模型.雖然也取得了不錯的效果,可是他們這些 online-only approach 限制了模型能夠學到的模型的豐富性.最近,已經有幾個嘗試開始探索深度卷積網絡的強大的表達能力(express power).可是,當跟蹤目標提早未知時,須要在線的執行 SGD 來適應網絡的權重,嚴重的影響了系統的速度.本文中,咱們提出一種基本的跟蹤算法,端到端的進行全卷積孿生網絡的訓練,在 ILSVRC15 video object detection dataset 上進行訓練.咱們的 tracker 速度超過了實時,儘管看起來很簡單,可是仍然在 VOT2015 bechmark 上取得了頂尖的效果. dom

 

  引言:傳統的跟蹤算法都是在線的方式學習一個表觀模型 (appearance model), 可是,這只是相對簡單的學習到了簡單的模型.另一個問題就是,在計算機視覺當中,深度學習的方法已經被普遍的採用,可是因爲監督學習的數據和實時要求的約束,基於深度學習的應用並不普遍.幾個最近的工做目標在於意圖用預先訓練的深度卷積網絡來客服這個缺陷.這些方法要麼採用 shallow methods(如:correlation filters)利用網絡的中間表示做爲 feature;或者執行 SGD 算法來微調多層網絡結構.可是,利用 shallow 的方法並不能充分的發揮 end-to-end 訓練的優點,採用 SGD 的方法來微調卻沒法達到實時的要求.ide

 

  本文提出一種方法,利用預先 offline 學習的方法,訓練一個神經網絡來解決 general 類似性學習的問題,這個函數在跟蹤的過程當中簡單的進行評價.本文的核心貢獻點就是:這種方法在達到至關結果的同時,速度方面達到實時.特別的,咱們利用孿生網絡,在一個較大的搜索圖像內,來定位 exemplar image.進一步的貢獻是:該網絡是 fully-convolutional:稠密且有效的 sliding-window evaluation 的方法來計算兩個輸入的 cross-correlation.函數

  

  類似性學習的方法已經相對被遺忘,因爲跟蹤領域並不須要涉及到大量有標籤數據集.直至如今,現有的數據集相對而言,僅僅只有幾百個標註的 videos.然而,咱們相信 ILSVRC dataset 的出現對於物體檢測而來使得訓練這樣一個模型成爲可能.並且從 ImageNet 領域轉移到 跟蹤的benchmark是不一樣 domain 之間的轉換,對於在 ImageNet 上訓練,而後在 benchmark 上進行測試,並不存在所謂的不公平。

 

  Deep Similarity learning for tracking

  學習去跟蹤任意的物體,咱們經過類似性學習的方法來解決。咱們利用卷積神經網絡來解決類似性函數的學習問題。而且一般用 Siamese architecture 來充當深度卷積網絡。

 

 

  

  Fully-convolutional Siamese Architecture

  本文提出一種全卷積的孿生網絡結構, 咱們說一個網絡結構是 fully-convolutional,若是與 translation 有關。爲了給出更加精確的定義,咱們引入 $L_{\tau}$ 來表示轉移操做 $(L_{\tau}x)[u] = x[u-\tau]$。

  此處引入全卷積的優點在於:候選圖像的尺寸不必定非得大小相同。

 

  2.2 Training with large search images

  咱們才用一種判別的方法,在正負樣本對上採用最大似然估計進行訓練網絡:

  $l(y, v) = log(1+exp(-yv))$ 

  其中 v 是單個樣本候選對的 real-valued score, $y \in {+1, -1}$ 是其 gt label。咱們採用一個樣本圖像和一個較大的搜索圖像 來訓練咱們的全卷積網絡。這將會產生一個得分響應(a map of scores v),能夠有效的產生許多 examples。咱們定義一個 score map 的損失函數爲每個損失的均值:

   在 score map 上,對於每個位置 u ,須要一個 真正的label $y[u] \in {+1, -1}$。網絡的參數須要經過 SGD 的方法進行訓練,解決以下問題:

  像圖2中所展現的那樣,從標註的 video 數據集上,經過提取 exemplar 和 search images 獲得的 Pairs,是在 target 中心的。從一個 video 的兩幀上獲得的 images 包括物體,最多相隔 T 幀。在訓練的過程當中,不考慮物體的類別。物體的尺寸處理,本文的方法可謂比較合理,像圖中所示的那樣,對圖像進行填充,而不會損失物體尺寸上的信息。

  

 

  若是 score map 的元素知足以下的條件,則認爲該物體屬於 positive examples:

  

  

  在 Score map 上獲得的正負樣本的損失進行加權以消除類別不平衡的問題。

  

 

  2.3 ImageNet Video for tracking. 

  Dataset curation

  本文利用 ImageNet video 進行 offline 的訓練。這個數據集有 80多G 標註好的 video。

  實際上要先對這些數據進行處理,主要包括:

  1. 扔掉一些類別: snake,train,whale,lizard 等,由於這些物體常常僅僅出現身體的某一部分,且常在圖像邊緣出現;

    2. 排除太大 或者 過小的物體;

  3. 排除離邊界很近的物體。

 

  


  實驗結果:

  

 

================ 

相關文章
相關標籤/搜索