馮 欣,殷一皓,吳浩銘,石美鳳
(重慶理工大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,重慶 400054)
隨著人工智能的不斷發(fā)展與計算機(jī)硬件性能的逐漸提高,以深度卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)的深度學(xué)習(xí)方法在計算機(jī)視覺的各個應(yīng)用上都取得了極大的成功,自動駕駛視覺感知是深度學(xué)習(xí)技術(shù)得以大力發(fā)展的應(yīng)用領(lǐng)域,其包含目標(biāo)檢測、多目標(biāo)跟蹤等技術(shù),能夠?qū)崿F(xiàn)目標(biāo)位置、移動方向、速度的自動感知,為駕駛車輛自動避障、目標(biāo)交互等重要應(yīng)用提供有力的技術(shù)支撐[1]。
多目標(biāo)跟蹤從跟蹤方式上主要分為在線跟蹤與離線跟蹤。其中,在線跟蹤要求當(dāng)前幀的跟蹤結(jié)果只與當(dāng)前幀及前幀中的信息相關(guān)。而離線跟蹤的跟蹤可利用所有幀的信息,從而能夠獲得全局最優(yōu)解。因此,在線跟蹤通常用于實(shí)時的應(yīng)用情況,而離線跟蹤通常用于對一段視頻的離線分析,如目標(biāo)行為分析等。由于可利用信息較少,在線跟蹤方法要同時滿足高跟蹤精度和低時延是極具挑戰(zhàn)的。本文主要面向自動駕駛場景下的實(shí)時多目標(biāo)跟蹤,提出了一種高效的在線跟蹤方法。
目前主流的多目標(biāo)跟蹤方法是基于trackingby-detection 的跟蹤框架,即通過檢測結(jié)果進(jìn)行跟蹤。近些年,基于深度學(xué)習(xí)的tracking-by-detection跟蹤方法取得了不錯的跟蹤效果。這類方法通常通過3 步實(shí)現(xiàn)跟蹤結(jié)果:①對每幀圖像進(jìn)行目標(biāo)檢測,得到所有目標(biāo)的位置和邊框;②在得到目標(biāo)區(qū)域的基礎(chǔ)上,使用特征描述方法或進(jìn)行表觀特征的提取;③通過計算目標(biāo)間表觀特征的相似度進(jìn)行幀間目標(biāo)的匹配以得到每個目標(biāo)的跟蹤結(jié)果。因此,在這樣的框架下,目標(biāo)檢測結(jié)果的準(zhǔn)確性對于后續(xù)跟蹤結(jié)果的好壞有很大的影響。
近年來,深度神經(jīng)網(wǎng)絡(luò)推動目標(biāo)檢測算法快速發(fā)展。其中,基于錨框(anchor)的多階段檢測算法,如Faster R-CNN[2]、Mask R-CNN[3]等在檢測精度上有很大優(yōu)勢;基于錨框(anchor)的單階段檢測算法,如SSD[4]、YOLO[5-6]、RetinaNet[7]等目標(biāo)檢測算法是適合實(shí)時應(yīng)用的目標(biāo)檢測算法;基于關(guān)鍵點(diǎn)的無錨框(anchor-free)目標(biāo)檢測算法,如CornerNet[8]、CenterNet[9]等綜合了速度與精度,是目前目標(biāo)檢測領(lǐng)域的研究熱點(diǎn)??紤]到目標(biāo)檢測對后續(xù)目標(biāo)跟蹤的重要性,提出了一種多尺度特征融合的目標(biāo)中心點(diǎn)的目標(biāo)檢測方法。
基于每一幀得到的目標(biāo)定位結(jié)果,多目標(biāo)跟蹤問題可歸為數(shù)據(jù)關(guān)聯(lián)問題,即跨幀關(guān)聯(lián)相同目標(biāo)。以往大多數(shù)tracking-by-detection 的跟蹤算法通常利用傳統(tǒng)特征提取算法獲取目標(biāo)特征描述來實(shí)現(xiàn)目標(biāo)之間的匹配,如像素模板[10]、顏色直方圖[11]、基于梯度表示的HOG[12]特征和基于混合顏色及紋理特征的協(xié)方差矩陣[13]等目標(biāo)特征提取方法。然而,這些通過傳統(tǒng)特征提取算法所獲得的目標(biāo)特征描述卻很難處理被遮擋或光照變化情況下的目標(biāo)以及非剛性目標(biāo),如姿態(tài)變化較大的行人目標(biāo)等。因此往往會聯(lián)合采用基于空間關(guān)系的目標(biāo)匹配方法,通過交并比(intersection over union,IOU)[14]、光流法[15]獲取幀間目標(biāo)的空間關(guān)系進(jìn)行目標(biāo)空間上的匹配。
相對于傳統(tǒng)的特征提取方法,基于深度卷積神經(jīng)網(wǎng)絡(luò)如ResNet、VGG 的特征提取方法雖然能夠提取到目標(biāo)的高級語義特征以進(jìn)行更準(zhǔn)確的目標(biāo)匹配,但ResNet、VGG 等常用骨干網(wǎng)絡(luò)有著較多的網(wǎng)絡(luò)參數(shù),會導(dǎo)致跟蹤效率的低下。針對實(shí)時跟蹤應(yīng)用場景下有著較高的實(shí)時性要求,提出了一個基于目標(biāo)關(guān)聯(lián)學(xué)習(xí)的端到端目標(biāo)檢測與多目標(biāo)跟蹤聯(lián)合方法,使用一個輕量級的骨干網(wǎng)絡(luò)便能同時對圖像中所有目標(biāo)進(jìn)行檢測與特征提取,避免了重復(fù)使用特征提取網(wǎng)絡(luò)依次對所有目標(biāo)進(jìn)行特征提取的方式,有效提高了目標(biāo)特征提取的效率。不同于tracking-by-detection 框架,本文在對目標(biāo)進(jìn)行檢測的同時,從最具有區(qū)分性目標(biāo)特征的提取層進(jìn)行了對目標(biāo)表觀特征的提取。基于目標(biāo)檢測下的特征提取過程不增加任何計算量,提高了整個跟蹤過程的效率。在目標(biāo)匹配跟蹤過程中,通過目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支學(xué)習(xí)目標(biāo)間的相似度,直接得到匹配跟蹤結(jié)果,并與基于目標(biāo)中心點(diǎn)的檢測網(wǎng)絡(luò)形成端到端的高效目標(biāo)檢測與跟蹤方法。同時,也考慮了目標(biāo)間的空間關(guān)系,通過交并比在空間上對目標(biāo)進(jìn)行匹配,有效地防止了2 個不同目標(biāo)因外觀相似造成的錯誤匹配情況。
DeepSORT[16]是最早的基于深度學(xué)習(xí)的tracking-by-detection 跟蹤方法。DeepSORT 在檢測過程中采用了Faster R-CNN 的檢測思想,即通過RPN網(wǎng)絡(luò)來減少負(fù)樣本以提高檢測精度。在檢測到目標(biāo)后,DeepSORT 采用了基于行人重識別數(shù)據(jù)預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)來提取目標(biāo)的表觀特征,通過計算目標(biāo)特征的余弦相似度實(shí)現(xiàn)目標(biāo)間的匹配。除了目標(biāo)表觀特征的匹配,DeepSORT 還根據(jù)目標(biāo)當(dāng)前位置來預(yù)測目標(biāo)在下一幀的位置,并結(jié)合交并比進(jìn)一步預(yù)測目標(biāo)匹配的可能性。DeepSORT采用了精確度較高的二階段目標(biāo)檢測網(wǎng)絡(luò),同時考慮了目標(biāo)的表觀特征和位置信息以獲得更加準(zhǔn)確的跟蹤結(jié)果。然而,DeepSORT 的目標(biāo)特征提取網(wǎng)絡(luò)需要多次輸入目標(biāo)區(qū)域圖像以提取目標(biāo)的表觀特征。這種情況下,當(dāng)目標(biāo)個數(shù)過多時,算法的跟蹤效率就會大大降低。這對于在線跟蹤來說,是一個必須要解決的難題。
為了提高基于深度學(xué)習(xí)的tracking-by-detection 算法的效率,Mitzel 等[17]采用了目標(biāo)關(guān)聯(lián)的思想對目標(biāo)進(jìn)行匹配。該方法在目標(biāo)檢測之后,通過目標(biāo)檢測網(wǎng)絡(luò)提取目標(biāo)的表觀特征,再根據(jù)不同幀間目標(biāo)特征得到目標(biāo)特征組合矩陣,最后,通過關(guān)聯(lián)匹配網(wǎng)絡(luò)學(xué)習(xí)目標(biāo)間的相似度,實(shí)現(xiàn)目標(biāo)間的匹配及跟蹤結(jié)果。Mitzel 等在特征提取時考慮了圖片的背景信息,同時通過直接計算目標(biāo)之間的匹配相似度加強(qiáng)了對目標(biāo)可區(qū)分性表觀特征的提取;其關(guān)聯(lián)匹配網(wǎng)絡(luò)可直接輸出目標(biāo)間的匹配結(jié)果,實(shí)現(xiàn)了較高效的跟蹤效果。但和Deep-SORT 一樣,Mitzel 等同樣使用了多個卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測和跟蹤,并且采用了參數(shù)量較大的VGG 網(wǎng)絡(luò)作為特征提取骨干網(wǎng)絡(luò),這些因素仍然限制了該方法的跟蹤效率。
為了進(jìn)行高效的目標(biāo)檢測和幀間多目標(biāo)關(guān)聯(lián)匹配,提出了一種端到端的目標(biāo)關(guān)聯(lián)學(xué)習(xí)網(wǎng)絡(luò)。該網(wǎng)絡(luò)為一個端到端的多任務(wù)網(wǎng)絡(luò),通過一個高效的骨干網(wǎng)絡(luò)同時實(shí)現(xiàn)目標(biāo)檢測和目標(biāo)跟蹤任務(wù)。該方法的整體框架如圖1 所示。
圖1 基于目標(biāo)關(guān)聯(lián)學(xué)習(xí)的端到端多目標(biāo)檢測與跟蹤方法總體框架
1)首先,該網(wǎng)絡(luò)通過2 個孿生的骨干網(wǎng)絡(luò)DLA34[18]分別接受時間上連續(xù)的兩幀It1、It2。為了增加更多不同的訓(xùn)練數(shù)據(jù)對及防止2 張圖片中同一目標(biāo)的變化過大,2 張圖像間的幀間間隔不定但不得超過最大幀間間隔數(shù)30 幀。
2)輕量級骨干網(wǎng)絡(luò)DLA34 通過共享參數(shù)方式(孿生)同時提取兩幀中所有目標(biāo)的高級語義特征,結(jié)合基于中心點(diǎn)的目標(biāo)檢測方法的訓(xùn)練去學(xué)習(xí)預(yù)測場景中所有目標(biāo)的中心點(diǎn)位置Ct1、Ct2。
3)基于預(yù)測的中心點(diǎn)位置,回溯網(wǎng)絡(luò)的特征層,找到目標(biāo)對應(yīng)特征區(qū)域的特征向量作為目標(biāo)的表觀特征,即Ft1、Ft2。
4)將從不同幀提取的目標(biāo)表觀特征向量進(jìn)行兩兩組合得到目標(biāo)表觀特征矩陣Ft1,t2,并通過目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)的訓(xùn)練來預(yù)測兩兩目標(biāo)間的特征相似度,最終得到目標(biāo)相似度匹配矩陣Mt1,t2,從而實(shí)現(xiàn)前后幀的多目標(biāo)跟蹤。
在目標(biāo)檢測階段,采用了基于中心點(diǎn)的目標(biāo)檢測方法。其動機(jī)主要來源于以下3 個方面:①目標(biāo)的中心點(diǎn)往往是目標(biāo)特征的聚集點(diǎn)。在網(wǎng)絡(luò)的高層特征層上,中心特征點(diǎn)在原圖上的感受野區(qū)域相對于其他特征點(diǎn)往往包含了更多的目標(biāo)區(qū)域,因此中心點(diǎn)提取到的表觀特征包含了更豐富的表觀信息。②在目標(biāo)檢測基礎(chǔ)上的多目標(biāo)跟蹤方法更關(guān)注于目標(biāo)中心點(diǎn)位置及目標(biāo)的特征區(qū)分能力,而通用目標(biāo)檢測方法主要學(xué)習(xí)目標(biāo)的區(qū)域定位和類別識別,因此,有必要采用適合于多目標(biāo)跟蹤的目標(biāo)檢測框架。③目前,基于關(guān)鍵點(diǎn)的目標(biāo)檢測算法已取得了極大的發(fā)展,如CenterNet,CornerNet 等。這些方法已證明比基于anchor 的目標(biāo)檢測方法更高效且準(zhǔn)確。通過對基于關(guān)鍵點(diǎn)的目標(biāo)檢測方法研究,針對多目標(biāo)跟蹤問題,設(shè)計并實(shí)現(xiàn)了一種輕量化的中心點(diǎn)目標(biāo)檢測方法。
基于中心點(diǎn)的目標(biāo)檢測方法采用了輕量化的DLA34 網(wǎng)絡(luò)結(jié)構(gòu),其網(wǎng)絡(luò)參數(shù)量遠(yuǎn)小于目前常用的特征提取骨干網(wǎng)絡(luò)ResNet101。如圖2 所示,DLA34 結(jié)構(gòu)主要由迭代深度聚合(IDA)和層次深度聚合(HDA)構(gòu)成,綠色箭頭即表示IDA 結(jié)構(gòu)。
圖2 基于中心點(diǎn)的目標(biāo)檢測方法框架圖
在圖2 中,該結(jié)構(gòu)融合了相鄰模塊內(nèi)的最后一層特征層,通過對不同尺度的特征層進(jìn)行融合,使更深層的特征層的目標(biāo)語義信息更加豐富;圖2中綠色模塊中均包含HDA 結(jié)構(gòu),該結(jié)構(gòu)將各個模組內(nèi)不同通道的特征圖融合,實(shí)現(xiàn)對各濾波器提取的不同角度的特征進(jìn)行融合。圖2 中紅色箭頭表示的特征層融合過程加入了可變形卷積[19]操作,以使網(wǎng)絡(luò)能夠?qū)ψ藨B(tài)變化較多的目標(biāo)提取魯棒特征,在文獻(xiàn)[8]中已證明加入可變形卷積的DLA34 網(wǎng)絡(luò)的檢測結(jié)果要優(yōu)于不加入可變形卷積的DLA34,因此,基于檢測跟蹤(tracking-by-detection)的多目標(biāo)跟蹤方法在骨干網(wǎng)絡(luò)中加入可變形卷積后的檢測預(yù)測結(jié)果對于后續(xù)的跟蹤匹配階段是更加有利的。最終,基于中心點(diǎn)的目標(biāo)檢測網(wǎng)絡(luò)的輸出特征分辨率大小為原圖的1/4,特征圖上的每個特征點(diǎn)將用于回歸和分類預(yù)測。
基于中心點(diǎn)的目標(biāo)檢測網(wǎng)絡(luò)的損失函數(shù)包括中心關(guān)鍵點(diǎn)的預(yù)測損失Lcenter、中心點(diǎn)位置預(yù)測的偏移損失Loffset以及目標(biāo)區(qū)域范圍的預(yù)測損失Lbbox3 個部分,它們的定義如式(1)—(3)所示。
式中:Yp表示預(yù)測的熱圖上每個特征點(diǎn)屬于目標(biāo)中心點(diǎn)的概率;Y 表示真實(shí)熱圖上的特征點(diǎn)是目標(biāo)中心點(diǎn)的概率。Lcenter計算預(yù)測的熱圖上每個特征點(diǎn)與真實(shí)熱圖上每個特征點(diǎn)之間的交叉熵。真實(shí)熱圖通過高斯核得到,即以目標(biāo)中心均值為0,峰值為1 的中心點(diǎn),沿遠(yuǎn)離中心的方向上各點(diǎn)的標(biāo)注值按照高斯分布依次遞減。該損失函數(shù)采用了focal loss,能夠有效解決正負(fù)樣本不平衡的問題。中心點(diǎn)位置偏移損失:
式中:Cp表示預(yù)測的目標(biāo)中心偏移值;C 表示原圖上的目標(biāo)中心坐標(biāo);S 表示最終特征層相對于原圖的下采樣次數(shù)。Loffset通過L1 loss 計算在下采樣過程中目標(biāo)中心坐標(biāo)因無法整除而造成的坐標(biāo)偏移與預(yù)測的坐標(biāo)偏移間的差異損失。
目標(biāo)長寬范圍的損失主要訓(xùn)練目標(biāo)的長寬參數(shù)預(yù)測。其定義如下:
式中:Bp表示目標(biāo)的預(yù)測長寬;B 表示目標(biāo)的真實(shí)長寬。Lbbox通過L1 loss 計算預(yù)測的目標(biāo)長寬與實(shí)際目標(biāo)長寬的差異損失。
對于在每一層特征層上目標(biāo)的中心特征點(diǎn)來說,其包含的目標(biāo)表征信息是最豐富的。基于中心點(diǎn)的目標(biāo)檢測網(wǎng)絡(luò)后,可以得到每個目標(biāo)的中心點(diǎn)位置,進(jìn)而得到目標(biāo)相對于整張圖大小的相對中心點(diǎn)位置。傳統(tǒng)tracking-by-detection 的多目標(biāo)跟蹤方法通常通過額外訓(xùn)練一個網(wǎng)絡(luò)來提取目標(biāo)特征,這樣往往會大幅度增加算法的計算復(fù)雜度。本文中提出從基于中心點(diǎn)的目標(biāo)檢測的網(wǎng)絡(luò)推理預(yù)測的同時提取目標(biāo)的特征,從而在不增加計算量的情況下提取目標(biāo)的中心點(diǎn)特征。即根據(jù)目標(biāo)的相對中心點(diǎn)位置從各個特征層提取目標(biāo)的中心點(diǎn)對應(yīng)位置的特征向量。顯然,每個目標(biāo)都有其最合適的特征提取層,通過聚類各個目標(biāo)對應(yīng)合適的感受野大小選取了對于目標(biāo)最具有區(qū)分性的特征層(包含不同尺度),融合不同尺度的特征層的目標(biāo)特征,使目標(biāo)的表觀特征具有尺度不變性。
目標(biāo)大小與合適感受野的關(guān)系如圖3 所示,紅色代表目標(biāo)的邊框,綠色代表最合適的感受野大小,(a)中的目標(biāo)因?yàn)橄袼剌^少導(dǎo)致語義信息不足,需要加入部分背景信息作為目標(biāo)的額外表觀特征,因此較小目標(biāo)的感受野區(qū)域比目標(biāo)的實(shí)際區(qū)域要大許多。而對于(b)中較大的目標(biāo),因其像素較多而語義信息充足,因此其感受野區(qū)域能夠包含目標(biāo)的原像素即可。為了獲取目標(biāo)不同尺度的特征從而得到更加魯棒的目標(biāo)表觀特征,選擇了如圖4 所示綠色虛線框中的4 個模塊,分別是不同層次特征層中的最后一層作為目標(biāo)的表觀特征提取層,且在每個特征提取層后分別經(jīng)過一個3×3 的卷積層以改變特征圖的通道數(shù),使提取到的特征向量長度保持一致。最后,將從這4 個特征層提取到的特征向量拼接在一起,得到目標(biāo)的表觀特征向量,如式(4)所示。
圖3 目標(biāo)大小與合適感受野
圖4 目標(biāo)表觀特征提取
式中:f 表示不同特征提取層經(jīng)過3×3 卷積后再通過目標(biāo)相對中心點(diǎn)位置Cr提取得到的特征向量,其維度均為130 維。將不同特征提取層提取到的特征向量通過首尾相連的方式得到目標(biāo)最終特征向量F,其維度為520 維。
為了使后續(xù)目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)的輸入大小一致,必須保持每張圖像得到的目標(biāo)表觀特征向量個數(shù)一致,對于圖像中的目標(biāo)數(shù)未達(dá)到設(shè)定的最大目標(biāo)數(shù)Nm的情況,通過添加零向量來對目標(biāo)表觀特征向量個數(shù)進(jìn)行補(bǔ)充。通過統(tǒng)計訓(xùn)練集中圖像所包含的最大目標(biāo)數(shù)量,設(shè)置總目標(biāo)個數(shù)Nm=80 且假設(shè)測試集中的目標(biāo)個數(shù)同樣不超過80 個。
目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支連接在特征提取層之后,用于學(xué)習(xí)預(yù)測目標(biāo)間表觀特征向量的相似度。如圖5 所示,骨干網(wǎng)絡(luò)提取到前后幀所有目標(biāo)的特征后,通過前后幀目標(biāo)兩兩組合的方式得到前后幀的目標(biāo)表觀特征矩陣Ft1,t2∈R80×80×1040。將此矩陣輸入到由1*1 卷積堆疊構(gòu)成的目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)中,經(jīng)過多層卷積及通道縮減操作,最終得到幀間目標(biāo)的相似度匹配矩陣Mt1,t2∈R80×80。關(guān)聯(lián)網(wǎng)絡(luò)中1*1 點(diǎn)卷積的設(shè)計使關(guān)聯(lián)網(wǎng)絡(luò)對幀間目標(biāo)進(jìn)行相似度計算,有效降低了網(wǎng)絡(luò)的計算量。網(wǎng)絡(luò)卷積的輸出通道數(shù)量依據(jù)512、256、128、64、1逐漸減小,以使目標(biāo)表觀特征矩陣能夠逐漸映射得到相似度匹配矩陣。
圖5 目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)預(yù)測過程
由于圖像序列的跟蹤過程中往往存在前幀目標(biāo)在后幀中消失或者新的目標(biāo)在后幀中出現(xiàn)的情況,因此,在相似度匹配矩陣中增加一列新的向量來表示目標(biāo)消失的可能性。目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支的匹配損失函數(shù)設(shè)計如式(5)所示。
式中:Lm用于計算目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)預(yù)測的相似度匹配矩陣中每一行與真實(shí)相似度匹配矩陣中每一行的交叉熵;i 表示行的索引;Yi表示真實(shí)的相似度匹配矩陣第i 行;表示預(yù)測的相似度匹配矩陣第i 行。真實(shí)相似度匹配矩陣的構(gòu)成如圖6 所示。圖中2 張圖像分別為視頻序列的前后幀。相似度匹配矩陣的列代表前幀的目標(biāo)序號,行代表后幀的目標(biāo)序號。X 表示目標(biāo)數(shù)不足而填充的表觀特征為零向量的目標(biāo),DP 表示目標(biāo)消失的可能性,兩兩目標(biāo)的值表示目標(biāo)間的相似度。圖6 中前后圖像的目標(biāo)匹配結(jié)果為前幀目標(biāo)1、2 與后幀目標(biāo)1、3 匹配,前幀目標(biāo)3、4 消失,后幀目標(biāo)2 為新出現(xiàn)的目標(biāo),目標(biāo)X 不會與任何目標(biāo)進(jìn)行匹配。
圖6 真實(shí)匹配矩陣
雖然通過對相似度匹配矩陣使用匈牙利算法能夠得到兩幀中目標(biāo)間的匹配跟蹤結(jié)果,但是對當(dāng)前幀進(jìn)行目標(biāo)跟蹤時,若僅考慮前一幀的目標(biāo)表征信息是不充分的。在進(jìn)行目標(biāo)跟蹤時,除了目標(biāo)的表觀特征匹配,還將軌跡中多個目標(biāo)的表觀特征與當(dāng)前需跟蹤的目標(biāo)的表觀特征進(jìn)行匹配,其中軌跡表示跟蹤序列中屬于同一目標(biāo)的目標(biāo)集合。通過這種匹配方式,對于每條軌跡中偶爾出現(xiàn)的錯誤匹配不會影響到后續(xù)目標(biāo)的正確匹配,增強(qiáng)了目標(biāo)匹配的魯棒性。同時,還考慮了目標(biāo)之間的空間關(guān)系,即通過前后幀目標(biāo)間邊框的交并比進(jìn)一步約束目標(biāo)間的匹配。通過將目標(biāo)的表觀特征匹配、目標(biāo)的整個軌跡匹配以及目標(biāo)空間關(guān)系約束相加融合得到最終前后幀目標(biāo)的匹配矩陣。
對于目標(biāo)的出現(xiàn)和消失情況,若一條軌跡在fum=5 幀中沒有任何目標(biāo)與其匹配,則認(rèn)為該軌跡所對應(yīng)的目標(biāo)已經(jīng)消失。此外,考慮到目標(biāo)可能出現(xiàn)誤檢測的情況,因此,對于沒有任何軌跡與檢測到的目標(biāo)進(jìn)行匹配的情況,則設(shè)該目標(biāo)為待定目標(biāo);如果接下來連續(xù)2 幀都有目標(biāo)與其匹配,則將該待定目標(biāo)確認(rèn)為新出現(xiàn)的目標(biāo),同時加入作為已確定軌跡?;谀繕?biāo)匹配結(jié)果,目標(biāo)跟蹤策略如下:
步驟1檢測當(dāng)前幀所有目標(biāo)。若當(dāng)前幀為初始幀,為每個對象新建一個已確定軌跡,將對象的特征向量分別加入對應(yīng)的已確定軌跡中,跳轉(zhuǎn)到步驟4;若當(dāng)前幀不是初始幀,將目標(biāo)與軌跡進(jìn)行相似度匹配,得到目標(biāo)與軌跡的表觀匹配矩陣。
步驟2通過IOU 計算目標(biāo)與軌跡的空間匹配矩陣,結(jié)合表觀匹配矩陣得到當(dāng)前目標(biāo)與已匹配軌跡的最終匹配矩陣。對匹配矩陣使用匈牙利算法,可得到未匹配的目標(biāo)、未匹配的已確定軌跡、未匹配的待確定軌跡、匹配到的已確定軌跡和目標(biāo)以及匹配到的待確定軌跡和目標(biāo)。
步驟3對于未匹配目標(biāo),設(shè)定為待確定軌跡;對于未匹配的已確定軌跡,則將其未匹配次數(shù)加一,如果軌跡的未匹配次數(shù)大于fum,則認(rèn)為該軌跡所對應(yīng)的目標(biāo)已經(jīng)消失,并刪除該軌跡;對于未匹配的待確定軌跡,刪除該軌跡;對于匹配到的已確定軌跡和目標(biāo),則將匹配到的目標(biāo)加入軌跡中,若軌跡中的目標(biāo)數(shù)大于m,則刪除軌跡中最早加入的目標(biāo);對于匹配到的待確定軌跡和目標(biāo),將匹配的目標(biāo)加入軌跡中且其連續(xù)匹配數(shù)加一,若待確定軌跡的連續(xù)匹配數(shù)大于等于3,則變?yōu)橐汛_定軌跡。
步驟4對下一幀圖像進(jìn)行跟蹤,跳轉(zhuǎn)到步驟1。
考慮到自動駕駛場景下最頻繁出現(xiàn)的行人目標(biāo),使用目前多目標(biāo)跟蹤領(lǐng)域廣泛使用的多目標(biāo)行人跟蹤數(shù)據(jù)集MOT17。由于MOT17 的測試集中不包含真實(shí)跟蹤標(biāo)簽,而測試集的評價結(jié)果只能有限次地在MOT Challenge 官網(wǎng)提交。因此,為了更好的對本算法進(jìn)行評價,在進(jìn)行消融實(shí)驗(yàn)時選取了訓(xùn)練集中一個較長的視頻序列作為驗(yàn)證集。
相對于其他目標(biāo),作為分剛體目標(biāo)的行人目標(biāo)擁有豐富的姿態(tài)變化,因此對該類目標(biāo)進(jìn)行準(zhǔn)確檢測[20]和跟蹤是目前該領(lǐng)域的難點(diǎn)。MOT17的訓(xùn)練集和測試集各包含7 個視頻序列,每個視頻序列均在不同的場景下拍攝,且每個場景的背景都較復(fù)雜,行人的數(shù)量多且密集,最多時高達(dá)80人。同時,行人間存在頻繁地交互及遮擋現(xiàn)象,某些場景下的行人目標(biāo)較小,還有些視頻含有拍攝鏡頭不斷移動的情況。復(fù)雜的背景以及過多的小目標(biāo)使得目標(biāo)檢測算法很難對所有目標(biāo)進(jìn)行精準(zhǔn)檢測,鏡頭移動造成的目標(biāo)差異過大、多個目標(biāo)的頻繁交互以及遮擋等情況使得跟蹤算法很難對目標(biāo)保持精準(zhǔn)跟蹤,因此在MOT17 數(shù)據(jù)集上實(shí)現(xiàn)多目標(biāo)跟蹤具有很大的挑戰(zhàn)性。
多目標(biāo)跟蹤中最重要的評價指標(biāo)為MOTA,該指標(biāo)表示了多目標(biāo)跟蹤的跟蹤準(zhǔn)確性,其由3 個部分組成,分別為FP、FN、ID Switch。FP 為誤判數(shù),表示錯誤檢測的目標(biāo)數(shù)。FN 為缺失數(shù),表示某個已知軌跡本能匹配某個目標(biāo),卻未與該目標(biāo)匹配的次數(shù)。ID-Switch 為誤匹配數(shù),表示某個已知軌跡錯誤的匹配到了不屬于該軌跡的目標(biāo)的次數(shù)。MOTP 表示跟蹤到的目標(biāo)的位置與真實(shí)位置的誤差,該指標(biāo)衡量了跟蹤估計目標(biāo)位置精確度的能力。Hz 表示算法每秒鐘能處理的幀數(shù),該指標(biāo)在本文中衡量了多目標(biāo)跟蹤算法的跟蹤速度。除了上述較重要的指標(biāo)外,還有IDF1、MT 和ML,分別表示正確識別的檢測與平均真實(shí)數(shù)和計算檢測數(shù)之比、預(yù)測軌跡占該正確軌跡的80%的軌跡相對所有軌跡的比例、預(yù)測軌跡的丟失數(shù)占該正確軌跡的20%的軌跡相對所有軌跡的比例。
實(shí)驗(yàn)環(huán)境是Ubuntu 16.04,使用單張RTX 2080Ti 對模型進(jìn)行訓(xùn)練。訓(xùn)練步驟分為3 步,第1步:凍結(jié)目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支以及特征提取層后的3×3 卷積層的參數(shù),使用CrowHuman 行人檢測數(shù)據(jù)集,通過目標(biāo)中心點(diǎn)檢測損失函數(shù)訓(xùn)練骨干網(wǎng)絡(luò)DLA34,輸入的圖片分辨率大小為512×512。訓(xùn)練的batchsize 大小為64,訓(xùn)練周期數(shù)為140。初始學(xué)習(xí)率設(shè)置為0.025,在第90、120 個周期時分別降低10 倍學(xué)習(xí)率。第2 步:將第1 步得到的模型作為預(yù)訓(xùn)練模型,凍結(jié)目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支以及特征提取層后的3×3 卷積層的參數(shù),使用MOT17 數(shù)據(jù)集,通過目標(biāo)中心點(diǎn)檢測損失函數(shù)訓(xùn)練骨干網(wǎng)絡(luò)DLA34,輸入的圖片分辨率大小為544×960,batchsize 大小為16,訓(xùn)練周期數(shù)設(shè)置為70。初始學(xué)習(xí)率設(shè)置為0.000 125,在第60 個周期時降低10 倍學(xué)習(xí)率。第3 步:凍結(jié)骨干網(wǎng)絡(luò)的參數(shù),使用MOT17 數(shù)據(jù)集,通過匹配損失函數(shù)訓(xùn)練目標(biāo)關(guān)聯(lián)分支以及特征提取層后的3×3 卷積層,輸入的圖像分辨率大小為544×960,batchsize 大小為3,訓(xùn)練周期數(shù)為35。初始學(xué)習(xí)率設(shè)置為0.01,在第13、22、28、35 個周期時分別降低10 倍學(xué)習(xí)率。
為了獲取目標(biāo)不同尺度的特征,結(jié)合各個目標(biāo)的感受野區(qū)域考慮,選擇在骨干網(wǎng)絡(luò)中第4、8、16、32 倍下采樣分辨率特征層中的最后一層作為目標(biāo)表觀特征的提取層。為了探究不同的特征提取層對于跟蹤結(jié)果的影響,選擇如圖4 紅色虛線框所示的更高層的特征提取層來進(jìn)行對比。對于不同特征提取層的選取,在MOT17 測試集上的實(shí)驗(yàn)結(jié)果如表1 所示,↑表示該指標(biāo)的值越高越好,↓表示該指標(biāo)的值越低越好。從表1 中可以看出,使用更高層的特征提取層的目標(biāo)表觀特征進(jìn)行匹配跟蹤時的ID Switch 個數(shù)有明顯增加,跟蹤過程中出現(xiàn)了更多誤匹配的現(xiàn)象。因此,相對于本文選取的特征提取層,更高層的特征提取層并不能提取到更有區(qū)分性的表觀特征。
表1 特征提取層選取
在跟蹤過程中,考慮了軌跡允許存在的最大目標(biāo)數(shù)以及軌跡允許存在的連續(xù)最大未匹配次數(shù)。對于軌跡中允許存在的最大目標(biāo)數(shù),若個數(shù)過多會造成軌跡中最早加入的目標(biāo)與后續(xù)目標(biāo)的位移與姿態(tài)相差過大而很難進(jìn)行正確匹配,若個數(shù)較少會造成軌跡中最后加入的錯誤匹配目標(biāo)繼續(xù)匹配到錯誤的目標(biāo)。對于軌跡允許存在的連續(xù)最大未匹配次數(shù),若次數(shù)過多則會造成本已經(jīng)消失的軌跡再次與目標(biāo)進(jìn)行匹配,若次數(shù)過少會因軌跡對應(yīng)目標(biāo)偶爾出現(xiàn)的遮擋情況被判定軌跡已經(jīng)消失而無法再次參與匹配。對于這2 個參數(shù)的不同設(shè)定,在MOT17 測試集上的實(shí)驗(yàn)結(jié)果如表2所示,當(dāng)軌跡中的最大目標(biāo)數(shù)為5 且軌跡允許存在的連續(xù)最大未匹配次數(shù)為5 時,達(dá)到最高的跟蹤準(zhǔn)確度。
表2 跟蹤參數(shù)設(shè)定
表3 為目前先進(jìn)的在線和離線跟蹤方法的結(jié)果。雖然離線跟蹤比在線跟蹤使用了更多的目標(biāo)跟蹤信息,但本文的方法在各個指標(biāo)下仍然超越了離線跟蹤方法。可以看到,對于MOT17 測試集,本文提出的方法在3 個指標(biāo)上均優(yōu)于其他方法,且在其他指標(biāo)上仍然具有競爭力。同時,考慮了包括目標(biāo)檢測過程的整個跟蹤過程的預(yù)測速度,對于部分論文,其跟蹤速度指標(biāo)僅計算了跟蹤匹配的過程,未考慮目標(biāo)檢測的時間消耗,因此對于包含目標(biāo)檢測過程的整個多目標(biāo)跟蹤過程,部分方法的跟蹤速度要小于其原文的跟蹤速度。
表3 各種算法的結(jié)果
提出了一種基于目標(biāo)關(guān)聯(lián)學(xué)習(xí)的端到端多目標(biāo)檢測與跟蹤方法。該方法使用單一的骨干網(wǎng)絡(luò)同時實(shí)現(xiàn)了視頻幀中的目標(biāo)檢測及對目標(biāo)的表觀特征提取。不同于傳統(tǒng)的“tracking-by-detection”方法訓(xùn)練額外的網(wǎng)絡(luò)來提取目標(biāo)特征,該方法的目標(biāo)特征提取過程不增加任何計算量。目標(biāo)特征提取后,設(shè)計了目標(biāo)關(guān)聯(lián)網(wǎng)絡(luò)分支來直接學(xué)習(xí)目標(biāo)間的特征關(guān)聯(lián)性,從而得到目標(biāo)之間的匹配跟蹤結(jié)果。整個跟蹤過程基于一個端到端的網(wǎng)絡(luò)結(jié)構(gòu),避免了重復(fù)輸入檢測后的目標(biāo)進(jìn)入特征提取網(wǎng)絡(luò)進(jìn)行特征提取,有效增加了跟蹤速度,同時,基于目標(biāo)感受野的特征提取層選取以及關(guān)聯(lián)網(wǎng)絡(luò)分支對兩兩目標(biāo)進(jìn)行相似度預(yù)測的方式,有效增加了多目標(biāo)跟蹤的準(zhǔn)確性。
雖然也考慮了基于空間的目標(biāo)IOU 匹配方法,但是目標(biāo)檢測邊框的準(zhǔn)確性會對匹配結(jié)果造成嚴(yán)重的影響,因此,未來會考慮目標(biāo)間新的空間關(guān)系來進(jìn)行目標(biāo)間更準(zhǔn)確的空間信息匹配,并結(jié)合表觀特征進(jìn)行更加準(zhǔn)確的多目標(biāo)跟蹤。