論文筆記之:Learning Multi-Domain Convolutional Neural Networks for Visual Tracking


 Learning Multi-Domain Convolutional Neural Networks for Visual Tracking

CVPR 2016

Project pagehttp://cvlab.postech.ac.kr/research/mdnet/ 

Paper:  https://arxiv.org/abs/1510.07945

PyTorch Codehttps://github.com/HyeonseobNam/py-MDNet 

Matlab Codehttps://github.com/HyeonseobNam/MDNet 

 

  本文提出了一種新的CNN 框架來處理跟蹤問題。眾所周知,CNN在很多視覺領域都是如魚得水,唯獨目標跟蹤顯得有點“慢熱”,這主要是因為CNN的訓練需要海量數據,縱然是在ImageNet 數據集上微調后的model 仍然不足以很好的表達要跟蹤地物體,因為Tracking問題的特殊性,至於怎么特殊的,且聽細細道來。

  目標跟蹤之所以很少被 CNN “攻占”,主要是因為很難收集海量的訓練數據;此外,基於傳統方法以及手工設計的特征的確也取得了不錯的效果。最近的基於CNN的網絡設計來解決跟蹤問題,主要是在大型分類數據集上進行預訓練,如:imageNet,然后將其 transfer 到跟蹤問題上來。盡管也取得了明顯的提升,但是仍然效果不是非常明顯,因為 分類問題跟蹤地定位問題 本來就是兩個區別很明顯的問題,即:

  預測物體的標簽 VS 定位任意的目標

  為了更好的探索 CNN 在 visual tracking上的表達能力,很有必要在大型數據上進行 visual tracking 的訓練,涉及到廣泛的目標和背景的組合。然而,基於視頻序列的確是具有挑戰性,因為其不同的特性。注意到,不同的序列涉及到目標物體具有不同的類別標簽、移動模式以及外形,跟蹤算法在每一個特定序列上的挑戰也不同,例如:遮擋,變形,輕度光照變化,運動模糊等等。訓練 CNNs 也是非常困難的,因為有些物體有時候被當做前景,有時候被當做背景,因為不同的視頻中的需要。由於序列中的變化和不一致性,我們相信基於標准的分類任務的普通學習算法是不適合的,其他的方法來捕獲和序列無關的信息應該能提供更好的表達。

  基於此事實,我們提出了一種新穎的 CNN 結構,即: Multi-Domain Network (MDNet),從多個標注的視頻序列中,來學習物體的共享的表示,協助進行跟蹤,其中每一個視頻看做是一個單獨的 domain。所提出的網絡具有單獨的分支,即: domain-specific layers for binary classification. MDNet 上的每一個 domain 都是單獨訓練的,並且每次都迭代的更新共享層。利用該策略,我們從 domain-specific 得到依賴於 domain 的信息,學習普遍的特征表示用來跟蹤。另一個有意思的方面是,我們的 CNN 是非常“淺”的,只有 3層 Conv 和 2層 fc。

  本文的測試和訓練的網絡結構,不同的地方在於:測試的時候將最后的多個 fc,換為一個 fc,用來計算最終的目標得分。新的分類層和fc層然后在跟蹤地過程中在線的繼續微調,來適應新的domain。Online的更新是為了建模 long-term 和 short-term 的表觀變化 ( appearance model ),分別是為了得到更好的 robustness 和 adaptiveness 。在進行學習的過程中,采用了 hard  negative mining techique。

  我們的算法由多個 multi-domain representation learning and online visual tracking 構成。文章主要的貢獻可以列為如下三點:

  1. 我們提出了一個基於CNN的 multi-domain 的學習框架,從 domain-specific 中分離出 domain-independent 的信息,來得到共享的表示。

  2. 我們的框架成功的應用於 visual tracking,multi-domain pretrained 的 CNN 在新的序列中 online的進行更新來自適應的學習特定領域的信息。

  3. 在兩個公共數據集 Object Tracking Benchmark 和 VOT2014上面得到了充分的驗證,精度達到 90+%。

 


 

  本文的網絡結構如下所示:

  3. Multi-Domain Network (MDNet)

  3.1. Network Architecture 

  結構如上圖所示,再次就不再贅述了。

  文中給出了關於為何采用“淺”的網絡的解釋:

  1. 跟蹤問題只是需要分辨出前景和背景,即:目標物體和背景,比起龐大的分類 ImageNet 1k類分類問題,還是算比較簡單地;

  2. 一個 deep 的 CNN 對於准確的進行物體定位是 less effective 的,由於空間信息隨着網絡深度的加深,變得稀釋了;

  3. 由於跟蹤過程中的物體通常比較小,不過文中說:it is desirable to make input size small, which reduces the depth of the network natually。 對此我不覺得這個解釋很合理,因為目標物體本來就很小了,那么適當的將輸入放大,不是更加有利於進行特征表達嗎 ? 反而再去使得 input 變小,這不太合理吧 ?

  4. 最后就是,一個小的網絡在跟蹤問題上更加有效。作者說測試了深的網絡,但是效果不好,且速度很慢。

 

  3.2. Learning Algorithm

  我們的學習算法的目標是訓練一個 multi-domain CNN 以在任何 domain 辨別 target 和 background。但是這並非很直觀,因為來源不同 domain的 train data 擁有不同的 target 和 background 的定義。但是,這其中仍然存在着一些共同的屬性,如:對光照變化,運動模糊,尺寸變化的魯棒性等等。為了提取出滿足上述屬性的特征,我們通過 multi-domain learning framework,從 domain-specific 的信息中分離出 domain-independent 的信息。

  4. Online Tracking using MDNet

  4.1 Tracking Control and Network Update

  我們考慮兩個互補的方面,即:robustness 和 adaptiveness。Long-term update 是按照常規間隔后進行更新;short-term updates 當出現潛在的跟蹤失敗的時候進行更新,此處潛在的跟蹤失敗是指:預測目標的positive score 小於 0.5。在跟蹤的過程當中,我們保持一個單獨的網絡,這兩種更新的執行依賴於物體外觀變化的速度。

  為了預測每一幀目標的狀態,在前一幀物體的周圍提取 N 個模板,然后根據網絡得到他們的得分,即:正樣本的得分 以及 負樣本的得分。通過找到最大正樣本得分作為最優的目標狀態:

  4.2 Hard Minibatch Mining 

  4.3 Bounding Box Regression 

  由於高層基於cnn的特征提取以及我們的數據增強策略,即:從目標周圍提取多個正樣本,導致有時候本文的方法並不能緊緊地框住目標區域。所以,此處采用了 bounding box regression technique,這個廣泛的應用於 Object detection,來改善定位的准確度。

  給定測試視頻的第一幀,我們訓練一個簡單地線性回歸模型來預測目標物體的位置,用的是 Conv 3 的特征。在隨后的視頻幀中,如果預測的目標是可靠的,那么我們可以調整從公式 1 中得到的目標位置。文章僅僅用第一幀進行 bounding box regressor 的預測,因為這非常耗時,並且增量學習並不一定有用考慮到其 risk。

 

  4.4. Implementation Details

  我們跟蹤算法的整個流程在算法1 中展示了。第 j 層的 CNN filter weights 記做為 $w_j$,其中,$w_{1:5}$是由 multi-domain learning 預訓練而來,$w_6$ 是隨機初始化的。

  具體訓練方面的東西就不講了,看看原文吧,如果感興趣的話。

 

  


  Experiments:

  

  

  

 

  

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM