AI論文解讀:基於Transformer的多目標跟蹤方法TrackFormer


摘要:多目標跟蹤這個具有挑戰性的任務需要同時完成跟蹤目標的初始化、定位並構建時空上的跟蹤軌跡。本文將這個任務構建為一個幀到幀的集合預測問題,並提出了一個基於transformer的端到端的多目標跟蹤方法TrackFormer。

本文分享自華為雲社區《論文解讀系列十四:基於transformer的多目標跟蹤方法TrackFormer詳細解讀》,原文作者:谷雨潤一麥 。

多目標跟蹤這個具有挑戰性的任務需要同時完成跟蹤目標的初始化、定位並構建時空上的跟蹤軌跡。本文將這個任務構建為一個幀到幀的集合預測問題,並提出了一個基於transformer的端到端的多目標跟蹤方法TrackFormer。本文模型通過注意力機制實現了幀與幀之間的數據關聯,完成了視頻序列間的跟蹤軌跡的預測。Transformer的解碼器同時從靜態的目標查詢中初始化新的目標和從跟蹤查詢中跟蹤已有的跟蹤軌跡並對位置進行更新,兩種類型的查詢都可以同時從self-attention和encoder-decoder的注意力中關注到全局的幀級特征。因此可以省略掉額外的圖優化和匹配的過程,也不需要對運動和外貌特征進行建模。

1. Motivation

多目標跟蹤任務需要跟蹤一系列目標的軌跡,當目標在視頻序列中移動時可以保持各自具有區分性的跟蹤id。現有的tracking-by-detection的方法一般都包含兩個步驟(1)檢測單獨視頻幀中目標(2)對幀與幀之間的檢測目標進行關聯,從而形成每個目標的跟蹤軌跡。傳統的基於tracking-by-detection的方法的數據關聯一般都需要圖優化或者利用卷積神經網絡預測目標間的分數的方式。本文提出了一個新的跟蹤范式tracking-by-attention,該方法將多目標跟蹤任務建模為一個集合預測問題,通過提出的TrackFormer網絡實現了端到端的可訓練的在線多目標跟蹤網絡。該網絡利用encoder對來自卷積網絡的圖像特征進行編碼,然后通過decoder將查詢向量解碼為包圍框和對應的身份id,其中的跟蹤查詢用來做幀與幀之間的數據關聯。

2. 網絡結構

本文提出的TrackFormer是一個基於transformer的端到端多目標跟蹤方法,它將多目標跟蹤任務建模為一個集合預測問題,並引出了tracking-by-attention這種新的范式。下面將從整體流程、跟蹤過程和網絡損失函數三個方面分別對網絡進行介紹。

圖一 trackformer訓練流程圖

2.1 基於集合預測的多目標任務

給定具有K個不同identity的目標的視頻序列,多目標跟蹤任務需要生成包括包圍框和身份id(k)的跟蹤軌跡

總幀數T 的子集(t1,t2,…)記錄了目標從進入到離開場景的時間序列。

為了將MOT(多目標跟蹤任務)建模為序列預測問題,本文利用了transformer的編碼器-解碼器結構。文本模型通過下面四個步驟完成在線的跟蹤並同時輸出每一幀目標的邊界框、類別以及身份id:

1)通過通用的卷積神經網絡backbone提取幀級的特征,例如ResNet

2)通過transformer的編碼器的self-attention模塊完成幀級特征編碼

3)通過transformer的解碼器的self-和cross-attention完成對查詢實體的解碼

4)通過多層感知機對解碼器輸出進行映射完成邊界框和類別的預測

其中解碼器的注意力機制一共分為兩種(1)所有查詢向量上的self-attention,可以用來響應場景中的所有目標;(2)編碼器和解碼器之間的注意力,可以獲取到當前幀的全局視覺信息。另外,因為transformer具有排列不變性,需要分別給特征輸入和解碼查詢實體添加額外的位置編碼和目標編碼。

2.2 基於解碼器查詢向量的跟蹤過程

Transformer的解碼器查詢向量一共有兩種初始化方式(1)靜態目標查詢向量,幫助模型在任意幀初始化跟蹤目標(2)自回歸跟蹤查詢向量,負責在幀與幀之間跟蹤目標。Transformer同時對目標和跟蹤查詢進行解碼可以以一種統一方式的實現檢測和跟蹤,因此引入了一種tracking-by-attention的模式。詳細的網絡結構如下圖所示:

圖二 trackformer網絡結構

2.2.1 跟蹤初始化

場景中新出現的目標都是通過固定數量(Nobject)的目標查詢向量進行檢測的,這Nobject個目標向量在網絡訓練過程中會不斷學習從而可以實現場景中的所有目標編碼,然后通過transformer的解碼器的解碼完成新目標類別和位置信息的預測,從而實現了跟蹤的初始化。

2.2.2跟蹤查詢

為了實現幀與幀之間的跟蹤,本文在解碼過程中提出了“跟蹤查詢”這個概念。跟蹤查詢會在視頻序列中不斷跟蹤目標,在攜帶者身份信息的同時還通過自回歸的方式自適應的調整目標的位置預測。為了實現這個目標,在解碼過程中會用上一幀對應的輸出embedding來初始化檢測的跟蹤查詢向量,然后在解碼過程中通過encoder和decoder建立當前幀和查詢向量之間注意力關系,從而完成了跟蹤查詢中各個實例的身份和位置的更新。

跟蹤查詢向量如圖一中的顏色方塊所示,上一幀的transformer輸出embedding會被用來初始化當前幀的查詢向量,通過和當前幀特征進行查詢,完整幀與幀之間的目標跟蹤。

2.3 網絡訓練及損失函數

因為查詢跟蹤需要跟蹤下一幀的目標並和目標查詢交互一起工作,TrackFormer需要專門的幀與幀之間的跟蹤訓練。如圖一所示,本文通過同時訓練緊鄰的兩幀來完成跟蹤訓練,並一起優化所有的多目標跟蹤目標函數。集合預測損失度量了每一幀的所有輸出

的類別和邊界框預測與真實目標之間的相似性,集合預測損失一共可以分為兩部分計算:

1)上一幀(t-1)的 Nobject 個目標查詢的loss

2)從上一步得到得到的跟蹤目標和當前幀(t)的新的檢測目標總共N個查詢的loss

因為transformer的輸出是無序的,因此在計算集合預測損失之前需要先完成輸出embedding和真實標簽之間的匹配問題。這個匹配可以同時通過跟蹤id和包圍框以及類別之間的相似性來完成,首先考慮跟蹤id的情況,我們用 Kt-1 表示t-1幀的跟蹤id集合,用 Kt 表示當前幀t的跟蹤id集合,通過這兩個跟蹤集合可以完成Ntrack跟蹤查詢和真實標簽的硬匹配。兩個集合的匹配一共可以分為三種情況:(1)kt-1 和 kt 的交集,這個可以用來直接給跟蹤查詢embedding匹配對應的真實標簽(2)kt-1 中出現 kt 中沒有的,直接舍匹配背景標簽(3)kt 和 kt-1中有中不存在的在,這一部分是新的目標,需要用匈牙利算法對目標查詢和真實標簽的包圍框和類別進行優化匹配得到最小損失的匹配結果。匹配過程如下公式所示:

σ為gt到目標查詢(Nobject)的映射關系,優化目標就是讓匹配損失最小,匹配損失同時包括了類別損失和包圍框損失如下所示:

得到匹配結果后,最后就可以計算集合預測損失,同時包括了跟蹤和目標查詢輸出的損失,計算方法如下:

∏是通過跟蹤id和匈牙利算法得到的輸出與真值之間的匹配結果。

3. 實驗結果

表3-1 MOT17上的跟蹤結果

從表3-1的結果可以看出,在私有檢測器上的跟蹤結果仍有一定差距,這主要是因為基於transformer的檢測器效果沒有現在SOTA的方法好,但當采用共有檢測器時,在線上跟蹤的情況下無論是在MOTP和IDF1都有明顯的提升。

表3-2 MOTS20上的跟蹤結果

除了目標檢測和跟蹤之外,TrackFormer還可以預測實例水平的分割圖。從表3-2可以看出無論是在交叉驗證結果上還是測試集上,TrackFormer都要優於現有的SOTA方法。

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM