王 利,宣士斌,2*,秦續陽,李紫薇
(1.廣西民族大學 人工智能學院,南寧 530006;2.廣西混雜計算與集成電路設計分析重點實驗室(廣西民族大學),南寧 530006)
多目標跟蹤(Multi-Object Tracking,MOT)是計算機視覺研究的重要組成部分,應用領域越來越廣,如交通運輸、國防建設、軍事控制、自動駕駛等。從視頻監控到自動識別、姿態識別到行為分析,目標跟蹤都是計算機視覺中不可或缺的部分,但在真實世界中,視頻跟蹤關注的目標往往集中在人身上且需要關注的目標通常不止一個,所以MOT 的應用也越來越廣泛,對多目標跟蹤精確度的要求也越來越高,針對多目標跟蹤的解決方法也層出不窮。縱觀多目標跟蹤方法的發展歷史,大概經歷了兩個階段。
階段一 概率統計最大化的追蹤,如多假設多目標追蹤(Multiple Hypothesis Tracking,MHT)算法[1]、基于檢測可信度的粒子濾波算法[2]、基于最小代價流優化的算法[3]、基于馬爾可夫決策的算法[4]等。
階段二 深度學習的應用,如基于對稱網絡的算法[5]、基于最小多割圖模型的算法[6]、通過時空域關注模型學習多目標跟蹤算法[7]、基于循環網絡判別融合表觀運動交互的多目標跟蹤算法[8]等。
與單目標跟蹤不同,多目標跟蹤最大的特點在于數據關聯,所要面對的場景更加復雜,也更具挑戰性。除了單目標跟蹤遇到的問題之外,多目標跟蹤通常還會遇到以下問題:1)跟蹤目標的自動初始化和自動終止;2)跟蹤目標的運動預測和相似度判別;3)跟蹤目標之間的交互和遮擋處理;4)跟蹤目標再出現時,如何進行再識別。
多目標跟蹤的本質任務是初始化一組目標軌跡序列,并在跟蹤過程中保留身份信息,達到持續跟蹤的目的。隨著像素級目標檢測的發展,目標跟蹤基本遵循檢測-跟蹤模式,分為兩個基本步驟:一是在視頻幀中檢測出目標;二則通過關聯結構將前后兩幀的目標關聯起來,從而形成連續的目標軌跡。數據關聯問題可以從多個角度解決,如最小代價流[3]、馬爾可夫決策過程[4]、部分濾波[9]、匈牙利算法[10]和圖割[6]等。檢測和關聯結構中都面臨著巨大的挑戰,如小目標檢測、目標遮擋、對象重新識別等問題。
目前,基于注意力的Transformer[11]目標跟蹤方法大多采用端到 端的策 略,如TransTrack[12]、TrackFormer[13]、TransCenter[14]等。這類模型由輸入的視頻序列直接輸出跟蹤結果,其中TrackFormer[13]是基于端到端的可訓練Transformer[11]編碼器-解碼器架構。首先通過卷積神經網絡(Convolutional Neural Network,CNN)獲得多尺度特征圖,然后送入訓練好的編碼器結構中進行編碼,并將查詢結果解碼到對應相關的邊界框中。數據關聯是通過跟蹤查詢回歸來實現。預設300 個查詢,每個查詢代表一個目標對象,然后在視頻序列中以自回歸的方式在空間和時間上跟蹤它。每一幀都通過編碼器-解碼器處理輸入圖像的特征,解決跟蹤和對象查詢問題,并輸出帶有身份標識的邊界框;因此TrackFormer[13]不依賴任何額外的軌跡匹配、圖形優化或運動和外觀的顯式建模,在它跟蹤的過程中,丟失的目標很難通過編碼器-解碼器結構找回。為此,本文提出融合運動特征與表觀統計特性的多目標跟蹤器模型。受TransTrack[12]多解碼器的啟發,所提模型在TrackFormer[13]的基礎上設計雙解碼器用于修正目標樣本,額外設置了直方圖匹配找回跟蹤丟失的目標,被遮擋的目標則通過卡爾曼濾波進行軌跡預測;然后通過直方圖匹配判斷遮擋后新出現的目標是否為丟失的目標,以此保證跟蹤的持續性。利用Transformer[11]在目標跟蹤中的特性,即每個跟蹤目標在預設的300 個查詢中ID一致,新出現的目標ID 與丟失目標ID 一致,進行匹配以消除碎片化軌跡。在MOT17 數據集上的實驗結果也佐證了提出模型的有效性,提出模型的細節在后續章節中介紹。
本文主要工作如下:
1)利用雙解碼器修正目標,解決目標由于短暫的遮擋引起的目標丟失問題。
2)利用圖形外觀特征進行直方圖匹配,找回丟失的目標。
3)通過光流判斷攝像頭是否移動,利用運動特征和卡爾曼濾波預測目標運動軌跡,保證目標的連續性。
檢測-跟蹤模式是在給定檢測結果的基礎上建立目標之間的數據關聯,隨著時間形成軌跡的方法。一般使用關聯圖[15]、學習模型[16]、運動信息[17]、通用求解器[18]、multicut[19]或者是可訓練的圖神經網絡MPNTrack[20]進行軌跡關聯和長期再識別;然而,基于圖的方法受昂貴的優化成本影響,限制了它們在在線跟蹤方面的實際應用。外觀驅動方法利用日益強大的圖像識別骨干網絡,通過依賴孿生神經網絡[21]給出的相似性度量跟蹤目標,或者通過學習reID 特征[22]、檢測候選選擇[23]或親和力估計[24]跟蹤目標。外觀模型在擁擠的場景中會遇到很多物體-物體遮擋問題,而運動可以被建模用于軌跡預測,采用恒定速度假設(Constant Velocity Assume,CVA)或社會力模型,從數據學習運動模型也可以實現幀之間的軌跡關聯。
回歸-跟蹤模式通過將過去的對象位置回歸到當前幀中新的位置實現跟蹤。一些方法將目標檢測器轉換為跟蹤器[25],利用對象檢測器的邊界框回歸預測對象在下一幀中新的位置,通過簡單的重新識別和相機運動補償對它進行擴展,顯現出跟蹤器的可擴展性。CenterTrack[26]將對象表示為中心點,允許通過基于距離的貪婪匹配算法進行關聯。在這種方法中,目標檢測器不僅提供幀檢測,而且使用每條軌跡的連續回歸替代數據關聯步驟,以確定目標位置,即利用對象檢測器的邊界盒回歸預測對象在下一幀中的位置,從而將檢測器轉換為跟蹤器,隱含地實現了軌跡關聯,依靠額外的圖形優化或運動和外觀模型實現最高性能。在檢測-回歸的基礎上引入一個注意力跟蹤的范例,不僅適用于關注數據關聯,還以統一的方式進行跟蹤和檢測,簡化了跟蹤結構,并且可以預測從上一幀到下一幀的運動軌跡,通過時間的推移形成完整的目標軌跡。
分割-跟蹤模式不僅可以預測遮擋對象,還可以利用像素級信息改善擁擠和模糊背景區域的問題。一些研究嘗試使用分類不確定的圖像分割,應用Mask R-CNN(Mask Regionbased Convolutional Neural Network)[27]、三 維(Three Dimensional,3D)卷積[28]和Mask 池化層[29],或將對象表示為無序點云[30];然而,帶注釋的MOT 分割數據的缺乏使得現階段多目標跟蹤使用的方法無法進行公正評判。
基于注意力的圖像識別[11],將輸入的每個元素與其他元素關聯,并應用于圖像生成和目標檢測。對于MOT 來說,注意力只是用來將一組給定的目標檢測關聯起來,而不是聯合處理檢測和跟蹤問題,它需要額外的處理過程。
TrackFormer[13]將整個跟蹤目標映射為一個單一的集合預測問題,結合了軌跡初始化、身份和時空信息,并且只依賴功能級別的全局關注,將注意力運用在跟蹤問題上,是一個端到端可訓練的Transformer[11]編碼器-解碼器架構。對CNN 的幀級特征進行編碼,將查詢解碼成與身份表征相關的邊界框,并通過新穎、簡單的軌道查詢概念完成數據關聯。每個查詢表示一個對象,在視頻序列中以自回歸的方式在空間和時間上跟蹤該對象。進入場景的新對象由靜態對象查詢檢測,如Deformable DETR(Deformable DEtection TRansformer)[31],然后轉換為未來的跟蹤查詢。在第一幀中,編碼器-解碼器處理輸入的圖像特征,經過編碼器-解碼器結構輸出檢測到的目標邊界框,此后每一幀,解碼器不僅處理新對象查詢,也對上一幀中出現的目標進行跟蹤處理,回歸出每一個目標在本幀中的位置,并輸出具有指定標識的邊界框。因此,TrackFormer[13]以一種新的tracking-by-attention 范式實現了一種無縫的幀間數據關聯,注意力機制確保了模型同時考慮位置、遮擋和目標的識別特征,而不依賴于任何額外的軌跡匹配、圖形優化或運動和外觀的顯式建模。
TrackFormer[13]在跟蹤過程中仍然存在如下不足:未考慮軌跡暫存和找回、目標ID 切換(ID Switch,IDSW)頻繁、跟蹤碎片較多。為此,本文將TrackFormer[13]與運動特征和表觀統計特性融合,具體方法如下。
1)設置了雙解碼器以修正跟蹤結果,一個解碼器用于檢測目標,一個解碼器用于跟蹤目標。
2)對丟失的目標進行軌跡暫存,并利用直方圖匹配丟失的目標和新目標以找回目標,可以通過Transformer[11]結構中300 個查詢對象的ID 進行判斷,若丟失的目標和新增目標在查詢中的ID 一致則進行直方圖匹配。
3)利用卡爾曼濾波對因遮擋而丟失的目標進行位置修正和持續跟蹤,保證目標在遮擋的情況下能正常跟蹤。
本文方法的框架結構如圖1 所示。

圖1 本文方法的框架流程Fig.1 Framework flow of the proposed method
模型包含5 個模塊:多層卷積單元、編碼器單元、解碼器單元、直方圖匹配單元和卡爾曼濾波單元。針對被遮擋目標再出現后身份IDSW 的問題,提出了雙解碼器結構修正檢測解碼器的目標查詢編碼。針對目標被遮擋后丟失的問題,提出由卡爾曼濾波預測目標位置的方法。針對丟失或者不活躍的目標身份信息找回問題,提出了直方圖匹配方法。數據基本流程為:首先輸入連續的RGB 圖像進入多層卷積單元,得到多尺度特征圖,經過編碼器形成特征編碼;然后通過雙解碼器結構得到目標解碼特征,經過前饋神經網絡后得到目標包圍盒和分類信息;再對丟失的目標在3 幀內進行卡爾曼濾波預測,對不活躍的目標與新增的目標進行直方圖匹配以找回身份信息。提出的3 個新模塊的詳細實現細節分別介紹如下。
如圖2 所示,當許多目標短期丟失或者遮擋后再出現時,ID 發生了改變,并且不會找回之前的ID。圖2(a)中23號目標和圖2(b)中29 號的目標實際為同一目標,但在短時間的遮擋后再出現時發生了ID 切換和目標框漂移。出現這種情況的原因是解碼器是一種注意力構建塊,其中的自注意力層,類似于non-local 的神經網絡,先掃描序列中的每個元素,然后通過聚合完整序列中的信息更新每個元素。在處理目標遮擋時,被遮擋目標外觀發生改變,注意力機制無法利用之前的信息判斷目標的一致性,致使目標框停留在被遮擋時的位置,當目標再次出現時就更換了身份ID。在多目標跟蹤過程中會有大量的目標遮擋和移動,因此會產生大量的漂移和ID 切換,這嚴重影響了多目標跟蹤器性能。

圖2 被遮擋目標出現ID切換Fig.2 ID switch appearing on occluded object
在TrackFormer[13]中,用1×256的向量標記目標,每一組向量包含了目標的外觀特征、身份和位置信息,在跟蹤過程中會不斷更新;但在跟蹤過程中,信息的不斷累加并沒有使得目標能被持續跟蹤,反而包含了更多的環境和遮擋物信息。根據TrackFormer[13]初始化查詢的信息得知,在遇到遮擋問題時,被遮擋的目標信息被污染,更新到1×256 向量中的信息已經無法判別身份信息,一旦目標再次出現,就不能通過此向量重新識別,將會生成一個新的目標并為它賦予新的ID,而原目標會隨著被污染信息留在原地,形成目標框的漂移。
針對上述問題,本文利用TrackFormer[13]的初始化功能設計了一個新的分支用于檢測每一幀的目標。原結構為單分支解碼器同時用于檢測和跟蹤目標,在此新增一個檢測解碼器分支,用于在每一幀中檢測目標,原分支用于跟蹤目標和檢測新目標,然后利用匹配算法對兩個分支的目標進行匹配,將匹配成功的跟蹤目標向量每5 幀更新為檢測目標向量。當目標丟失和出現遮擋時則停止更新,并將目標軌跡暫存,保證信息的完整性,以方便后續進行匹配。取n=5,即每5 幀將跟蹤目標向量更新為檢測目標向量,是為了確保跟蹤目標積累的位置信息不至于徹底丟失,這樣既能保證獲得目標的最新信息,也能保證目標的跟蹤效果,同步了目標的位置信息和外觀特征,緩解了目標因短暫的遮擋引起的目標丟失問題。
雙解碼器單元具體結構實現如圖3 所示,第t幀圖像通過CNN后得到多尺度特征圖,然后輸入編碼器結構,經過編碼器后的結果送入兩個不同的解碼器,設置解碼器的初始目標為K=300。跟蹤解碼器輸入N+300個查詢目標,N為上一幀跟蹤的目標數。若N得分大于等于0.8,則表示目標在本幀中持續保持身份;若在剩下300 個目標中有ε個目標分數大于等于0.9,則為本幀中新檢測出的目標并賦予新的ID。檢測解碼器輸入300 個查詢目標,其中有M個目標分數大于等于0.9,然后將N+ε個目標與M個目標進行匹配,匹配成功之后在n=5 的情況下,將跟蹤目標向量更新為檢測目標向量。跟蹤目標向量在t+1 幀中疊加在300 個目標之前,即在t+1 幀的時候輸入N+ε+300 個目標,當前N+ε個目標的得分大于等于0.8時表示跟蹤成功;300個目標中得分大于等于0.9時表示有新目標出現,以此循環往復直到最后一幀。新增的檢測解碼器在300個查詢上與跟蹤解碼器的后300個查詢共享權重,區別在于跟蹤解碼器的輸入為N+300 個查詢,N為上一幀跟蹤的目標個數,而檢測解碼器的輸入為300 個查詢僅用于檢測目標。

圖3 雙解碼器流程Fig.3 Flow of dual-decoder
本文想法借鑒同為雙解碼結構的TransTrack[12],雙解碼器一支用于檢測,一支用于跟蹤,檢測分支300 個查詢,跟蹤分支N個查詢,N為上一幀目標,在經過兩個分支解碼器之后的目標還需要利用匈牙利算法進行匹配,匹配成功才可確認目標身份信息,較大程度上依賴于匹配算法。本文方法新設計的雙解碼器一支用于跟蹤目標和檢測新出現的目標,另一支用于檢測后更新符合條件的已存在目標的信息,檢測分支300 個查詢,跟蹤分支N+300 個查詢,前N個目標身份直接回歸得出,并不取決于雙解碼器的匹配結果,主要解決了目標信息更新和遮擋問題。雙解碼器的結構如圖4 所示。

圖4 雙解碼器結構明細圖Fig.4 Dual-decoder structure details
雙解碼器實驗效果如圖5 所示,圖5(a)中24 號目標與4號目標即將出現軌跡交叉,圖5(b)中24 號目標在經過4 號目標的遮擋后ID 依然為24,證明了雙解碼器的有效性。

圖5 雙解碼器修正結果Fig.5 Dual-decoder correction results
2.2.1 不活躍目標的匹配
原結構在丟失的目標上應用了像素級匹配,將丟失的目標與新增的目標在一定的幀數內作像素級匹配,匹配成功的目標則恢復身份ID。但是根據Transformer[11]的編碼器-解碼器結構可知,編碼器-解碼器并不是單純的像素上的應用,自注意和交叉注意的結果更注重像素之間的聯系而不是像素本身,每一個1×256 的目標向量,不僅包含目標表觀信息,更有運動信息和位置信息,所以不能單純地用像素級關聯來找回丟失的目標,因此,本文提出了直方圖匹配法。
直方圖匹配是一個輕量級的過程。目標在移動的過程中,大小、形狀都有可能發生變化,甚至背景也會發生較大的變化。在這種情況下若使用簡單的模板匹配結果往往不理想,而且模板匹配對圖像的大小有一定的要求,跟蹤過程中目標的大小不穩定,因此本文提出了直方圖匹配,將檢測目標裁剪后提取HSV 顏色直方圖,使兩幅圖像的操作保持一致,通過直方圖進行匹配,這樣的匹配方式對圖像的要求較少,且適合跟蹤過程中不同程度的變化,很容易得出結果。經過實驗,將匹配閾值設為0.3。
直方圖匹配單元如圖6 所示。丟失的目標進入不活躍目標庫,在接下來的15 幀中,每當出現新目標,則將新目標與不活躍的目標進行直方圖匹配。值得注意的是,在這里使用的是第一次檢測出目標的直方圖,因為目標在丟失的時候一般是遮擋狀態,在這個狀態下提取的目標受污染嚴重,匹配效果較差,所以取目標第一次出現時候的直方圖,并存儲起來,以便后續匹配使用。

圖6 直方圖匹配丟失目標Fig.6 Histogram matching missing objects
2.2.2 track-query-ID 消除碎片化軌跡
在實驗過程中,Transformer[11]的編碼器-解碼器結構需要預先初始化300 個查詢。在DETR 中最先固定的查詢數為100,但由于多目標跟蹤中目標數量龐大,進入和離開的目標數量也巨大,因此在TrackFormer[13]中將查詢數設置為300。TransCenter[14]中使用了500個查詢是考慮到了龐大的目標數。
將300 個目標進行編號并放回原圖像中可以發現初始化目標的規律。在第一幀中初始化的目標所占有的ID,與后續幾幀檢測出的相匹配的目標ID 一致,說明300 個目標中每一個目標都會固定占有一個ID。但這種現象只能保持一段時間,因為不斷有目標出現和消失,而且編號與位置信息有著莫大的聯系,當目標在運動過程中出現不穩定因素的時候,ID 的變化就可以說明這個結論。實驗中還發現當在相同的地方出現新目標或者是丟失后又出現的目標,其編號相同,說明每一個相同ID 的目標中位置信息很重要,也包含目標本身信息。根據這個發現,利用這種特殊結構的ID 來判斷相同ID 的目標是否是丟失的目標,從而找回中斷的目標,減少碎片化軌跡的數量。但是由于位置信息在編碼器-解碼器結構中的重要性質,導致位置重復的目標也有相同的ID,為了不盲目匹配目標,本文采用了額外的直方圖匹配確定目標的一致性。
卡爾曼濾波是一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法。經過一系列改進,卡爾曼濾波可以應用于視頻跟蹤序列中預測目標在下一幀中的位置,也可以通過預測的位置修正目標的真正位置,且可通過卡爾曼預測位置找回丟失的目標。因此在目標丟失的情況下,本文選擇卡爾曼濾波輔助系統進行目標預測,轉移方程和轉移矩陣公式如下:
其中:z(k)表示系統k時刻的M維狀態矢量;Φ(k,k-1)為狀態轉移矩陣;狀態模型誤差w(k)表示零均值的白噪聲隨機序列。該方程表示根據k-1 時刻的狀態向量z(k-1)預測k時刻的狀態向量z(k)。
本文中的狀態z(·)使用運動學的基本物理量(位移、速度、加速度)描述目標的運動規律,分別表示為s(k)、v(k)、a(k)。k時刻目標的狀態z(k)記為z(k)=式(2)表示完成狀態轉移所需的勻加速線性運動的一組方程,狀態轉移矩陣Φ(k,k-1)如式(3)所示:
其中:I2表示二維單位矩陣,O2表示二維零矩陣。
在跟蹤實驗過程中發現大部分目標一經遮擋或者移動速度較快的時候,在基于Transformer[11]編碼器-解碼器結構中,注意力機制并不能發揮良好的跟蹤效果,相對位置信息產生了較大差異,導致目標注意力丟失。于是本文提出利用卡爾曼濾波彌補這個缺陷,對軌跡的預測可以克服由遮擋引起的噪聲檢測問題(指在跟蹤過程中檢測目標但是檢測到了噪聲)。由于卡爾曼濾波前期的不穩定性,本文將擬合圖像幀數的閾值設置為16,在卡爾曼濾波獲得更穩定的預測結果之后,再對丟失目標進行預測。卡爾曼濾波器如果長時間不進行檢測更新,其精度會降低,每次從丟失狀態取回軌道時,卡爾曼濾波器將被重新初始化,因此只利用最后一個軌跡的信息預測軌跡,能極大提升預測目標位置的精度,也能對后期的目標找回提供更精確的判斷。
對需要進行卡爾曼濾波預測的目標進行篩選,原結構擁有很好的跟蹤性能,由于多目標跟蹤數據量龐大,為了降低內存消耗,保證算法實時性和效率,跟蹤器按照規則選擇性地對視頻序列中的目標進行卡爾曼預測和修正。卡爾曼濾波對丟失的目標會進行3 幀的預測,如果3 幀后并未找回目標,則將目標放入不活躍目標庫,對找回的目標則持續跟蹤。但是很多丟失的目標是正常丟失,如即將出畫的目標,因此需要排除正常出畫的目標。
一般情況下卡爾曼濾波需要一個較長的穩定期,但是在攝像頭隨機移動的場景中,目標運動的規律性很難把握且不符合線性卡爾曼濾波的條件,影響卡爾曼濾波器的預測結果,因此提出使用光流信息判斷攝像頭是否移動。固定攝像頭的場景中背景的變化是很微小的,而在移動的攝像頭中不論目標還是背景都會產生變化。在空間中運動可以用運動場描述,而在一個圖像平面上,物體的運動往往通過圖像序列中不同圖像的不同灰度分布體現,從而,空間中運動場轉移到圖像上就表示為光流場。光流場反映了圖像上每一點灰度的變化趨勢,可以看作是帶有灰度圖像的像素點在圖像平面上運動而產生的瞬時速度場,是一種對真實運動場的近似估計。給圖像中的每個像素點賦予一個速度矢量,這樣就形成了一個運動矢量場。在每2 幀中,前一幀圖像上的點與當前幀的點一一對應,這種對應關系可以通過投影來計算得到。根據各個像素點的速度矢量特征,可以對圖像進行動態分析。如果圖像中沒有運動目標,則光流矢量在整個圖像區域是連續變化的。當圖像中有運動物體時,目標和背景存在著相對運動。運動物體所形成的速度矢量v=(vx,vy)必然和背景的速度矢量不同,通過Lucas-Kanada 方法計算法運動矢量,通過運動像素與圖像像素形成的比率判斷攝像頭是否移動,如式(4)所示。
其中:(x0,y0)表示第一幀中像素點的位置;vx表示運動像素點的x方向的偏移量;vy表示運動像素點的y方向的偏移量。通過實驗將σ閾值設置為0.04。
由梯度法知有式(5)成立:
其中:I表示灰度值,It為t時刻的灰度值。
選取圖像的多個鄰域,每個鄰域中的點都滿足式(5)方程,這樣可以得到一系列方法:
寫成矩陣形式:
通過最小二乘法求解得光流場:
本章將介紹MOT 挑戰賽基準上本文方法的跟蹤結果。
數據集 MOTChallenges[32-33]是目前應用最廣泛的多目標跟蹤評判基準數據集,這些數據集有兩個軌道:公共軌道和私有軌道,其中公共軌道要求方法使用數據集提供的現成檢測器,私有軌道中的方法可以使用自己的檢測器。每個數據集由訓練集和測試集組成,每個訓練集都包含用全身邊界框標注的行人信息,視頻包含室內購物中心和室外街道,時長7~90 s。
度量 MOT 算法性能評估一般通過CLEAR MOT[34]中的評估協議來進行評估。通常關注兩個復合指標:多對象跟蹤準確性(Multiple Object Tracking Accuracy,MOTA)和身份F1得分(IDentity F1 score,IDF1),如式(9)(10)所示。前者關注對象覆蓋,后者則衡量方法的身份保存。IDF1 是正確識別的檢測與真實數與計算檢測數和的平均數之比,代表身份F1得分,是指在ID 保持相同的情況下,跟蹤的準確率和召回率的F-score 值。此外,還會使用以下指標:ML(Most Lost)、MT(Most Track)和IDSW。其中:GT指ground truth 數量,FN(False Negative)指該方法未檢測到的ground truth 對象的數量,FP(False Positive)指該方法錯誤檢測到但在groud truth 中未存在的對象的數量,TP(Tracking Precision)指跟蹤精度;IDTP表示ID 相同的TP值,IDFP表示ID 相同的FP值,IDFN表示ID 相同的FN值。
本文方法用ResNet50 CNN 作為特征提取器提取多尺度特征圖,也使用文獻[31]中提出的Transformer[11]編碼器-解碼器架構;然而,文獻[31]中應用的Focal loss 只強調了軌跡查詢,在訓練過程中忽略了新的目標檢測,所以采用了DETR 的交叉熵損失。利用雙解碼器區分跟蹤目標和新檢測目標,簡化了訓練步驟,對新目標的檢測精度也有所提升。Deformable DETR[31]大幅減少了訓練時間,提高了小目標的檢測性能,使得結果在MOTChallenges 數據集上有了不錯的表現,以鄰近區域采樣計算注意力取代Transformer[11]中全局的自注意力模塊,通過用多尺度可變形的注意模塊替換單尺度特征映射上的原始注意實現這一點。
經過檢測分析,MOTChallenges 數據集一幀中不會有超過300 個目標,為了盡可能多地檢測,通過設計依然保持初始化Nobject=300 個學習過的對象查詢,在跟蹤過程中的查詢數量是自適應的,并不局限于初始化目標數。
本文的實驗環境為Ubuntu18.4 操作系統。硬件環境:Intel Xeon Silver 4114 處理器,2*nvidia rtx8000 顯卡,顯存為2*48 GB,單卡算力16.3TFLOPS FP32,32.6TFLOPS FP16,130.5TFLOPS Tensor 運 算。Python 環 境:Python 3.6,CUDA10.1,PyTorch1.5。
本文方法在Trackformer[13]預訓練的基礎上進行了訓練。針對不同的數據集(如MOT17),在訓練集上進行了20 個批次的微調訓練后才進行測試,MOT17 數據集一共包含14 個視頻,其中訓練集共7 個視頻,驗證集與訓練集一致,測試集也包含7 個視頻,測試結果提交MOTChallenges 官網得到。在上述實驗環境下,20 個批次的訓練時長為20 h。針對MOT20 數據集也進行了20 個批次的微調訓練后才進行測試集的測試,MOT20 數據集一共包含8 個視頻,其中4 個訓練集,驗證集與訓練集一致,其余4 個為測試集,測試結果需提交MOTChallenges 官網得到。在以上實驗環境下,20 個批次的訓練時長為8 h。
第一幀圖像經過CNN 卷積提取多尺度特征圖后只經過編碼器進行編碼,然后通過檢測解碼器結構輸出初始化的目標檢測結果,初始化目標數為300,回歸分數大于等于0.9 即為真實目標。此后每幀將編碼器的輸出分別輸入兩個不同的解碼器,跟蹤解碼器的查詢目標為N+300,其中N為上一幀的真實目標數。檢測解碼器的查詢目標數依然為300。第1 個解碼器輸出的結果經過前饋網絡(Feed Forward Network,FFN)層后,前N個目標分數大于等于0.8 的即為跟蹤成功的目標,后300 個分數大于等于0.9 的即為新檢測出的目標。第2 個解碼器輸出的結果經過FFN 后分數大于等于0.9 的即為當前幀真實目標。將兩個結果的目標用匈牙利算法進行匹配,對匹配成功的目標若存在幀數n=5 則更新跟蹤目標為檢測目標結果,以確保目標的更新狀態;若目標存在遮擋狀態,則不進行這一步操作。若跟蹤的目標分數小于0.8 則進入不活躍目標庫,并記錄目標軌跡和身份ID,與下一幀的新增目標做直方圖匹配和ID 匹配,直方圖匹配的閾值為0.3,若匹配成功則恢復丟失目標的身份,不活躍目標的最 大存活 期限為n=15。在MOT16[32]和MOT17 數 據集[32]上進行測試的時候使用在MOT17 數據集上進行微調的模型,在MOT20 數據集上進行測試的時候,使用在MOT20 數據集上進行微調的模型。
根據3.2 節中描述的實現步驟,在MOT16 測試集、MOT17 測試集和MOT20 測試集上對本文方法進行測試。
表1 是在測試集上評估的本文方法與其他對比多目標跟蹤方法的比較。可以看出,本文方法達到了與對比方法相媲美的分數,并在多個指標上達到了最優。在MOT16 數據集上,本文方法在IDF1 和ML 上取得了最好的表現,將丟失軌跡降低至最小15.80%,說明本文方法在持續身份跟蹤上有不錯的表現。在MOT17 數據集上IDF1 達到了最高分,在ML 上也取得了最好的表現,將丟失軌跡降低至最小13.63%,在IDSW 指標上取得了最好效果,把目標IDSW 數降至最低,說明本文方法在針對IDSW 上有良好的表現。在MOT20 數據集上本文方法的實驗結果取得了不錯的成績,且在IDF1,MOTA,MT,IDSW 指標上都取得了最好結果,說明本文方法在目標密集的數據集上也有不錯的表現。

表1 本文方法在各數據集上與先進方法的比較Tab.1 Comparison of the proposed method with state-of-the-art methods on each dataset
如表1 所示,在MOT16 數據集上,相較于可訓練的圖神經網絡MPNTrack[20]、基 于CNN 特征進 行多目 標跟蹤 的CNNMTT[35]、基于SORT 算法與卡爾曼濾波的DeepSORT[36]、基于相似性度量和目標塊之間匹配的NOMTwSDP16[37]、提升不相交路徑的Lif_T[38]、具有高性能檢測和外觀特征的POI[39]、用于在線多目標跟蹤的遞歸自回歸網絡RAR16wVGG[40]和經典YOLO 目標跟蹤算法JDE[41]這些多目標跟蹤算法,本文方法表現較好。與JDE[41]相比,在IDF1 上的提升了9.33 個百分點,MOTA 上提升了0.99 個百分點,IDSW 數量也有大幅下降,體現了本文方法的優異性。
在MOT17 數據集[32]上,相較于基于TrackFormer 的雙解碼器算法TransTrack、鏈式跟蹤算法CTracker[42]、基于多幀管道的單階段框架、實現端到端訓練的算法TubeTK[43]、基于CenterNet 的目標跟蹤器CenterTrack[26],本文方法在跟蹤性能上表現也較好。相較于TrackFormer[13],MOTA 提升了0.41個百分點;IDF1 達到最佳,相較于TrackFormer[13]提升了0.87個百分點,說明目標在身份得分上有良好的表現,直方圖匹配找回丟失目標的結果在此得到很好體現;ML 也有所下降,說明目標丟失的數量減少,跟蹤的持續性有一定的提升,卡爾曼濾波的作用在此體現;最大的特點在于IDSW 數量相較于TrackFormer[13]降低了16.3%,這是影響MOTA 指標的一個重要元素,目標ID 切換的減少對多目標的跟蹤性能提升有巨大的影響,保證了目標軌跡的連續性,說明雙解碼器也給結果帶來了不小的改進。
本文方法相較于同是雙解碼器結構的TransTrack[12],各項指標優勢明顯,尤其在IDF1 指標上,高出7.87 個百分點,說明本文方法在身份得分上優勢明顯。在MT 指標上高出13.02 個百分點,說明大多數目標被跟蹤的軌跡數量有大幅提升。在IDSW 指標上,提升了44.9%,效果顯著。MOTA 結果略低于TransTrack,而MOTA 結果依賴于檢測器的結果,說明本文提出的回歸目標身份信息方法相較于傳統兩步匹配身份信息的方法尚有改進的余地,這也是接下來努力的方向。
在MOT20 數據集[33]上,與簡單、實時的數據關聯方法SORT20[44]、基于圖的near-online 跟蹤方法MLT[45]和將目標檢測器轉換為跟蹤器的Tracktor++V2[25]相比,IDF1 達到了最高(53.69%),MOTA 也最高(55.26%),且在密集人群中關注較多的IDSW 指標上達到了最低(1 169)。說明本文方法在目標密集的情況下也有不錯的表現。
將MOT17 測試集7 個視頻的TrackFormer 結果與本文方法針對不同指標進行對比,如圖7 所示,將關鍵數據列為圖表形式。可以看出,7 個視頻中IDSW 數量都有一定程度的下降,說明本文算法在各個視頻中減少ID 切換方面有良好的表現。FP 為誤報總數,在01、03、06、07、08、14 視頻序列中有所下降,但在12 視頻序列中反而上升了47 個誤報數量,經過分析得知,12 視頻序列中被物理遮擋的小目標數量眾多,在被遮擋后卡爾曼濾波并不能帶來準確的預測導致誤報數量上升,這也是12 視頻序列MOTA 分數下降的原因。IDF1是正確識別的檢測與真實數與計算檢測數和的平均數之比,代表身份F1 得分,相較于其他視頻序列得分的提升,07 和12視頻序列的身份得分有所下降,分析得知,這兩個視頻序列都是移動攝像頭拍攝的,移動攝像頭下的目標表觀特征變化比較明顯,利用表觀特征的匹配在其中稍顯遜色。

圖7 MOT17視頻序列結果明細對比Fig.7 Detail comparison of MOT17 video sequence results
如圖8 所示,視覺跟蹤實例進一步驗證了本文方法的有效 性。圖8(a)中分別 為本文 方法和TrackFormer 在MOT17-01 視頻序列上的結果,可以看到目標23 經過兩次遮擋后分別變更ID 為27 和32,而本文方法中目標24 經過兩次遮擋后ID 依然為24。圖8(b)中由于人群密集,做了箭頭標注,ID50 的目標在119 幀穿過密集人群的時候目標框發生了漂移,在305 幀的時候切換ID 為214,而ID50 漂移到了另一個目標身上,本文方法能在目標穿過密集人群后仍然保持身份,這得益于雙解碼器對目標信息的更新修正。從圖8(c)中可以發現TrackFormer 中ID17 的目標在經過遮擋后ID 變更為82,而本文方法中ID18 的目標在經過遮擋后依然保持了目標身份信息。優秀的跟蹤結果驗證了本文方法即使在那些困難的條件下,也能實現穩健和精確的性能。

圖8 MOT17數據集上的跟蹤實例Fig.8 Tracking examples on MOT17 dataset
如表2 所示,對MOT17 訓練序列的消融研究在私人檢測設置下進行了評估。表2 給出了不同組件對跟蹤性能的影響,以未加入任何組件的TrackFormer[13]作為基礎,在此基礎上進行對比。

表2 各模塊消融實驗結果Tab.2 Ablation experimental results of each module
從表2 中可以看到,加入未判斷攝像頭移動情況下的卡爾曼濾波預測結果,MOTA 下降了0.6 個百分點,IDF1 下降3.0 個百分點,目標IDSW 數量也有所提升;加入判斷攝像頭不運動狀態下的卡爾曼濾波后,MOTA 提升了0.5 個百分點,IDF1 提升了0.3 個百分點,IDSW 數量降低了84。說明攝像頭的移動對卡爾曼濾波具有一定的影響。直方圖匹配加入后,雖然MOTA 只提升了0.2 個百分點,但IDF1 提升了1.7個百分點,結果比較可觀,IDSW 數量也下降了408。雙解碼器的引入使MOTA 提升了0.8 個百分點,IDF1 提升了0.1 個百分點,IDSW 數量下降了303。整合3 個組件的結果(即all)達到了最好效果,從這個結果中可以知道本文的每一部分改進都在多目標跟蹤的精度和身份保存上起到了明顯的作用。
如表3 所示,在MOT17 數據集上對本文方法進行了魯棒性實驗,可以看出,在加了噪聲和扭曲的任務后,MOTA 和IDF1 指標分別有輕微的波動,IDSW 也出現了上下波動的情況,但是幅度較小,說明本文方法在有噪聲和扭曲的情況下魯棒性較好。但在平移的任務下,MOTA 和IDF1 分別下降了34.6 和40.9 個百分點,IDSW 數量也大幅增加,經過分析,平移改變了每一幀圖像中目標相對于GroudTruth 的絕對位置,在與GroudTruth 進行評分的時候,無法確定對應關系和位置的變化,導致評分出現了較大的差異。魯棒性實驗結果展示如圖9 所示。

表3 MOT17數據集上的魯棒性實驗結果Tab.3 Robustness experimental results on MOT17 dataset

圖9 MOT17數據集上的魯棒性實驗結果展示Fig.9 Display of robustness experimental results on MOT17 dataset
本文提出了一個統一的注意力跟蹤模式,利用TrackFormer 結構,在該結構中增加了一些模塊提升多目標跟蹤性能。本文設置了微調后的雙解碼器修正跟蹤結果,一個解碼器用于檢測目標,一個解碼器用于跟蹤目標。通過注意力操作,依據額外的匹配、圖形優化、運動或外觀建模聯合處理軌跡初始化、身份識別和時空軌跡形成,并在處理目標ID 切換上取得了顯著效果;使用直方圖匹配丟失的目標和新增的目標找回目標;使用卡爾曼濾波對遮擋丟失的目標進行位置修正和持續跟蹤,保證目標在遮擋的情況下能被正常跟蹤。本文方法實現了先進的多目標跟蹤結果,我們希望這個范例將促進未來在利用TrackFormer 結構的檢測和多目標跟蹤方面的工作。
根據之前的研究結果可以發現,在評判標準中,假陰性和假陽性目標數是影響分數大幅度變化的重要因素,但是很多方法在實際研究中都只針對了其中一個數據進行優化,沒有考慮兩種數據變化的規律,很多時候假陰性目標數下降之后假陽性目標數量會有所上升。關注指標之間的聯系或許是多目標跟蹤的一個突破口。TrackFormer 結構中存在一個很重要的結構——查詢。在Transformer 最開始運用于圖像處理的時候,查詢數量為100,TrackFormer 中查詢數量為300,有些基于Transformer 結構的算法使用查詢數量500,精度有了明顯的提升。將查詢應用到圖像上發現是布滿全圖的目標框,類似于錨結構,關于查詢數量是否與結果有關,以及查詢結果是否依賴于特征提取結果等,是未來研究Transformer 結構應用于圖像處理的重要研究方向。