ATOM: Accurate Tracking by Overlap Maximization
git
2019-03-12 23:48:42 github
Paper:https://arxiv.org/pdf/1811.07628 算法
Code: https://github.com/visionml/pytracking 網絡
1. Background and Motivation: app
這篇文章的主要動機是從改善重合度的角度,來提高跟蹤的整體性能。由於現有的算法,大部分都在強調,怎麼作才能跟的上,而不多有人專門研究:「怎麼跟蹤,才能跟蹤的好?」這裏的好,不可是指能時刻跟住目標,並且所預測的 BBox 要能很好的框柱目標物體。因此,這裏就要談到重合度的問題了,即文章標題所體現的 「Overlap Maximization」。文章主要是受到 IoU Net 的啓發,有興趣的能夠先去看下這個物體檢測的文章。框架
做者將跟蹤任務主要分爲兩種:a classification task and an estimation task。前者是粗略的將提取的圖像塊分類爲前景和背景,獲得一個粗略的目標位置;然後者是經過一個 BBox 來預測目標的狀態。最新的一個頂尖跟蹤算法,也是依賴於模型中的分類成分來進行目標預測。可是這種策略是有很大侷限性的,由於 bounding box estimation 是一個很是具備挑戰性的任務,須要對目標的姿態有高層的理解,以下圖所示:函數
而本文嘗試解決 target classification 和 estimation in visual tracking 存在的鴻溝。做者引入一種新穎的多任務跟蹤框架,主要包括兩個成分,用於 target estimation 和 classification。本文的跟蹤示意圖以下圖所示。基於 IoU-Net,做者訓練一個目標預測模塊(Target estimation module)來預測 target 和 estimated BBox 之間的 IoU overlap,即:the Jaccard Index。可是,因爲本來的 IoU-Net 是class-specific,並不能直接拿過來用於 tracking,因此做者提出一個新的框架,將 target-specific information 融合到 IoU 的預測中。做者用過引入一個 modulation-based network component,將 target appearance 結合到 reference image 中,以獲得特定目標的重合度預測(the target-specific IoU estimates)。醬紫,就可讓做者的目標預測模塊在大型數據集上,進行 offline 的訓練。在跟蹤的過程當中,目標 BBox 就是簡單的最大化每一幀預測的 IoU overlap。性能
此外,做者還設計了一個 classification module,而且是 online 訓練的,提供了較高的魯棒性。做者最終的跟蹤過程就是:target classification,estimation,and model update。做者在四個數據集上取得了極大地提高,包括:NFS, UAV123, TrackingNet and VOT-2018。 學習
2. Overview of ATOM: 優化
該模型主要包括兩個部分,一個是 target estimation,另外一個是 target classification。
對於 target estimation,就是剛剛提到的 IoU-predictor,主要包括四個輸入:
1). 當前視頻幀的 feature;
2). 當前視頻幀預測的 bounding box;
3). reference image 的 feature;
4). reference image 的目標 BBox;
而後,該網絡輸出的是:當前視頻幀 BBox 的 IoU 預測得分。
第二個網絡是用於 target classification,是 online 訓練的。就是用於對提取的 proposal 進行打分,進行前景和背景的區分。可是,做者並無採用常規的 SGD optimizator,而是用了基於 Conjugate Gradient and Gauss-Newton 的優化策略。緣由呢?就是能夠確保 fast online training。
3. The Details of ATOM:
3.1 Target Estimation by Overlap Maximization
IoU-Net 介紹:
網絡結構:
如上圖所示,做者想要設計一種 IoU-Net 用於跟蹤問題,想要作到 target-specific IoU prediction,因爲 IoU 預測任務是更加高層的,因此,在單張圖像上進行訓練或者微調是不可行的。因此,做者認爲目標預測網絡須要離線訓練,以學習一個 general 的表達進行 IoU prediction。做者剛開始的實驗代表:簡單的將 reference image 和 current-frame features 進行結合的效果並很差。做者也發現:Siamese 的網絡結構也沒法獲得最好的效果。在本文中,在給定單張參考圖像的條件下,做者就提出一種 modulation-based network architecture 來預測任意一個物體的 IoU,如上述流程圖所示。
該網絡包含兩個分支,這兩個分支都是依賴於 ResNet-18 Block 3 和 Block 4 的feature 做爲輸入。
The reference branch 將參考圖像的 features x0 和 target BBox 標註 B0 做爲輸入,其返回一個 modulation vector c(x0, B0)。具體網絡結構就是:一個卷積層,而後接一個 PrPool 和 一個 fc 層。
The current image,即咱們要預測目標包圍盒的狀態,是在 test branch 進行的。其首先將 feature map x 輸入到兩個卷積層,而後通過 PrPooling layer,獲得的結果是 z(x, B)。這樣子獲得的 target-specific representation,有效的結合了 reference appearance information。而後將該特徵輸入到 IoU predictor module g,這個是由三個全鏈接層構成的。
爲了訓練這個網絡,咱們最小化公式(1)的預測偏差。在跟蹤的過程當中,咱們最大化該 IoU 來預測目標的狀態。
3.2 Target Classification by Fast Online Learning:
有了 proposal,剩下的就是對這些樣本進行前景和背景的判別了。做者的目標分類模型是一個 2層的全卷機層,定義爲:
此處,x 是 backbone feature map,w 是網絡參數,$\phi$ 是激活函數,* 是標準的多通道卷積。受到最近一些判別性相關濾波方法的啓發,做者將類似性學習的目標定義成與 L2 分類偏差相似的形式:
最小化上述公式(3)的一種比較粗暴的方式,就是採用 標準的 SGD 的方法。可是這些方法缺對 online learning 的方式不夠友善,由於其收斂速度很慢。因此做者本身提出了一種新的優化方法,進行更加高效的優化,具體細節見原文。關於這一塊,等我仔細研讀後,再對博文進行更新。
實驗部分:
實驗在多個數據集上都取得了頂尖的效果,並且提高不是一星半點。
==