目標跟蹤新高度ECO+:解除深度特徵被封印的力量

查志強發表於2018-08-09

【原文:https://zhuanlan.zhihu.com/p/36463844

目標跟蹤的相關濾波方向,Martin Danelljan 4月底在arXiv上掛出來的最新論文:

這次MD大神不是一作,看論文排版應該是投ECCV 2018的,目前沒有開原始碼,論文方法沒有命名,這裡用ECO+代表。

簡單概要

論文是對ECO的改進,deep tracker無法受益於更好更深CNN的深度特徵,針對這一反常現象,實驗和分析表明這主要是由於淺層特徵(shollow feature)和深度特徵(deep feature)的特性差異,兩種特徵分而治之,深度特徵部分加入了資料增強(data augmentation)增加訓練樣本數量,用不同label function,淺層特徵正樣本更少,深度特徵正樣本更多。兩部分響應圖自適應融合,提出了可以同時反映準確性accuracy和魯棒性robustness的檢測質量估計方法,基於這個質量評估,最優化方法自適應融合兩部分的響應圖,得到最優的目標定位結果。實驗結果在各個測試集上都是目前最好。

問題分析

效能:自從MD大神的C-COT和ECO出現之後,相關濾波最近一年半沒有較大突破,VOT2017前十名中,有一半以上都是在C-COT和ECO的基礎上改進的,即使CVPR 2018也沒有看到能全面超過ECO的論文,ECO到目前依然是難以逾越的高峰,這個方向是不是已經做到頭了?

複雜:相比最初的KCF簡潔明快,幾行程式碼做到SOTA,如今的ECO已經複雜龐大到難以置信,各種優化和trick堆積,MD大神的碼力和數學功底讓人歎服,菜雞如我已經看不懂ECO的原始碼,在深度學習提倡END2END,訓練解決一切問題的年代,ECO確實做不到簡單高效,這種框架是不是該拋棄?

速度:VGGNet作為backbone的深度特徵,GPU上無法實時,換backbone或許可以緩解,但相比Staple、ECO-HC和CSR-DCF,僅hand-craft feature(HOG+CN)的相關濾波也能做到SOTA,超過絕大多數深度學習的tracker,還能保持在CPU上實時速度,深度特徵+相關濾波是否有實用價值?

時隔一年半,這篇論文告訴我們MD大神還在堅持,還有的做,發現問題解決問題。

ECO還存在哪些問題呢?

  1. 昂貴的深度特徵與廉價的手工特徵,效能上沒有拉開差距,速度卻被碾壓,深度特徵的能力好像沒有發揮出來
  2. VOT2017中有人嘗試了VGGNet換成更好的GoogLeNet和ResNet,但沒有像其他方向一樣帶來效能方面的巨大提升,這違背了深度學習領域網路越大越深效能越好的基本法則,deep tracker無法從更深的CNN中獲益

論文對比分析了深度特徵和淺層特徵:

  • 深度特徵Deep Feature:主要是CNN的高層啟用,典型VGGNet的layer 5。優點是包含高層語義,對旋轉和變形等外觀變化具有不變性,何時何地都能找到目標,即魯棒性很強;缺點是空間解析度低,對平移和尺度都有不變性,無法精確定位目標,會造成目標漂移和跟蹤失敗,即準確性很差
  • 淺層特徵Shollow Feature:主要是手工特徵如RGB raw-pixel, HOG, CN,和CNN的低層啟用,典型VGGNet的Layer 1。優點是主要包含紋理和顏色資訊,空間解析度高,適合高精度定位目標,即準確性很強;缺點是不變性很差,目標稍微形變就不認識了,尤其是旋轉,一轉就傻逼,即魯棒性很差

ECO+對ECO的核心改進是兩種特徵區別對待,分而治之,深度特徵負責魯棒性,淺層特徵負責準確性,兩種檢測響應圖在最後階段自適應融合,目標定位最優化,兼具兩者的優勢。

如下圖,ECO無法獲益於更深更好的CNN,但新論文方法ECO+可以。

具體方法——分

資料增強Data Augmentation:通用目標跟蹤的難點在於需要跟蹤各種各樣的目標,而且僅第一幀是ground truth,其他訓練樣本都是tracker自己產生的,訓練樣本嚴重匱乏data-hungry,尤其是在深度學習需要大資料支撐。在CNN訓練中,解決訓練樣本不足問題常用Data Augmentation方法擴充訓練集,如多尺度的隨機裁切,隨機翻轉,顏色抖動等。

ECO+測試了幾種Data Augmentation方法在ECO框架中的作用,包括:

  • Flip:水平翻轉
  • Rotation:從-60°到60°的固定12個角度旋轉
  • Shift:水平和豎直平移n畫素再提取特徵,等價於feature map平移n/s畫素,s是步進
  • Blur:高斯濾波模糊,模擬跟蹤場景中常見的運動模型和尺度變化
  • Dropout:通道級的dropout,隨機20%的feature channel置為0,其餘通道放大以保持樣本能量

以上Data Augmentation分別用於淺層特徵和深度特徵,結果如圖(a):

用於深度特徵都有明顯提升,Blur提升最多4%,除了Shift其他都在1%以上,而用於淺層特徵全都下降了,也是Blur最多,論文解釋是:深度特徵反映的語義資訊,對這些Data Augmentation都有不變性,能從增加的樣本獲益,而淺層特徵反映的紋理資訊會劇變,擾亂tracker傷害效能。

標籤函式Label Function:相關濾波的訓練樣本來自目標擴充套件區域,ground truth是高斯分佈,中心部分接近1是正樣本,邊緣部分接近0是負樣本,正負樣本比例通過高斯函式的標準差delta控制,標準差越大正樣本越多。

在ECO中,深度特徵和淺層特徵的高斯標籤函式相同,ECO+提出要區別對待,實驗結果如上圖(b),深度特徵標準差1/4最好,淺層特徵標準差1/16最好。通過標籤函式增加的正樣本等價於平移資料增強,所以論文解釋是:深度特徵對小平移的不變性,同上從增加的正樣本獲益,深度特徵更應該關注魯棒性;小平移會使feature map差異巨大,tracker無法處理大量有差異的正樣本,淺層特徵更應該關注準確性。

深度特徵和淺層特徵的區別對待,論文中就用了Data Augmentation和Label Function兩種方法,以ResNet-50 + ECO為例,加入資料增強Aug提升5.3%,加入寬標籤函式sigma提升4.3%,兩者結合提升5.8%,非常明顯,證明深度特徵可以受益於資料增強和寬標籤函式。

不同CNN架構下ECO與ECO+的對比,ECO+提升明顯,測試的CNN架構包括最常用的VGG-M,更好的GoogLeNet和更好更深的ResNet-50:

具體方法——合

預測質量評估Prediction Quality Measure:響應圖能反映目標定位的準確性和魯棒性,準確性與預測目標周圍的響應銳利程度有關,主峰越尖表示準確性越高;魯棒性與主峰到干擾峰(次峰)的間隔有關,主峰到次峰的距離越大表示魯棒性越高。論文提出了能同時反映準確性和魯棒性的響應圖質量評估方法:

t表示響應位置,y(t)表示響應值,t*是主峰,t是干擾峰。分子部分表示尖銳程度,主峰與次峰峰值差越大質量越高;分母部分表示位置間隔,delta是二次連續可微函式,間隔很近是0,間隔很遠是1。論文分別就t*和t位置接近和遠離兩種情況做了分析,都表明這個質量評估都可以同時反映準確性和魯棒性。

自適應融合的目標定位:ys和yd分別表示淺層和深度特徵的響應分數,加權融合:

基於前面提出的預測質量評估方法,以最大化預測質量為目標,聯合優化加權係數beta和目標狀態t*,最小化loss:

加入正則項,引入鬆弛變數:

求解該問題,取樣有限組候選狀態,每個都是三個變數的QP問題,計算量增加很少。

實驗對比ECO響應圖融合方法、固定權重求和的融合方法和論文提出的自適應融合方法對比:

自適應融合效果最好,深度特徵部分的權重在形變和模糊時變高,與預期一致。

實驗結果

所有超引數都是在OTB-2015的23個難例子集構成的驗證集OTB-H上調參得到的,其餘73個較簡單的序列構成OTB-E,其他所有實驗用固定引數,沒有調參和過擬合。

在NFS, Temple128和UAV123上的結果,都是最好:

在VOT-2017上的結果,對比了榜單前十,超過最好的LSART 17%,LSART發表在CVPR 2018,是目前所能看到的VOT-2017最好結果,大部分CVPR 2018論文沒有跑VOT-2017:

在VOT-2016上的結果,對比了所有已發表結果,包括所有SOTA結果,甚至目前能看到的CVPR 2018的SA-Siam, VITAL, LSART, FlowTrack,超過目前最好結果ECO 18%:

最後是OTB-2017剩餘測試集OTB-E的結果:

總結

ECO+從研究deep tracker為什麼無法從更好更深的CNN獲益這一問題開始,研究發現深度特徵和淺層特徵表現出截然不同的特性,先分後合的處理方法:

  • ,區別對待,深度特徵負責魯棒性,淺層特徵負責準確性,資料增強和寬標籤函式對深度特徵提升巨大
  • ,自適應融合,提出質量評估方法,以最大化融合質量為目標函式,最優化方法同時獲得深度特徵的魯棒性和淺層特徵的準確性

ECO+基本跑了所有的測試庫,全都做到了最好結果,比較了包括CVPR 2018在內的所有SOTA結果,無疑這是一篇重新整理目標跟蹤新高度的論文,期待ECO+在VOT-2018的表現。

目前沒看到程式碼,有幾個疑問點:

  1. 速度方面沒有提,論文僅提了質量評估和自適應融合部分計算增加不大,但資料增強會嚴重增加提取深度特徵的負擔,每個擴充套件樣本都要一次CNN forword,應該會非常非常慢,不知道有沒有做相應優化
  2. ECO+可以從更好更深的CNN獲益,最多測試了ResNet-50,不知道更深更好的ResNet-100,ResNet-152甚至Inception-ResNetV2會不會帶來進一步提升
  3. 深度特徵最大的問題是空間解析度太小,是否可以自己搭個stride=4或stride=1的CNN,保持深層啟用圖的feature map不要太小,但通道數適當減少以保證速度,是否更有利於檢測和跟蹤問題

沒有程式碼加強行翻譯,如有理解偏差歡迎指出

END

相關文章