論文全名:Real-Time MDNet(RT-MDNet)
論文摘自ECCV 2018,由Ilchae Jung(Github網址)、Jeany Son、Mooyeol Baek、Bohyung Han撰寫,
作者(與MDNet作者屬同一個導師)來自韓國浦項理工大學。
摘要
提出基於MDNet的快速且準確跟蹤算法
(1)通過感受野的高分辨特徵圖來區分目標和背景,通過改進RoIAlign加速特徵提取,
(2)在嵌入空間中,通過mutli-task損失有效地區分目標,對具有相似語義的目標加入了具有辨別力的參數。
結果:與MDNet相比速度提高了25倍,精度幾乎相同。
1 前言
提出問題:
【1】MDNet缺陷:(1)在時間和空間方面具有很高的計算複雜度。(2)對潛在目標沒有進行模型提取優化。
【2】目前避免冗餘方法的缺陷:(1)Fast R-CNN:在網絡特徵映射中使用RoIPooling,但特徵映射粗略量化,導致定位差(2)Mask R-CNN:RoIAlign(基於雙線性插值)在RoI尺寸很大的情況下會丟失對目標有用的localization。
【3】CNN的缺陷:對類內對象差異不敏感。
解決方法:
提出基於MDNet的RT-MDNet算法:
(1)對於前面的全卷積特徵映射,用RoIAlign層(mask R-CNN)提取對象表示:構建高分辨率特徵圖,擴大每個激活的感受野。
(2)在預訓練階段引入嵌入損失,並聚合到原MDNet中二分類損失中。
主要貢獻:
•提出一種MDNet和Fast R-CNN跟蹤算法:用改進的RoIAlign來從特徵圖中提取目標候選,並改善目標定位。
•學習一個嵌入空間來區分跨多個域的具有相似語義信息的目標。
•與MDNet相比速度提高了25倍,精度幾乎相同。
2 相關工作
【1】相關算法思想
基於深度網絡的相關濾波算法(精度高,但速度慢):C-COT、ECO、HCF、CREST、MCPF;
基於CNN的跟蹤算法(精度不高,但速度快):GOTURN(Siamese-fc的另一版本)、Siamese-fc、EAST。
濾波器特徵進行了Hand-crafted(精度高且速度快):BACF(通過更多的背景來學習相關濾波器)、PTAV(使用FDSST進行跟蹤,並與Siamese深度網絡進行檢測驗證)、ECO(集成多分辨率深度特徵)
【2】提出問題
區分了目標與背景,但對相似目標卻不敏感:MDNet、Siamese-fc、CFNet、CFCF(VOT2107性能No.1)。
【3】爲了解決【2】中的問題:
R-CNN(提取特徵複雜度高)----->Fast R-CNN(提出RoIPooling但由於粗特徵導致定位差)----->mask R-CNN(提出RoIAlign,使用雙線性插值近似特徵,實現定位)
3 網絡架構
輸入:3x107x107圖像 + 一組proposal邊界框
整體過程:
【1】網絡通過單個前向傳遞計算圖像的共享特徵,然後用自適應RoIAlign提取出每個RoI的CNN特徵(效果:提高特徵質量,降低計算複雜度)
【2】將計算的每個特徵送入全連接層(區分目標與背景),然後送入FC6層(歸一化交叉熵損失的二分類),其中,微調使用初始幀的目標框。
對於【1】:自適應RoIAlign
問題:(1)原始RoIAlign提取的特徵較粗略,需要構建一個具有高分辨率和豐富語義信息的特徵映射。(2)普通RoIAlign僅利用特徵映射中周圍的grid點來計算插值
方法:
(1)如圖2所示,作者將原VGG-M中conv2層後面的最大池化層移除,在conv3層中以速率r = 3來擴張卷積,
(2)在自適應RoIAlign層使用雙線性插值(大小由RoI決定:,其中爲conv3層後RoI的寬度,爲RoIAlign層後RoI的寬度,[·]是舍入算子)計算,生成512x7x7的特徵圖,最後再經過一個最大池化層生成512x3x3的特徵圖。
效果:送入自適應RoIAlign時,特徵圖放大了兩倍(提取高分辨率的特徵),提高特徵的質量
對於【2】:判別嵌入
問題:MDNet僅區分不同域中的目標和背景(CNN的分類特性),卻無法區分其具有相似語義信息的前景目標
方法:
(1)提出嵌入損失:在共享特徵空間中,不同域中的目標嵌入時互相遠離。學習看不見的目標的判別表示。
(2)提出損失約束:將多個視頻中的前景對象嵌入進去。
具體思想:
FC6輸入:d-domain中的輸入圖像和邊界框R
FC6輸出:
(1)分數,其中,爲d-domain中2D二分類得分,D是訓練集中的domain數(ImageNet2015隨機抽取的100個視頻)。
(2)歸一化函數定義爲:(對比domain中目標與背景的二分類得分),(對比所有domain中判別正樣本得分)。
(3)在第k次迭代中(網絡更新與否取決於),
損失項:(二分類損失)與(判別損失),
其中,(求餘運算);
爲GT的0-1二分類編碼;
=1表示在d-domain中邊界框爲c類別,否則爲0;
(4)定義損失函數:,
其中α是控制兩個損失項之間平衡的超參數(設爲0.1),與MDNet相同,作者在每次迭代中只處理一個domain。
4 跟蹤測試
跟蹤算法的管道幾乎與MDNet [1]相同。全連接層(fc4-6):(1)對於初始幀,進行微調;(2)對於後續幀,在線更新,同時修復卷積層。
【1】實施過程:輸入第t幀時,通過之前幀的高斯分佈生成一組樣本,得到最高分數:,與MDNet在線跟蹤相同,爲第t幀的第i個樣本的正分數,不同的是,這裏的函數爲三維空間上的計算(平移縮放)。
【2】對邊界框迴歸:利用初始幀RoIs提取的特徵訓練線性迴歸器(與MDNet邊界框迴歸相同),在後續幀中,如果,則通過之前的迴歸器調整目標區域。
【3】模型更新:與MDNet相同,執行Long-term update+Short-term update。(訓練時,在多次迭代中累積後向傳遞的漸變:設定每50次迭代更新模型)(測試時,每10幀進行一次Long-term update)
【4】提取負樣本:與MDNet提取負樣本相同,採用難分負樣本挖掘思想:通過在每次迭代時使用32個正樣本和96個負樣本(從1024個負樣本中選擇最好的96個負樣本)組成的小樣本來測試。
【5】具體細節:
(1)初始化:
conv1-3的權重:用ImageNet2015訓練的VGG-M網絡;全連接的層隨機初始化。最後一個卷積層中感受野大小等於75×75。
(2)訓練數據(ImageNet2015中近4500個視頻):
訓練:對於視頻的每次迭代,隨機取8幀,從每幀中取32個正樣本(IOU0.7)和96個負樣本(IOU0.5),組成一個小批量樣本(256個正樣本和768個負樣本)
測試:(與MDNet相同)對於初始幀,取500個正樣本(IOU0.7)和5000個負樣本(IOU0.5);對於後續幀(將之前所有幀用於在線更新),取50個正樣本(IOU0.7)和200個負樣本(IOU0.3)
(3)網絡:
訓練:採用隨機梯度下降(SGD)方法進行訓練,需要1000次迭代,學習率爲0.0001
測試:對初始幀50次迭代,對後續幀爲15次迭代,學習率爲0.0003,注意,fc6的學習率fc4-5的10倍(與MDNet測試類似)。
動量(0.9)和權重衰減(0.0005)。注意:保留特徵表示(而非圖像信息)以節省時間和內存
(4)平臺:
PyTorch,3.60 GHz Intel Core I7-6850K + NVIDIA Titan Xp Pascal GPU。
5 實驗
訓練集:ImageNet2015(MDNet、MDNet+IEL、RT-MDNet)
評估數據集:OTB2015,UAV123(2016),TempleColor(2015)
評估標準:OPE
評估指標:中心位置誤差和邊界框重疊率。
算法比較:
實時(在圖中用實線表示) | Ours | ||||||||||
ECO | MDNet | MDNet + IEL | SRDCF | C-COT | ECO -HC | BACF | PTAV | CFNet | SiamFC | DSST | RT-MDNet |
MDNet +判別嵌入 |
ECO +hand-crafted +HOG+color |
【1】OTB2015
準確性稍差原因:基於CNN的跟蹤器的固有缺點;RoIAlign在高精度區域的目標定位的侷限性。
缺陷:對遮擋、突然大的運動和平面外旋轉性能不佳。
【2】TempleColor2015
【3】UAV123-2016
* RT-MDNet 消融研究
訓練集:VOT2013,VOT2014和VOT2015
測試集:OTB2015