Real-Time MDNet
ECCV 2018 2018-10-22 15:52:01
Code (PyTorch): https://github.com/IlchaeJung/RT-MDNet
PyTorch 1.0 Python3 version: https://github.com/BossBobxuan/RT-MDNet
Reference Paper:
1. Learning Multi-Domain Convolutional Neural Networks for Visual Tracking CVPR-2016 paper code
2. BranchOut: Regularization for Online Ensemble Tracking with Convolutional Neural Networks CVPR-2017 paper
3. "Meta-Tracker: Fast and Robust Online Adaptation for Visual Object Trackers." ECCV-2018 Paper Code
上面兩個流程圖分別是 MDNet 以及 MDNet 的一個改進 Branchout。本文是基於 MDNet 進行改進的,主要是在速度上進行大幅度的提升,因為原始的 MDNet 采用的是 RCNN 的思路,暴力的進行特征的提取,而本文采用改進的 ROI Align 的方法進行更加高效的特征提取。此外,作者提出一種新的 loss function 使其能夠取更好的區分前景背景。主要的貢獻如下:
本文所提出的網絡結構如下所示:
Efficient Feature Extraction and Discriminative Feature Learning:
1. Network Architecture:
如圖1所示,網絡結構上與 MDNet 基本一致,最大的改動就是采用 改進的 ROI Align 算法 替換掉了原本的暴力的特征提取流程。所以,該網絡結構就變成了:3 conv + Adaptive ROI Align layer + fc layers 。
2. Improved RoIAlign for Visual Tracking:
直接采用 RoIAlign 算法得到的 feature map 是比較粗糙的( compared to the ones from individual proposal bounding box)。為了提升 RoIs 的質量,我們需要構建一個 feature map,使得該 feature map 有較高的分辨率 以及 豐富的語義信息。這些需求可以通過獲取更加 dense 的全卷機特征圖以及擴張每一個激活的感受野來實現(by computing a denser fully convolutional feature map and enlarging the receptive field of each activitation)。所以,我們移除了 a max pooling layer followed by conv2 layer in VGG-M network,然后利用空洞卷積來提升分辨率(with rate r =3)。這個策略可以得到比常規的卷積更大的 feature map。它可以提取到更大的 feature maps,可以很大程度上改善表達的質量。圖2展示了常規的 MDNet 與 加入了 dilated layers 之后的網絡,進行了對比。
3. Pretraining for Dsicriminative Instance Embedding:
我們的學習算法的目標是訓練一個判別性的特征映射,來應用到 multiple domains。MDNet 划分出 shared and domain separate layers 來學習表示以區分出前景和背景。除了這個目標之外,我們提出一種新的 loss,即:instance embedding loss,enforces target objects in different domains to be embedded far from each other in a shared feature space and enables to learn discriminative represenations of the unseen target objects in new test sequences. 換句話說,MDNet 僅僅考慮在單獨的 domain 來區分 target 和 background,可能在不同 domains 之間來判斷 foreground objects 沒那么好,特別是當前景物體屬於同一個 semantic class 或者 有類似的外觀時。這可能是由於原始的 CNN 是用來訓練做分類的。為了解決這個問題,我們的算法將額外的約束考慮進來,對前景物體進行 embedding,使得在不同 videos 之間彼此遠離(embeds foreground objects from multiple videos to be apart from each other)。
給定一張圖像 $x_d$,在domain d,以及 BBox R,網絡輸出的得分,記為 fd, 通過 concatenating 最后的 fc layers 的激活來構成:
其中, 是一個 2D binary classification score in domain d,D 是訓練結合中 domain 的個數。輸出的 feature 被送到 softmax function 中進行二分類,來確定是否一個 BBox R 是前景或者背景圖像 in domain d。另外,輸出的 feature 通過另一個 softmax operator 來進行 multiple domains 的 instances 判斷。這兩個 softmax 可以表達為:
其中, 比較了在每一個 domain 中,目標物體和背景物體之間的得分,
對比了所有 domains 的物體的 pos score。
我們網絡優化一個多任務的 loss L,可以表達為:
其中,$L_{cls}$ 以及 $L_{inst}$ 分別是 binary classification 與 discriminative instance embedding 的 loss function。詳細的表達式,可以分別記為:
注意到,the instance embedding loss 僅僅對 positive examples 進行處理。
Online Tracking Algorithm:
4.2 Online Model Updates:
We perform two complementary update strategies as in MDNet [1]: long-term and short-term updates to maintain robustness and adaptiveness, respectively. Long-term updates are regularly applied using the samples collected for a long period of time, while short-term updates are triggered whenever the score of the estimated target is below a threshold and the result is unreliable.
與 MDNet 不同的是,作者並沒有利用 VOT 訓練 OTB 測試 或者相反的思路,而是用 ImageNet-VID 上的視頻,將近有 4500 個視頻,作者隨機挑選了 100 videos 來進行offline pretraining。
5. Experiments:
可以看到,作者在后續跟蹤過程中,采用了 BBox regression 的技術,但是沒有提到是否采用了 MDNet 中用到的 Hard Negative Mining(沒有說,默認就是沒有用咯 o(╯□╰)o)。