張 弘 萬家旭 陳海波 張 健 李旭亮*
(1.北京航空航天大學(xué)宇航學(xué)院,北京 102206;2.湖北華中長江光電科技有限公司,湖北孝感 432000;3.32184部隊(duì),河北張家口 075400)
多目標(biāo)跟蹤(Multi Object Tracking,MOT)已成為快速發(fā)展的自動駕駛系統(tǒng)中的關(guān)鍵組成部分[1]。它的目的是在連續(xù)的視頻流(點(diǎn)云流)中識別和定位所有感興趣的目標(biāo),并為其賦予一個穩(wěn)定且持續(xù)的標(biāo)識。多目標(biāo)跟蹤在自動駕駛中至關(guān)重要,它能幫助自動駕駛系統(tǒng)及時識別和預(yù)測其他目標(biāo)物的運(yùn)動軌跡,避免碰撞發(fā)生。此外,準(zhǔn)確的多目標(biāo)跟蹤有助于預(yù)測其他車輛和行人的行為,幫助優(yōu)化車輛的路徑和速度,提高通行效率。最后,多目標(biāo)跟蹤對于生成精確的地圖和定位也非常重要,通過跟蹤周圍目標(biāo),自動駕駛系統(tǒng)能夠建立和更新道路地圖,并準(zhǔn)確地定位車輛。因此,高效準(zhǔn)確的多目標(biāo)跟蹤已成為計(jì)算機(jī)視覺與自動駕駛領(lǐng)域的研究焦點(diǎn)。
多目標(biāo)跟蹤主要分為面向二維輸入[2-4]和面向三維輸入[5-7]的兩種方法。面向二維輸入的多目標(biāo)跟蹤方法主要處理視頻流,而面向三維輸入的多目標(biāo)跟蹤方法需要綜合視頻流和點(diǎn)云流進(jìn)行處理。目前,現(xiàn)有的三維多目標(biāo)跟蹤方法大多為二階段的啟發(fā)式跟蹤方法。這種方法的核心思想是在檢測的基礎(chǔ)上,結(jié)合運(yùn)動學(xué)和Re-ID 特征進(jìn)行匹配,代表性方法包括SimpleTrack[5]等。然而,在啟發(fā)式跟蹤范式下,每個目標(biāo)需要被一個精心調(diào)參的卡爾曼濾波器所維護(hù),且整個跟蹤流程被分為了多個階段[2],如匹配、重匹配等。因此,每個階段都需要大量的調(diào)參來保證整體跟蹤的有效性,整體流程較為繁瑣。此外該類方法不足以對復(fù)雜的變化進(jìn)行建模,難以解決遮擋問題[8]。
目前,在三維多目標(biāo)跟蹤領(lǐng)域,出現(xiàn)了端到端的跟蹤方法,如MUTR[6]等。這類方法基于Transformer[9]和DETR[10],能夠?qū)W習(xí)建模目標(biāo)的長程時間變化。通過隱式地進(jìn)行時間關(guān)聯(lián),這些方法避免了以前的顯式啟發(fā)式策略。然而,這類方法的精度普遍較低,遠(yuǎn)低于非端到端方法[5]。該問題的核心原因是三維空間中的特征聚合和感知相對于二維圖像更具挑戰(zhàn)性。由于多目標(biāo)跟蹤對實(shí)時性要求嚴(yán)格,跟蹤器只能使用幾層薄的Transformer 層。然而,僅依靠幾層薄的Transformer難以實(shí)現(xiàn)復(fù)雜的三維特征聚合,嚴(yán)重影響了最終跟蹤的精度。
此外,與檢測、分割等問題不同,在跟蹤過程中,檢測輸入與跟蹤匹配會同時影響最終的跟蹤結(jié)果。因此,在實(shí)際跟蹤過程中,如圖1 所示,會出現(xiàn)兩種難例情況,檢測難例與跟蹤難例。首先,檢測難例指錯誤的檢測輸入。在實(shí)際檢測過程中,檢測結(jié)果有可能會出現(xiàn)虛警或錯檢等問題,而錯誤的輸入會極大程度干擾后續(xù)的跟蹤匹配過程,導(dǎo)致出現(xiàn)錯匹配或丟失匹配等問題。其次,跟蹤難例指跟蹤訓(xùn)練過程中與真值相差較大的跟蹤樣本。這些樣本要么作為正樣本無法正確匹配上真值,要么作為負(fù)樣本被錯誤歸類于正樣本中,是影響跟蹤結(jié)果的主要因素。由此可見,多目標(biāo)跟蹤中的難例問題與目前研究較多的檢測跟蹤問題并不相同,直接使用現(xiàn)有方法無法直接解決兩類難例所帶來的問題。然而,目前難例挖掘方法大多針對檢測或分割問題討論,較少針對多目標(biāo)跟蹤問題專門研究的方法。
圖1 檢測難例與跟蹤難例的可視化.圖1(a)為跟蹤難例及其介紹,圖1(b)為檢測難例及其介紹,圖1(c)為檢測與跟蹤的復(fù)合難例及其介紹Fig.1 The Visualization of detection hard cases and tracking hard cases.Figure 1(a)shows the tracking hard case and its presentation,F(xiàn)igure 1(b)shows the detection hard case and its presentation,and Figure 1(c)shows the composite hard case of detection and tracking and its presentation
圖2 BEVTrack整體框架圖Fig.2 The framework of BEVTrack
針對上述問題,本文提出了一種基于難例挖掘訓(xùn)練的端到端多目標(biāo)跟蹤框架,名為BEVTrack。首先,針對三維特征關(guān)聯(lián)問題,本文設(shè)計(jì)了基于BEV位置編碼的三維跟蹤查詢,用于建模三維空間中每個目標(biāo)的連貫軌跡。通過使用本文所設(shè)計(jì)的BEV交叉注意力跟蹤模塊,模型將跟蹤查詢與BEV視圖上的對應(yīng)三維特征進(jìn)行關(guān)聯(lián),從而獲得準(zhǔn)確細(xì)化的特征。與MUTR 不同,本文的三維跟蹤查詢建立在BEV 的坐標(biāo)系下,與基于BEVFusion[11]所得到的融合BEV特征進(jìn)行關(guān)聯(lián),以獲得跟蹤查詢所對應(yīng)的實(shí)際三維物體特征。由于BEV 特征具有關(guān)聯(lián)計(jì)算量小、目標(biāo)位置變化小等優(yōu)點(diǎn),本文的方法僅需輕量化的網(wǎng)絡(luò)便可以實(shí)現(xiàn)快速有效的跟蹤。其次,針對跟蹤過程中的噪聲問題,本文設(shè)計(jì)了面向多目標(biāo)跟蹤的難例挖掘訓(xùn)練。通過分別對檢測難例與跟蹤難例進(jìn)行挖掘與針對性訓(xùn)練,BEVTrack能夠更好輔助模型學(xué)習(xí)跟蹤所需的特征,提升模型跟蹤精度。
總的來說,本文的貢獻(xiàn)主要分為以下幾個方面:
1)本文提出了首個基于BEV 特征的端到端三維多目標(biāo)框架BEVTrack,與現(xiàn)有的大多數(shù)啟發(fā)式跟蹤方法不同,本文的方法隱式地建模目標(biāo)軌跡的位置和外觀變化,簡化了三維跟蹤的流程。相比MUTR[6]等方法,本文的方法基于BEV 特征進(jìn)行三維跟蹤查詢,能夠更好地將跟蹤查詢與實(shí)際三維特征進(jìn)行有效關(guān)聯(lián),從而大幅度提升了跟蹤精度。
2)本文提出了面向多目標(biāo)跟蹤的難例挖掘訓(xùn)練,將難例針對性劃分為檢測難例與跟蹤難例。針對檢測難例帶來的錯誤輸入問題,模型會額外選擇低置信度的檢測框,并使用它們的外觀特征和預(yù)測值初始化虛假跟蹤查詢,從而使得模型具有修正錯誤輸入的能力。對于跟蹤難例,在訓(xùn)練過程中,模型只會對難負(fù)跟蹤樣本與難正跟蹤樣本進(jìn)行訓(xùn)練,對于非難例樣本則進(jìn)行忽略。同時模型還根據(jù)匹配的真值包圍框數(shù)量在不同批之間進(jìn)行了加權(quán),以解決不同批次中難例樣本數(shù)據(jù)不一的問題。
3)在實(shí)驗(yàn)上,本文的方法在Nuscenes[12]上的三維跟蹤數(shù)據(jù)集進(jìn)行了大量的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明本文的方法在該數(shù)據(jù)集上取得了領(lǐng)先的性能,體現(xiàn)了本文方法的先進(jìn)性。
目前,多目標(biāo)跟蹤方法可以分為基于啟發(fā)式跟蹤框架的方法與端到端跟蹤框架的方法。本章將介紹兩種框架的優(yōu)缺點(diǎn),以及本文方法與現(xiàn)有方法的不同之處。
啟發(fā)式跟蹤框架[2-3,5]主要遵循先檢測后跟蹤(Tracking by Detection)設(shè)計(jì)的范式,這是一種目前主流的多目標(biāo)跟蹤方法。根據(jù)Btyetrack[2]的論文,這些方法可以進(jìn)一步分為四個主要部分:檢測、運(yùn)動模型、關(guān)聯(lián)和跟蹤生命周期管理。在每一幀中,檢測模型用于定位和分類物體。同時,運(yùn)動模型被用來預(yù)測當(dāng)前幀中跟蹤物體的位置?;谒鼈兊南嗨菩?,進(jìn)行檢測和跟蹤預(yù)測的關(guān)聯(lián)。最后,根據(jù)經(jīng)驗(yàn)法則更新跟蹤狀態(tài)并添加新的跟蹤。
啟發(fā)式跟蹤框架首先由SORT[13]提出,它的設(shè)計(jì)十分簡單,但在當(dāng)時得到了一個有競爭力的結(jié)果。SORT僅使用卡爾曼濾波器作為運(yùn)動模型,使用交并比(IoU)作為相似度度量,使用匈牙利算法作為現(xiàn)有檢測器的關(guān)聯(lián)方法。此后,DeepSORT[14]和Tracktor[8]通過引入外貌特征的余弦距離作為匹配代價來改進(jìn)關(guān)聯(lián)的組件。最近,ByteTrack[2]引入了一個兩階段的關(guān)聯(lián)方法,以更好地匹配嚴(yán)重遮擋且置信度較低的物體。OC-SORT[15]引入了更加先進(jìn)的卡爾曼濾波器中的跟蹤狀態(tài)表示,以實(shí)現(xiàn)最先進(jìn)的性能。
在三維多目標(biāo)跟蹤領(lǐng)域,AB3DMOT[16]是早期啟發(fā)式跟蹤代表方法之一,其結(jié)構(gòu)設(shè)計(jì)類似于SORT,但針對三維場景進(jìn)行了特殊優(yōu)化。之后,許多工作都是在優(yōu)化啟發(fā)式匹配的各個模塊,如DEFT[17]與QD3DT[18]等方法都延續(xù)了AB3DMOT的結(jié)構(gòu),并利用特征或二維關(guān)聯(lián)等額外信息優(yōu)化啟發(fā)式匹配,而CenterPoint[19]通過將IOU替換為L2距離,從而獲得了更好的結(jié)果。CBMOT[20]則在前述方法的基礎(chǔ)上通過修改跟蹤候選框的維護(hù)邏輯來改善跟蹤軌跡生成和消失。SimpleTrack[5]是目前最優(yōu)秀的啟發(fā)式跟蹤方法之一,其在前人研究的基礎(chǔ)上總結(jié)了現(xiàn)有啟發(fā)式跟蹤的主要貢獻(xiàn),并進(jìn)行了對比與分析。該方法將跟蹤-檢測方法的四個組件進(jìn)行了有針對性的選擇,基于大量實(shí)驗(yàn)選擇了最佳的方法。然而,這類方法需要針對數(shù)據(jù)集開展大量的參數(shù)調(diào)整與針對性優(yōu)化,需要消耗大量時間調(diào)參。本文的方法與現(xiàn)有的方法不同,并不遵循這種啟發(fā)式跟蹤框架。相反,本文的方法是一種端到端的多目標(biāo)跟蹤方法,不需要復(fù)雜的參數(shù)調(diào)整,并能夠?qū)崿F(xiàn)更好的性能。
端到端跟蹤框架[4,21-22]是多目標(biāo)跟蹤的最新趨勢之一。它簡化了啟發(fā)式跟蹤框架中復(fù)雜的關(guān)聯(lián)部分,形成一個僅包含少量超參數(shù)的端到端架構(gòu)。MOTR[21]和FusionTrack[4]都通過使用相同的解碼器處理對象和跟蹤查詢,然后使用不同策略進(jìn)行匹配,引入了端到端架構(gòu)。在訓(xùn)練過程中,對象查詢的輸出只與新生的軌跡片段進(jìn)行匹配,而軌跡查詢的輸出則通過查找其在真實(shí)對象中的實(shí)例ID 進(jìn)行匹配。MOTRv2[22]通過使用檢測模型預(yù)測的余弦位置嵌入來初始化對象查詢,進(jìn)一步利用現(xiàn)有的檢測模型。然而,由于Transformer具有無關(guān)順序的特性,在這些模型中,所有查詢都使用相同的解碼器權(quán)重進(jìn)行處理,忽視了它們優(yōu)化不同目標(biāo)的事實(shí)。盡管可以共享信息以消除重復(fù)檢測并改善跟蹤質(zhì)量,但模型必須隱式區(qū)分查詢類型以優(yōu)化不同的目標(biāo),導(dǎo)致次優(yōu)性能。與Trackformer[23]等二維端到端多目標(biāo)跟蹤方法相比,本文方法是三維場景下的多目標(biāo)跟蹤方法,其目的是在點(diǎn)云流與視頻流中對目標(biāo)進(jìn)行標(biāo)號與匹配,所得到是三維的包圍框。而Trackformer方法是二維場景下的多目標(biāo)跟蹤方法,其只能在視頻流中對目標(biāo)進(jìn)行標(biāo)號與匹配,所得到是二維包圍框。因此,由于場景維度與輸入不同,二維的方法并不能直接利用在三維場景下。
在端到端的三維多目標(biāo)跟蹤領(lǐng)域,OGR3MOT[24]利用圖神經(jīng)網(wǎng)絡(luò)的方法,首次以端到端的方式解決3D MOT,取得了不錯的效果。隨著近年來Transformer 結(jié)構(gòu)的發(fā)展,MUTR[6]是一個基于多相機(jī)視圖下的跟蹤查詢的端到端多目標(biāo)跟蹤框架,避免了啟發(fā)式跟蹤框架中的諸多后處理步驟,簡化了三維多目標(biāo)跟蹤中復(fù)雜的跟蹤步驟。然而,MUTR 需要針對多相機(jī)視圖開展匹配,一方面需要消耗大量時間,另一方面較為輕薄的網(wǎng)絡(luò)難以有效聚合特征,導(dǎo)致最后網(wǎng)絡(luò)跟蹤精度較低。本文的方法與MUTR 的不同之處在于,BEVTrack 是基于BEV 視圖下的跟蹤查詢的端到端多目標(biāo)跟蹤框架。BEV特征具有關(guān)聯(lián)計(jì)算量小、目標(biāo)位置變化小等優(yōu)點(diǎn)。相比MUTR,本文的方法僅需輕量化的網(wǎng)絡(luò)便可以獲得準(zhǔn)確細(xì)化的特征,從而實(shí)現(xiàn)快速有效的跟蹤。
難例挖掘是目標(biāo)檢測與目標(biāo)分割的熱點(diǎn)討論問題之一,其主要目的在于篩出影響網(wǎng)絡(luò)性能的一些訓(xùn)練樣本,即難例,針對性的進(jìn)行處理,以提高網(wǎng)絡(luò)的最終性能。目前,難例挖掘的研究主要分為兩個角度:首先,根據(jù)不同的任務(wù)場景與需求,研究者需要對難例進(jìn)行不同的定義。例如,在目標(biāo)檢測中,OHEM[25]將難例定義為與真值目標(biāo)IOU 相差較大的ROI 預(yù)測框。而在目標(biāo)分割中,F(xiàn)RRN[26]將難例定義為與真實(shí)像素真值相差較大的像素。其次,根據(jù)不同的難例定義,研究者會提出不同的難例挖掘的損失函數(shù),用于優(yōu)化訓(xùn)練,如OHEM[25]中的TopK 損失函數(shù),F(xiàn)RRN[26]中的online bootstrapped cross entropy loss 等。本文方法從多目標(biāo)跟蹤領(lǐng)域的需求出發(fā),將難例定義為檢測難例與跟蹤難例。通過分別對檢測難例與跟蹤難例進(jìn)行挖掘與針對性訓(xùn)練,本文模型能夠更好輔助模型學(xué)習(xí)跟蹤所需的特征,提升模型跟蹤精度。
在本章中,我們將介紹本文的基于難例挖掘訓(xùn)練的端到端多目標(biāo)跟蹤方法,并闡述該方法的整體框架、跟蹤頭設(shè)計(jì)、訓(xùn)練方法、損失函數(shù)以及查詢的管理與更新。
BEVTrack跟蹤頭:在本文模型中,最關(guān)鍵的問題之一在于如何將跟蹤查詢、檢測查詢與BEV特征圖進(jìn)行有效的融合與關(guān)聯(lián)。因此,本文提出了一個BEVTrack 跟蹤頭,如圖3 所示,它能夠接受檢測和跟蹤兩方面的信息,通過檢測-跟蹤的融合注意力模塊與BEV交叉注意力模塊完成該幀的跟蹤。
圖3 BEVTrack跟蹤頭結(jié)構(gòu)示意圖Fig.3 The tracking header structure diagram of BEVTrack
在檢測-跟蹤融合注意力模塊中,模型將對所有的跟蹤查詢與檢測查詢進(jìn)行自注意力建模,從而捕捉檢測查詢與跟蹤查詢之間的并發(fā)和重復(fù)關(guān)系。檢測-跟蹤融合注意力模塊的輸出是
具體而言,對于BEV 特征圖Ft∈RC×H×W,查詢?yōu)榈腂EV交叉注意力模塊的輸出為:
其中,m為注意力頭的序號,k為采樣點(diǎn)的序號,而K為所有采樣點(diǎn)的總數(shù),且遠(yuǎn)小于H×W。Amqk表示第m個注意力頭的第k個參考點(diǎn)的注意力權(quán)重。Wm與為一個矩陣,用于降低或擴(kuò)張?zhí)卣骶S度。?與ω都為一個FFN 網(wǎng)絡(luò),用以生成所對應(yīng)的參考點(diǎn)與采樣點(diǎn),如DCN文獻(xiàn)[28]所述。
經(jīng)過多個BEVTrack 跟蹤模塊之后,模型便能得到最終的跟蹤查詢。通過這種精心設(shè)計(jì)的BEV 特征感知頭,模型能夠快速有效的對檢測查詢與跟蹤查詢聚合其對應(yīng)的三維特征,從而在不損失太多速度的前提下進(jìn)行高精度跟蹤。
跟蹤查詢解碼:當(dāng)利用BEVTrack 得到該幀的跟蹤查詢后,模型需要對其進(jìn)行解碼才能得到正確的跟蹤結(jié)果。模型使用兩個小型前饋神經(jīng)網(wǎng)絡(luò)(FFNs)來解碼3D 邊界框參數(shù)和分類標(biāo)簽。模型通過額外的十維參數(shù)對三維包圍框進(jìn)行參數(shù)化,其中包括包圍框中心坐標(biāo)xi∈R3,包圍框大小si=(wi,hi,li)∈R3,在BEV 視圖上的二維速度vi=和方向(sinθi,cosθi),其中θi為偏航角。
在訓(xùn)練過程中,模型使用包含多幀的視頻-點(diǎn)云片段來訓(xùn)練BEVTrack。由于每個視頻-點(diǎn)云片段中的真實(shí)物體數(shù)量在訓(xùn)練過程中是不同的,很難在不同片段之間對齊跟蹤查詢的數(shù)量,導(dǎo)致無法很好的并行化訓(xùn)練。為了統(tǒng)一不同片段中的跟蹤查詢數(shù)量,并為跟蹤分支提供負(fù)樣本以輔助收斂,本文引入了難例挖掘訓(xùn)練方法。在訓(xùn)練過程中,本文將難例定義為兩類:檢測難例與跟蹤難例。通過分別對檢測難例與跟蹤難例進(jìn)行挖掘與針對性訓(xùn)練,能夠更好輔助模型學(xué)習(xí)跟蹤所需的特征,提升模型跟蹤精度。
檢測難例挖掘:首先,本文中對檢測難例定義為低置信度的檢測框,其目的在于提升跟蹤器在較差檢測輸入的條件下的跟蹤性能。由于本文模型需要輸入檢測框作為跟蹤查詢,一旦檢測本身出現(xiàn)虛警或錯檢等問題,會極大影響后續(xù)跟蹤的精確度。如圖4 所示,一方面,在檢測難例挖掘的過程中,模型會額外選擇低置信度的檢測框,并使用它們的外觀特征和預(yù)測值初始化虛假跟蹤查詢,即模擬噪聲。在某些罕見情況下,如果沒有足夠的低分?jǐn)?shù)檢測作為檢測難例,模型則使用隨機(jī)的外觀特征和邊界框作為檢測難例進(jìn)行訓(xùn)練。另一方面,模型會隨機(jī)刪除某些高置信度的檢測框,用以模擬檢測較差情況下的跟蹤。具體來說,模型會刪除與上一步選擇的低置信度檢測框一定距離內(nèi)的高置信度的檢測框,從而實(shí)現(xiàn)高置信度檢測框到低置信度檢測框的替換,同時避免完全漏檢的檢測輸入。在實(shí)際推理中,我們會將低置信度的檢測框同時輸入到跟蹤器中,以增強(qiáng)跟蹤器對高置信度閾值下漏檢目標(biāo)的跟蹤能力。
圖4 檢測難例挖掘示意圖.圖4(a)的白框代表實(shí)際的高置信度檢測包圍框.圖4(b)的黃框代表挖掘出的低置信度檢測包圍框.圖4(c)的綠框代表進(jìn)行隨機(jī)高置信度樣本刪除后的高置信度檢測包圍框.圖4(d)是最終輸入到跟蹤頭的檢測查詢Fig.4 The diagram of detection-hard case mining.The white box in figure 4(a)represents the actual high confidence detection enclosing box.The yellow box in figure 4(b)represents the mined low confidence detection envelope.The green box in figure 4(c)represents the high confidence detection envelope after performing random high confidence sample removal.The figure 4(d)shows the final detection query input to the tracking header
總體來說,假設(shè)視頻剪輯長度為L,批處理大小為b。對于每個樣本中一個包含N1,N2,…,Nb個真實(shí)物體的片段,本文將該幀的目標(biāo)跟蹤查詢長度設(shè)置為。然后,根據(jù)每個樣本中的總跟蹤數(shù)目,通過添加或刪除用檢測難例挖掘的初始化的跟蹤查詢,將每個樣本中的跟蹤查詢數(shù)量統(tǒng)一到目標(biāo)長度,實(shí)現(xiàn)檢測難例挖掘。
跟蹤難例挖掘:其次,本文對跟蹤難例定義為難負(fù)跟蹤樣本與難正跟蹤樣本。其中,難正跟蹤樣本是指跟蹤預(yù)測結(jié)果與真值結(jié)果損失前50%的正例樣本,而難負(fù)跟蹤樣本是指跟蹤預(yù)測結(jié)果與真值結(jié)果損失前30%的負(fù)例樣本。此外,對于正負(fù)樣本的選擇,參考DETR,本文通過匈牙利匹配方法,基于IOU選擇最優(yōu)匹配。
在訓(xùn)練過程中,本文方法只會對難負(fù)跟蹤樣本與難正跟蹤樣本進(jìn)行訓(xùn)練,對于非難例樣本則進(jìn)行忽略。特別的,對于難正跟蹤樣本,會同時對類別損失與回歸損失同時加權(quán)。而對于難負(fù)跟蹤樣本,只會對類別損失進(jìn)行加權(quán),因?yàn)樨?fù)樣本不會對回歸預(yù)測進(jìn)行訓(xùn)練。
具體而言,在訓(xùn)練時,模型使用真值標(biāo)簽來一對一匹配每個跟蹤查詢和它對應(yīng)的GT 實(shí)例,并計(jì)算相同的類別損失Lfocal(模型使用了FocalLoss[29])與包圍框的回歸損失[30]Lreg加權(quán)得到最終的損失函數(shù)LTrack。即:
在此基礎(chǔ)上,對于所有的正例樣本,選擇前50%作為難例正例樣本,而對于所有的負(fù)例樣本,選擇前30%作為難例負(fù)例樣本,只保留難例樣本作為損失結(jié)果。即:
其中,LP,Track為所有的正例跟蹤樣本損失,LN,Track為所有的負(fù)例樣本樣本損失。為難例正例樣本損失,為難例負(fù)例跟蹤樣本損失。為最終的跟蹤難例挖掘損失。
此外,最終的損失函數(shù)還參考了MOTR[21]中的Collective Average Loss(CAL)的方法,根據(jù)匹配的真值包圍框數(shù)量在不同批(batch)之間進(jìn)行了加權(quán),以平衡不同批次中難例樣本數(shù)據(jù)不一的問題。和CAL 不同之處在于,由于在實(shí)際訓(xùn)練中一個片段之中的各幀之間所包含的目標(biāo)數(shù)量變化不大,損失函數(shù)仍然使用逐幀加權(quán)計(jì)算最終損失L的方法:
其中,F(xiàn)為該片段中幀的數(shù)量,N為一個批次(batch)中片段的數(shù)量,Vi,f為第i個片段中第f幀中的有效樣本個數(shù),Li,f為第i個片段中第f幀中的跟蹤難例挖掘損失,L為最終的損失函數(shù)。
在查詢管理與更新方面,模型參考了MOTR[21]與MUTR[6]的做法,并基本與其保持了一致。在查詢管理方面,為了解決檢測的虛警或是物體的遮擋,模型需要在每幀跟蹤之后移除不活躍的查詢。具體而言,本文將每個查詢的置信度定義為其預(yù)測框的分類分?jǐn)?shù)。參考MOTR[21]與ByteTrack[2],模型使用兩個閾值τnew和τold來控制查詢的置信度水平,以及一個時間參數(shù)T來控制最長空置時間。在推理的過程中,如果存在置信度低于τnew的新檢測結(jié)果,模型會直接將其移除,不讓其參與后續(xù)的匹配。對于舊查詢,如果它們的分?jǐn)?shù)在連續(xù)的T幀中都低于τold,模型也會將其移除,認(rèn)為其為一個虛假的匹配。此外,在訓(xùn)練過程中,模型會將沒有匹配到檢測查詢的舊跟蹤查詢視為不活躍的查詢。對于舊跟蹤查詢,如果它已經(jīng)沒有匹配到檢測查詢了T次,模型也會將其移除。
在查詢的更新方面,模型會利用一個簡單的運(yùn)動預(yù)測器來對所有的跟蹤查詢的三維包圍框(包括活躍的與不活躍的)進(jìn)行更新,并疊加到下一幀的上。更新3D參考點(diǎn)的目的是建模物體動力學(xué)并補(bǔ)償相機(jī)的運(yùn)動。在三維多目標(biāo)跟蹤中有兩種常用的運(yùn)動模型,Kalman濾波器使用觀測到的位置跨幀來估計(jì)未知速度,以及根據(jù)檢測器中預(yù)測的速度來進(jìn)行運(yùn)動更新。本文參考了SimpleTrack[5]的結(jié)論,使用了Kalman 濾波器對跟蹤查詢進(jìn)行運(yùn)動預(yù)測與更新。
在本章中,我們將詳細(xì)描述本文的實(shí)驗(yàn)數(shù)據(jù)集Nuscenes[12],以及在實(shí)驗(yàn)中使用的評價指標(biāo),本文模型的實(shí)驗(yàn)配置與超參數(shù),與現(xiàn)有方法的性能比較,以及消融實(shí)驗(yàn)與結(jié)果可視化。
本文基于mmdetection3D 框架,在Nuscenes[12]數(shù)據(jù)集上,對BEVTrack做了廣泛的實(shí)驗(yàn)。該數(shù)據(jù)集是在CC BY-NC-SA 4.0許可下發(fā)布的一個大規(guī)模的戶外數(shù)據(jù)集。它具有多樣化的標(biāo)注,支持各種任務(wù)(如3D目標(biāo)檢測/跟蹤和BEV地圖分割)。每個經(jīng)過標(biāo)注的樣本中都包含有六張具有360度視場角的單目攝像機(jī)圖像和一個32線數(shù)激光束雷達(dá)掃描點(diǎn)云。
為了評估BEVTrack 的性能,本文主要使用AMOTA[12]指標(biāo)。本章還報告了AMOTP[12],MOTA[31]以及IDS[31]指標(biāo)進(jìn)行對比。在消融實(shí)驗(yàn)中,本文還報告了各個版本的模型速度,指標(biāo)采用Frame Per Second(FPS)。
仿照BEVFusion[11],模型使用Swin-T[32]作為其圖像主干網(wǎng)絡(luò),使用VoxelNet[33]作為模型的點(diǎn)云主干網(wǎng)絡(luò)。在圖像方面,模型使用了FPN[34]來融合多尺度的圖像特征,生成一個輸入尺寸為1/8 的特征圖。在訓(xùn)練與推理階段,模型將輸入圖像下采樣至256×704,并將LiDAR點(diǎn)云進(jìn)行尺度為0.075 m的體素化處理。本文的實(shí)驗(yàn)中使用四塊GeForce RTX 3090 并行訓(xùn)練,并配置對應(yīng)版本的CUDA 加速計(jì)算。本文應(yīng)用的訓(xùn)練策略包括:使用adamW[35]作為優(yōu)化器來訓(xùn)練網(wǎng)絡(luò)參數(shù),其他訓(xùn)練參數(shù)與BEVFusion[11]保持一致。本文使用標(biāo)準(zhǔn)的數(shù)據(jù)增強(qiáng)策略,包括隨機(jī)翻轉(zhuǎn)、隨機(jī)裁剪、多尺度訓(xùn)練等。模型的速度是在單卡GeForce RTX 3090測試得到的。
為了驗(yàn)證本文提出的BEVTrack 相對其他跟蹤方法的高效性,本文在Nuscenes 多目標(biāo)跟蹤數(shù)據(jù)集[12]測試集上測試指標(biāo)與性能,并將其結(jié)果與各類經(jīng)典的跟蹤器和目前性能先進(jìn)的跟蹤器作對比,其結(jié)果如表1所示。
表1 在Nuscenes測試集上本文的模型與其他跟蹤模型的性能對比Tab.1 The performance of our model is compared with other tracking models on the Nuscenes test set
從表1 可以看出,本文所提出的BEVTrack 與SimpleTrack[5]相比,本文方法通過端到端的BEV 視圖三維查詢網(wǎng)絡(luò)設(shè)計(jì),實(shí)現(xiàn)了無須復(fù)雜調(diào)參的三維跟蹤模型,且模型的AMOTA、MOTA 都有所上漲,AMOTP與IDS指標(biāo)均低于SimpleTrack,證明了本文所設(shè)計(jì)的端到端多目標(biāo)跟蹤模型在無須復(fù)雜調(diào)參的優(yōu)勢下,仍有強(qiáng)大的跟蹤能力。與MUTR[6]相比,本文模型在BEV視圖上進(jìn)行三維查詢,同時加入了難例挖掘訓(xùn)練,使得本文模型在AMOTA的指標(biāo)上提升了接近40個點(diǎn),其他指標(biāo)所對應(yīng)的性能與精度也有大幅度提升,證明了本文模型在BEV上進(jìn)行特征聚合的優(yōu)勢與難例挖掘訓(xùn)練的必要性。與OGR3MOT[24]相比,我們的方法能夠自主的從BEV 特征圖中提取特征,并同時與檢測查詢與跟蹤查詢建立以注意力機(jī)制為主導(dǎo)的高層語義聯(lián)系,相比圖網(wǎng)絡(luò)機(jī)制其先驗(yàn)更少,能夠更好地刻畫物體之間的聯(lián)系,從而提升跟蹤精度。與其他所有對比模型相比,本文所設(shè)計(jì)的模型具有最高的AMOTA、MOTA,以及最低的AMOTP與IDS,達(dá)到了比較方法中的最佳水平。
特別的,我們詳細(xì)對比了我們的方法與MUTR的差異。與MUTR 等三維多目標(biāo)跟蹤方法相比,我們的方法的主要創(chuàng)新點(diǎn)分為兩個方面。首先,本文方法主要利用基于BEV 位置編碼的三維跟蹤查詢實(shí)現(xiàn)三維目標(biāo)的定位與關(guān)聯(lián)。通過使用本文所設(shè)計(jì)的BEV 交叉注意力跟蹤模塊,BEVTrack 將跟蹤查詢與BEV視圖上的對應(yīng)三維特征進(jìn)行關(guān)聯(lián),從而獲得準(zhǔn)確細(xì)化的特征。與MUTR 相比,由于BEV特征具有關(guān)聯(lián)計(jì)算量小、目標(biāo)位置變化小等優(yōu)點(diǎn),本文的方法僅需輕量化的Transformer 結(jié)構(gòu)便可以實(shí)現(xiàn)快速有效的跟蹤。其次,本文方法對跟蹤過程中會對跟蹤訓(xùn)練過程會產(chǎn)生干擾的難例因素分為了檢測難例與跟蹤難例,并分別對檢測難例與跟蹤難例進(jìn)行挖掘與針對性訓(xùn)練,能夠更好輔助模型學(xué)習(xí)跟蹤所需的特征,提升模型跟蹤精度。從實(shí)驗(yàn)結(jié)果上來看,與MUTR 相比,本文方法僅通過將基于圖像的三維跟蹤查詢更改為本文提出的基于BEV視圖的三維跟蹤查詢,配合本文的難例挖掘訓(xùn)練后,本文方法能夠極大提高在測試集上的精度,充分證明了本文方法的有效性。
總體來說,本文所提出的方法在無須額外調(diào)參的優(yōu)勢下,實(shí)現(xiàn)了比較方法中最優(yōu)秀的跟蹤精度與水平,體現(xiàn)了本文所提出的方法的優(yōu)越性和高效性。
本文在Nuscenes 驗(yàn)證集上對本文方法進(jìn)行了詳細(xì)的消融實(shí)驗(yàn),具體消融實(shí)驗(yàn)結(jié)果如表2、表3、表4 所示。其中,F(xiàn)PS 在單塊GeForce RTX 3090 上測得,只計(jì)算BEVTrack 所消耗的時間,不包含檢測器等其他模塊的耗時。
表2 在Nuscenes驗(yàn)證集上對BEVTrack的結(jié)構(gòu)消融實(shí)驗(yàn)Tab.2 Structure ablation experiments on BEVTrack using the Nuscenes valuation set
表3 在Nuscenes驗(yàn)證集上對BEVTrack的模型層數(shù)消融實(shí)驗(yàn)Tab.3 Depth ablation experiments on BEVTrack using the Nuscenes valuation set
表4 在Nuscenes驗(yàn)證集上對BEVTrack的訓(xùn)練方法消融實(shí)驗(yàn)Tab.4 Training method ablation experiments on BEVTrack using the Nuscenes valuation set
首先,我們對BEVTrack 的模型構(gòu)成進(jìn)行了消融實(shí)驗(yàn),如表2所示,我們在FFN模塊以及殘差鏈接的基礎(chǔ)上,依次加入了檢測-跟蹤融合模塊、常規(guī)交叉注意力模塊與BEV 交叉注意力模塊。實(shí)驗(yàn)結(jié)果表明,當(dāng)模型只有FFN 模塊或殘差鏈接模塊后,整體模型會直接訓(xùn)練失敗。這是由于單純的FFN 是無法進(jìn)行檢測信息與跟蹤信息的融合與交互的。當(dāng)模型加入檢測-跟蹤融合模塊后時,模型的跟蹤精度將會大幅度增加。我們認(rèn)為此時的模型已經(jīng)退化成為了一個單純的運(yùn)動學(xué)匹配模型,模型只能通過輸入的檢測與跟蹤查詢來進(jìn)行簡單的運(yùn)動學(xué)匹配。因此,精度會比最終模型稍低。當(dāng)模型加入BEV 交叉注意力模塊后,模型的精度進(jìn)一步提升,同時保持一個可觀的速度。
此外,當(dāng)模型的BEV交叉注意力模塊修改為常規(guī)注意力模塊時,模型的精度有少許增加,但是其速度大幅度降低了。我們認(rèn)為這體現(xiàn)了本文所設(shè)計(jì)的BEV 交叉注意力模塊的優(yōu)越性,只使用了較少的計(jì)算量就達(dá)到了與常規(guī)交叉注意力所相近的效果。
其次,我們針對BEVTrack 的層數(shù)進(jìn)行了實(shí)驗(yàn),如表3所示。實(shí)驗(yàn)證明,增加BEVTrack的層數(shù)會有效提升本文模型的最終跟蹤精度,但是也會線性的降低本文模型的速度。我們最終選擇了堆疊數(shù)為6層的BEVTrack模型。
最后,我們針對本文提出的難例挖掘訓(xùn)練進(jìn)行了消融實(shí)驗(yàn),如表4所示。實(shí)驗(yàn)分別比較了普通的訓(xùn)練方法,模擬噪聲的訓(xùn)練方法[14]以及本文提出的難例挖掘的訓(xùn)練方法的訓(xùn)練結(jié)果。實(shí)驗(yàn)結(jié)果表明,盡管訓(xùn)練數(shù)據(jù)一致,本文的方法可以有效提升模型面對真實(shí)環(huán)境的泛化性,并提高模型在驗(yàn)證集上的精度。
困難場景跟蹤結(jié)果可視化:圖5 展示了本文方法在Nuscenes 多目標(biāo)跟蹤數(shù)據(jù)集上的具體跟蹤結(jié)果,其中,相同顏色的目標(biāo)框代表相同ID 的跟蹤目標(biāo),其身后的相同顏色的線條代表了其運(yùn)動軌跡。具體而言,我們可視化物體兩秒(15幀/秒,其中4幀關(guān)鍵幀)的自身運(yùn)動軌跡。需要強(qiáng)調(diào)的是,由于幀率原因,該軌跡線是插值出來的。可視化結(jié)果顯示,本文方法能夠有效的跟蹤Nuscenes 中各類目標(biāo),如車輛,行人等,并能達(dá)到一個可觀的速度。
圖5 困難場景跟蹤結(jié)果可視化.圖5(a)為旋轉(zhuǎn)場景下的跟蹤可視化,圖5(b)為耦合運(yùn)動場景下的跟蹤可視化Fig.5 The visualization of tracking results for difficult scenes.Figure 5(a)shows the tracking visualization for the rotational scenario and Figure 5(b)shows the tracking visualization for the coupled motion scenario
具體的,圖5 展示了兩種困難場景下的跟蹤結(jié)果可視化。圖5(a)是旋轉(zhuǎn)場景下的跟蹤可視化,時間順序?yàn)閺淖蟮接摇T搱鼍暗木唧w難點(diǎn)為自身平臺發(fā)生旋轉(zhuǎn)導(dǎo)致跟蹤目標(biāo)軌跡形成非線性運(yùn)動。由于現(xiàn)有運(yùn)動學(xué)模型(卡爾曼濾波等)均為線性運(yùn)動模型,在非線性運(yùn)動下會導(dǎo)致嚴(yán)重的運(yùn)動預(yù)測失準(zhǔn)。需要說明的是,在該場景下,大部分跟蹤目標(biāo)自身沒有發(fā)生移動或緩慢移動(沒有軌跡線或軌跡線極短)??梢园l(fā)現(xiàn),在該場景下,我們的模型能夠從BEV 特征圖中提取特征關(guān)系,從特征角度解決匹配問題,從而實(shí)現(xiàn)較好的旋轉(zhuǎn)場景下的跟蹤。圖5(b)是耦合運(yùn)動場景下的跟蹤可視化,時間順序也為從左到右。該場景的具體難點(diǎn)為跟蹤目標(biāo)運(yùn)動與自身平臺運(yùn)動耦合,形成復(fù)雜運(yùn)動軌跡。雖然該場景下自身平臺運(yùn)動較為簡單,但是跟蹤目標(biāo)自身在發(fā)生復(fù)雜運(yùn)動,導(dǎo)致最終跟蹤困難。我們的模型通過Transformer 結(jié)構(gòu)提取跟蹤目標(biāo)與檢測結(jié)果之間的高層語義聯(lián)系,能夠在這種復(fù)雜場景下實(shí)現(xiàn)較好的匹配,體現(xiàn)出我們方法的先進(jìn)性。
檢測難例挖掘可視化:圖6 展示了本文方法檢測難例挖掘前后的在Nuscenes 多目標(biāo)跟蹤數(shù)據(jù)集上的具體跟蹤結(jié)果。其可視化方式與圖5 一致,這里不再贅述。
圖6 檢測難例挖掘結(jié)果可視化與對比.圖6(a)為無檢測挖掘方法的跟蹤結(jié)果可視化,出現(xiàn)了漏檢、誤檢導(dǎo)致的ID變換等問題.圖6(b)為有檢測挖掘方法的跟蹤結(jié)果可視化,部分解決了在漏檢、誤檢條件下的跟蹤丟失等問題Fig.6 The visualization and comparison of mining results for detection-hard cases.Figure 6(a)shows the visualization of the tracking results of the mining method without detection,which shows problems such as ID transformations due to missed and misdetection.Figure 6(b)shows the visualization of the tracking results with detection mining method,which partially solves the problems such as tracking loss under the conditions of missed detection and misdetection
具體而言,圖6(a)為無檢測挖掘的跟蹤結(jié)果可視化。從圖中可以發(fā)現(xiàn),由于缺乏對低置信度樣本的挖掘訓(xùn)練,導(dǎo)致出現(xiàn)了由于漏檢與誤檢影響下的ID變換等問題。而圖6(b)中展示了檢測挖掘后的跟蹤結(jié)果。由于檢測挖掘訓(xùn)練中,特意加入了低置信度的跟蹤查詢,因此模型能夠同時解決漏檢與誤檢兩方面的問題。一方面,由于在推理過程中也加入了低置信度的檢測框,使得模型能夠解決高置信度閾值帶來的漏檢問題(盡管4 個目標(biāo)中仍有一個缺失)。另一方面,由于訓(xùn)練中模型需要排除低置信度檢測框帶來的干擾,使得模型具有糾錯的能力。而當(dāng)模型面對誤檢框時,糾錯能力能夠幫助模型排除錯誤檢測結(jié)果,從而避免誤檢產(chǎn)生的錯誤跟蹤軌跡。
跟蹤難例挖掘可視化:圖7 展示了本文方法跟蹤難例挖掘前后的在Nuscenes 多目標(biāo)跟蹤數(shù)據(jù)集上的具體跟蹤結(jié)果。其可視化方式與圖5 一致,這里不再贅述。
圖7 跟蹤難例挖掘結(jié)果可視化與對比.圖7(a)為無跟蹤挖掘方法的跟蹤結(jié)果可視化,出現(xiàn)了錯誤匹配等問題.圖7(b)為有跟蹤挖掘方法的跟蹤結(jié)果可視化,在該場景下不再出現(xiàn)錯匹等問題,從而提升了跟蹤精度Fig.7 The visualization and comparison of tracking hard case mining results.Figure 7(a)shows the visualization of the tracking results without tracking mining method,where problems such as mis-matching occur.Figure 7(b)shows the visualization of the tracking results with tracking mining method,where problems such as mis-matching no longer occur in this scenario,thus improving the tracking accuracy
具體而言,圖7(a)為無跟蹤挖掘的跟蹤結(jié)果可視化??梢园l(fā)現(xiàn),當(dāng)多個跟蹤目標(biāo)發(fā)生運(yùn)動時,出現(xiàn)了錯誤匹配的現(xiàn)象。具體在這個場景中,是由于特征相似導(dǎo)致的錯誤匹配(錯匹車輛都為白色小轎車)。而圖7(b)為有跟蹤難例挖掘的跟蹤結(jié)果可視化??梢园l(fā)現(xiàn),由于加入了難例挖掘訓(xùn)練,訓(xùn)練過程中能夠更加集中于特征相似或運(yùn)動相似目標(biāo),使得跟蹤器得到更好的訓(xùn)練,從而避免由于特征相似等原因造成的錯誤匹配,提升模型跟蹤精度。
本文提出了一種基于難例挖掘訓(xùn)練的端到端多目標(biāo)跟蹤框架BEVTrack。通過基于BEV 特征的三維跟蹤查詢,本文方法能夠更好地將跟蹤查詢與實(shí)際三維特征進(jìn)行有效關(guān)聯(lián),從而大幅度提升了跟蹤精度。同時,本文提出了面向多目標(biāo)跟蹤的難例挖掘訓(xùn)練,提升在真實(shí)場景下模型處理噪聲信息與難例干擾的能力。在Nuscenes 數(shù)據(jù)集上,本文進(jìn)行了大量的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明本文的方法在該數(shù)據(jù)集上取得了領(lǐng)先的性能。但本文方法仍有不足之處,一方面本文方法仍然沒有達(dá)到實(shí)時(30FPS),在模型輕量化方面仍有發(fā)展空間;另一方面模型只是簡單利用了模型的運(yùn)動信息來更新查詢,沒有將運(yùn)動信息與網(wǎng)絡(luò)做更深層次的融合,后續(xù)我們將針對這些問題進(jìn)一步發(fā)展本文方法。