王 利,宣士斌,2*,秦續(xù)陽(yáng),李紫薇
(1.廣西民族大學(xué) 人工智能學(xué)院,南寧 530006;2.廣西混雜計(jì)算與集成電路設(shè)計(jì)分析重點(diǎn)實(shí)驗(yàn)室(廣西民族大學(xué)),南寧 530006)
多目標(biāo)跟蹤(Multi-Object Tracking,MOT)是計(jì)算機(jī)視覺(jué)研究的重要組成部分,應(yīng)用領(lǐng)域越來(lái)越廣,如交通運(yùn)輸、國(guó)防建設(shè)、軍事控制、自動(dòng)駕駛等。從視頻監(jiān)控到自動(dòng)識(shí)別、姿態(tài)識(shí)別到行為分析,目標(biāo)跟蹤都是計(jì)算機(jī)視覺(jué)中不可或缺的部分,但在真實(shí)世界中,視頻跟蹤關(guān)注的目標(biāo)往往集中在人身上且需要關(guān)注的目標(biāo)通常不止一個(gè),所以MOT 的應(yīng)用也越來(lái)越廣泛,對(duì)多目標(biāo)跟蹤精確度的要求也越來(lái)越高,針對(duì)多目標(biāo)跟蹤的解決方法也層出不窮。縱觀多目標(biāo)跟蹤方法的發(fā)展歷史,大概經(jīng)歷了兩個(gè)階段。
階段一 概率統(tǒng)計(jì)最大化的追蹤,如多假設(shè)多目標(biāo)追蹤(Multiple Hypothesis Tracking,MHT)算法[1]、基于檢測(cè)可信度的粒子濾波算法[2]、基于最小代價(jià)流優(yōu)化的算法[3]、基于馬爾可夫決策的算法[4]等。
階段二 深度學(xué)習(xí)的應(yīng)用,如基于對(duì)稱網(wǎng)絡(luò)的算法[5]、基于最小多割圖模型的算法[6]、通過(guò)時(shí)空域關(guān)注模型學(xué)習(xí)多目標(biāo)跟蹤算法[7]、基于循環(huán)網(wǎng)絡(luò)判別融合表觀運(yùn)動(dòng)交互的多目標(biāo)跟蹤算法[8]等。
與單目標(biāo)跟蹤不同,多目標(biāo)跟蹤最大的特點(diǎn)在于數(shù)據(jù)關(guān)聯(lián),所要面對(duì)的場(chǎng)景更加復(fù)雜,也更具挑戰(zhàn)性。除了單目標(biāo)跟蹤遇到的問(wèn)題之外,多目標(biāo)跟蹤通常還會(huì)遇到以下問(wèn)題:1)跟蹤目標(biāo)的自動(dòng)初始化和自動(dòng)終止;2)跟蹤目標(biāo)的運(yùn)動(dòng)預(yù)測(cè)和相似度判別;3)跟蹤目標(biāo)之間的交互和遮擋處理;4)跟蹤目標(biāo)再出現(xiàn)時(shí),如何進(jìn)行再識(shí)別。
多目標(biāo)跟蹤的本質(zhì)任務(wù)是初始化一組目標(biāo)軌跡序列,并在跟蹤過(guò)程中保留身份信息,達(dá)到持續(xù)跟蹤的目的。隨著像素級(jí)目標(biāo)檢測(cè)的發(fā)展,目標(biāo)跟蹤基本遵循檢測(cè)-跟蹤模式,分為兩個(gè)基本步驟:一是在視頻幀中檢測(cè)出目標(biāo);二則通過(guò)關(guān)聯(lián)結(jié)構(gòu)將前后兩幀的目標(biāo)關(guān)聯(lián)起來(lái),從而形成連續(xù)的目標(biāo)軌跡。數(shù)據(jù)關(guān)聯(lián)問(wèn)題可以從多個(gè)角度解決,如最小代價(jià)流[3]、馬爾可夫決策過(guò)程[4]、部分濾波[9]、匈牙利算法[10]和圖割[6]等。檢測(cè)和關(guān)聯(lián)結(jié)構(gòu)中都面臨著巨大的挑戰(zhàn),如小目標(biāo)檢測(cè)、目標(biāo)遮擋、對(duì)象重新識(shí)別等問(wèn)題。
目前,基于注意力的Transformer[11]目標(biāo)跟蹤方法大多采用端到 端的策 略,如TransTrack[12]、TrackFormer[13]、TransCenter[14]等。這類模型由輸入的視頻序列直接輸出跟蹤結(jié)果,其中TrackFormer[13]是基于端到端的可訓(xùn)練Transformer[11]編碼器-解碼器架構(gòu)。首先通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)獲得多尺度特征圖,然后送入訓(xùn)練好的編碼器結(jié)構(gòu)中進(jìn)行編碼,并將查詢結(jié)果解碼到對(duì)應(yīng)相關(guān)的邊界框中。數(shù)據(jù)關(guān)聯(lián)是通過(guò)跟蹤查詢回歸來(lái)實(shí)現(xiàn)。預(yù)設(shè)300 個(gè)查詢,每個(gè)查詢代表一個(gè)目標(biāo)對(duì)象,然后在視頻序列中以自回歸的方式在空間和時(shí)間上跟蹤它。每一幀都通過(guò)編碼器-解碼器處理輸入圖像的特征,解決跟蹤和對(duì)象查詢問(wèn)題,并輸出帶有身份標(biāo)識(shí)的邊界框;因此TrackFormer[13]不依賴任何額外的軌跡匹配、圖形優(yōu)化或運(yùn)動(dòng)和外觀的顯式建模,在它跟蹤的過(guò)程中,丟失的目標(biāo)很難通過(guò)編碼器-解碼器結(jié)構(gòu)找回。為此,本文提出融合運(yùn)動(dòng)特征與表觀統(tǒng)計(jì)特性的多目標(biāo)跟蹤器模型。受TransTrack[12]多解碼器的啟發(fā),所提模型在TrackFormer[13]的基礎(chǔ)上設(shè)計(jì)雙解碼器用于修正目標(biāo)樣本,額外設(shè)置了直方圖匹配找回跟蹤丟失的目標(biāo),被遮擋的目標(biāo)則通過(guò)卡爾曼濾波進(jìn)行軌跡預(yù)測(cè);然后通過(guò)直方圖匹配判斷遮擋后新出現(xiàn)的目標(biāo)是否為丟失的目標(biāo),以此保證跟蹤的持續(xù)性。利用Transformer[11]在目標(biāo)跟蹤中的特性,即每個(gè)跟蹤目標(biāo)在預(yù)設(shè)的300 個(gè)查詢中ID一致,新出現(xiàn)的目標(biāo)ID 與丟失目標(biāo)ID 一致,進(jìn)行匹配以消除碎片化軌跡。在MOT17 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果也佐證了提出模型的有效性,提出模型的細(xì)節(jié)在后續(xù)章節(jié)中介紹。
本文主要工作如下:
1)利用雙解碼器修正目標(biāo),解決目標(biāo)由于短暫的遮擋引起的目標(biāo)丟失問(wèn)題。
2)利用圖形外觀特征進(jìn)行直方圖匹配,找回丟失的目標(biāo)。
3)通過(guò)光流判斷攝像頭是否移動(dòng),利用運(yùn)動(dòng)特征和卡爾曼濾波預(yù)測(cè)目標(biāo)運(yùn)動(dòng)軌跡,保證目標(biāo)的連續(xù)性。
檢測(cè)-跟蹤模式是在給定檢測(cè)結(jié)果的基礎(chǔ)上建立目標(biāo)之間的數(shù)據(jù)關(guān)聯(lián),隨著時(shí)間形成軌跡的方法。一般使用關(guān)聯(lián)圖[15]、學(xué)習(xí)模型[16]、運(yùn)動(dòng)信息[17]、通用求解器[18]、multicut[19]或者是可訓(xùn)練的圖神經(jīng)網(wǎng)絡(luò)MPNTrack[20]進(jìn)行軌跡關(guān)聯(lián)和長(zhǎng)期再識(shí)別;然而,基于圖的方法受昂貴的優(yōu)化成本影響,限制了它們?cè)谠诰€跟蹤方面的實(shí)際應(yīng)用。外觀驅(qū)動(dòng)方法利用日益強(qiáng)大的圖像識(shí)別骨干網(wǎng)絡(luò),通過(guò)依賴孿生神經(jīng)網(wǎng)絡(luò)[21]給出的相似性度量跟蹤目標(biāo),或者通過(guò)學(xué)習(xí)reID 特征[22]、檢測(cè)候選選擇[23]或親和力估計(jì)[24]跟蹤目標(biāo)。外觀模型在擁擠的場(chǎng)景中會(huì)遇到很多物體-物體遮擋問(wèn)題,而運(yùn)動(dòng)可以被建模用于軌跡預(yù)測(cè),采用恒定速度假設(shè)(Constant Velocity Assume,CVA)或社會(huì)力模型,從數(shù)據(jù)學(xué)習(xí)運(yùn)動(dòng)模型也可以實(shí)現(xiàn)幀之間的軌跡關(guān)聯(lián)。
回歸-跟蹤模式通過(guò)將過(guò)去的對(duì)象位置回歸到當(dāng)前幀中新的位置實(shí)現(xiàn)跟蹤。一些方法將目標(biāo)檢測(cè)器轉(zhuǎn)換為跟蹤器[25],利用對(duì)象檢測(cè)器的邊界框回歸預(yù)測(cè)對(duì)象在下一幀中新的位置,通過(guò)簡(jiǎn)單的重新識(shí)別和相機(jī)運(yùn)動(dòng)補(bǔ)償對(duì)它進(jìn)行擴(kuò)展,顯現(xiàn)出跟蹤器的可擴(kuò)展性。CenterTrack[26]將對(duì)象表示為中心點(diǎn),允許通過(guò)基于距離的貪婪匹配算法進(jìn)行關(guān)聯(lián)。在這種方法中,目標(biāo)檢測(cè)器不僅提供幀檢測(cè),而且使用每條軌跡的連續(xù)回歸替代數(shù)據(jù)關(guān)聯(lián)步驟,以確定目標(biāo)位置,即利用對(duì)象檢測(cè)器的邊界盒回歸預(yù)測(cè)對(duì)象在下一幀中的位置,從而將檢測(cè)器轉(zhuǎn)換為跟蹤器,隱含地實(shí)現(xiàn)了軌跡關(guān)聯(lián),依靠額外的圖形優(yōu)化或運(yùn)動(dòng)和外觀模型實(shí)現(xiàn)最高性能。在檢測(cè)-回歸的基礎(chǔ)上引入一個(gè)注意力跟蹤的范例,不僅適用于關(guān)注數(shù)據(jù)關(guān)聯(lián),還以統(tǒng)一的方式進(jìn)行跟蹤和檢測(cè),簡(jiǎn)化了跟蹤結(jié)構(gòu),并且可以預(yù)測(cè)從上一幀到下一幀的運(yùn)動(dòng)軌跡,通過(guò)時(shí)間的推移形成完整的目標(biāo)軌跡。
分割-跟蹤模式不僅可以預(yù)測(cè)遮擋對(duì)象,還可以利用像素級(jí)信息改善擁擠和模糊背景區(qū)域的問(wèn)題。一些研究嘗試使用分類不確定的圖像分割,應(yīng)用Mask R-CNN(Mask Regionbased Convolutional Neural Network)[27]、三 維(Three Dimensional,3D)卷積[28]和Mask 池化層[29],或?qū)?duì)象表示為無(wú)序點(diǎn)云[30];然而,帶注釋的MOT 分割數(shù)據(jù)的缺乏使得現(xiàn)階段多目標(biāo)跟蹤使用的方法無(wú)法進(jìn)行公正評(píng)判。
基于注意力的圖像識(shí)別[11],將輸入的每個(gè)元素與其他元素關(guān)聯(lián),并應(yīng)用于圖像生成和目標(biāo)檢測(cè)。對(duì)于MOT 來(lái)說(shuō),注意力只是用來(lái)將一組給定的目標(biāo)檢測(cè)關(guān)聯(lián)起來(lái),而不是聯(lián)合處理檢測(cè)和跟蹤問(wèn)題,它需要額外的處理過(guò)程。
TrackFormer[13]將整個(gè)跟蹤目標(biāo)映射為一個(gè)單一的集合預(yù)測(cè)問(wèn)題,結(jié)合了軌跡初始化、身份和時(shí)空信息,并且只依賴功能級(jí)別的全局關(guān)注,將注意力運(yùn)用在跟蹤問(wèn)題上,是一個(gè)端到端可訓(xùn)練的Transformer[11]編碼器-解碼器架構(gòu)。對(duì)CNN 的幀級(jí)特征進(jìn)行編碼,將查詢解碼成與身份表征相關(guān)的邊界框,并通過(guò)新穎、簡(jiǎn)單的軌道查詢概念完成數(shù)據(jù)關(guān)聯(lián)。每個(gè)查詢表示一個(gè)對(duì)象,在視頻序列中以自回歸的方式在空間和時(shí)間上跟蹤該對(duì)象。進(jìn)入場(chǎng)景的新對(duì)象由靜態(tài)對(duì)象查詢檢測(cè),如Deformable DETR(Deformable DEtection TRansformer)[31],然后轉(zhuǎn)換為未來(lái)的跟蹤查詢。在第一幀中,編碼器-解碼器處理輸入的圖像特征,經(jīng)過(guò)編碼器-解碼器結(jié)構(gòu)輸出檢測(cè)到的目標(biāo)邊界框,此后每一幀,解碼器不僅處理新對(duì)象查詢,也對(duì)上一幀中出現(xiàn)的目標(biāo)進(jìn)行跟蹤處理,回歸出每一個(gè)目標(biāo)在本幀中的位置,并輸出具有指定標(biāo)識(shí)的邊界框。因此,TrackFormer[13]以一種新的tracking-by-attention 范式實(shí)現(xiàn)了一種無(wú)縫的幀間數(shù)據(jù)關(guān)聯(lián),注意力機(jī)制確保了模型同時(shí)考慮位置、遮擋和目標(biāo)的識(shí)別特征,而不依賴于任何額外的軌跡匹配、圖形優(yōu)化或運(yùn)動(dòng)和外觀的顯式建模。
TrackFormer[13]在跟蹤過(guò)程中仍然存在如下不足:未考慮軌跡暫存和找回、目標(biāo)ID 切換(ID Switch,IDSW)頻繁、跟蹤碎片較多。為此,本文將TrackFormer[13]與運(yùn)動(dòng)特征和表觀統(tǒng)計(jì)特性融合,具體方法如下。
1)設(shè)置了雙解碼器以修正跟蹤結(jié)果,一個(gè)解碼器用于檢測(cè)目標(biāo),一個(gè)解碼器用于跟蹤目標(biāo)。
2)對(duì)丟失的目標(biāo)進(jìn)行軌跡暫存,并利用直方圖匹配丟失的目標(biāo)和新目標(biāo)以找回目標(biāo),可以通過(guò)Transformer[11]結(jié)構(gòu)中300 個(gè)查詢對(duì)象的ID 進(jìn)行判斷,若丟失的目標(biāo)和新增目標(biāo)在查詢中的ID 一致則進(jìn)行直方圖匹配。
3)利用卡爾曼濾波對(duì)因遮擋而丟失的目標(biāo)進(jìn)行位置修正和持續(xù)跟蹤,保證目標(biāo)在遮擋的情況下能正常跟蹤。
本文方法的框架結(jié)構(gòu)如圖1 所示。
圖1 本文方法的框架流程Fig.1 Framework flow of the proposed method
模型包含5 個(gè)模塊:多層卷積單元、編碼器單元、解碼器單元、直方圖匹配單元和卡爾曼濾波單元。針對(duì)被遮擋目標(biāo)再出現(xiàn)后身份IDSW 的問(wèn)題,提出了雙解碼器結(jié)構(gòu)修正檢測(cè)解碼器的目標(biāo)查詢編碼。針對(duì)目標(biāo)被遮擋后丟失的問(wèn)題,提出由卡爾曼濾波預(yù)測(cè)目標(biāo)位置的方法。針對(duì)丟失或者不活躍的目標(biāo)身份信息找回問(wèn)題,提出了直方圖匹配方法。數(shù)據(jù)基本流程為:首先輸入連續(xù)的RGB 圖像進(jìn)入多層卷積單元,得到多尺度特征圖,經(jīng)過(guò)編碼器形成特征編碼;然后通過(guò)雙解碼器結(jié)構(gòu)得到目標(biāo)解碼特征,經(jīng)過(guò)前饋神經(jīng)網(wǎng)絡(luò)后得到目標(biāo)包圍盒和分類信息;再對(duì)丟失的目標(biāo)在3 幀內(nèi)進(jìn)行卡爾曼濾波預(yù)測(cè),對(duì)不活躍的目標(biāo)與新增的目標(biāo)進(jìn)行直方圖匹配以找回身份信息。提出的3 個(gè)新模塊的詳細(xì)實(shí)現(xiàn)細(xì)節(jié)分別介紹如下。
如圖2 所示,當(dāng)許多目標(biāo)短期丟失或者遮擋后再出現(xiàn)時(shí),ID 發(fā)生了改變,并且不會(huì)找回之前的ID。圖2(a)中23號(hào)目標(biāo)和圖2(b)中29 號(hào)的目標(biāo)實(shí)際為同一目標(biāo),但在短時(shí)間的遮擋后再出現(xiàn)時(shí)發(fā)生了ID 切換和目標(biāo)框漂移。出現(xiàn)這種情況的原因是解碼器是一種注意力構(gòu)建塊,其中的自注意力層,類似于non-local 的神經(jīng)網(wǎng)絡(luò),先掃描序列中的每個(gè)元素,然后通過(guò)聚合完整序列中的信息更新每個(gè)元素。在處理目標(biāo)遮擋時(shí),被遮擋目標(biāo)外觀發(fā)生改變,注意力機(jī)制無(wú)法利用之前的信息判斷目標(biāo)的一致性,致使目標(biāo)框停留在被遮擋時(shí)的位置,當(dāng)目標(biāo)再次出現(xiàn)時(shí)就更換了身份ID。在多目標(biāo)跟蹤過(guò)程中會(huì)有大量的目標(biāo)遮擋和移動(dòng),因此會(huì)產(chǎn)生大量的漂移和ID 切換,這嚴(yán)重影響了多目標(biāo)跟蹤器性能。
圖2 被遮擋目標(biāo)出現(xiàn)ID切換Fig.2 ID switch appearing on occluded object
在TrackFormer[13]中,用1×256的向量標(biāo)記目標(biāo),每一組向量包含了目標(biāo)的外觀特征、身份和位置信息,在跟蹤過(guò)程中會(huì)不斷更新;但在跟蹤過(guò)程中,信息的不斷累加并沒(méi)有使得目標(biāo)能被持續(xù)跟蹤,反而包含了更多的環(huán)境和遮擋物信息。根據(jù)TrackFormer[13]初始化查詢的信息得知,在遇到遮擋問(wèn)題時(shí),被遮擋的目標(biāo)信息被污染,更新到1×256 向量中的信息已經(jīng)無(wú)法判別身份信息,一旦目標(biāo)再次出現(xiàn),就不能通過(guò)此向量重新識(shí)別,將會(huì)生成一個(gè)新的目標(biāo)并為它賦予新的ID,而原目標(biāo)會(huì)隨著被污染信息留在原地,形成目標(biāo)框的漂移。
針對(duì)上述問(wèn)題,本文利用TrackFormer[13]的初始化功能設(shè)計(jì)了一個(gè)新的分支用于檢測(cè)每一幀的目標(biāo)。原結(jié)構(gòu)為單分支解碼器同時(shí)用于檢測(cè)和跟蹤目標(biāo),在此新增一個(gè)檢測(cè)解碼器分支,用于在每一幀中檢測(cè)目標(biāo),原分支用于跟蹤目標(biāo)和檢測(cè)新目標(biāo),然后利用匹配算法對(duì)兩個(gè)分支的目標(biāo)進(jìn)行匹配,將匹配成功的跟蹤目標(biāo)向量每5 幀更新為檢測(cè)目標(biāo)向量。當(dāng)目標(biāo)丟失和出現(xiàn)遮擋時(shí)則停止更新,并將目標(biāo)軌跡暫存,保證信息的完整性,以方便后續(xù)進(jìn)行匹配。取n=5,即每5 幀將跟蹤目標(biāo)向量更新為檢測(cè)目標(biāo)向量,是為了確保跟蹤目標(biāo)積累的位置信息不至于徹底丟失,這樣既能保證獲得目標(biāo)的最新信息,也能保證目標(biāo)的跟蹤效果,同步了目標(biāo)的位置信息和外觀特征,緩解了目標(biāo)因短暫的遮擋引起的目標(biāo)丟失問(wèn)題。
雙解碼器單元具體結(jié)構(gòu)實(shí)現(xiàn)如圖3 所示,第t幀圖像通過(guò)CNN后得到多尺度特征圖,然后輸入編碼器結(jié)構(gòu),經(jīng)過(guò)編碼器后的結(jié)果送入兩個(gè)不同的解碼器,設(shè)置解碼器的初始目標(biāo)為K=300。跟蹤解碼器輸入N+300個(gè)查詢目標(biāo),N為上一幀跟蹤的目標(biāo)數(shù)。若N得分大于等于0.8,則表示目標(biāo)在本幀中持續(xù)保持身份;若在剩下300 個(gè)目標(biāo)中有ε個(gè)目標(biāo)分?jǐn)?shù)大于等于0.9,則為本幀中新檢測(cè)出的目標(biāo)并賦予新的ID。檢測(cè)解碼器輸入300 個(gè)查詢目標(biāo),其中有M個(gè)目標(biāo)分?jǐn)?shù)大于等于0.9,然后將N+ε個(gè)目標(biāo)與M個(gè)目標(biāo)進(jìn)行匹配,匹配成功之后在n=5 的情況下,將跟蹤目標(biāo)向量更新為檢測(cè)目標(biāo)向量。跟蹤目標(biāo)向量在t+1 幀中疊加在300 個(gè)目標(biāo)之前,即在t+1 幀的時(shí)候輸入N+ε+300 個(gè)目標(biāo),當(dāng)前N+ε個(gè)目標(biāo)的得分大于等于0.8時(shí)表示跟蹤成功;300個(gè)目標(biāo)中得分大于等于0.9時(shí)表示有新目標(biāo)出現(xiàn),以此循環(huán)往復(fù)直到最后一幀。新增的檢測(cè)解碼器在300個(gè)查詢上與跟蹤解碼器的后300個(gè)查詢共享權(quán)重,區(qū)別在于跟蹤解碼器的輸入為N+300 個(gè)查詢,N為上一幀跟蹤的目標(biāo)個(gè)數(shù),而檢測(cè)解碼器的輸入為300 個(gè)查詢僅用于檢測(cè)目標(biāo)。
圖3 雙解碼器流程Fig.3 Flow of dual-decoder
本文想法借鑒同為雙解碼結(jié)構(gòu)的TransTrack[12],雙解碼器一支用于檢測(cè),一支用于跟蹤,檢測(cè)分支300 個(gè)查詢,跟蹤分支N個(gè)查詢,N為上一幀目標(biāo),在經(jīng)過(guò)兩個(gè)分支解碼器之后的目標(biāo)還需要利用匈牙利算法進(jìn)行匹配,匹配成功才可確認(rèn)目標(biāo)身份信息,較大程度上依賴于匹配算法。本文方法新設(shè)計(jì)的雙解碼器一支用于跟蹤目標(biāo)和檢測(cè)新出現(xiàn)的目標(biāo),另一支用于檢測(cè)后更新符合條件的已存在目標(biāo)的信息,檢測(cè)分支300 個(gè)查詢,跟蹤分支N+300 個(gè)查詢,前N個(gè)目標(biāo)身份直接回歸得出,并不取決于雙解碼器的匹配結(jié)果,主要解決了目標(biāo)信息更新和遮擋問(wèn)題。雙解碼器的結(jié)構(gòu)如圖4 所示。
圖4 雙解碼器結(jié)構(gòu)明細(xì)圖Fig.4 Dual-decoder structure details
雙解碼器實(shí)驗(yàn)效果如圖5 所示,圖5(a)中24 號(hào)目標(biāo)與4號(hào)目標(biāo)即將出現(xiàn)軌跡交叉,圖5(b)中24 號(hào)目標(biāo)在經(jīng)過(guò)4 號(hào)目標(biāo)的遮擋后ID 依然為24,證明了雙解碼器的有效性。
圖5 雙解碼器修正結(jié)果Fig.5 Dual-decoder correction results
2.2.1 不活躍目標(biāo)的匹配
原結(jié)構(gòu)在丟失的目標(biāo)上應(yīng)用了像素級(jí)匹配,將丟失的目標(biāo)與新增的目標(biāo)在一定的幀數(shù)內(nèi)作像素級(jí)匹配,匹配成功的目標(biāo)則恢復(fù)身份ID。但是根據(jù)Transformer[11]的編碼器-解碼器結(jié)構(gòu)可知,編碼器-解碼器并不是單純的像素上的應(yīng)用,自注意和交叉注意的結(jié)果更注重像素之間的聯(lián)系而不是像素本身,每一個(gè)1×256 的目標(biāo)向量,不僅包含目標(biāo)表觀信息,更有運(yùn)動(dòng)信息和位置信息,所以不能單純地用像素級(jí)關(guān)聯(lián)來(lái)找回丟失的目標(biāo),因此,本文提出了直方圖匹配法。
直方圖匹配是一個(gè)輕量級(jí)的過(guò)程。目標(biāo)在移動(dòng)的過(guò)程中,大小、形狀都有可能發(fā)生變化,甚至背景也會(huì)發(fā)生較大的變化。在這種情況下若使用簡(jiǎn)單的模板匹配結(jié)果往往不理想,而且模板匹配對(duì)圖像的大小有一定的要求,跟蹤過(guò)程中目標(biāo)的大小不穩(wěn)定,因此本文提出了直方圖匹配,將檢測(cè)目標(biāo)裁剪后提取HSV 顏色直方圖,使兩幅圖像的操作保持一致,通過(guò)直方圖進(jìn)行匹配,這樣的匹配方式對(duì)圖像的要求較少,且適合跟蹤過(guò)程中不同程度的變化,很容易得出結(jié)果。經(jīng)過(guò)實(shí)驗(yàn),將匹配閾值設(shè)為0.3。
直方圖匹配單元如圖6 所示。丟失的目標(biāo)進(jìn)入不活躍目標(biāo)庫(kù),在接下來(lái)的15 幀中,每當(dāng)出現(xiàn)新目標(biāo),則將新目標(biāo)與不活躍的目標(biāo)進(jìn)行直方圖匹配。值得注意的是,在這里使用的是第一次檢測(cè)出目標(biāo)的直方圖,因?yàn)槟繕?biāo)在丟失的時(shí)候一般是遮擋狀態(tài),在這個(gè)狀態(tài)下提取的目標(biāo)受污染嚴(yán)重,匹配效果較差,所以取目標(biāo)第一次出現(xiàn)時(shí)候的直方圖,并存儲(chǔ)起來(lái),以便后續(xù)匹配使用。
圖6 直方圖匹配丟失目標(biāo)Fig.6 Histogram matching missing objects
2.2.2 track-query-ID 消除碎片化軌跡
在實(shí)驗(yàn)過(guò)程中,Transformer[11]的編碼器-解碼器結(jié)構(gòu)需要預(yù)先初始化300 個(gè)查詢。在DETR 中最先固定的查詢數(shù)為100,但由于多目標(biāo)跟蹤中目標(biāo)數(shù)量龐大,進(jìn)入和離開(kāi)的目標(biāo)數(shù)量也巨大,因此在TrackFormer[13]中將查詢數(shù)設(shè)置為300。TransCenter[14]中使用了500個(gè)查詢是考慮到了龐大的目標(biāo)數(shù)。
將300 個(gè)目標(biāo)進(jìn)行編號(hào)并放回原圖像中可以發(fā)現(xiàn)初始化目標(biāo)的規(guī)律。在第一幀中初始化的目標(biāo)所占有的ID,與后續(xù)幾幀檢測(cè)出的相匹配的目標(biāo)ID 一致,說(shuō)明300 個(gè)目標(biāo)中每一個(gè)目標(biāo)都會(huì)固定占有一個(gè)ID。但這種現(xiàn)象只能保持一段時(shí)間,因?yàn)椴粩嘤心繕?biāo)出現(xiàn)和消失,而且編號(hào)與位置信息有著莫大的聯(lián)系,當(dāng)目標(biāo)在運(yùn)動(dòng)過(guò)程中出現(xiàn)不穩(wěn)定因素的時(shí)候,ID 的變化就可以說(shuō)明這個(gè)結(jié)論。實(shí)驗(yàn)中還發(fā)現(xiàn)當(dāng)在相同的地方出現(xiàn)新目標(biāo)或者是丟失后又出現(xiàn)的目標(biāo),其編號(hào)相同,說(shuō)明每一個(gè)相同ID 的目標(biāo)中位置信息很重要,也包含目標(biāo)本身信息。根據(jù)這個(gè)發(fā)現(xiàn),利用這種特殊結(jié)構(gòu)的ID 來(lái)判斷相同ID 的目標(biāo)是否是丟失的目標(biāo),從而找回中斷的目標(biāo),減少碎片化軌跡的數(shù)量。但是由于位置信息在編碼器-解碼器結(jié)構(gòu)中的重要性質(zhì),導(dǎo)致位置重復(fù)的目標(biāo)也有相同的ID,為了不盲目匹配目標(biāo),本文采用了額外的直方圖匹配確定目標(biāo)的一致性。
卡爾曼濾波是一種利用線性系統(tǒng)狀態(tài)方程,通過(guò)系統(tǒng)輸入輸出觀測(cè)數(shù)據(jù),對(duì)系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計(jì)的算法。經(jīng)過(guò)一系列改進(jìn),卡爾曼濾波可以應(yīng)用于視頻跟蹤序列中預(yù)測(cè)目標(biāo)在下一幀中的位置,也可以通過(guò)預(yù)測(cè)的位置修正目標(biāo)的真正位置,且可通過(guò)卡爾曼預(yù)測(cè)位置找回丟失的目標(biāo)。因此在目標(biāo)丟失的情況下,本文選擇卡爾曼濾波輔助系統(tǒng)進(jìn)行目標(biāo)預(yù)測(cè),轉(zhuǎn)移方程和轉(zhuǎn)移矩陣公式如下:
其中:z(k)表示系統(tǒng)k時(shí)刻的M維狀態(tài)矢量;Φ(k,k-1)為狀態(tài)轉(zhuǎn)移矩陣;狀態(tài)模型誤差w(k)表示零均值的白噪聲隨機(jī)序列。該方程表示根據(jù)k-1 時(shí)刻的狀態(tài)向量z(k-1)預(yù)測(cè)k時(shí)刻的狀態(tài)向量z(k)。
本文中的狀態(tài)z(·)使用運(yùn)動(dòng)學(xué)的基本物理量(位移、速度、加速度)描述目標(biāo)的運(yùn)動(dòng)規(guī)律,分別表示為s(k)、v(k)、a(k)。k時(shí)刻目標(biāo)的狀態(tài)z(k)記為z(k)=式(2)表示完成狀態(tài)轉(zhuǎn)移所需的勻加速線性運(yùn)動(dòng)的一組方程,狀態(tài)轉(zhuǎn)移矩陣Φ(k,k-1)如式(3)所示:
其中:I2表示二維單位矩陣,O2表示二維零矩陣。
在跟蹤實(shí)驗(yàn)過(guò)程中發(fā)現(xiàn)大部分目標(biāo)一經(jīng)遮擋或者移動(dòng)速度較快的時(shí)候,在基于Transformer[11]編碼器-解碼器結(jié)構(gòu)中,注意力機(jī)制并不能發(fā)揮良好的跟蹤效果,相對(duì)位置信息產(chǎn)生了較大差異,導(dǎo)致目標(biāo)注意力丟失。于是本文提出利用卡爾曼濾波彌補(bǔ)這個(gè)缺陷,對(duì)軌跡的預(yù)測(cè)可以克服由遮擋引起的噪聲檢測(cè)問(wèn)題(指在跟蹤過(guò)程中檢測(cè)目標(biāo)但是檢測(cè)到了噪聲)。由于卡爾曼濾波前期的不穩(wěn)定性,本文將擬合圖像幀數(shù)的閾值設(shè)置為16,在卡爾曼濾波獲得更穩(wěn)定的預(yù)測(cè)結(jié)果之后,再對(duì)丟失目標(biāo)進(jìn)行預(yù)測(cè)??柭鼮V波器如果長(zhǎng)時(shí)間不進(jìn)行檢測(cè)更新,其精度會(huì)降低,每次從丟失狀態(tài)取回軌道時(shí),卡爾曼濾波器將被重新初始化,因此只利用最后一個(gè)軌跡的信息預(yù)測(cè)軌跡,能極大提升預(yù)測(cè)目標(biāo)位置的精度,也能對(duì)后期的目標(biāo)找回提供更精確的判斷。
對(duì)需要進(jìn)行卡爾曼濾波預(yù)測(cè)的目標(biāo)進(jìn)行篩選,原結(jié)構(gòu)擁有很好的跟蹤性能,由于多目標(biāo)跟蹤數(shù)據(jù)量龐大,為了降低內(nèi)存消耗,保證算法實(shí)時(shí)性和效率,跟蹤器按照規(guī)則選擇性地對(duì)視頻序列中的目標(biāo)進(jìn)行卡爾曼預(yù)測(cè)和修正??柭鼮V波對(duì)丟失的目標(biāo)會(huì)進(jìn)行3 幀的預(yù)測(cè),如果3 幀后并未找回目標(biāo),則將目標(biāo)放入不活躍目標(biāo)庫(kù),對(duì)找回的目標(biāo)則持續(xù)跟蹤。但是很多丟失的目標(biāo)是正常丟失,如即將出畫的目標(biāo),因此需要排除正常出畫的目標(biāo)。
一般情況下卡爾曼濾波需要一個(gè)較長(zhǎng)的穩(wěn)定期,但是在攝像頭隨機(jī)移動(dòng)的場(chǎng)景中,目標(biāo)運(yùn)動(dòng)的規(guī)律性很難把握且不符合線性卡爾曼濾波的條件,影響卡爾曼濾波器的預(yù)測(cè)結(jié)果,因此提出使用光流信息判斷攝像頭是否移動(dòng)。固定攝像頭的場(chǎng)景中背景的變化是很微小的,而在移動(dòng)的攝像頭中不論目標(biāo)還是背景都會(huì)產(chǎn)生變化。在空間中運(yùn)動(dòng)可以用運(yùn)動(dòng)場(chǎng)描述,而在一個(gè)圖像平面上,物體的運(yùn)動(dòng)往往通過(guò)圖像序列中不同圖像的不同灰度分布體現(xiàn),從而,空間中運(yùn)動(dòng)場(chǎng)轉(zhuǎn)移到圖像上就表示為光流場(chǎng)。光流場(chǎng)反映了圖像上每一點(diǎn)灰度的變化趨勢(shì),可以看作是帶有灰度圖像的像素點(diǎn)在圖像平面上運(yùn)動(dòng)而產(chǎn)生的瞬時(shí)速度場(chǎng),是一種對(duì)真實(shí)運(yùn)動(dòng)場(chǎng)的近似估計(jì)。給圖像中的每個(gè)像素點(diǎn)賦予一個(gè)速度矢量,這樣就形成了一個(gè)運(yùn)動(dòng)矢量場(chǎng)。在每2 幀中,前一幀圖像上的點(diǎn)與當(dāng)前幀的點(diǎn)一一對(duì)應(yīng),這種對(duì)應(yīng)關(guān)系可以通過(guò)投影來(lái)計(jì)算得到。根據(jù)各個(gè)像素點(diǎn)的速度矢量特征,可以對(duì)圖像進(jìn)行動(dòng)態(tài)分析。如果圖像中沒(méi)有運(yùn)動(dòng)目標(biāo),則光流矢量在整個(gè)圖像區(qū)域是連續(xù)變化的。當(dāng)圖像中有運(yùn)動(dòng)物體時(shí),目標(biāo)和背景存在著相對(duì)運(yùn)動(dòng)。運(yùn)動(dòng)物體所形成的速度矢量v=(vx,vy)必然和背景的速度矢量不同,通過(guò)Lucas-Kanada 方法計(jì)算法運(yùn)動(dòng)矢量,通過(guò)運(yùn)動(dòng)像素與圖像像素形成的比率判斷攝像頭是否移動(dòng),如式(4)所示。
其中:(x0,y0)表示第一幀中像素點(diǎn)的位置;vx表示運(yùn)動(dòng)像素點(diǎn)的x方向的偏移量;vy表示運(yùn)動(dòng)像素點(diǎn)的y方向的偏移量。通過(guò)實(shí)驗(yàn)將σ閾值設(shè)置為0.04。
由梯度法知有式(5)成立:
其中:I表示灰度值,It為t時(shí)刻的灰度值。
選取圖像的多個(gè)鄰域,每個(gè)鄰域中的點(diǎn)都滿足式(5)方程,這樣可以得到一系列方法:
寫成矩陣形式:
通過(guò)最小二乘法求解得光流場(chǎng):
本章將介紹MOT 挑戰(zhàn)賽基準(zhǔn)上本文方法的跟蹤結(jié)果。
數(shù)據(jù)集 MOTChallenges[32-33]是目前應(yīng)用最廣泛的多目標(biāo)跟蹤評(píng)判基準(zhǔn)數(shù)據(jù)集,這些數(shù)據(jù)集有兩個(gè)軌道:公共軌道和私有軌道,其中公共軌道要求方法使用數(shù)據(jù)集提供的現(xiàn)成檢測(cè)器,私有軌道中的方法可以使用自己的檢測(cè)器。每個(gè)數(shù)據(jù)集由訓(xùn)練集和測(cè)試集組成,每個(gè)訓(xùn)練集都包含用全身邊界框標(biāo)注的行人信息,視頻包含室內(nèi)購(gòu)物中心和室外街道,時(shí)長(zhǎng)7~90 s。
度量 MOT 算法性能評(píng)估一般通過(guò)CLEAR MOT[34]中的評(píng)估協(xié)議來(lái)進(jìn)行評(píng)估。通常關(guān)注兩個(gè)復(fù)合指標(biāo):多對(duì)象跟蹤準(zhǔn)確性(Multiple Object Tracking Accuracy,MOTA)和身份F1得分(IDentity F1 score,IDF1),如式(9)(10)所示。前者關(guān)注對(duì)象覆蓋,后者則衡量方法的身份保存。IDF1 是正確識(shí)別的檢測(cè)與真實(shí)數(shù)與計(jì)算檢測(cè)數(shù)和的平均數(shù)之比,代表身份F1得分,是指在ID 保持相同的情況下,跟蹤的準(zhǔn)確率和召回率的F-score 值。此外,還會(huì)使用以下指標(biāo):ML(Most Lost)、MT(Most Track)和IDSW。其中:GT指ground truth 數(shù)量,F(xiàn)N(False Negative)指該方法未檢測(cè)到的ground truth 對(duì)象的數(shù)量,F(xiàn)P(False Positive)指該方法錯(cuò)誤檢測(cè)到但在groud truth 中未存在的對(duì)象的數(shù)量,TP(Tracking Precision)指跟蹤精度;IDTP表示ID 相同的TP值,IDFP表示ID 相同的FP值,IDFN表示ID 相同的FN值。
本文方法用ResNet50 CNN 作為特征提取器提取多尺度特征圖,也使用文獻(xiàn)[31]中提出的Transformer[11]編碼器-解碼器架構(gòu);然而,文獻(xiàn)[31]中應(yīng)用的Focal loss 只強(qiáng)調(diào)了軌跡查詢,在訓(xùn)練過(guò)程中忽略了新的目標(biāo)檢測(cè),所以采用了DETR 的交叉熵?fù)p失。利用雙解碼器區(qū)分跟蹤目標(biāo)和新檢測(cè)目標(biāo),簡(jiǎn)化了訓(xùn)練步驟,對(duì)新目標(biāo)的檢測(cè)精度也有所提升。Deformable DETR[31]大幅減少了訓(xùn)練時(shí)間,提高了小目標(biāo)的檢測(cè)性能,使得結(jié)果在MOTChallenges 數(shù)據(jù)集上有了不錯(cuò)的表現(xiàn),以鄰近區(qū)域采樣計(jì)算注意力取代Transformer[11]中全局的自注意力模塊,通過(guò)用多尺度可變形的注意模塊替換單尺度特征映射上的原始注意實(shí)現(xiàn)這一點(diǎn)。
經(jīng)過(guò)檢測(cè)分析,MOTChallenges 數(shù)據(jù)集一幀中不會(huì)有超過(guò)300 個(gè)目標(biāo),為了盡可能多地檢測(cè),通過(guò)設(shè)計(jì)依然保持初始化Nobject=300 個(gè)學(xué)習(xí)過(guò)的對(duì)象查詢,在跟蹤過(guò)程中的查詢數(shù)量是自適應(yīng)的,并不局限于初始化目標(biāo)數(shù)。
本文的實(shí)驗(yàn)環(huán)境為Ubuntu18.4 操作系統(tǒng)。硬件環(huán)境:Intel Xeon Silver 4114 處理器,2*nvidia rtx8000 顯卡,顯存為2*48 GB,單卡算力16.3TFLOPS FP32,32.6TFLOPS FP16,130.5TFLOPS Tensor 運(yùn) 算。Python 環(huán) 境:Python 3.6,CUDA10.1,PyTorch1.5。
本文方法在Trackformer[13]預(yù)訓(xùn)練的基礎(chǔ)上進(jìn)行了訓(xùn)練。針對(duì)不同的數(shù)據(jù)集(如MOT17),在訓(xùn)練集上進(jìn)行了20 個(gè)批次的微調(diào)訓(xùn)練后才進(jìn)行測(cè)試,MOT17 數(shù)據(jù)集一共包含14 個(gè)視頻,其中訓(xùn)練集共7 個(gè)視頻,驗(yàn)證集與訓(xùn)練集一致,測(cè)試集也包含7 個(gè)視頻,測(cè)試結(jié)果提交MOTChallenges 官網(wǎng)得到。在上述實(shí)驗(yàn)環(huán)境下,20 個(gè)批次的訓(xùn)練時(shí)長(zhǎng)為20 h。針對(duì)MOT20 數(shù)據(jù)集也進(jìn)行了20 個(gè)批次的微調(diào)訓(xùn)練后才進(jìn)行測(cè)試集的測(cè)試,MOT20 數(shù)據(jù)集一共包含8 個(gè)視頻,其中4 個(gè)訓(xùn)練集,驗(yàn)證集與訓(xùn)練集一致,其余4 個(gè)為測(cè)試集,測(cè)試結(jié)果需提交MOTChallenges 官網(wǎng)得到。在以上實(shí)驗(yàn)環(huán)境下,20 個(gè)批次的訓(xùn)練時(shí)長(zhǎng)為8 h。
第一幀圖像經(jīng)過(guò)CNN 卷積提取多尺度特征圖后只經(jīng)過(guò)編碼器進(jìn)行編碼,然后通過(guò)檢測(cè)解碼器結(jié)構(gòu)輸出初始化的目標(biāo)檢測(cè)結(jié)果,初始化目標(biāo)數(shù)為300,回歸分?jǐn)?shù)大于等于0.9 即為真實(shí)目標(biāo)。此后每幀將編碼器的輸出分別輸入兩個(gè)不同的解碼器,跟蹤解碼器的查詢目標(biāo)為N+300,其中N為上一幀的真實(shí)目標(biāo)數(shù)。檢測(cè)解碼器的查詢目標(biāo)數(shù)依然為300。第1 個(gè)解碼器輸出的結(jié)果經(jīng)過(guò)前饋網(wǎng)絡(luò)(Feed Forward Network,F(xiàn)FN)層后,前N個(gè)目標(biāo)分?jǐn)?shù)大于等于0.8 的即為跟蹤成功的目標(biāo),后300 個(gè)分?jǐn)?shù)大于等于0.9 的即為新檢測(cè)出的目標(biāo)。第2 個(gè)解碼器輸出的結(jié)果經(jīng)過(guò)FFN 后分?jǐn)?shù)大于等于0.9 的即為當(dāng)前幀真實(shí)目標(biāo)。將兩個(gè)結(jié)果的目標(biāo)用匈牙利算法進(jìn)行匹配,對(duì)匹配成功的目標(biāo)若存在幀數(shù)n=5 則更新跟蹤目標(biāo)為檢測(cè)目標(biāo)結(jié)果,以確保目標(biāo)的更新?tīng)顟B(tài);若目標(biāo)存在遮擋狀態(tài),則不進(jìn)行這一步操作。若跟蹤的目標(biāo)分?jǐn)?shù)小于0.8 則進(jìn)入不活躍目標(biāo)庫(kù),并記錄目標(biāo)軌跡和身份ID,與下一幀的新增目標(biāo)做直方圖匹配和ID 匹配,直方圖匹配的閾值為0.3,若匹配成功則恢復(fù)丟失目標(biāo)的身份,不活躍目標(biāo)的最 大存活 期限為n=15。在MOT16[32]和MOT17 數(shù) 據(jù)集[32]上進(jìn)行測(cè)試的時(shí)候使用在MOT17 數(shù)據(jù)集上進(jìn)行微調(diào)的模型,在MOT20 數(shù)據(jù)集上進(jìn)行測(cè)試的時(shí)候,使用在MOT20 數(shù)據(jù)集上進(jìn)行微調(diào)的模型。
根據(jù)3.2 節(jié)中描述的實(shí)現(xiàn)步驟,在MOT16 測(cè)試集、MOT17 測(cè)試集和MOT20 測(cè)試集上對(duì)本文方法進(jìn)行測(cè)試。
表1 是在測(cè)試集上評(píng)估的本文方法與其他對(duì)比多目標(biāo)跟蹤方法的比較??梢钥闯?,本文方法達(dá)到了與對(duì)比方法相媲美的分?jǐn)?shù),并在多個(gè)指標(biāo)上達(dá)到了最優(yōu)。在MOT16 數(shù)據(jù)集上,本文方法在IDF1 和ML 上取得了最好的表現(xiàn),將丟失軌跡降低至最小15.80%,說(shuō)明本文方法在持續(xù)身份跟蹤上有不錯(cuò)的表現(xiàn)。在MOT17 數(shù)據(jù)集上IDF1 達(dá)到了最高分,在ML 上也取得了最好的表現(xiàn),將丟失軌跡降低至最小13.63%,在IDSW 指標(biāo)上取得了最好效果,把目標(biāo)IDSW 數(shù)降至最低,說(shuō)明本文方法在針對(duì)IDSW 上有良好的表現(xiàn)。在MOT20 數(shù)據(jù)集上本文方法的實(shí)驗(yàn)結(jié)果取得了不錯(cuò)的成績(jī),且在IDF1,MOTA,MT,IDSW 指標(biāo)上都取得了最好結(jié)果,說(shuō)明本文方法在目標(biāo)密集的數(shù)據(jù)集上也有不錯(cuò)的表現(xiàn)。
表1 本文方法在各數(shù)據(jù)集上與先進(jìn)方法的比較Tab.1 Comparison of the proposed method with state-of-the-art methods on each dataset
如表1 所示,在MOT16 數(shù)據(jù)集上,相較于可訓(xùn)練的圖神經(jīng)網(wǎng)絡(luò)MPNTrack[20]、基 于CNN 特征進(jìn) 行多目 標(biāo)跟蹤 的CNNMTT[35]、基于SORT 算法與卡爾曼濾波的DeepSORT[36]、基于相似性度量和目標(biāo)塊之間匹配的NOMTwSDP16[37]、提升不相交路徑的Lif_T[38]、具有高性能檢測(cè)和外觀特征的POI[39]、用于在線多目標(biāo)跟蹤的遞歸自回歸網(wǎng)絡(luò)RAR16wVGG[40]和經(jīng)典YOLO 目標(biāo)跟蹤算法JDE[41]這些多目標(biāo)跟蹤算法,本文方法表現(xiàn)較好。與JDE[41]相比,在IDF1 上的提升了9.33 個(gè)百分點(diǎn),MOTA 上提升了0.99 個(gè)百分點(diǎn),IDSW 數(shù)量也有大幅下降,體現(xiàn)了本文方法的優(yōu)異性。
在MOT17 數(shù)據(jù)集[32]上,相較于基于TrackFormer 的雙解碼器算法TransTrack、鏈?zhǔn)礁櫵惴–Tracker[42]、基于多幀管道的單階段框架、實(shí)現(xiàn)端到端訓(xùn)練的算法TubeTK[43]、基于CenterNet 的目標(biāo)跟蹤器CenterTrack[26],本文方法在跟蹤性能上表現(xiàn)也較好。相較于TrackFormer[13],MOTA 提升了0.41個(gè)百分點(diǎn);IDF1 達(dá)到最佳,相較于TrackFormer[13]提升了0.87個(gè)百分點(diǎn),說(shuō)明目標(biāo)在身份得分上有良好的表現(xiàn),直方圖匹配找回丟失目標(biāo)的結(jié)果在此得到很好體現(xiàn);ML 也有所下降,說(shuō)明目標(biāo)丟失的數(shù)量減少,跟蹤的持續(xù)性有一定的提升,卡爾曼濾波的作用在此體現(xiàn);最大的特點(diǎn)在于IDSW 數(shù)量相較于TrackFormer[13]降低了16.3%,這是影響MOTA 指標(biāo)的一個(gè)重要元素,目標(biāo)ID 切換的減少對(duì)多目標(biāo)的跟蹤性能提升有巨大的影響,保證了目標(biāo)軌跡的連續(xù)性,說(shuō)明雙解碼器也給結(jié)果帶來(lái)了不小的改進(jìn)。
本文方法相較于同是雙解碼器結(jié)構(gòu)的TransTrack[12],各項(xiàng)指標(biāo)優(yōu)勢(shì)明顯,尤其在IDF1 指標(biāo)上,高出7.87 個(gè)百分點(diǎn),說(shuō)明本文方法在身份得分上優(yōu)勢(shì)明顯。在MT 指標(biāo)上高出13.02 個(gè)百分點(diǎn),說(shuō)明大多數(shù)目標(biāo)被跟蹤的軌跡數(shù)量有大幅提升。在IDSW 指標(biāo)上,提升了44.9%,效果顯著。MOTA 結(jié)果略低于TransTrack,而MOTA 結(jié)果依賴于檢測(cè)器的結(jié)果,說(shuō)明本文提出的回歸目標(biāo)身份信息方法相較于傳統(tǒng)兩步匹配身份信息的方法尚有改進(jìn)的余地,這也是接下來(lái)努力的方向。
在MOT20 數(shù)據(jù)集[33]上,與簡(jiǎn)單、實(shí)時(shí)的數(shù)據(jù)關(guān)聯(lián)方法SORT20[44]、基于圖的near-online 跟蹤方法MLT[45]和將目標(biāo)檢測(cè)器轉(zhuǎn)換為跟蹤器的Tracktor++V2[25]相比,IDF1 達(dá)到了最高(53.69%),MOTA 也最高(55.26%),且在密集人群中關(guān)注較多的IDSW 指標(biāo)上達(dá)到了最低(1 169)。說(shuō)明本文方法在目標(biāo)密集的情況下也有不錯(cuò)的表現(xiàn)。
將MOT17 測(cè)試集7 個(gè)視頻的TrackFormer 結(jié)果與本文方法針對(duì)不同指標(biāo)進(jìn)行對(duì)比,如圖7 所示,將關(guān)鍵數(shù)據(jù)列為圖表形式??梢钥闯觯? 個(gè)視頻中IDSW 數(shù)量都有一定程度的下降,說(shuō)明本文算法在各個(gè)視頻中減少ID 切換方面有良好的表現(xiàn)。FP 為誤報(bào)總數(shù),在01、03、06、07、08、14 視頻序列中有所下降,但在12 視頻序列中反而上升了47 個(gè)誤報(bào)數(shù)量,經(jīng)過(guò)分析得知,12 視頻序列中被物理遮擋的小目標(biāo)數(shù)量眾多,在被遮擋后卡爾曼濾波并不能帶來(lái)準(zhǔn)確的預(yù)測(cè)導(dǎo)致誤報(bào)數(shù)量上升,這也是12 視頻序列MOTA 分?jǐn)?shù)下降的原因。IDF1是正確識(shí)別的檢測(cè)與真實(shí)數(shù)與計(jì)算檢測(cè)數(shù)和的平均數(shù)之比,代表身份F1 得分,相較于其他視頻序列得分的提升,07 和12視頻序列的身份得分有所下降,分析得知,這兩個(gè)視頻序列都是移動(dòng)攝像頭拍攝的,移動(dòng)攝像頭下的目標(biāo)表觀特征變化比較明顯,利用表觀特征的匹配在其中稍顯遜色。
圖7 MOT17視頻序列結(jié)果明細(xì)對(duì)比Fig.7 Detail comparison of MOT17 video sequence results
如圖8 所示,視覺(jué)跟蹤實(shí)例進(jìn)一步驗(yàn)證了本文方法的有效 性。圖8(a)中分別 為本文 方法和TrackFormer 在MOT17-01 視頻序列上的結(jié)果,可以看到目標(biāo)23 經(jīng)過(guò)兩次遮擋后分別變更ID 為27 和32,而本文方法中目標(biāo)24 經(jīng)過(guò)兩次遮擋后ID 依然為24。圖8(b)中由于人群密集,做了箭頭標(biāo)注,ID50 的目標(biāo)在119 幀穿過(guò)密集人群的時(shí)候目標(biāo)框發(fā)生了漂移,在305 幀的時(shí)候切換ID 為214,而ID50 漂移到了另一個(gè)目標(biāo)身上,本文方法能在目標(biāo)穿過(guò)密集人群后仍然保持身份,這得益于雙解碼器對(duì)目標(biāo)信息的更新修正。從圖8(c)中可以發(fā)現(xiàn)TrackFormer 中ID17 的目標(biāo)在經(jīng)過(guò)遮擋后ID 變更為82,而本文方法中ID18 的目標(biāo)在經(jīng)過(guò)遮擋后依然保持了目標(biāo)身份信息。優(yōu)秀的跟蹤結(jié)果驗(yàn)證了本文方法即使在那些困難的條件下,也能實(shí)現(xiàn)穩(wěn)健和精確的性能。
圖8 MOT17數(shù)據(jù)集上的跟蹤實(shí)例Fig.8 Tracking examples on MOT17 dataset
如表2 所示,對(duì)MOT17 訓(xùn)練序列的消融研究在私人檢測(cè)設(shè)置下進(jìn)行了評(píng)估。表2 給出了不同組件對(duì)跟蹤性能的影響,以未加入任何組件的TrackFormer[13]作為基礎(chǔ),在此基礎(chǔ)上進(jìn)行對(duì)比。
表2 各模塊消融實(shí)驗(yàn)結(jié)果Tab.2 Ablation experimental results of each module
從表2 中可以看到,加入未判斷攝像頭移動(dòng)情況下的卡爾曼濾波預(yù)測(cè)結(jié)果,MOTA 下降了0.6 個(gè)百分點(diǎn),IDF1 下降3.0 個(gè)百分點(diǎn),目標(biāo)IDSW 數(shù)量也有所提升;加入判斷攝像頭不運(yùn)動(dòng)狀態(tài)下的卡爾曼濾波后,MOTA 提升了0.5 個(gè)百分點(diǎn),IDF1 提升了0.3 個(gè)百分點(diǎn),IDSW 數(shù)量降低了84。說(shuō)明攝像頭的移動(dòng)對(duì)卡爾曼濾波具有一定的影響。直方圖匹配加入后,雖然MOTA 只提升了0.2 個(gè)百分點(diǎn),但I(xiàn)DF1 提升了1.7個(gè)百分點(diǎn),結(jié)果比較可觀,IDSW 數(shù)量也下降了408。雙解碼器的引入使MOTA 提升了0.8 個(gè)百分點(diǎn),IDF1 提升了0.1 個(gè)百分點(diǎn),IDSW 數(shù)量下降了303。整合3 個(gè)組件的結(jié)果(即all)達(dá)到了最好效果,從這個(gè)結(jié)果中可以知道本文的每一部分改進(jìn)都在多目標(biāo)跟蹤的精度和身份保存上起到了明顯的作用。
如表3 所示,在MOT17 數(shù)據(jù)集上對(duì)本文方法進(jìn)行了魯棒性實(shí)驗(yàn),可以看出,在加了噪聲和扭曲的任務(wù)后,MOTA 和IDF1 指標(biāo)分別有輕微的波動(dòng),IDSW 也出現(xiàn)了上下波動(dòng)的情況,但是幅度較小,說(shuō)明本文方法在有噪聲和扭曲的情況下魯棒性較好。但在平移的任務(wù)下,MOTA 和IDF1 分別下降了34.6 和40.9 個(gè)百分點(diǎn),IDSW 數(shù)量也大幅增加,經(jīng)過(guò)分析,平移改變了每一幀圖像中目標(biāo)相對(duì)于GroudTruth 的絕對(duì)位置,在與GroudTruth 進(jìn)行評(píng)分的時(shí)候,無(wú)法確定對(duì)應(yīng)關(guān)系和位置的變化,導(dǎo)致評(píng)分出現(xiàn)了較大的差異。魯棒性實(shí)驗(yàn)結(jié)果展示如圖9 所示。
表3 MOT17數(shù)據(jù)集上的魯棒性實(shí)驗(yàn)結(jié)果Tab.3 Robustness experimental results on MOT17 dataset
圖9 MOT17數(shù)據(jù)集上的魯棒性實(shí)驗(yàn)結(jié)果展示Fig.9 Display of robustness experimental results on MOT17 dataset
本文提出了一個(gè)統(tǒng)一的注意力跟蹤模式,利用TrackFormer 結(jié)構(gòu),在該結(jié)構(gòu)中增加了一些模塊提升多目標(biāo)跟蹤性能。本文設(shè)置了微調(diào)后的雙解碼器修正跟蹤結(jié)果,一個(gè)解碼器用于檢測(cè)目標(biāo),一個(gè)解碼器用于跟蹤目標(biāo)。通過(guò)注意力操作,依據(jù)額外的匹配、圖形優(yōu)化、運(yùn)動(dòng)或外觀建模聯(lián)合處理軌跡初始化、身份識(shí)別和時(shí)空軌跡形成,并在處理目標(biāo)ID 切換上取得了顯著效果;使用直方圖匹配丟失的目標(biāo)和新增的目標(biāo)找回目標(biāo);使用卡爾曼濾波對(duì)遮擋丟失的目標(biāo)進(jìn)行位置修正和持續(xù)跟蹤,保證目標(biāo)在遮擋的情況下能被正常跟蹤。本文方法實(shí)現(xiàn)了先進(jìn)的多目標(biāo)跟蹤結(jié)果,我們希望這個(gè)范例將促進(jìn)未來(lái)在利用TrackFormer 結(jié)構(gòu)的檢測(cè)和多目標(biāo)跟蹤方面的工作。
根據(jù)之前的研究結(jié)果可以發(fā)現(xiàn),在評(píng)判標(biāo)準(zhǔn)中,假陰性和假陽(yáng)性目標(biāo)數(shù)是影響分?jǐn)?shù)大幅度變化的重要因素,但是很多方法在實(shí)際研究中都只針對(duì)了其中一個(gè)數(shù)據(jù)進(jìn)行優(yōu)化,沒(méi)有考慮兩種數(shù)據(jù)變化的規(guī)律,很多時(shí)候假陰性目標(biāo)數(shù)下降之后假陽(yáng)性目標(biāo)數(shù)量會(huì)有所上升。關(guān)注指標(biāo)之間的聯(lián)系或許是多目標(biāo)跟蹤的一個(gè)突破口。TrackFormer 結(jié)構(gòu)中存在一個(gè)很重要的結(jié)構(gòu)——查詢。在Transformer 最開(kāi)始運(yùn)用于圖像處理的時(shí)候,查詢數(shù)量為100,TrackFormer 中查詢數(shù)量為300,有些基于Transformer 結(jié)構(gòu)的算法使用查詢數(shù)量500,精度有了明顯的提升。將查詢應(yīng)用到圖像上發(fā)現(xiàn)是布滿全圖的目標(biāo)框,類似于錨結(jié)構(gòu),關(guān)于查詢數(shù)量是否與結(jié)果有關(guān),以及查詢結(jié)果是否依賴于特征提取結(jié)果等,是未來(lái)研究Transformer 結(jié)構(gòu)應(yīng)用于圖像處理的重要研究方向。