[論文閱讀]:Online Multi-Object Tracking Using CNN-based Single Object Tracker ...
05-25
[論文閱讀]:Online Multi-Object Tracking Using CNN-based Single Object Tracker ...
論文概述
純屬個人理解,梳理自己思路用,僅供參考(可能會有標點錯誤或語句不通順 +_+)
論文的出發點是單目標跟蹤SOT來實現online多目標跟蹤MOT,論文大體上看感覺不是很簡約,感覺實現起來有很多瑣碎事情(流程圖就有點複雜),不像stacked hourglass
之於pose estimation
、yolo
之於object detect
、alphaZero
之於棋類、wavenet
之於聲學編碼那樣相當簡約。可能多目標跟蹤就是瑣碎事情較多的領域,很多事情沒辦法做到網路里。
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 map
和IOU
來做的,具體公式看論文。 - VOT中常說的模型初始化與模型更新
當新目標創建完成後,需要動態的建立新的跟蹤模型用於跟蹤目標,這裡主要是基於CNN創建跟蹤演算法,利用CNN學習目標
appearance
。模型初始化就是利用第一幀目標detect的位置(收集部分正負樣本,根據bbox位置關係,遠的就是負樣本或者IOU來確定),文章中在初始化時利用visibility map
來修正對應bbox下的feature map。模型更新主要是跟新appearance model
和motion model
,motion model主要是目標創建時候使用的。
推薦閱讀:
TAG:深度學習DeepLearning | 跟蹤 | 目標檢測 |