范婉舒,賴際舟,呂 品,鄭欣悅,鄭國(guó)慶,張 萸
(南京航空航天大學(xué)自動(dòng)化學(xué)院,南京 211106)
得益于深度學(xué)習(xí)的迅速發(fā)展,近年來(lái)計(jì)算機(jī)視覺(jué)技術(shù)在無(wú)人駕駛中的應(yīng)用越來(lái)越廣泛。目標(biāo)跟蹤算法是計(jì)算機(jī)視覺(jué)中的一個(gè)重要組成部分,為無(wú)人設(shè)備提供強(qiáng)大的感知能力。目標(biāo)跟蹤算法能夠在檢測(cè)的基礎(chǔ)上獲取目標(biāo)信息,對(duì)同類的不同目標(biāo)加以區(qū)分并持續(xù)跟蹤。
目標(biāo)跟蹤主要有生成式跟蹤和判別式跟蹤兩類。生成式跟蹤無(wú)需檢測(cè)信息,通過(guò)逐幀搜索比較提取到的特征,迭代得到跟蹤結(jié)果,如光流法、Meanshift、Camshift等。生成式跟蹤算法計(jì)算量較小,但在面對(duì)光照變換大、存在遮擋和變形的情況時(shí)精度明顯下降。
判別式跟蹤算法在目標(biāo)檢測(cè)的基礎(chǔ)上進(jìn)行跟蹤,計(jì)算量較大,但較為魯棒且精度更高,是當(dāng)前的主流算法。判別式跟蹤算法可以分為基于相關(guān)濾波的算法和基于深度學(xué)習(xí)的算法。最小輸出均方誤差(Minimum Output Sum of Squared Error,MOSSE)算法首先將相關(guān)濾波引入到目標(biāo)跟蹤領(lǐng)域,在此基礎(chǔ)上核化相關(guān)濾波(Kernelized Correlation Filters,KCF)算法通過(guò)引入循環(huán)矩陣和嶺回歸算法,提升了跟蹤的性能。
隨著神經(jīng)網(wǎng)絡(luò)的提出,基于深度學(xué)習(xí)的跟蹤算法具有更優(yōu)的跟蹤效果。Ma C.等提出了分層卷積特征(Hierarchical Convolutional Features,HCF)視覺(jué)跟蹤算法,將VGG(Visual Geometry Group)網(wǎng)絡(luò)提取的特征與相關(guān)濾波結(jié)合,獲得了很好的跟蹤性能,但該算法對(duì)尺度變換較敏感。A.Bewley等提出了簡(jiǎn)單在線實(shí)時(shí)跟蹤(Simple Online and Realtime Tracking,SORT)算法,降低了計(jì)算量,但身份變換次數(shù)較多。此后,A.Bewley等針對(duì)該問(wèn)題,加入外觀特征度量與級(jí)聯(lián)匹配,提出了Deep-SORT算法,顯著減少了身份變換次數(shù)。
DeepSORT算法作為一種在線跟蹤方法,能夠滿足無(wú)人系統(tǒng)的實(shí)時(shí)性要求與精度要求,因此被廣泛應(yīng)用。文獻(xiàn)[11]通過(guò)調(diào)整DeepSORT外觀特征網(wǎng)絡(luò)結(jié)構(gòu),降低了因遮擋造成的身份變換。文獻(xiàn)[12]通過(guò)引入長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)模型,實(shí)現(xiàn)了多車輛的實(shí)時(shí)準(zhǔn)確跟蹤,但當(dāng)目標(biāo)外觀特征改變時(shí),這些方法產(chǎn)生的漏匹配較多,多目標(biāo)跟蹤準(zhǔn)確率下降。
在實(shí)際應(yīng)用中,基于圖像的目標(biāo)跟蹤只能提供圖像上的二維信息,而需要的往往是物體的三維信息。對(duì)此,傳統(tǒng)的方法是通過(guò)相機(jī)與激光雷達(dá)的對(duì)齊點(diǎn)云獲取圖像上的對(duì)應(yīng)深度,從而得到目標(biāo)的三維坐標(biāo)。然而,當(dāng)目標(biāo)在圖像中較小時(shí),這種方法獲得的深度精度有限,甚至?xí)霈F(xiàn)無(wú)法獲取深度的情況。
針對(duì)以上問(wèn)題,本文提出了一種基于改進(jìn)DeepSORT的目標(biāo)跟蹤與定位算法,實(shí)現(xiàn)了對(duì)目標(biāo)的連續(xù)跟蹤定位。首先,在傳統(tǒng)DeepSORT算法中加入位置約束,依據(jù)漏匹配目標(biāo)在圖像中的位置信息再次匹配,有效減少因外觀變換導(dǎo)致的漏匹配,提高多目標(biāo)跟蹤準(zhǔn)確率。繼而,在跟蹤算法的基礎(chǔ)上,設(shè)計(jì)了基于目標(biāo)運(yùn)動(dòng)模型的相對(duì)定位算法,以解決目標(biāo)較小時(shí)定位失敗的問(wèn)題,提高定位精度。
本文通過(guò)加入位置約束與目標(biāo)運(yùn)動(dòng)模型,提出了一種基于改進(jìn)DeepSORT算法的目標(biāo)跟蹤與定位算法,算法流程如圖1所示。傳統(tǒng)架構(gòu)在獲取視覺(jué)跟蹤信息后,通過(guò)對(duì)齊點(diǎn)云解算其相對(duì)位置。相較于此,本文的改進(jìn)如下:1)對(duì)傳統(tǒng)DeepSORT算法的初步匹配結(jié)果依據(jù)位置約束再次匹配,減少漏匹配;2)對(duì)傳統(tǒng)相對(duì)定位方法得到的三維信息,根據(jù)運(yùn)動(dòng)模型得到其最優(yōu)估計(jì),獲得最終的定位結(jié)果。
目標(biāo)跟蹤可以分為檢測(cè)與跟蹤兩部分,本文的檢測(cè)器為YOLOv3。YOLO(You Only Look Once)算法是一階段的檢測(cè)算法,相較于兩階段算法,檢測(cè)速度更快,更符合無(wú)人系統(tǒng)的實(shí)時(shí)性要求。YOLOv3是該系列算法的第三代,采用Darknet53作為特征提取網(wǎng)絡(luò)。Darknet53參考了ResNet的結(jié)構(gòu),在網(wǎng)絡(luò)結(jié)構(gòu)中加入了殘差塊,增加了深度的同時(shí),可以控制梯度的傳播,避免出現(xiàn)梯度爆炸或者梯度消失的問(wèn)題。YOLOv3采用多尺度預(yù)測(cè),通過(guò)上采樣融合了3個(gè)尺度上的信息,顯著提高了對(duì)小物體的檢測(cè)能力。跟蹤器采用加入位置約束的DeepSORT算法。
圖1 基于改進(jìn)DeepSORT的目標(biāo)跟蹤與定位算法流程Fig.1 Flow of object tracking and positioning algorithm based on improved DeepSORT
1.1.1 傳統(tǒng)DeepSORT目標(biāo)跟蹤算法分析
目標(biāo)匹配分為兩階段,第一階段為級(jí)聯(lián)匹配,第二階段為交并比(Intersection-over-Union,IoU)匹配。在級(jí)聯(lián)匹配階段,通過(guò)平方馬氏距離和余弦距離構(gòu)造代價(jià)矩陣。同時(shí),計(jì)算門控矩陣,用于判斷匹配是否可行,只有當(dāng)平方馬氏距離和余弦距離都在門控矩陣內(nèi)時(shí),該匹配可行。計(jì)算得到代價(jià)矩陣和門控矩陣后,利用匈牙利算法,根據(jù)優(yōu)先級(jí)進(jìn)行匹配,越小則優(yōu)先級(jí)越高。若大于最大存活幀數(shù),則認(rèn)為該目標(biāo)已不在場(chǎng)景中,刪除該目標(biāo)的跟蹤軌跡。
1.1.2 基于位置約束的改進(jìn)DeepSORT算法設(shè)計(jì)
在實(shí)際應(yīng)用中,由于目標(biāo)自身的運(yùn)動(dòng)或者部分被遮擋,外觀特征變換較大,較易導(dǎo)致漏匹配。但由于目標(biāo)運(yùn)動(dòng)的連續(xù)性,其在圖像幀中的像素坐標(biāo)相差較小,可以據(jù)此再次進(jìn)行匹配。改進(jìn)Deep-SORT算法流程如圖2所示。
圖2 改進(jìn)DeepSORT算法流程Fig.2 Flow of improved DeepSORT algorithm
對(duì)于未匹配跟蹤集中的跟蹤軌跡,尋找未匹配目標(biāo)集中距離其最近的檢測(cè)目標(biāo)。若其距離小于閾值,則認(rèn)為是同一目標(biāo),將(,)加入匹配集。其中,閾值為經(jīng)驗(yàn)值,根據(jù)輸入圖像的大小決定。輸入圖像的尺寸越大,則閾值設(shè)定越高?;谖恢眉s束的算法流程如表1所示。其中,位置距離通過(guò)像素坐標(biāo)(,)間的歐式距離來(lái)衡量,即
(1)
因此,改進(jìn)算法的匹配流程為:對(duì)于跟蹤集與檢測(cè)集,首先計(jì)算代價(jià)矩陣與門控矩陣,并初始化匹配集與未匹配跟蹤集。與的設(shè)計(jì)沿用原始算法,通過(guò)平方馬氏距離與余弦距離構(gòu)建。
平方馬氏距離用于度量卡爾曼預(yù)測(cè)狀態(tài)量與最新的量測(cè)量之間的距離,即
(2)
其中,和表示第個(gè)跟蹤軌跡的狀態(tài)量的期望與協(xié)方差矩陣;表示第個(gè)檢測(cè)框的狀態(tài)量量測(cè)值。
表1 基于位置約束的匹配流程
余弦距離用于度量跟蹤軌跡與檢測(cè)框之間的外觀相似度,即
(3)
通過(guò)平方馬氏距離與余弦距離加權(quán)計(jì)算,通過(guò)兩者對(duì)應(yīng)的閾值、判斷得到。其中,、、的選取參考文獻(xiàn)[10]。
,=(,)+(1-)(,)
(4)
(5)
然后進(jìn)行級(jí)聯(lián)匹配與IoU匹配,接著初始化未匹配目標(biāo)集,對(duì)于IoU匹配之后的未匹配跟蹤集與未匹配目標(biāo)集,計(jì)算其距離矩陣,依據(jù)位置約束再次進(jìn)行匹配,以減少漏匹配。改進(jìn)后的目標(biāo)匹配流程如圖3所示。
圖3 改進(jìn)目標(biāo)匹配算法流程Fig.3 Flow of improved target matching algorithm
通過(guò)相對(duì)定位算法計(jì)算目標(biāo)相對(duì)載體的位置。傳統(tǒng)的相對(duì)定位方法通過(guò)相機(jī)與激光雷達(dá)的標(biāo)定獲取目標(biāo)的位置信息,通過(guò)對(duì)齊點(diǎn)云獲取像素處對(duì)應(yīng)深度,進(jìn)而解算出目標(biāo)相對(duì)位置。1.1節(jié)所述的改進(jìn)DeepSORT算法對(duì)因外觀特征改變?cè)斐傻穆┢ヅ淦鸬搅烁纳谱饔?,但還存在目標(biāo)較小時(shí)無(wú)法獲取深度進(jìn)行定位的問(wèn)題。因此,本文在目標(biāo)跟蹤的基礎(chǔ)上,構(gòu)建目標(biāo)運(yùn)動(dòng)模型,得到目標(biāo)運(yùn)動(dòng)狀態(tài)的最優(yōu)估計(jì),以解決該問(wèn)題。
卡爾曼濾波是一種優(yōu)化估計(jì)算法,結(jié)合當(dāng)前時(shí)刻的預(yù)測(cè)值與量測(cè)值得到當(dāng)前的最優(yōu)估計(jì)值。針對(duì)不同目標(biāo),使用卡爾曼濾波估計(jì)其狀態(tài),需要先對(duì)待估計(jì)對(duì)象建立運(yùn)動(dòng)模型。在本文中,定位目標(biāo)為行人。
行人在行進(jìn)過(guò)程中,加速度較小,可以視為勻速直線運(yùn)動(dòng)。因此,該類目標(biāo)的運(yùn)動(dòng)模型為恒定速度模型。設(shè)行人在時(shí)刻的狀態(tài)為=[,],其中為全局系(第一幀雷達(dá)系)下時(shí)刻行人相對(duì)載體的三維坐標(biāo);為時(shí)刻行人的速度。和為已知量,描述時(shí)刻雷達(dá)系到全局系的變換。則在經(jīng)過(guò)Δ時(shí)間后,其狀態(tài)變換為+Δ=[+Δ·+-+Δ,]。則狀態(tài)轉(zhuǎn)移方程為
(6)
在測(cè)量中,通過(guò)對(duì)齊點(diǎn)云,得到當(dāng)前雷達(dá)系下目標(biāo)相對(duì)載體的三維坐標(biāo)。因此,本文中狀態(tài)方程及量測(cè)方程為
(7)
其中,和為噪聲,均服從高斯分布。
在實(shí)際試驗(yàn)中,由于外參標(biāo)定精度有限,跟蹤目標(biāo)處對(duì)應(yīng)的深度值存在突變的情況。突變值造成的誤差會(huì)在狀態(tài)遞推器中累積,從而造成卡爾曼濾波器性能的下降。因此,本文在卡爾曼濾波器中加入殘差檢測(cè)器將突變值剔除。被剔除的突變值將不作為量測(cè)值輸入,該時(shí)刻的最優(yōu)估計(jì)值為一步預(yù)測(cè)值。
為了評(píng)估提出算法的性能,本文首先在交通監(jiān)測(cè)圖片序列的基礎(chǔ)上對(duì)改進(jìn)跟蹤算法效果進(jìn)行驗(yàn)證,測(cè)試其在多目標(biāo)環(huán)境中的跟蹤性能。然后在無(wú)人車平臺(tái)上展開(kāi)目標(biāo)跟蹤與相對(duì)定位試驗(yàn),綜合測(cè)試改進(jìn)跟蹤算法與改進(jìn)相對(duì)定位算法在實(shí)際情況下的性能。
為了驗(yàn)證本文所提算法的有效性,將原始Deep-SORT算法作為對(duì)照,通過(guò)多目標(biāo)跟蹤準(zhǔn)確度(Multi-ple Object Tracking Accuracy,MOTA)衡量算法的性能,MOTA與漏報(bào)(False Negative,F(xiàn)N)、誤報(bào)(False Positive,F(xiàn)P)、身份變換(ID Switch,IDSW)以及真實(shí)值(Ground Truth,GT)相關(guān),MOTA的計(jì)算公式為
(8)
本文選用兩組圖片序列對(duì)改進(jìn)跟蹤算法的性能進(jìn)行驗(yàn)證。一組是移動(dòng)載體在城市道路行駛過(guò)程中采集的序列,另一組則是城市道路中的交通監(jiān)控序列。在車輛轉(zhuǎn)彎過(guò)程中,會(huì)出現(xiàn)外觀特征改變的情況。由表2可知,改進(jìn)算法的多目標(biāo)跟蹤準(zhǔn)確率提升了6.6%。
表2 基于圖片序列的原始算法與改進(jìn)算法多目標(biāo)跟蹤準(zhǔn)確率
圖4顯示了原始算法及改進(jìn)算法在序列二中的跟蹤結(jié)果,由圖4(a)與圖4(b)的對(duì)比可知:
相較于傳統(tǒng)DeepSORT算法,改進(jìn)方法可以有效減少漏報(bào),對(duì)于圖4(a)中62幀ID為20的目標(biāo),其在轉(zhuǎn)彎前后的外觀特征出現(xiàn)了較大的變換,在第83幀中未能成功關(guān)聯(lián),且在第84幀中被當(dāng)成新的目標(biāo)(ID為28)。而在圖4(b)中,改進(jìn)算法通過(guò)位置信息實(shí)現(xiàn)對(duì)目標(biāo)轉(zhuǎn)彎前后的持續(xù)跟蹤。
(a) 原始算法跟蹤結(jié)果
(b) 改進(jìn)算法跟蹤結(jié)果圖4 交通監(jiān)控序列處理結(jié)果對(duì)比Fig.4 Comparison of traffic monitoring sequence processing results
本文在無(wú)人車平臺(tái)上展開(kāi)試驗(yàn),以驗(yàn)證目標(biāo)跟蹤與相對(duì)定位算法的性能,試驗(yàn)平臺(tái)與測(cè)試路線如圖5所示。其中,無(wú)人車搭載了Besos GX01微型主機(jī)、Intel RealSense D435i相機(jī)與Ouster OS1 64線激光雷達(dá)。各傳感器性能參數(shù)如表3所示。
圖5 無(wú)人車平臺(tái)及目標(biāo)跟蹤與定位試驗(yàn)路線Fig.5 Unmanned vehicle platform and object tracking & positioning test route
表3 傳感器性能參數(shù)
2.2.1 目標(biāo)跟蹤算法試驗(yàn)
本文在無(wú)人車平臺(tái)上采集三組數(shù)據(jù)以測(cè)試跟蹤算法的性能,包含光照變換、步態(tài)變換等情況。在試驗(yàn)過(guò)程中,當(dāng)目標(biāo)經(jīng)過(guò)存在樹(shù)蔭路段時(shí),光照產(chǎn)生變換,而在目標(biāo)轉(zhuǎn)彎時(shí),其步態(tài)也會(huì)發(fā)生變換,這些情況都會(huì)造成目標(biāo)外觀特征的改變。試驗(yàn)開(kāi)始時(shí),兩個(gè)行人相隔一段距離并排行走,距無(wú)人車平臺(tái)一定距離后,兩人朝相反方向轉(zhuǎn)彎,返回試驗(yàn)開(kāi)始地點(diǎn)。
在外觀改變的情況下,原始算法較易出現(xiàn)匹配失敗的情況,而改進(jìn)算法依據(jù)位置信息對(duì)外觀改變的目標(biāo)進(jìn)行匹配,減少了漏報(bào)。圖6所示為原始算法和改進(jìn)算法的對(duì)比結(jié)果,在150~151幀中兩個(gè)目標(biāo)在轉(zhuǎn)彎前后其外觀特征出現(xiàn)了改變,原始算法的151幀中出現(xiàn)了漏報(bào)的情況,但目標(biāo)的位置變換較小,在改進(jìn)算法中,目標(biāo)一在151幀中被成功匹配。根據(jù)表4,平均多目標(biāo)跟蹤準(zhǔn)確率提高了5.6%。對(duì)比表2與表4可知,在更為復(fù)雜的場(chǎng)景中,產(chǎn)生的漏報(bào)較多,原始算法的多目標(biāo)跟蹤率較低,改進(jìn)算法對(duì)多目標(biāo)跟蹤準(zhǔn)確率的提升較大。
(a) 原始算法跟蹤結(jié)果
(b) 改進(jìn)算法跟蹤結(jié)果圖6 目標(biāo)跟蹤算法對(duì)比Fig.6 Comparison of object tracking algorithm
表4 基于無(wú)人車平臺(tái)的原始算法與改進(jìn)算法多目標(biāo)跟蹤準(zhǔn)確率
2.2.2 相對(duì)定位算法試驗(yàn)
本文同時(shí)在無(wú)人車平臺(tái)上展開(kāi)相對(duì)定位算法試驗(yàn)。試驗(yàn)過(guò)程中,目標(biāo)一手持全站儀棱鏡,行進(jìn)路線與圖5相同。本文通過(guò)全站儀對(duì)無(wú)人車與跟蹤目標(biāo)進(jìn)行定位,計(jì)算其相對(duì)位置,在相對(duì)定位算法試驗(yàn)評(píng)估中提供位置基準(zhǔn)。
圖7所示為原始算法與改進(jìn)算法的對(duì)比,選取全站儀解算軌跡作為基準(zhǔn)。解算得到雷達(dá)系下的坐標(biāo),雷達(dá)系為軸向前、軸向左、軸向上的右手坐標(biāo)系。圖7(a)為相對(duì)定位結(jié)果對(duì)比,圖7(b)為相對(duì)定位誤差對(duì)比,綠色為全站儀提供的基準(zhǔn)位置,紅色為改進(jìn)算法,藍(lán)色為原始算法。其中,相對(duì)定位誤差通過(guò)計(jì)算全站儀與相對(duì)定位算法解算坐標(biāo)的歐式距離得到。在實(shí)際試驗(yàn)中,全站儀棱鏡與跟蹤目標(biāo)中心點(diǎn)在軸上存在不定偏差,因此在算法性能評(píng)估中不考慮軸。圖8所示為目標(biāo)較小情況下的定位效果對(duì)比圖。
(a) 相對(duì)定位結(jié)果對(duì)比
(b) 相對(duì)定位誤差對(duì)比圖7 相對(duì)定位算法對(duì)比Fig.7 Comparison of relative positioning algorithm
(a) 原始算法定位失敗情況
(b) 改進(jìn)算法定位效果圖8 目標(biāo)較小情況下的定位效果對(duì)比圖Fig.8 Comparison of positioning results of small objects
根據(jù)基于無(wú)人車平臺(tái)的相對(duì)定位結(jié)果及定位誤差可以看出:
1)相較于傳統(tǒng)方法存在定位失效的情況,本文算法提高了定位的連續(xù)性。如圖8(a)所示,當(dāng)目標(biāo)在圖像中較小,原始算法無(wú)法獲取深度值時(shí),目標(biāo)一沒(méi)有三維坐標(biāo)信息。在試驗(yàn)中,定位失效導(dǎo)致圖7(a)中原始算法定位結(jié)果鋸齒較多,且存在突變值,與全站儀解算軌跡相差較大。改進(jìn)算法根據(jù)之前的位置信息對(duì)目標(biāo)當(dāng)前的坐標(biāo)進(jìn)行預(yù)測(cè),成功解決了目標(biāo)較小時(shí)無(wú)法定位的問(wèn)題,獲取的解算結(jié)果較為密集,圖7(a)中改進(jìn)算法定位結(jié)果較為平滑,突變值被殘差卡方檢測(cè)器剔除,與全站儀解算軌跡相差較小。
2)相較于傳統(tǒng)方法定位精度較差的情況,本文算法提高了定位精度,如圖7(b)所示,改進(jìn)算法的誤差曲線較原始算法波動(dòng)范圍較小。試驗(yàn)結(jié)果表明,原始算法的定位誤差為1.01m,而改進(jìn)算法的定位誤差為0.38m,定位精度提升了62.4%。
本文通過(guò)加入位置約束與目標(biāo)運(yùn)動(dòng)模型,提出了一種基于改進(jìn)DeepSORT算法的視覺(jué)/激光雷達(dá)目標(biāo)跟蹤與定位算法。針對(duì)原始DeepSORT算法中由于目標(biāo)外觀特征相差較大而出現(xiàn)的漏匹配問(wèn)題,本文設(shè)計(jì)了加入位置約束的改進(jìn)DeepSORT算法,同時(shí)針對(duì)圖像中目標(biāo)較小時(shí)定位失敗的問(wèn)題,設(shè)計(jì)了基于目標(biāo)運(yùn)動(dòng)模型的改進(jìn)算法。試驗(yàn)結(jié)果表明:
1)基于位置約束的改進(jìn)DeepSORT算法能夠有效地減少漏匹配,提升了多目標(biāo)跟蹤準(zhǔn)確率;
2)基于目標(biāo)運(yùn)動(dòng)模型的相對(duì)定位算法能夠有效地解決目標(biāo)較小時(shí)定位失敗的問(wèn)題,可以對(duì)目標(biāo)進(jìn)行連續(xù)跟蹤,提升了定位精度。