張英俊,白小輝,謝斌紅
太原科技大學 計算機科學與技術(shù)學院,太原 030024
近年來,隨著人工智能技術(shù)的飛速發(fā)展,基于計算機視覺的智能監(jiān)控系統(tǒng)、自動駕駛等領(lǐng)域較以往取得了重大的突破,多目標跟蹤(multi-object tracking,MOT)技術(shù)作為這些領(lǐng)域中的關(guān)鍵基礎(chǔ)性技術(shù)之一,其算法的準確性和魯棒性對于進一步提升高層智能應(yīng)用的安全性具有重要意義[1]。MOT任務(wù)旨在從視頻中持續(xù)檢測多個數(shù)量不確定的目標并賦予身份信息(identity,ID),并在目標外觀、位置以及場景改變時仍能穩(wěn)定維持目標原有的ID,最終得到完整且連續(xù)的目標運動軌跡[2]。然而在復(fù)雜的場景中,目標之間頻繁遮擋和交互容易造成目標ID切換(ID switch,IDs),并且由于同類目標表觀相似度較高且具備相似行為,也為維持正確的目標ID帶來進一步挑戰(zhàn),因此算法必須提取魯棒的、同類目標間可區(qū)分的表觀特征。
具體來講,在MOT任務(wù)中,表觀特征可以魯棒地關(guān)聯(lián)遮擋再出現(xiàn)的目標,有效降低目標ID切換次數(shù),因此大多數(shù)MOT算法都基于表觀特征進行研究。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)因其強大的表觀特征提取能力被廣泛應(yīng)用于MOT領(lǐng)域。但卷積操作缺乏對圖像的全局理解,無法對特征之間的依賴關(guān)系進行建模,在MOT任務(wù)中對全局信息的利用還不夠充分,容易導致目標ID切換。
相比于CNN,自然語言處理(natural language processing,NLP)領(lǐng)域中的Transformer[3]模型不受局部相互作用的限制,既能挖掘長距離的特征依賴又能并行計算,因此研究人員嘗試將其引入計算機視覺領(lǐng)域,在諸多下游任務(wù)中取得了良好效果[4]。但由于缺乏CNN固有的局部敏感性和平移不變性等歸納偏置,視覺Transformer往往會忽略大量的局部特征細節(jié),這降低了前景和背景之間的可分辨性,漏檢率較高,容易造成錯誤匹配或軌跡斷裂的情況[5]。
針對以上問題,本文提出基于CNN-Transformer特征融合的多目標跟蹤算法CTMOT,整個網(wǎng)絡(luò)框架如圖1所示。首先使用雙分支主干網(wǎng)絡(luò)進行特征提取,接著通過雙向橋接模塊(two-way braidge module,TBM)充分融合提取的局部和全局特征,然后將融合后的特征結(jié)合不同的查詢分別輸入兩組并行的解碼器進行處理,最后將生成的檢測框和跟蹤框通過簡單的IoU相似度進行匹配,得到最終的跟蹤結(jié)果。
圖1 CTMOT算法整體框架Fig.1 Overall framework of CTMOT algorithm
一直以來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)都被認為是計算機視覺的基礎(chǔ)模型[6],其通過卷積層和池化層處理圖像數(shù)據(jù),是應(yīng)用最為廣泛的特征提取方法。Wang等[7]最先提出在MOT任務(wù)中使用CNN提取表觀特征,證明基于CNN的表觀特征提取對MOT算法的性能提升幫助巨大。受此啟發(fā),Kim等[8]嘗試將CNN提取的表觀特征嵌入經(jīng)典多假設(shè)跟蹤(multi hypothesis tracking,MHT)算法中,MOTA指標提高了3個百分點。Chen等[9]提出的AP_HWDPL_p算法將多個CNN提取的特征進行融合得到最終的目標表觀特征,大幅改善了算法性能,但該算法的CNN結(jié)構(gòu)過于復(fù)雜,計算量巨大,無法實時跟蹤。Wojke等[10]提出的Deep SORT算法通過自定義的CNN殘差網(wǎng)絡(luò)進一步提取穩(wěn)定的表觀特征,同時結(jié)合運動特征,較好地解決了SORT算法[11]中存在的ID切換問題,初步實現(xiàn)了精度和速度的平衡。由于CNN具有平移不變性和局部敏感性等歸納偏置,可以高效地捕獲局部特征,因此以上方法在跟蹤性能上均取得了不錯的進展。但CNN無法充分利用MOT任務(wù)中的全局上下文信息,因此會忽略局部與整體之間的關(guān)聯(lián)性,從而造成目標ID切換。
Transformer興起于自然語言處理(NLP)領(lǐng)域,通過編碼器-解碼器結(jié)構(gòu)以及注意力機制實現(xiàn)并行計算。相比于CNN,視覺Transformer具有沿時間維度傳遞特征的天然優(yōu)勢,并且能捕獲全局上下文信息,基于Transformer的視覺模型在圖像分類、目標檢測以及多目標跟蹤等領(lǐng)域均取得了良好的效果。作為一項開創(chuàng)性的工作,Dosovitskiy等[12]提出的ViT直接將標準Transformer模型作用于圖像塊序列,首次使用Transformer結(jié)構(gòu)完全代替卷積結(jié)構(gòu)完成圖像分類任務(wù),為Transformer在計算機視覺領(lǐng)域的發(fā)展奠定了重要基礎(chǔ),但在計算資源受限時,ViT難以學到豐富的特征。Liu等[13]針對ViT的不足提出Swin-Transformer,使用移動窗口對全局信息進行建模,降低序列長度的同時帶來更大的效率提升,證明Transformer可以作為一個通用的主干網(wǎng)絡(luò)。此外,Yuan等[14]首次嘗試將具有深窄結(jié)構(gòu)(deep-narrow)的ViT網(wǎng)絡(luò)作為主干,提出的T2T ViT模型顯著降低了計算量和參數(shù)量,輕量化的同時性能超越了大多數(shù)CNN網(wǎng)絡(luò)?;赥ransformer進行特征提取的網(wǎng)絡(luò)模型由于具有更大的感受野和更靈活的表達方式,因此可以獲得相媲美甚至超越最先進CNN的結(jié)果。但由于缺乏CNN中固有的局部歸納偏置,因此往往會忽略圖像的局部特征。
目前基于CNN-Transformer模型進行多目標跟蹤的算法大多借鑒了基于Transformer的目標檢測算法DETR[15]。DETR將目標檢測視為集合預(yù)測問題,首先利用CNN提取圖像特征,將其與位置編碼相加作為編碼器的輸入,隨后將輸出結(jié)合一組目標查詢(object queries)輸入解碼器進行處理,最后解碼器的輸出經(jīng)前饋網(wǎng)絡(luò)(feed forward network,F(xiàn)FN)處理后并行輸出目標框的坐標和類別標簽,得到最終的預(yù)測結(jié)果[4]。簡化了目標檢測流程,避免了復(fù)雜的后處理步驟,實現(xiàn)了端到端的目標檢測。但同時存在小目標檢測效果較差和收斂速度較慢等問題。
Sun等[16]首先將Transformer架構(gòu)引入MOT任務(wù),提出TransTrack。受單目標跟蹤(single object tracking,SOT)任務(wù)中孿生網(wǎng)絡(luò)(siamese networks)的啟發(fā),基于Transformer的Query-Key機制設(shè)計了一種聯(lián)合檢測和跟蹤(joint detection and tracking,JDT)的新框架,能同時跟蹤當前幀中已存在的目標并檢測新出現(xiàn)目標,從而輸出有序目標集。這一跟蹤過程簡單高效,MOTA成績和最先進算法(SOTA)效果相當,但在目標軌跡查詢中,由于身份信息不足而導致IDs指標較高。
Meinhardt等[17]將MOT任務(wù)視為幀到幀的集合預(yù)測問題,因此借鑒DETR算法提出TrackFormer,以一種新的注意力跟蹤(tracking by attention,TBA)范式實現(xiàn)隱式數(shù)據(jù)關(guān)聯(lián),同時引入DETR檢測器生成的軌跡查詢(track query)集成對應(yīng)目標的時空和位置信息,以自回歸方式實現(xiàn)多目標跟蹤。得益于Transformer強大的建模能力,TrackFormer在MOT17和MOTS20數(shù)據(jù)集上均達到了SOTA效果,但直接將時空和位置查詢混合使用容易造成誤檢,并且在軌跡交互中查詢特征差異性減小會導致目標ID切換。
雖然上述基于Transformer的MOT算法取得了不錯的進展,但其主要都是利用Transformer架構(gòu)處理CNN提取的特征以實現(xiàn)多目標跟蹤任務(wù),忽視了視覺Transformer在特征提取和解碼預(yù)測方面的能力[18]。針對以上問題,本文提出CTMOT算法,采用基于CNNTransformer雙分支并行的主干網(wǎng)絡(luò)分別進行特征提取并融合,充分發(fā)揮CNN和Transformer的優(yōu)勢,獲得更加魯棒的表觀特征。實驗表明CTMOT算法在多目標跟蹤數(shù)據(jù)集上表現(xiàn)良好,多項指標均達到SOTA效果,并且能夠有效應(yīng)對遮擋、干擾和ID切換等情況,同時可以實時跟蹤,實現(xiàn)了速度與準確度的權(quán)衡。
CTMOT算法的整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,主要由混合主干網(wǎng)絡(luò)(CNN-Transformer backbone)、解碼器(decoder)和數(shù)據(jù)關(guān)聯(lián)(data association)組成。
其中混合主干網(wǎng)絡(luò)包含CNN和Transformer兩個分支,并通過TBM融合雙分支提取的特征;并行解碼器將兩組不同的查詢作為輸入,分別處理主干網(wǎng)絡(luò)提取的混合特征,輸出目標特征(object features)和軌跡特征(track features);數(shù)據(jù)關(guān)聯(lián)部分將前饋網(wǎng)絡(luò)(feed forward network,F(xiàn)FN)輸出的檢測框(detection box)和跟蹤框(tracking box)進行匹配(matching),生成最終的目標框(object box),完成多目標跟蹤任務(wù)。
CNN-Transformer混合主干網(wǎng)絡(luò)由多個CNN-Transformer Blocks(CTB)堆疊組成,如圖2所示。其中每個CTB包含CNN和Transformer兩個分支,分別提取圖像的局部和全局特征。同時為了發(fā)揮雙分支的優(yōu)勢,受Mobile-Former[19]啟發(fā),通過TBM充分融合局部和全局特征,增強了CNN分支的全局感知能力、豐富了Transformer分支的局部特征細節(jié),獲得更加魯棒的同類目標可分性特征,CTB結(jié)構(gòu)如圖3所示。
圖2 CTMOT主干網(wǎng)絡(luò)Fig.2 Overall structure of CTMOT backbone network
圖3 CNN-Transformer Block(CTB)詳細結(jié)構(gòu)Fig.3 Detailed structure of CNN-Transformer Block(CTB)
2.1.1 CNN分支
CNN分支將圖像X∈?HW×3作為輸入,借鑒ShuffleNet v2[20]中的設(shè)計準則,首先將輸入特征圖通過下采樣塊(down sampling block)處理后得到X1∈,隨后通過多個堆疊的Shuffle Block輸出最終的局部特征圖,過程如圖4所示。
圖4 CNN塊Fig.4 CNN Block
Shuffle Block通過通道分割(channel split)操作將輸入特征圖的通道數(shù)2C0分為A、B兩組,每組通道數(shù)為C0,其中A組特征圖通過深度可分離卷積(depthwise separable convolutions)[21]提取特征,隨后與未經(jīng)處理的B組特征圖進行拼接(concat)。這種類似于殘差連接的通道分割設(shè)計可以使模型獲得極大地效率提升,輸入輸出相同通道數(shù)也使得計算量最小,并且引入的通道重排(channel shuffle)操作不僅可以融合不同組之間的通道信息,還可以大幅減少模型的參數(shù)量和計算量,同時提高了模型的準確性。
當CNN分支中輸入特征圖的長、寬、通道數(shù)分別為?、w、c時,Shuffle Block的計算量為:
而相同結(jié)構(gòu)下的ResNet計算量為hw(11c2)。因此,CTMOT算法中的CNN分支相比于普通CNN網(wǎng)絡(luò),其計算量大幅降低。
2.1.2 Transformer分支
Transformer分支將一些可學習的標記(tokens)Y∈?M×d作為輸入,其中M和d分別表示標記的數(shù)量與維度。該分支由多個多頭注意力(multi-head attention,MHA)和前饋網(wǎng)絡(luò)(feed forward network,F(xiàn)FN)模塊堆疊而成,如圖3所示。
不同于ViT中將標記線性投射為局部圖像塊嵌入(patch embeddings),CTMOT算法中的Transformer分支中只有極少數(shù)標記對圖像的全局特征進行編碼,而且對每個標記都隨機進行初始化,這樣可使得計算成本大大降低。
2.1.3 雙向橋接模塊
雙向橋接模塊TBM由CNN→Transformer和Transformer→CNN組成,分別用于對CNN提取的局部特征和Transformer提取的全局特征進行雙向融合。具體來講,首先將局部特征X和全局特征Y的通道數(shù)均分為n組用以計算多通道注意力:
然后,CNN→Transformer模塊通過交叉注意力機制將CNN分支中的局部特征X與Transformer分支中的全局表示Y相融合,具體計算如公式(3)所示:
類似,Transformer→CNN模塊也通過交叉注意力機制將Transformer Block輸出的全局表示Y'融合到CNN Block輸出的局部特征X'中,具體計算如公式(4)所示:
其中,AX→Y和AY'→X'分別表示兩組交叉注意力的輸出結(jié)果,Attn表示計算多通道注意力,Concat表示拼接操作,分別表示第i組元素的查詢(query)、鍵(key)、值(value)的映射矩陣。
CTMOT算法分別采用目標解碼器(object decoder)和軌跡解碼器(track decoder)對主干網(wǎng)絡(luò)提取的混合特征并行處理,其中每個解碼器都包含了三個子層結(jié)構(gòu)——自注意力層(self-attention)、交叉注意力層(crossattention)和前饋網(wǎng)絡(luò)層(feed forward network,F(xiàn)FN),同時每個子層后面都加上殘差連接(residual connection)和層正則化(layer normalization,LN),并行解碼器的結(jié)構(gòu)如圖1所示。與TransTrack[15]的思想類似,CTMOT中的并行解碼器分別將兩組不同的查詢作為輸入,其中目標查詢(object query)是一組可學習的參數(shù),用于檢測當前幀中感興趣的目標,并輸出目標特征;另外一組軌跡查詢來自前一幀檢測到的目標特征,并以繼承的方式傳遞到下一幀用于發(fā)現(xiàn)需要關(guān)聯(lián)的目標,從而獲取軌跡特征(track features)。并行解碼器根據(jù)目標查詢和軌跡查詢將主干網(wǎng)絡(luò)提取的混合特征X''、Y''進行處理后分別得到檢測框和跟蹤框,具體過程如公式(5)、(6):
其中,SA、CA分別表示自注意力和交叉注意力;、表示兩組解碼器的輸入,和表示解碼器中第i個LN層之后的輸出。
在數(shù)據(jù)關(guān)聯(lián)階段,解碼器輸出的目標特征和軌跡特征經(jīng)FFN處理后分別生成檢測框和跟蹤框,隨后將IoU相似度作為匹配代價(matching cost),通過K&M算法(Kuhn-Munkres algorithm)將檢測框和跟蹤框進行匹配,生成最終的目標框,完成多目標跟蹤任務(wù)。
具體來講,分別使用、σ(i)表示檢測框和跟蹤框的集合,每組集合均有N個候選框,下標i和σ(i)分別表示兩組集合中的第i個邊界框,則檢測框和跟蹤框的匹配代價為:
在CTMOT算法的訓練階段,由于檢測框和跟蹤框是同一圖像中目標框的預(yù)測,因此可以借鑒DETR中集合預(yù)測損失(set prediction loss)[15]的思想同時訓練兩個解碼器,并使用L1損失和GIoU(generalized IoU)損失對邊界框預(yù)測結(jié)果進行監(jiān)督,整個網(wǎng)絡(luò)的損失函數(shù)[18]可表示為:
其中,Lcls表示預(yù)測的類別和真實目標框(ground truth box)類別標簽的焦點損失(focal loss);LL1和LGIoU分別表示預(yù)測框與真實目標框之間的L1損失和GIoU損失;λcls、λL1和λGIoU是調(diào)整系數(shù),用于平衡損失函數(shù)的比重。
本文算法基于Python3.8和Pytorch1.7.0、Cuda11.0框架實現(xiàn),在具有兩塊RTX3090 GPU的服務(wù)器上進行實驗。CTMOT算法使用基于CNN-Transformer雙分支并行的混合網(wǎng)絡(luò)作為主干,CNN分支包含6個CNN塊,Transformer分支中將6個可學習的全局標記作為輸入并隨機進行初始化,其中多通道注意力的分組數(shù)為8。
訓練數(shù)據(jù)由MOT17、MOT20、KITTI和UA-DETRAC數(shù)據(jù)集的訓練部分組成,在訓練過程中使用隨機水平翻轉(zhuǎn)、裁剪、縮放等數(shù)據(jù)增強方法防止過擬合。使用AdamW優(yōu)化器,Batchsize設(shè)置為8,將模型訓練300個周期(epoch)。主干網(wǎng)絡(luò)的初始學習率為2.0×10-5,凍結(jié)BN層并在MOT17數(shù)據(jù)集上預(yù)訓練,其余部分的初始學習率為2.0×10-4,權(quán)重衰減為1.0×10-4,在第200個周期時學習率衰減因子為0.1。
3.2.1 數(shù)據(jù)集
CTMOT算法在MOT17、MOT20、KITTI和UADETRAC數(shù)據(jù)集上進行訓練和測試。MOT17數(shù)據(jù)集發(fā)布于MOTChallenge[22]上,采用靜態(tài)或動態(tài)攝像機拍攝了多個不同場景,如明亮的商場、光線昏暗的公園和夜晚人群密集的商業(yè)街等。該數(shù)據(jù)集共包含14個視頻序列,其中7個用于訓練,7個用于測試,共有11 235幀,訓練集中有1 342個身份標識和292 733個目標框,每幀都是手工標注并經(jīng)過嚴格檢查,同時相較于MOT16增加了3個檢測器的檢測結(jié)果,提供了一個高質(zhì)量的大規(guī)模目標跟蹤基準[2]。
MOT20數(shù)據(jù)集從無約束環(huán)境中提取了8個全新的稠密人群序列,其中訓練集和測試集各占一半,所有訓練集中的視頻序列都經(jīng)過仔細地挑選和標注,包含的目標邊界框大約是MOT17數(shù)據(jù)集的3倍,并且平均每幀246個行人,人群密度進一步增加,為MOT任務(wù)帶來更大的挑戰(zhàn)。
KITTI[23]數(shù)據(jù)集可同時用于車輛和行人跟蹤,并提供了DPM的檢測結(jié)果。包含50個視頻序列,其中包括7 481張訓練圖片和7 518張測試圖片,場景目標較為稀疏,平均每幀只有5.35個目標。主要挑戰(zhàn)在于目標雜亂、背景難以區(qū)分以及光照變化等。
UA-DETRAC[24]數(shù)據(jù)集是車輛檢測和跟蹤的大規(guī)模數(shù)據(jù)集,由100個從真實交通場景中捕獲的具有挑戰(zhàn)性的視頻組成,平均每段視頻超過1 400幀,平均每幀圖像有8.64個目標。該數(shù)據(jù)集將車輛分為4類,即轎車、公共汽車、廂式貨車和其他車輛;天氣情況分為多云、夜間、晴天和雨天;主要挑戰(zhàn)在于運動模糊。
3.2.2 評價指標
目前視覺多目標跟蹤算法中最常使用的評價指標有傳統(tǒng)指標和CLEAR MOT指標。
(1)傳統(tǒng)指標定義了多目標跟蹤算法可能產(chǎn)生的錯誤類型,通常有:
最多跟蹤比例(mostly tracked,MT):與真實軌跡有80%以上重合率的軌跡數(shù)量與總軌跡數(shù)量的比值。
最多丟失比例(mostly lost,ML):與真實軌跡具有20%以下重合率的軌跡數(shù)量與總軌跡數(shù)量的比值。
傳統(tǒng)的MT和ML均不考慮目標ID切換,僅衡量目標跟蹤的完整性。
(2)CLEAR MOT指標主要根據(jù)目標檢測框和跟蹤框的IoU閾值以及目標跟蹤的正確穩(wěn)定性進行評價,是體現(xiàn)算法性能最重要的評價指標:
錯誤正樣本(false positives,F(xiàn)P):視頻中負樣本被預(yù)測為正樣本的數(shù)量。
錯誤負樣本(false negatives,F(xiàn)N):視頻中正樣本被預(yù)測為負樣本的數(shù)量。
ID切換次數(shù)(identity switches,IDs):跟蹤過程中目標切換的次數(shù),用于衡量跟蹤算法的穩(wěn)定性。
根據(jù)以上3個基礎(chǔ)指標可以構(gòu)建最常用的多目標跟蹤指標:多目標跟蹤準確度(multi-object tracking accuracy,MOTA)和多目標跟蹤精度(multiple object tacking precision,MOTP)[1]:
其中,GT表示所有真值框的數(shù)量,dt,i表示已匹配的檢測框和跟蹤框之間的距離度量,ct表示在第t幀中匹配成功的檢測框的數(shù)量。MOTA以錯誤正樣本(FP),錯誤負樣本(FN)和ID切換總數(shù)(IDs)為依據(jù)判斷跟蹤錯誤的次數(shù),體現(xiàn)算法的跟蹤準確度;而MOTP則根據(jù)目標檢測框和真值框之間的IoU計算跟蹤的精度,側(cè)重于體現(xiàn)目標檢測的質(zhì)量。
為驗證CTMOT算法的有效性,分別在MOT17、MOT20、KITTI和UA-DETRAC數(shù)據(jù)集上與當前主流的多目標跟蹤算法進行實驗結(jié)果比較。從表1可以看出,本文算法相比其他算法在MOTP、ML、FN和IDs等多個指標上均取得了顯著提升,達到了最優(yōu)效果,其他指標也與SOTA算法效果相當。具體來講,MOTA指標達到了76.4%,相比TransCenter[25]和TransTrack等基于Transformer的MOT算法,分別取得了3.2和1.9個百分點的提升,這主要是由于模型中使用的雙分支主干網(wǎng)絡(luò)增強了特征提取能力,充分融合了局部和全局特征,進而提高了整體跟蹤性能。在FP指標上略低于NSH算法,但其他指標均有顯著提升,衡量跟蹤性能最重要的MOTA指標提高了12.5個百分點。MOTA和MT指標相較于表現(xiàn)最好的TransMOT[26]算法僅相差0.3個百分點,可能原因是后者采用了圖Transformer著重建立目標關(guān)聯(lián)模型,而CTMOT算法在數(shù)據(jù)關(guān)聯(lián)階段僅使用簡單的IoU進行匹配,在一定程度上影響了跟蹤準確度,但可以極大地提升跟蹤速度,因此從跟蹤準確度和速度權(quán)衡的角度考慮,本文選取了復(fù)雜性較低的IoU匹配方法。同時為了降低簡單匹配方式帶來的影響,采用并行解碼器結(jié)構(gòu),利用前一幀的目標特征保證匹配雙方具有強相似性,降低對復(fù)雜匹配方式的依賴性,實現(xiàn)端到端的實時跟蹤[2]。實驗表明CTMOT算法在跟蹤準確度和速度上達到了更好的平衡,從整體上提高了多目標跟蹤方法的性能。
表1 CTMOT與主流MOT算法在MOT17數(shù)據(jù)集上的比較Table 1 Comparison between CTMOT and mainstream MOT algorithms on MOT17 dataset
MOT20數(shù)據(jù)集相較于MOT17包含了更多更擁擠的場景,目標尺寸更小,同時目標遮擋的情況也更加嚴重,給目標檢測和跟蹤帶來了更大的挑戰(zhàn),因此各種算法在MOT20上表現(xiàn)出的性能均低于MOT17,如表2所示??梢钥闯鯟TMOT算法在MOTP、MT、FP和IDs等多個指標上均取得了最佳效果,表明本文采用的雙分支主干網(wǎng)絡(luò)極大促進了檢測性能的提升,同時采用的雙解碼器也顯著降低了目標ID切換。在MOTA指標上,表現(xiàn)最好的CSTrack算法比本文算法高0.3個百分點,可能原因是其重點針對密集小目標進行建模,但其他指標均遠低于CTMOT算法,后續(xù)本文也將針對密集小目標進行優(yōu)化。CTMOT算法的ML和FN值略低于FairMOT算法,但其他指標均遠優(yōu)于FairMOT,表示錯誤正樣本的FP值降低了75%,ID切換率降低了64%,MOTA成績提升了4.5個百分點,進一步證明了本文算法的有效性。
表2 CTMOT與主流MOT算法在MOT20數(shù)據(jù)集上的比較Table 2 Comparison between CTMOT and mainstream MOT algorithms on MOT20 dataset
為了驗證CTMOT算法在同一視覺場景中對不同類型目標的跟蹤效果,在KITTI數(shù)據(jù)集上進行了實驗,具體結(jié)果如表3所示,由于其場景稀疏,每幀圖像中目標數(shù)較少,因此各算法在該數(shù)據(jù)集上的最多丟失比例(ML)和IDs指標均有良好效果,同時MOTA指標也整體高于MOT17數(shù)據(jù)集。CTMOT算法由于其強大的特征提取能力,因此在各項指標上均顯著優(yōu)于其他算法,達到SOTA效果。
此外,也在UA-DETRAC數(shù)據(jù)集上對CTMOT算法進行評估,各項指標均優(yōu)于MOT17和MOT20,其中MOTA和MOTP指標分別達到88.57%和90.23%,表明該算法在同一視覺場景中跟蹤其他同類目標也具有良好的效果。
本文在MOT17數(shù)據(jù)集上進行消融實驗,為降低訓練成本,將待比較的算法模型均統(tǒng)一訓練100個周期,其余策略與實驗設(shè)置中的模型保持一致,主要對比模型的MOTA、MOTP、FP、FN和IDs的指標,具體結(jié)果如表4、表5所示,其中IDsr(ID switch rate)為ID切換率,F(xiàn)P和FN分別表示被誤檢和漏檢的樣本數(shù)占到總樣本數(shù)的比例。
表4 不同主干網(wǎng)絡(luò)下的性能對比Table 4 Performance comparison under different backbone network 單位:%
表5 輸入不同查詢時模型性能對比Table 5 Performance comparison when entering different queries 單位:%
3.4.1 主干網(wǎng)絡(luò)消融實驗
首先評估了CTMOT算法在不同主干網(wǎng)絡(luò)下的性能,實驗結(jié)果如表3所示,其中Model 1僅將CNN作為主干網(wǎng)絡(luò),Model 2的主干網(wǎng)絡(luò)采用Transformer結(jié)構(gòu),Model 3使用CNN-Transformer雙分支主干網(wǎng)絡(luò)提取特征??梢钥闯?個模型在各項指標上均取得較好的成績,Model 1在衡量模型檢測能力的MOTP指標上相較于Model 2提高了1.2個百分點,同時表示漏檢率的FN值降低了0.8個百分點,主要原因在于CNN具有局部敏感性和平移不變性等歸納偏置,因此具有更強大的局部特征提取能力,可以有效提升模型的檢測能力并降低漏檢率,但由于缺乏全局上下文信息,所以MOTA略低于Model 2,并且ID切換次數(shù)也更多。Model 2獲得66.5%的MOTA成績,相較于Model 1提升了0.2個百分點,同時用于衡量誤檢率的FP指標和ID切換率分別降低了0.3和0.4個百分點,由于考慮了全局上下文信息,因此可以更準確地完成數(shù)據(jù)關(guān)聯(lián),有利于降低誤檢率和目標ID切換,但缺乏局部特征細節(jié)導致MOTP指標略低,同時誤檢率FN值更高。Model 3由于充分繼承了CNN和Transformer雙分支的優(yōu)勢,同時考慮局部和全局特征,相較于前兩種模型在各項指標上均取得顯著提升,達到最優(yōu)效果。
3.4.2 并行解碼器消融實驗
此外,本文還評估了并行解碼器中兩組不同的輸入查詢對CTMOT模型性能的影響,其結(jié)果如表5所示。Model 4僅輸入可學習的目標查詢,將輸出的檢測框根據(jù)其在輸出集合中的索引進行關(guān)聯(lián),此時模型的MOTP、FP和FN指標分別達到71.0%、4.3%和30.8%的成績,均表現(xiàn)良好,因為一般目標移動距離較小,目標查詢能檢測并預(yù)測出某個區(qū)域中的目標框。但目標經(jīng)過長時間的遮擋或快速移動時,該方案會導致較為嚴重的匹配錯誤,因此MOTA表現(xiàn)并不理想,并且ID切換率很高,達到了7.8%。Model 5僅輸入軌跡查詢,該方案可以將經(jīng)過長距離移動的目標關(guān)聯(lián)起來,ID切換率成績優(yōu)異,僅有0.4%,但缺乏目標查詢導致無法進行目標檢測,也不能有效識別新出現(xiàn)的目標,從而無法得到有效的MOTA和MOTP成績,并且表示漏檢率的FN指標極高,達到了93.2%。Model 6表示在并行解碼器中分別輸入目標查詢與軌跡查詢,此時模型分別輸出檢測框和跟蹤框,可以同時完成目標檢測和數(shù)據(jù)關(guān)聯(lián)任務(wù),得到最終的跟蹤結(jié)果,各項指標均有較大提高,表明將兩組不同的查詢輸入并行解碼器中對處理MOT任務(wù)有較大幫助。
3.4.3 IoU數(shù)值分析
CTMOT算法將不同幀下解碼器輸出的檢測框與跟蹤框使用簡單的IoU相似度進行匹配,匹配過程如圖5所示,其中圖(a)、(b)、(c)分別表示MOT17數(shù)據(jù)集中第4個視頻序列中的第220、250和280幀,圖中彩色方框表示跟蹤框,帶有ID信息,白色方框表示檢測框。表6展示了不同幀下檢測框與跟蹤框之間的IoU數(shù)值對比,其中目標06、11、13、14的IoU數(shù)值均大于0.5,表示匹配成功,說明CTMOT算法可以準確檢測并跟蹤目標。在圖5(b)中未檢測到目標05,因此IoU數(shù)值為0,在圖5(c)中目標重新出現(xiàn),此時跟蹤框與檢測框重新進行匹配,IoU數(shù)值為0.75說明匹配成功,表明CTMOT算法可以穩(wěn)定維持遮擋再出現(xiàn)目標的原有ID。
表6 不同幀下IoU數(shù)值對比Table 6 IoU value comparison under different frames
3.5.1 特征圖可視化
在CNN分支中,Shuffle Block特征圖可視化如圖6所示。其中圖(a)表示原始圖像,圖(b)表示輸入特征圖,圖(c)、(d)分別表示經(jīng)過通道分割操作后得到的A、B兩組特征圖,由于A組特征圖通過深度可分離卷積提取特征,因此相較于未經(jīng)處理的B組特征圖可得到更為精細的特征,如紅色方框所示。圖(e)表示將A、B兩組特征圖拼接后所得結(jié)果,由于充分融合了兩組特征圖,因此可以得到更高質(zhì)量的特征表示,如綠色方框所示。
圖6 Shuffle塊可視化Fig.6 Visualization of Shuffle block
在主干網(wǎng)絡(luò)中,CNN分支和Transformer分支提取的特征圖通過雙向橋接模塊將進行充分融合,其可視化結(jié)果如圖7所示,其中圖(a)表示原始圖像,圖(b)、(c)、(d)分別表示CNN分支和Transformer分支以及雙分支融合后提取的特征圖可視化。由圖可知,CNN分支通過卷積操作可以提取更為精細的局部特征,如紅色方框所示。Transformer分支可以利用上下文信息提取全局特征,如綠色方框所示。本文提出的CTMOT算法通過TBM將雙分支提取的局部和全局特征進行融合,充分發(fā)揮二者優(yōu)勢,得到更加魯棒的目標特征。
圖7 TBM特征融合可視化Fig.7 Visualization of TBM feature fusion
3.5.2 數(shù)據(jù)關(guān)聯(lián)可視化
在數(shù)據(jù)關(guān)聯(lián)階段,跟蹤框與檢測框匹配過程可視化如圖8所示。其中圖(a)表示跟蹤框,目標1、2來自于上一幀的匹配結(jié)果;圖(b)表示檢測框;跟蹤框與檢測框通過IoU相似度進行匹配,IoU>0.5即表示匹配成功,如圖(c)所示;圖(d)表示匹配后的結(jié)果,對于目標1、2,其檢測框與跟蹤框的IoU值大于0.5,經(jīng)過匹配后仍維持原有ID,目標3為新出現(xiàn)目標,因此賦予其新ID。
圖8 數(shù)據(jù)關(guān)聯(lián)可視化Fig.8 Visualization of data association
3.5.3 跟蹤結(jié)果可視化
為了進一步展示CTMOT算法在目標發(fā)生遮擋、形變等復(fù)雜情況下的實際跟蹤效果,從多目標行人數(shù)據(jù)集MOT17上選取視頻序列進行跟蹤結(jié)果的可視化,具體對比結(jié)果如圖9所示。其中第一、二行分別是僅將CNN、Transformer作為主干網(wǎng)絡(luò)的跟蹤結(jié)果,第三行是CTMOT算法的跟蹤結(jié)果。從圖中可以看出在目標經(jīng)過遮擋再出現(xiàn)時,本文算法依然能夠獲得高質(zhì)量的跟蹤結(jié)果,而僅將CNN或Transformer作為主干網(wǎng)絡(luò)時則容易造成目標ID切換或丟失目標。
圖9 不同主干網(wǎng)絡(luò)下跟蹤效果可視化Fig.9 Visualization of tracking effect under different backbone network
具體來看,在第1行視頻序列中,CNN因其強大的局部特征提取能力,可以持續(xù)檢測到被部分遮擋的目標11。但由于無法對圖像的全局進行建模,雖然檢測到了第250幀中被遮擋的目標05,但此時目標ID已發(fā)生了變化;在280幀目標再次出現(xiàn)時同樣發(fā)生了ID切換。
在第2行視頻序列中,Transformer主干網(wǎng)絡(luò)依靠全局上下文信息可以穩(wěn)定維持遮擋再出現(xiàn)的目標ID,如220和280幀中的目標05;但因為缺少局部特征細節(jié),導致其無法檢測到被遮擋的目標,如目標11。
在第3行視頻序列中,由于CTMOT算法采用基于CNN-Transformer雙分支并行的混合網(wǎng)絡(luò)作為主干,可以充分融合局部和全局特征,因此能避免目標丟失和ID切換的情況,準確檢測并跟蹤到所有目標,進一步體現(xiàn)了CTMOT算法的有效性。
CTMOT算法在KITTI和UA-DETRAC數(shù)據(jù)集上的可視化結(jié)果如圖10、圖11所示。由圖可知該算法在同一視覺場景中的不同類型目標以及其他同類目標中均取得良好的跟蹤效果。
圖10 同一視覺場景中不同類型目標跟蹤結(jié)果可視化Fig.10 Visualization of tracking results of different types of objects in same visual scene
3.5.4 跟蹤軌跡可視化
本文提出的CTMOT算法在衡量跟蹤軌跡的MT、ML指標上同樣取得良好的成績,目標運動軌跡如圖12所示。
本文針對現(xiàn)有基于CNN或Transformer主干網(wǎng)絡(luò)的多目標跟蹤算法提取特征不夠魯棒的問題,提出采用基于CNN-Transformer雙分支并行的主干網(wǎng)絡(luò),通過雙向橋接模塊將提取的局部和全局特征充分融合,從而提升模型特征提取能力,從整體上改善了跟蹤的性能。此外,采用以不同查詢?yōu)檩斎氲膬山M解碼器對融合后的特征進行并行處理,同時完成目標檢測與關(guān)聯(lián),實現(xiàn)端到端的跟蹤,提高了跟蹤算法的整體效率。實驗結(jié)果表明,與主流多目標跟蹤算法相比,CTMOT算法具有較高的跟蹤準確度、目標識別率及運行速度,并且取得了較低的ID切換次數(shù),展示出巨大的潛力。由于本文設(shè)計的網(wǎng)絡(luò)在數(shù)據(jù)關(guān)聯(lián)階段僅使用了簡單的IoU匹配,雖然提高了整體的跟蹤速度,但會影響關(guān)聯(lián)的準確性,后續(xù)將對數(shù)據(jù)關(guān)聯(lián)階段進行優(yōu)化,進一步提高模型的整體性能。