[論文閱讀]:Online Multi-Object Tracking Using CNN-based Single Object Tracker ...

[論文閱讀]:Online Multi-Object Tracking Using CNN-based Single Object Tracker ...

論文概述

純屬個人理解,梳理自己思路用,僅供參考(可能會有標點錯誤或語句不通順 +_+)

論文的出發點是單目標跟蹤SOT來實現online多目標跟蹤MOT,論文大體上看感覺不是很簡約,感覺實現起來有很多瑣碎事情(流程圖就有點複雜),不像stacked hourglass之於pose estimationyolo之於object detectalphaZero之於棋類、wavenet之於聲學編碼那樣相當簡約。可能多目標跟蹤就是瑣碎事情較多的領域,很多事情沒辦法做到網路里。

文章是利用CNN模型和單目標跟蹤VOT領域知識實現MOT,同時為了降低計算量,採用共用base cnn來建立目標appearance model,並動態根據目標檢測情況動態調整網路結構,其實關於目標生成,文章分別利用檢測結果和線性的運動跟蹤器(例如線性卡爾曼濾波),由於目前沒有源代碼不清楚,所說的檢測結果實在RPN的proposal上還是最終提取regression bbox(感覺應該是前者吧,畢竟要減少計算量的)。同時又提出利用attention的方法來解決occlusion

  • 關於目標管理(目標生成與消失)

    主要是說如何管理目標跟蹤軌跡,何時進行目標創建?何時進行目標結束?何時向軌跡中添加目標?

    對問題一,高檢測分數的目標沒有overlap任何已知的跟蹤目標,同時為了減少false positive,要求該檢測目標後續被跟蹤上或者被連續檢測出來,才認定為有新目標創建,也就是指疑似新目標。

    對問題二,一般採取的方法是超過一定幀數沒有跟蹤上就認為目標結束。

    對問題三,利用temporal attention的係數與設定超參閾值做比較,小於時被加入到軌跡(這裡叫軌跡不太合適,應該叫模板集,為了訓練目標的appearance model)中。(下面介紹的幾點都是關於每個獨立的SOT過程

  • 關於Spatial Attention

    先通過兩層網路訓練出visibility map用來表示目標被遮擋的情況,然後利用visibility map再用網路訓練個attention的權重來調節rois上的feature map

  • 目標框如何確定?

    基本上是採用級聯的方法,先通過上一步spatial attention提取的特徵進行binary分類,緊接著做IOU過濾,對滿足閾值的做融合,不滿足的保留分類確定的結果。這樣做估計是為了減少bbox的偏差。

  • 關於Temporal Attention

    用來訓練單個SOT跟蹤器用,SOT往往是one-shot的學習方式,也就是基本要每幀在線的學習,即在線的更新appearance model

    在loss function設計上要折中當前正樣本集、負樣本集與歷史正樣本集的損失,這就是在這時引入temporal attention用來動態權衡當下與歷史間的關係(不要被高檔上的名詞忽悠,都是指一些基本的東西,建議不太了解VOT的,多看看KCF、TLD與Struck等經典的tracking by detect跟蹤演算法),對Temporal Attention設計上是利用visibility mapIOU來做的,具體公式看論文。
  • VOT中常說的模型初始化與模型更新

    當新目標創建完成後,需要動態的建立新的跟蹤模型用於跟蹤目標,這裡主要是基於CNN創建跟蹤演算法,利用CNN學習目標appearance。模型初始化就是利用第一幀目標detect的位置(收集部分正負樣本,根據bbox位置關係,遠的就是負樣本或者IOU來確定),文章中在初始化時利用visibility map來修正對應bbox下的feature map。模型更新主要是跟新appearance modelmotion model,motion model主要是目標創建時候使用的。

推薦閱讀:

TAG:深度學習DeepLearning | 跟蹤 | 目標檢測 |