標籤:

CVPR2018視覺跟蹤之端到端的光流相關濾波

在文章開始,先召喚一下合作的小夥伴和leader @武偉 @lbvic @Qiang Wang,後續我們還會發布一系列視覺跟蹤的(非常有意思的結果和速度) 的文章,敬請關注。

---------劇透開始----------

我們同期的工作還有Siamese-RPN和DaSiameseRPN, 效果分別超越CCOT和ECO, 速度150+ FPS(CCOT的500倍), 完全data-driven,請大家關注!

---------劇透結束----------

建議大家多看看 @Qiang Wang 小夥伴的文章,乾貨與情懷兼備,理論與深度都有;奈何我寫不出來那麼有深度的文章,只能平鋪直敘,慚愧慚愧。

開始正題,這篇文章主要介紹我們CVPR2018上面的一篇文章:一種端到端的光流相關濾波跟蹤演算法(End-to-end Flow Correlation Tracking with Spatial-temporal Attention ),鏈接地址 arxiv.org/abs/1711.0112。據我們所知,這是第一篇把Flow提取和tracking任務統一在一個網路裡面的工作。

首先是motivation,近兩年DCF+CNN的tracker在tracking的社區裡面一直是標配,但我們注意到幾乎所有的tracker都只用到了RGB信息,很少有用到視頻幀和幀之間豐富的運動信息;這就導致了tracker在目標遇到運動模糊或者部分遮擋的時候,performance只能依靠離線train的feature的質量,魯棒性很難保證。於是我們就想利用視頻中的運動信息(Flow)來補償這些情況下RGB信息的不足,來提升tracker的performance. 具體來說,我們首先利用歷史幀和當前幀得到Flow,利用Flow信息把歷史幀warp到當前幀,然後將warp過來的幀和本來的當前幀進行融合,這樣就得到了當前幀不同view的特徵表示,然後在Siamese和DCF框架下進行tracking.

FlowTrack整體框架

上面是我們演算法的整體框架,採用Siamese結構,分為historical branch和current branch. 在historical branch裡面,進行Flow的提取和warp,在融合階段,我們設計了一種spatial-temporal attention的機制(在後面敘述). 在current branch,只提取feature. Siamese結構兩支出來的feature送進DCF layer, 得到response map. 總結來說,我們把Flow提取,warp操作,特徵提取和融合,CF tracking都做成了網路的layer,端到端地訓練它們。

下面是一些技術細節,採用問答方式書寫.

問:warp操作是什麼意思,怎麼實現的?

:warp具體的推導公式可以參見paper,是一種點到點的映射關係;實現可以參見DFF和FGFA的code,略作修改即可。

問:Flow提取和訓練是怎麼實現的?

答:我們採用的是FlowNet1.0初始化,然後在VID上面訓練,訓練出來的Flow質量更高,對齊地更好;未來我們會換用FlowNet2.0或者速度更快的Flow網路,爭取在速度和精度上有所提升。

問:融合是怎麼實現的?

答:在融合階段,我們我們設計了一種spatial-temporal attention的機制。在spatial attention中,是對空間位置上每一個待融合的點分配權重,具體採用餘弦距離衡量(公式可以參見paper),結果就是和當前幀越相似分配的權重越大,反之越小;這麼做的問題是當前幀的權重永遠最大,所以我們借鑒SENet的思想進而設計了temporal attention,即把每一幀看做一個channel,設計一個質量判斷網路:

temporal attention的圖示

網路輸出的結果是每一幀的質量打分,質量高的幀分數高,質量低(比如部分遮擋)的幀分數低:

temporal attention的結果

temporal attention和前面的spatial attention結合起來,就可以對warp之後的feature map和當前幀本身的feature map進行融合.

問:DCF操作怎麼做成layer?

答:這個在CFNet和DCFNet裡面具有闡述,paper裡面也做了簡單的總結。

問:paper裡面warp的幀數是怎麼選定的?

答:通過實驗確定,實驗結果如下:

warp幀數的選擇

問:最後在OTB和VOT的實驗結果怎麼樣?

答:OTB2015 AUC分數0.655;VOT2016 EAO分數0.334(超過CCOT), 速度12FPS(是CCOT的40倍),當然,和ECO還是有精度上的差距。結果圖可以參見下面:

OTB2015的實驗結果

VOT2016的EAO ranking

VOT2016上面具體的accuracy和robustness

為了完整起見,補充一下OTB2013和VOT2015的結果:

OTB2013實驗結果

VOT2016上面具體的accuracy和robustness

VOT2015 EAO ranking

問:網路中元素比較多,究竟哪一塊在work?

答:我們做了ablation分析,結果如下,值得注意的是加入固定的光流信息之後,某些數據集上的performance反而下降了;我們估計是由於光流信息的(不高的)質量和(不太)對齊造成的。

ablation分析,FlowTr是完整的FlowTrack,其餘從上到下分別是:不用Flow信息的,用Flow信息但不進行端到端訓練的,用time-decay方式進行融合的,不用temporal attention的

問:為什麼選擇warp的幀間隔是1而不是2,4,8這種,這樣的話不是更能包含更多的temporal information嗎? 比如更長時間的遮擋的時候似乎更work?

答:我們試了幀間隔為1,2,4的方案;當幀間隔為2和4的時候(即warp t-2,t-4...或者t-4,t-8...),雖然在某些情況(比如遮擋)能取得更好的結果,但整體性能是下降的;我們猜測是由於幀間隔大了之後,Flow信息的質量可能會變差(畢竟FlowNet是針對小位移的)。

問:fixed Flow和訓練之後的Flow有什麼區別?

訓練之後的Flow相比較固定的FlowNet提取出來的Flow,質量更高,對齊地更准;一個例子如下圖

左列:待輸入Flow網路的兩張圖;中列:固定的FlowNet和訓練之後的Flow網路提取的Flow;右列:Flow mask到原圖(注意:都是mask到左下角的圖上)。

問:和ICPR 那一篇deep motion feature for visual tracking那一篇結果對比怎麼樣?

答:OP指標可以超過,速度比他快很多(他的速度不包含提取Flow的時間),見下表:

和ICPR文章的對比

問:在VOT2017上面的結果怎麼樣?

答:還不錯,EAO目前可以排名第二,見下圖:

VOT2017結果

歡迎大家在回復裡面提問題,我會加到正文裡面~~

這是一條分割線,這是一條分割線,這是一條分割線

下面是劇透環節:

我們同期的工作還有Siamese-RPN和DaSiameseRPN, 效果分別超越CCOT和ECO, 速度150+ FPS(CCOT的500倍), 完全data-driven,請大家關注。

下面是福利環節:

最近tracking社區最火的四件事情:RL, Meta-learning, long-term和對抗學習,那麼下一篇爆款文章應該是:基於對抗學習和meta learning的用於Long-term的RL Siamese tracker。。。

第一次寫知乎文章,圖片和排版都弄得很糟糕,請大家多多批評;也請大家持續關注我們的工作,多多cite。


推薦閱讀:

讀論文系列:Object Detection NIPS2015 Faster RCNN
2017年歷史文章匯總|深度學習
Caffe2教程--2.圖像載入與預處理
Face Attention Network: An Effective Face Detector for the Occluded Faces論文筆記
Focal Loss for Dense Object Detection解讀

TAG:計算機視覺 |