來源: arXiv:2103.14829v1

這篇文章的目標是利用transformer實現真正的端到端多目標跟蹤器的訓練,這里的端到端是指給定一段圖像序列,網絡能夠自動的處理軌跡的產生和終止以及生長。具體而言,提出的MO3TR模型使用temporal transformer實現每個軌跡歷史特征的融合并預測當前時刻該軌跡的特征,另外使用spatial transformer刻畫object之間的位置關系以及object與image之間的關系。 object之間的關系能夠刻畫目標之間可能存在的交互,而object與image的交互能夠實現潛在的關聯,從而完成軌跡生長。
注意: 其實該方法思路很簡單,是在TrackerFormer上的擴展,其難點在于模型的訓練,如何有效的提供訓練數據。
MO3TR: Multi-Object TRacking using spatial TRansformers and temporal TRansformers.
MO3TR的框架圖如下:

Temporal Transformer
首先來介紹下Temporal Transformers,這個模塊并行作用在每個track上,目的是有效的利用每條軌跡的歷史狀態(tài)預測當前時刻用于檢測和關聯的隱狀態(tài)。給定某條軌跡, 其中
表示軌跡的起始時刻,
表示軌跡m在某一歷史時刻的歷史狀態(tài),那么使用transformer時需要提供每個embedding的pos編碼,而query是當前幀,即
狀態(tài)下的位置編碼
, 于是軌跡m在當前幀中的預測狀態(tài)為:

這里每條軌跡的長度是可變的,同樣通過迭代可以預測多步之后的狀態(tài)。
作者認為temporal transformer生成軌跡預測的優(yōu)勢:1)利用attention的方式能夠有效的篩選有用的歷史信息,使特征魯棒;2)利用位置編碼能夠學到有效的運動信息,而不單單是表觀特征變化。
Spatial Transformers
這一部分和TrackFormer相似,以預測的軌跡狀態(tài)和可學習的embedding作為queries,以當前圖像的特征encoder作為key和value,本質就是self-attention + cross-attention. 同樣的decoder包含多個decoder layer。
其中可學習的的embedding主要用來檢測新產生的目標,而預測狀態(tài)則表示已經存在的軌跡。
對于每個query都有一個輸出特征, 對該特征進行分類和回歸任務。這部分其實和TrackFormer類似,不同點在于分類后的query,通過閾值決定了那些軌跡已經終止和哪些檢測是軌跡的新起點,從而把當前時刻的新狀態(tài)更新到歷史集合中。
注意:這里提到的right-aligning 嵌入集合,本質上是對當前時刻存在的軌跡在當前時刻對齊,它影響的其實是pos編碼。
訓練
訓練部分值得注意的包含兩點;
- 如何構建訓練數據集,因為模型要建模軌跡的初始化、軌跡的終止和遮擋等情況,因此該類的數據應該足夠,只能通過數據增廣的方式實現。
- 因為預測的query既包括已有軌跡的持續(xù)生長,也包括新軌跡的初始化,所以應當確定如何給不同的query分配標簽。
針對于問題1. 的做法:首先訓練一個detr檢測器,那么檢測器就能提供第k幀圖像的前K幀圖像中的目標的embedding,可以將該embedding作為歷史狀態(tài)。這時候采用的損失函數和標簽匹配采用的和detr相同。 為了刻畫軌跡的初始化,軌跡的終止和軌跡的遮擋,使用了三種對應的數據增廣:a.隨機的丟掉部分embedding,使得模型更加魯棒,而丟失的是最近時刻的embedding時相當于目標的重識別;b. 隨機的插入一些positive examples, 增加對遮擋帶來的模糊的處理能力;c. 隨機選擇軌跡的長度,使模型能夠處理不同長度的預測。
在標簽分配上,檢測的標簽分配和DETR相同,而對于tracking部分的query,其label是歷史label相同。沒有匹配目標label的query的標簽賦值背景標簽。
實驗部分
- 細節(jié)。
圖像特征抽取的backbone是ImageNet上預訓練的,首先使用CrowdHuman, ETH和CUHJ-SYSU訓練一個行人檢測器,其次在MOT17上訓練temporal transformer和整個模型。 模型遵循DETR的策略,訓練300個epoch, 初始學習率1e-4, 每100個epoch以0.1衰減一次。歷史狀態(tài)的長度是1~30. 為了更好的訓練temporal transformers, 連續(xù)預測未來10步的狀態(tài),然后計算均值損失。(這部分細節(jié)不是很清楚) - 實驗結果
a. 在public 檢測條件下,性能相對于TrackFormer提升了1.4個點的MOTA,在FP, FN和IDS上都有提升。
b. 分析實驗驗證了不同的數據增廣的有效性。
c. temporal attention部分的可視化解釋描述的不是很清楚。
總結
文章的思路挺清晰,主要是temporal transformer模塊對多幀圖像的處理,其難點在于模型訓練部分。
文章對于temporal transformer模塊的描述不是很清楚,軌跡終止的時刻不是很清楚,在當前幀如果track query沒有檢測到是否表示軌跡終止了呢?如果是的話那軌跡重新找回是怎么刻畫的呢?
該模型的整體速度應該還可以,因為軌跡歷史狀態(tài)都已經是存儲的,只需要當前幀圖像的特征抽取,和兩種transformers的處理。