劉文強,裘杭萍,李 航,楊 利,李 陽,苗 壯,李 一,趙昕昕
陸軍工程大學 指揮控制工程學院,南京 210007
多目標跟蹤(multiple object tracking,MOT)是機器視覺領(lǐng)域的一個重要研究課題,其目的是穩(wěn)定跟蹤視頻序列中的多個感興趣的目標,生成目標的運動軌跡。按照運動軌跡的生成是否依賴后續(xù)幀的信息,多目標跟蹤任務可以分為離線跟蹤與在線跟蹤兩種不同的模式[1]。離線跟蹤使用一段視頻中全部的檢測結(jié)果共同推理每一幀中目標的運動軌跡,可以視為全局優(yōu)化問題,而在線跟蹤根據(jù)當前的檢測結(jié)果與歷史軌跡按時間順序逐步生成新的軌跡。由于在線多目標跟蹤可以實時處理輸入的視頻序列,在現(xiàn)實場景中應用廣泛。在自動駕駛領(lǐng)域[2],汽車需要從運動畫面中快速定位行人、車輛、交通標志等目標,然后預測目標在場景中的運動軌跡,為車輛正常運行提供基本的數(shù)據(jù)支撐;在視頻監(jiān)控系統(tǒng)中[3-4],基于行為識別的上層應用也常常依賴在線多目標跟蹤技術(shù),如入侵檢測、遺留物檢測、人體跌倒檢測、突發(fā)事件檢測等技術(shù)都需要其提供感興趣目標的運動軌跡;特別在軍事領(lǐng)域[5],在線多目標跟蹤是制導武器系統(tǒng)和無人作戰(zhàn)平臺的關(guān)鍵技術(shù),是保障武器快速精準命中目標和執(zhí)行偵查等作戰(zhàn)任務的基本條件。
早期的在線多目標跟蹤算法關(guān)注復雜的關(guān)聯(lián)優(yōu)化方法,這些方法精度有限。隨著深度學習的快速發(fā)展,基于深度學習的在線多目標跟蹤算法逐漸成為主流,其基本框架如圖1 所示,包括檢測器和關(guān)聯(lián)器兩部分,分別用于目標檢測以及表觀特征提取、目標特征預測和數(shù)據(jù)關(guān)聯(lián)。其中,目標檢測產(chǎn)供目標的基本信息,包括位置、大小以及形態(tài)等;表觀特征提取模塊為目標提取表觀特征,用于確定目標的身份;目標特征預測模塊建模之前幀中目標的空間位置或表觀特征隨時間的變化,預測目標在后續(xù)幀中的空間位置或表觀特征;數(shù)據(jù)關(guān)聯(lián)模塊根據(jù)前三個模塊的輸出連接不同幀中的檢測框形成最終的軌跡。
圖1 深度在線多目標跟蹤算法主要步驟流程圖Fig.1 Flow chart of main steps of deep online multi-object tracking algorithm
與傳統(tǒng)方法相比,深度在線多目標跟蹤算法性能更加良好,但依舊存在以下幾方面問題:
(1)遮擋和小目標問題。跟蹤過程中部分被遮擋目標的表觀特征損失嚴重,并且場景中的小目標由于其本身占據(jù)的像素點較少導致特征不足。以上問題對目標的檢測與匹配均有顯著影響,從而降低了跟蹤算法最終的性能。由Bytetrack算法[6]在MOT17驗證集上的跟蹤結(jié)果(圖2)可以看出,跟蹤過程中遺漏的目標大部分都集中于可視度(未被遮擋面積與目標框總面積的比值)較低的目標和小目標當中。
圖2 遺漏目標散點圖Fig.2 Scatter diagram of missing target
(2)目標特征不一致問題。在跟蹤時,目標的特征處于動態(tài)變化中,當前后特征變化過大時,就會產(chǎn)生特征不一致的問題。例如:序列幀中同一目標的尺度不對齊,隨雨、雪、霧、強烈光照變化導致跟蹤主體特征的變化,鏡頭抖動導致運動規(guī)律不一致。
雖然基于深度學習的在線多目標跟蹤算法相比傳統(tǒng)算法已經(jīng)有了較大突破,但較為全面地介紹基于深度學習的在線多目標跟蹤算法的相關(guān)綜述較少。例如,文獻[7-8]主要介紹基于傳統(tǒng)檢測方法和特征提取方法的多目標跟蹤算法,與現(xiàn)有基于深度學習的在線多目標跟蹤算法具有較大差異;文獻[9-10]主要關(guān)注多目標跟蹤算法中的數(shù)據(jù)關(guān)聯(lián)技術(shù);近期,文獻[11-14]討論了基于深度學習的在線多目標跟蹤算法。當前,一般的分類方法將基于深度學習的在線多目標跟蹤算法分為基于檢測跟蹤和聯(lián)合檢測跟蹤兩種框架,它們的區(qū)別在于是否存在與目標檢測網(wǎng)絡融合的跟蹤模塊。本文在此基礎(chǔ)上進一步將深度多目標跟蹤算法分為了如圖3所示的六個子類。為了便于表達,后文圖表中分別用DBE(detection-basedembedding)、DBP(detection-based-prediction)、DBA(detection-based-association)、JDE(joint-detectionembedding)、JDP(joint-detection-prediction)和JDA(joint-detection-association)表示基于特征重提取的表觀特征提取、基于時序性建模的特征預測、基于匹配的數(shù)據(jù)關(guān)聯(lián)、基于特征復用的表觀特征提取、基于幀間特征融合的特征預測以及基于特征查詢的數(shù)據(jù)關(guān)聯(lián),子類根據(jù)多目標跟蹤的功能模塊進行分類:
圖3 深度在線多目標跟蹤算法分類Fig.3 Classification of deep online multi-object tracking algorithm
(1)表觀特征提取模塊。提取當前圖像中所有目標的表觀特征向量。如圖4所示,DBE的特征提取獨立于檢測階段的圖像處理過程,其輸入是一組檢測到的目標區(qū)域的切片,通過重識別網(wǎng)絡提取切片的表觀特征作為目標的表觀特征向量。JDE通過一體式網(wǎng)絡推理全圖信息,然后抽取目標在特征圖上的對應像素點作為目標的表觀特征向量,并同時輸出目標的檢測框。圖中的行人圖片均來自MOT17數(shù)據(jù)集。
(2)目標特征預測模塊。根據(jù)目標之前的空間位置和表觀特征預測其后續(xù)的空間位置和表觀特征。如圖4,DBP采用獨立于檢測器的模塊預測目標特征,其輸入通常為目標在歷史中的幾何特征(位置、長寬等)的編碼向量和表觀特征向量,通過時序模型預測特征向量的變化。JDP 的特征預測與檢測階段的圖像處理過程共同進行,通過在檢測網(wǎng)絡中加入前幀信息或多幀檢測完成。
(3)數(shù)據(jù)關(guān)聯(lián)模塊。根據(jù)對目標特征的預測結(jié)果和當前幀的檢測結(jié)果和提取的目標表觀特征向量(為方便敘述,后文分別稱為軌跡特征和檢測特征)更新軌跡。如圖4所示,DBA的深度關(guān)聯(lián)模型使用檢測模型的輸出作為輸入,直接預測當前的分配矩陣,然后通過分配矩陣識別目標身份。JDA 的數(shù)據(jù)關(guān)聯(lián)與目標檢測同時進行,使用單一神經(jīng)網(wǎng)絡處理輸入圖像直接推理輸出目標的軌跡。
圖4 不同框架的在線多目標跟蹤對比Fig.4 Comparison of different online multi-object tracking pipelines
為了清楚地展示各類算法的異同,表1總結(jié)了每類算法的典型機制以及優(yōu)缺點。
表1 不同類型的在線多目標跟蹤算法特點總結(jié)Table 1 Summary of characteristics of different types of online multi-object tracking algorithms
本文的貢獻主要如下:
(1)全面調(diào)查了基于深度學習的在線多目標跟蹤方法,重點是從單攝像機視頻中提取的2D視頻,包括以往綜述中未涉及的近期主要工作。
(2)分析整理了深度在線多目標跟蹤的兩類框架和三個重要模塊,分別描述了深度學習模型在這些模塊中使用的方法以及優(yōu)缺點。
(3)收集了不同算法在MOT17和MOT20測試集的結(jié)果,對數(shù)據(jù)進行了分析比較,然后討論了未來的發(fā)展方向。
在線多目標跟蹤領(lǐng)域引入深度學習算法后,首先出現(xiàn)了基于深度目標檢測器的多目標跟蹤算法。這些算法[15-17]在多目標跟蹤流程的檢測部分加入性能較高的深度學習目標檢測器,例如區(qū)域卷積神經(jīng)網(wǎng)絡(region-CNN,R-CNN)[18-19]、SSD(single shot multibox detector)[20]和YOLO(you only look once)[21-24],提升在線多目標跟蹤算法的性能。典型的SORT(simple online and realtime tracking)算法[15]就基于傳統(tǒng)的匈牙利關(guān)聯(lián)算法,使用Faster R-CNN 目標檢測網(wǎng)絡替換原有的聚合通道檢測(aggregate channel feature,ACF),實現(xiàn)了跟蹤準確度和速度的大幅提升。后續(xù)的研究[6]也表明了檢測精度與在線多目標跟蹤性能存在高度的正相關(guān)。以良好的目標檢測結(jié)果為前置輸入,分別改進目標特征預測模塊、表觀特征提取模塊和數(shù)據(jù)關(guān)聯(lián)模塊的算法都屬于基于檢測的多目標跟蹤算法。下面根據(jù)這三個模塊分別進行論述。
1.1.1 基于特征重提取的表觀特征提取
目標的表觀特征被廣泛用于多目標跟蹤進行關(guān)聯(lián),相比于一些只使用簡單的運動建模的基線跟蹤器[6,15,25],目標的表觀特征較為穩(wěn)定,可以更加魯棒地連接長時間遮擋的目標。例如,DeepSORT[26]在SORT算法的基礎(chǔ)上使用在大規(guī)模ReID數(shù)據(jù)集上預訓練的ResNet網(wǎng)絡[27]提取目標的表觀特征,然后將表觀特征相似性度量融入到關(guān)聯(lián)代價中進行關(guān)聯(lián),大幅減少了跟蹤過程中目標身份切換的問題。
在基于檢測的跟蹤范式中,目標的表觀特征通過一個額外的網(wǎng)絡進行學習,網(wǎng)絡的輸入為裁剪并對齊的檢測圖像,如圖5 所示。其中ResNet-50[27]、Wide Residual Network[28]以及GoogLeNet[29]均被廣泛采用[26,30-39]。通常,這些算法將不同幀間的相同對象視為單獨的類,并使用交叉熵損失進行ID分類[30-31,34-35],也有一些算法將來自同一對象的檢測視為正樣本,來自不同對象的檢測視為負樣本,然后采用三元組損失(triplet loss)[32,37]或者基于Softmax的對比損失[40]來學習批樣本中的區(qū)別嵌入。與交叉熵損失相比,三元組損失可以更好地區(qū)分不同ID 之間的細微差異,特別是對于顏色和姿態(tài)相似的物體。與每次只取三個樣本的Triplet loss不同,對比損失比較了批中所有負對的關(guān)系,拉近正樣本間的相似性。三元組損失由于需要挑選合適的樣本對而訓練較慢。這種使用裁剪樣本重新提取特征的方法有幾個優(yōu)點:首先,這種算法非常靈活,可以替換、組合最優(yōu)秀的檢測模型、外觀模型和關(guān)聯(lián)模型;其次,它可以使用大量的外部數(shù)據(jù)進行訓練,與完全標注的視頻數(shù)據(jù)相比,大規(guī)模裁剪的圖像數(shù)據(jù)集更容易收集;最后,這些算法會將裁剪的檢測圖像縮放到統(tǒng)一的尺寸,因此可以緩解目標尺度變化帶來的特征不一致問題。同時,這類算法的缺點也很明顯:首先,使用一個額外的表觀模型單獨訓練,無法進行全局優(yōu)化,容易得到次優(yōu)解;其次,視頻中的目標切片可能存在大量背景和重疊目標影響正常分類學習;再次,只學習圖像樣本的表觀特征,無法得到跟蹤軌跡的時間信息;最后,推理時需要裁剪所有檢測圖像再調(diào)用外觀模型提取特征,比較耗時。
圖5 提取檢測目標切片的表觀特征Fig.5 Extract appearance features of detection object patch
1.1.2 基于時序性建模的特征預測
使用聚合的軌跡表觀特征進行數(shù)據(jù)關(guān)聯(lián)是一個合理的做法。不同于直接比對兩個相鄰幀目標的表觀特征,關(guān)聯(lián)模型通常會使用指數(shù)移動平均(exponential moving average,EMA)[41]將軌跡的特征進行聚合,防止遮擋和離群的特征點影響匹配。不同于表觀特征關(guān)注目標的體貌及姿態(tài),運動特征可以建模目標空間位置和邊框尺寸隨時間的變化,從而衡量兩個檢測框是否匹配,對遮擋目標更加有效。
在基于檢測的框架中,為了更好地模擬時間線索,許多工作也建模了軌跡的視覺表觀特征和運動特征的時空特性。如圖6所示,使用一個特征聚合網(wǎng)絡建模軌跡的特征,并預測當前時刻的運動以及表觀特征。例如,Babaee 等[42]使用長短時記憶網(wǎng)絡(long short-term memory network,LSTM)[43]建模目標的運動特征,預測當前幀的目標框;Girbau 等[44]使用一個額外的循環(huán)神經(jīng)網(wǎng)絡(recurrent neural network,RNN)循環(huán)估計目標的運動,采用RNN來估計模擬物體軌跡的高斯混合模型,有效減少了目標身份切換(ID switch,IDs)的發(fā)生。Han等[45]提出一個運動感知跟蹤器(motion-aware tracker,MAT),在運動預測時,先使用卡爾曼濾波對目標位置進行預測,然后使用增強相關(guān)系數(shù)最大化(enhanced correlation coefficient maximization,ECC)模型[46]對齊場景的旋轉(zhuǎn)和平移,并基于運動預測進行插值。ArTIST[47]提出了一個運動代理網(wǎng)絡,該網(wǎng)絡建立在一個循環(huán)的自動編碼器神經(jīng)網(wǎng)絡上,學習用歷史軌跡線索預測所有目標下一幀邊界框的概率分布,單純依靠運動建模達到了良好的跟蹤性能。不同于只建模目標的運動特征,Babaee 等[48]使用特征聚合網(wǎng)絡聯(lián)合推斷一對軌跡的視覺外觀和時空特性,從而獲得更加穩(wěn)健的特征,提升在目標長期遮擋時的關(guān)聯(lián)效果,特征聚合網(wǎng)絡由兩個RNN組成。Fang等[49]設(shè)計了一個循環(huán)自回歸網(wǎng)絡(recurrent autoregressive network,RAN)迭代優(yōu)化目標的表觀特征和運動特征,然后選擇良好的特征構(gòu)建代價矩陣。由于加入了目標長時間的表觀特征建模,因此這一模型對遮擋較為魯棒,但也會占用較大內(nèi)存。Wang 等[50]設(shè)計了一個基于RNN 的循環(huán)跟蹤單元(recurrent tracking unit,RTU)建模軌跡外觀相似度、運動一致性、檢測缺失狀態(tài)以及檢測置信度的長期線索,以此對不同的軌跡進行評分得到最佳軌跡表示,可作為插件接入其他算法中提升跟蹤性能。Wang 等[51]使用多頭注意來聚合個體檢測的特征,并結(jié)合三重態(tài)損失和交叉熵損失來學習融合目標軌跡的表觀特征。Dai等[52]將平均表觀特征和時空特征連接起來,然后采用圖卷積神經(jīng)網(wǎng)絡(graph convolutional networks,GCN)[53]聚合特征獲得長期表觀特征。同樣,這種額外的特征聚合和預測網(wǎng)絡也可以方便地與許多現(xiàn)有跟蹤器集成,并且這些算法可以自然地整合來自外觀和運動的信息,因此其外觀和運動特征可以使用一個統(tǒng)一的模型學習,相比單幀的表觀特征,聚合特征和運動特征更加豐富穩(wěn)定且包含時間信息。然而,額外的時序建模也帶來了巨大的計算成本,降低了跟蹤速度。
1.1.3 基于匹配的深度數(shù)據(jù)關(guān)聯(lián)
在線多目標跟蹤的數(shù)據(jù)關(guān)聯(lián)一般被視為二分圖匹配問題,通過軌跡特征和檢測特征的相似度構(gòu)建代價矩陣,然后求解分配矩陣。這個問題的解存在兩個約束條件:第一,一個檢測最多匹配一條軌跡,一條軌跡最多匹配一個檢測;第二,分配矩陣使總代價最小,即匹配上的目標之間的總相似度最高。匈牙利算法是求解該問題的一個高效的組合優(yōu)化方法,已被大量應用于在線多目標跟蹤算法中。
一些研究人員也使用深度學習模型解決數(shù)據(jù)關(guān)聯(lián)問題[54],如圖7所示,通常將兩幀的目標特征et-1和et兩兩拼接,利用相關(guān)性建模推斷兩者匹配概率,得到匹配矩陣。例如,DeepMOT[55]提出了一個深度匈牙利網(wǎng)絡,使用兩次雙向循環(huán)網(wǎng)絡(bidirectional RNN,BRNN)[56]傳遞代價矩陣中的全局信息,其損失函數(shù)根據(jù)兩個可以微分的評價指標進行設(shè)計,使網(wǎng)絡輸出的分配矩陣更加有利于指標的提升,但是作為一個初步的嘗試,模型的復雜度較高。Jiang 等[57]使用二分圖結(jié)構(gòu)表示代價矩陣。其中,圖的節(jié)點由軌跡和檢測的特征向量構(gòu)成,邊權(quán)值則為代價矩陣的對應元素。然后通過圖神經(jīng)網(wǎng)絡融合特征節(jié)點間的信息,更新邊的權(quán)值,從而將匹配問題轉(zhuǎn)化為對邊的二分類。相比只利用代價矩陣進行關(guān)聯(lián)的方法,這種關(guān)聯(lián)方式更加充分地利用了目標特征的原始信息。在消融實驗中證明這是有效的。Shan 等[58]進一步融合目標在前幾幀的位置和表觀特征以獲取更好的全局時空信息,緩解目標特征隨時間變化的問題。Weng等[59]采用圖神經(jīng)網(wǎng)絡分多層更新特征節(jié)點與邊權(quán)值,并在每一層中都學習一個分配矩陣,融合所有分配矩陣共同關(guān)聯(lián),取得了更加良好的關(guān)聯(lián)性能。文獻[60]進一步考慮了同一幀中的相鄰目標在特征聚合時的干擾,提升了模型對目標遮擋的適應性。Li等[61]認為目標的運動特征和表觀特征具有不同的模式,不能簡單耦合,于是使用兩種不同的圖更新策略分別更新目標的表觀特征與運動特征,也取得了良好的跟蹤效果。近期,Chu等[62]修改Transformer結(jié)構(gòu)使其能夠推理圖模型。該模型對目標特征進行編解碼得到優(yōu)化后的分配矩陣,能夠有效提升對遮擋目標的跟蹤效果,在MOTChallenge中名列前茅。
圖7 預測幀間目標的匹配得分Fig.7 Predict matching scores for inter-frame objects
利用匹配網(wǎng)絡生成軌跡對的匹配得分具有兩個好處:首先,它直接將分配矩陣作為優(yōu)化目標,對齊了訓練和推理的過程,使運動特征和表觀特征向著有利于跟蹤指標的方向?qū)W習;其次,拼接同一幀中檢測的特征向量,可以學習軌跡之間的判別關(guān)系和時間順序。但是目前基于匹配的深度數(shù)據(jù)關(guān)聯(lián)的研究依然處于起步階段,在實際應用中還存在一些問題,例如關(guān)聯(lián)速度較慢,計算成本巨大,不利于實際部署。
可以發(fā)現(xiàn),基于檢測跟蹤算法的每個模塊都可以單獨優(yōu)化,隨著各模塊性能的提升,算法能達到較高的跟蹤精度。例如近期提出的ByteTrack[6]和MAAtrack[63]算法,分別對數(shù)據(jù)關(guān)聯(lián)等模塊進行改進,均達到了SOTA。這類算法的缺點是模塊間的耦合度不高,多個模塊獨立的訓練方式可能使模型參數(shù)收斂至各自模塊的最優(yōu),而不是多目標跟蹤的全局最優(yōu)。并且一些模型通過堆疊多個模塊、使用更多的深度學習技巧來提高跟蹤的效果,導致DBT 框架越發(fā)復雜,跟蹤實時性達不到在線要求,難以實際部署。
從深度神經(jīng)網(wǎng)絡的結(jié)構(gòu)來看,跟蹤器中的目標特征預測、表觀特征提取和數(shù)據(jù)關(guān)聯(lián)模塊都可以與目標檢測網(wǎng)絡相融合,從而降低整體算法的復雜度,同時緩解了手工連接各模塊帶來的局部優(yōu)化問題。從結(jié)果上看,這類算法推理速度通常更快,并且能夠達到與基于檢測跟蹤算法相當?shù)男阅?,因此在近兩年發(fā)展較快。下面根據(jù)這三個模塊分別進行論述。
1.2.1 基于特征復用的深度表觀特征提取
從結(jié)構(gòu)上看,深度目標檢測網(wǎng)絡包括一個圖像特征提取骨干網(wǎng)和一個檢測頭,目標重識別網(wǎng)絡也包括一個圖像特征提取骨干網(wǎng)和一個分類頭。因此可以讓兩個網(wǎng)絡共享特征提取骨干網(wǎng),然后在不同的頭網(wǎng)絡進行檢測和表觀特征提取,形成一個多任務學習的框架,達到減小模型、提升運行速度的目的。
現(xiàn)有的工作通常遵循最先進的檢測算法框架。例如,JDE利用了DarkNet-5的YOLOv3框架[64],添加一個與檢測分支并行的ReID 分支,在該分支輸出的特征圖上抽取正錨框中心點的特征向量作為目標的表觀特征向量,如圖8 所示。由于共享骨干網(wǎng),模型結(jié)構(gòu)更加緊湊。然而,正如FairMOT[65]中提到的,預測的anchors 中心可能不落在目標區(qū)域,因此錨框機制并不適合訓練表觀特征,一些作品采用了無錨框架。例如,研究人員[65-67]在CenterNet[68]上構(gòu)建跟蹤算法,在主干架構(gòu)中使用了深層聚合(deep layer aggregation,DLA)[69],在目標中心點提取特征向量學習表觀特征。
圖8 同時進行檢測和表觀特征提取Fig.8 Simultaneous detection and apparent feature extraction
聯(lián)合學習檢測和Re-ID 的主要挑戰(zhàn)之一來自于這兩個任務的沖突。檢測任務的目的是從背景中識別對象類別,如行人和車輛,而Re-ID 嵌入的目的是區(qū)分不同的對象,而不是類別。針對這一問題,一些工作解耦了不同任務的特征圖。例如,文獻[65,70]使用一個單獨的Re-ID 頭來學習除原始檢測分支之外的表觀特征。RetinaTrack[71]設(shè)計了特定任務的后特征金字塔網(wǎng)絡層進行分類、邊界框回歸,并同時生成表觀特征向量。CSTrack[72]、CSTrackv2[73]通過通道互注意力機制學習檢測和重識別之間的相關(guān)和差異信息,然后使用多尺度注意力模塊提取表觀特征。RelationTrack[74]將檢測和ReID 與所提出的全局上下文解耦相結(jié)合,并使用具有可變形注意力的引導Transformer編碼器來提取Re-ID特征。SimpleTrack[66]基于FairMOT模型使用與檢測不同的特征融合分支提取表觀特征。這些模塊設(shè)計都增加了特征圖在頭部網(wǎng)絡的建模,豐富了各自任務頭與原始特征圖的差異,使算法的檢測性能和識別性能都有所提升。同樣,在單幀圖像中提取的表觀特征無法獲取時間信息,為此,一些研究者使用了多幀特征提取的方式。例如,GSDT(joint object detection and multi-object tracking with graph neural networks)[75]基于FairMOT算法,利用圖卷積模型建模軌跡特征與當前特征圖的局部相關(guān)性,使提取的表觀特征包含歷史信息,提高了對目標遮擋和變形的適應性。CorrTracker[76]同時學習時空和尺度信息,采用自監(jiān)督的方式學習目標之間的相似性,限制同一目標的特征距離以增加判別度。這種自監(jiān)督需要執(zhí)行M×N次孿生操作,訓練更加費時,但跟蹤準確度得到明顯提升。OUTrack[77]設(shè)計了一個基于對關(guān)聯(lián)線索的強弱監(jiān)督的無監(jiān)督Re-ID框架。
不同于利用目標切片的特征重提取方法,基于特征復用的表觀特征提取方法不依賴于預先訓練過的檢測器,也不需要額外的計算和存儲去裁剪檢測框,提高了效率;并且在多幀特征提取方式中不僅可以學習目標間的關(guān)系,還能夠建模目標與背景之間的聯(lián)系。但是由于需要同時學好檢測和重識別,導致其需要一個龐大的訓練數(shù)據(jù)提高泛化能力,此外,時間一致性在該框架中還沒有得到很好的利用。
1.2.2 基于幀間特征融合的特征預測
為了跨多幀學習軌跡的外觀和運動特征,建模時間特性并預測軌跡走向,一些研究者以聯(lián)合檢測跟蹤的形式用多幀網(wǎng)絡或頭部聚合網(wǎng)絡學習時空特征圖進行跟蹤。
具體來說,Tubetk[78]以3D-ResNet[27]作為骨干,結(jié)合GIOU(generalized intersection over union)[79]、焦點損失[80]和二分類交叉熵損失訓練生成短軌跡管道。DMM-Net[81]使用三維卷積預測目標的多幀運動、類別以及可見性,來學習給定多幀的時空嵌入來生成管道。如圖9 所示,CenterTrack[82]遵循CenterNet[68]無錨檢測框架,在輸入端拼接一對順序幀和前一幀的熱圖,輸出端預測目標中心位置、大小、偏移以及幀間的目標位移,可以同時實現(xiàn)二維和三維多目標跟蹤。PermaTrack[83]使用卷積門控遞歸單元(convolution gated recurrent unit,ConvGRU)編碼目標特征的時空演化,捕捉物體的持久性概念以處理被遮擋的目標。Wan等[84]采用基于時間的編碼-解碼器架構(gòu)進行多幀預測,同時估計多通道軌跡圖,包括存在圖、外觀圖和運動圖。TraDeS[85]還使用基于成本體積的關(guān)聯(lián)和可變形卷積[86],聚合多幀信息聯(lián)合學習目標的二維、三維偏移量和掩膜估計。
圖9 多幀檢測并預測圖中目標的特征變化Fig.9 Detect objects in multi-frame images and predict the altered features
除了使用多幀網(wǎng)絡預測軌跡的特征,還有一些工作在頭部網(wǎng)絡中連接多幀的特征映射來進行預測。例如,Chained-Tracker[87]采用成對的特征在Faster RCNN[7]中進行邊界框回歸和ID 驗證。TransCenter[88]也將Transformer 嵌入到MOT 中,在基于可變形Transformer的編碼器和解碼器的兩個查詢學習網(wǎng)絡中處理密集的像素級多尺度檢測和跟蹤查詢,獲得檢測和預測位移。此外,一些研究者基于兩步檢測器,在第二步中使用跟蹤框指導檢測,同時傳遞身份信息進行跟蹤[89-91],其中FFT(multiple object tracking by flowing and fusing)[91]還利用光流網(wǎng)絡細化運動。
在這一框架中,運動特征可以更加深入地與視覺特征聯(lián)合。然而,雖然三維神經(jīng)網(wǎng)絡可以學習時間一致性,但也增加了訓練和測試的計算成本,導致目前通常只能考慮幾個幀的聚合,以至于學習到的時間運動特征不夠魯棒,無法模擬物體的不同運動。而在頭部聚合多幀特征的方向雖然大大降低了計算成本,但它可能缺乏用于檢測和關(guān)聯(lián)的低像素級關(guān)聯(lián)特征。
1.2.3 基于特征查詢的數(shù)據(jù)關(guān)聯(lián)
受單目標跟蹤(single object tracking,SOT)方法的啟發(fā),目標位置可以通過軌跡特征和當前特征圖之間的相關(guān)性來細化。部分研究者將單目標跟蹤算法融入到多目標算法中[92],利用單目標算法強大的特征提取和定位能力,可以實現(xiàn)較高精度的端到端跟蹤。例如,DASOT(unified framework integrating data association and single object tracking)[93]將數(shù)據(jù)關(guān)聯(lián)和SOT 集成在一個統(tǒng)一的框架中,基于截斷的ResNet-50與特征金字塔網(wǎng)絡(feature pyramid networks,F(xiàn)PN)[94]估計時間關(guān)聯(lián)的密集相關(guān)特征圖。SOTMOT(improving multiple object tracking with single object tracking)[95]建立在DLA-34[69]的一個變體上,為每個對象解決前一幀的嶺回歸系數(shù),并使用學習到的系數(shù)來預測下一幀的標簽。因此,可以在局部區(qū)域?qū)W習鑒別特征。其缺點是隨著場景中目標數(shù)量的增加,為每個目標分配一個單目標跟蹤器將會造成效率問題。近期,隨著Transformer[96]的進展,一些研究人員也在多目標跟蹤中利用Transformer模型中的查詢向量機制,如圖10所示,以查詢向量學習軌跡的特征在幀間定位并識別目標,隱式地完成數(shù)據(jù)關(guān)聯(lián),從而簡化復雜、多步驟的架構(gòu)。
圖10 使用逐幀更新的查詢特征檢測并識別目標Fig.10 Detect and identify objects by query features updated from frame by frame
Meinhardt等[97]最先將Transformer引入多目標跟蹤,他們將DETR(end-to-end object detection with transformers)檢測器[98]在時間方向上迭代,第一幀使用隨機初始化的空查詢在圖片中檢測目標,并輸出目標對應的查詢,在后續(xù)幀中,前一幀的對象查詢與隨機初始化的空查詢一起輸入解碼器,其中對象查詢負責檢測軌跡在當前幀的位置并傳遞身份,隱式地完成數(shù)據(jù)關(guān)聯(lián),而空查詢負責檢測新出現(xiàn)的目標。得益于Transformer 對特征關(guān)系的強大建模能力,能夠達到不錯的跟蹤精度。然而,直接混合使用空查詢與對象查詢?nèi)菀自谲壽E附近將背景識別為目標,并且由于目標的軌跡查詢逐幀更新,在軌跡交互過程中查詢特征差異性將減小,容易導致目標的身份標識發(fā)生互換。為了解決這兩個問題,Zeng等[99]提出一個查詢交互模塊(query interaction module,QIM),該模塊去除了在每一幀中都加入新的空查詢的設(shè)置,而是利用查詢交互模塊迭代更新所有的查詢向量,讓單個查詢始終跟蹤同一目標。這一策略增強了查詢向量的歷史信息建模能力,顯著提升了算法的身份保持能力。TransTrack[100]將目標的查詢向量分為了檢測對象查詢和跟蹤對象查詢,在原有DETR檢測器的解碼器外并行添加一個結(jié)構(gòu)相同的跟蹤解碼分支,兩類查詢由不同的分支解碼得到檢測框與跟蹤框,然后兩類框使用交并比距離度量執(zhí)行貪婪關(guān)聯(lián)。這一跟蹤過程較為簡潔高效,取得了良好的跟蹤準確度,但由于跟蹤查詢攜帶的身份信息不足而導致模型在跟蹤時的身份保持能力有所下降。無錨跟蹤方式同樣也被引入到這一跟蹤框架中,TransCenter[88]與CenterTrack框架類似,使用中心點熱圖跟蹤目標。它將跟蹤查詢擴展成了密集的多尺度跟蹤查詢,能更好地跟蹤到小尺寸的目標。值得注意的是,TransCenter中的查詢由編碼的輸出經(jīng)查詢學習網(wǎng)絡(query learning networks,QLN)自適應地學習,由此可以學習到密集的多尺度查詢而不用手動設(shè)置最大查詢數(shù)。
以相關(guān)性構(gòu)建的關(guān)聯(lián)算法具有以下優(yōu)點:首先,利用單目標跟蹤的算法可以在其領(lǐng)域中借鑒最先進的方法,當目標被部分遮擋并且未被檢測,這種追蹤器仍然能夠持續(xù)跟蹤物體,利用Transformer 的算法采用成對的注意力,可以融合全局信息,實現(xiàn)完全端到端的跟蹤,并提升跟蹤性能。但是,這類算法計算復雜度偏高,不利于部署,并且當長時間遮擋發(fā)生時,漂移成為主要問題,跟蹤器可能會逐漸失去目標。
聯(lián)合檢測跟蹤算法將不同模塊與檢測網(wǎng)絡融合共同優(yōu)化,期望算法各模塊之間能夠更加協(xié)同地工作,并簡化復雜的多步驟形式,從而提升多目標跟蹤的速度,在近幾年受到廣泛關(guān)注。目前,這類算法面臨的問題是:(1)不同模塊共同學習時可能存在不兼容問題;(2)聯(lián)合訓練各模塊的數(shù)據(jù)集不足。
本節(jié)整理了近幾年公開的多目標跟蹤數(shù)據(jù)集,總結(jié)如表2所示。
表2 多目標跟蹤數(shù)據(jù)集Table 2 Multi-object tracking datasets
多目標跟蹤較為復雜,僅使用單一標準無法全面評估其整體跟蹤效果,因此當前采用多種指標共同評價多目標跟蹤算法的性能。下面簡要介紹部分重要的評價指標。
單獨考慮視頻的檢測結(jié)果,被正確檢測到的目標為正樣本,記作TP;未檢測到的真實目標為漏檢,記作FN;錯誤的檢測為虛警,記作FP。加入對目標身份的考慮,對于一對完整的真實軌跡和預測軌跡,正確預測的軌跡段記作TPA,未預測到的真實軌跡記作FNA,其余的預測軌跡段被記作FTA。跟蹤過程中目標身份標識切換的總數(shù)記作IDs。此外,F(xiàn)PS指標用于衡量多目標跟蹤算法的實時性。給定全序列幀的所有TP、FN、FP、TPA、FNA、FTA、IDs、FPS,多目標跟蹤的評價指標如下:
最大跟蹤軌跡數(shù)量(MT):至少80%被正確匹配的真實軌跡的數(shù)量。
最大丟失軌跡數(shù)量(ML):低于20%被正確匹配的真實軌跡的數(shù)量。
其中,GT是所有真實值的數(shù)量,IDTP、IDFP、IDFN分別是在軌跡級別上二分匹配得到的目標身份正正例、假正例及假負例,α為定位閾值,C為某一正樣本軌跡TP。上述指標中,多目標跟蹤準確度(MOTA)、目標標識精度(IDF1)和高階度量(HOTA)綜合了多種錯誤,共同作為評價多目標跟蹤算法的重要指標。
為了對當前在線多目標跟蹤算法進行分析比較,本章整理了部分在MOTChallenge 挑戰(zhàn)賽中的結(jié)果。由于檢測結(jié)果對跟蹤整體性能影響較大,報告的結(jié)果分為了使用公共檢測的算法和使用私有檢測的算法。MOT17 數(shù)據(jù)集包含MOT16 數(shù)據(jù)集所有內(nèi)容,應用廣泛,MOT20數(shù)據(jù)集擁有更加復雜的場景和密集的人群,更具挑戰(zhàn)性,因此選取MOT17和MOT20兩個數(shù)據(jù)集分析結(jié)果,結(jié)果如表3和表4所示。表格中展示了算法使用的數(shù)據(jù)集、MOTA、HOTA、IDF1、FP、FN、IDs以及FPS指標。其中“↑”表示越大越好,“↓”表示越小越好,CH 表示訓練時額外使用的數(shù)據(jù)集CrowdHuman;CP表示額外數(shù)據(jù)集Cityperson;2D 表示CrowdHuman、ILSVRC15 兩個額外數(shù)據(jù)集;5D1 表示5 個額外數(shù)據(jù)集(CrowdHuman、Caltech Pedestrian、CityPersons、CUHK-SYS、PRW);5D2 將5D1中的CrowdHuman替換成ETH數(shù)據(jù)集。
表3 不同算法在MOT17測試集上的實驗結(jié)果Table 3 Experimental results of different algorithms on MOT17 dataset
表4 不同算法在MOT20測試集上的實驗結(jié)果Table 4 Experimental results of different algorithms on MOT20 dataset
根據(jù)算法在MOT17和MOT20測試集上的性能,可以發(fā)現(xiàn):
(1)對于這兩個數(shù)據(jù)集,基于私有檢測的算法大多明顯優(yōu)于基于公共檢測的算法,驗證了檢測精度對多目標跟蹤性能具有顯著影響。
(2)使用額外數(shù)據(jù)集訓練的模型通常比不使用額外數(shù)據(jù)集訓練的模型的MOTA 得分更高,表明多樣性的數(shù)據(jù)對模型具有較大影響。
(3)對于絕大部分算法,跟蹤結(jié)果的漏檢數(shù)量遠高于虛警和身份標識切換數(shù)量,因此漏檢測是造成MOTA 指標下降的主要原因。漏檢大部分來自被遮擋的目標和小目標,因此如何充分利用序列圖像信息找回這些目標依然需要更深入的研究。
(4)對目標外觀進行顯示建模的算法IDF1 得分通常名列前茅,這說明魯棒的表觀特征可以降低數(shù)據(jù)關(guān)聯(lián)時發(fā)生的錯誤。
(5)部分采用圖卷積模型的多目標跟蹤算法排名靠前,特別是人群密集的跟蹤場景,因為圖卷積模型可以有效建模不同目標及背景之間的特征交互,自適應地融合不同特征得到親和度矩陣,優(yōu)于手工融合的效果。
(1)數(shù)據(jù)集的制備。當前主流多目標跟蹤數(shù)據(jù)集中目標的運動模式較為簡單,跟蹤場景單一,數(shù)據(jù)多樣性不足,跟蹤主題大多集中在街道行人與車輛。在行為模式更加復雜、環(huán)境干擾較為嚴重、跟蹤目標類別多樣或外觀較相似等因素下構(gòu)建數(shù)據(jù)集是未來可繼續(xù)研究的方向。此外,由于自然場景中遮擋目標無法成像,導致模型對遮擋目標的建模陷入困境,因此構(gòu)建虛擬數(shù)據(jù)集也是未來可研究的方向。
(2)跟蹤各模塊性能的提升與協(xié)同。根據(jù)本文分析,跟蹤各模塊性能的提升都能夠?qū)φw的跟蹤性能帶來有效收益,因此,改進各部分結(jié)構(gòu)或?qū)ふ倚碌目蚣苁鼓P托阅芡黄片F(xiàn)有壁壘、建模數(shù)據(jù)長期信息是未來重要的研究方向。此外,算法各模塊間的協(xié)同也是重要的研究方向之一。
(3)數(shù)據(jù)關(guān)聯(lián)算法研究。當前多目標跟蹤在目標檢測與特征提取方面都已經(jīng)廣泛應用深度學習,而作為多目標跟蹤核心的數(shù)據(jù)關(guān)聯(lián)算法用深度學習指導依然處于初步階段,未來需要投入更多的研究。
(4)應用部署。根據(jù)本文分析,目前多目標跟蹤大多算法無法落地于實際應用,針對這一問題,應當考慮提高當前模型的泛化能力,研究輕量化網(wǎng)絡結(jié)構(gòu)以及模型加速方法。
本文對近年來的深度在線多目標跟蹤算法進行了調(diào)查總結(jié),分析了基于檢測跟蹤和聯(lián)合檢測跟蹤兩個不同框架中目標特征預測、表觀特征提取和數(shù)據(jù)關(guān)聯(lián)三個重要模塊的優(yōu)化方法和各自的優(yōu)缺點,并介紹了多目標跟蹤相關(guān)的數(shù)據(jù)集和評估方法。目前,多目標跟蹤技術(shù)在實際應用中依然存在一些問題,如場景遷移和模型輕量化部署,但其發(fā)展必將為現(xiàn)實世界帶來更多便利。