吳明瞭,郭啟翔,何 薇,文 進(jìn),高寵智,胡博倫,張路玉
(東風(fēng)汽車股份有限公司商品研發(fā)院,湖北 武漢 430000)
在深度學(xué)習(xí)領(lǐng)域中,目標(biāo)的檢測和跟蹤是一個十分重要的組成部分。多目標(biāo)跟蹤的任務(wù)是將視頻中每個目標(biāo)的軌跡畫出來即把同一個目標(biāo)的bounding box標(biāo)成同一個ID,按照對多目標(biāo)跟蹤的目標(biāo)初始化任務(wù)劃分,可將多目標(biāo)跟蹤按照預(yù)處理方式的不同進(jìn)行劃分,一種是基于檢測的Detection-Based Tracking(DBT),另一種是基于手工提取方式的Detection-Free Tracking(DFT)。如今比較主流的預(yù)處理方式是DBT,DBT按照跟蹤過程中處理方式的不同分為離線跟蹤和在線跟蹤。在線跟蹤的示意圖如圖1所示,離線跟蹤示意圖如圖2所示。
圖1 在線跟蹤示意圖
圖2 離線跟蹤示意圖
本小節(jié)的檢測網(wǎng)絡(luò)是基于Faster-RCNN檢測網(wǎng)絡(luò)加以改進(jìn)得到的,其流程示意如圖3所示。輸入圖片首先經(jīng)過C-RPN網(wǎng)絡(luò),分別經(jīng)過5個階段的特征提取之后可以得到不同尺寸分辨率的Feature Map,將不同階段的特征圖相互融合可以得到基于錨點的區(qū)域提案和基于車輛的區(qū)域提案。
圖3 目標(biāo)檢測算法流程
C-RPN網(wǎng)絡(luò)是針對于車輛的區(qū)域提議網(wǎng)絡(luò),利用車輛的不同特征對傳統(tǒng)的RPN網(wǎng)絡(luò)加以改進(jìn)而成。
假設(shè)特征單元,黑色虛線是預(yù)先埋下的錨框,而藍(lán)色邊框是車輛的提案區(qū)域,由圖4可以看到,錨框和提案區(qū)域的中心還存在一定的偏移量Δ(,,,),設(shè)錨框的寬和高為和,提案區(qū)域邊框?qū)捄透邽楹?,其計算公式如公?(1)所示。
圖4 錨框示意圖
根據(jù)公式(2)可以將相機中心三維坐標(biāo)投影到圖像坐標(biāo)系中,其中為給定已知投影矩陣。
根據(jù)候選區(qū)域在特征圖上裁剪出W×H的256通道的特征圖R1,再將這些特征圖送入較ROIPooling更精準(zhǔn)的ROIAlign網(wǎng)絡(luò)。
如圖5所示,嚴(yán)重影響了檢測的品質(zhì),所以針對這種情況,采用非極大值抑制算法(Non-maximum suppression,NMS)。NMS算法主要的作用是從很多重疊的搜索區(qū)域中,過濾掉多余的搜索框,從而得到最匹配的檢索框。
圖5 未經(jīng)非極大值抑制的檢測圖
經(jīng)過多模態(tài)融合模塊并行處理之后,會得到3種狀態(tài)的目標(biāo),分別為丟失目標(biāo)、跟蹤目標(biāo)以及出現(xiàn)的新目標(biāo)。在確定目標(biāo)狀態(tài)為丟失后,對卡爾曼跟蹤器進(jìn)行更新,確定是否結(jié)束跟蹤,如果結(jié)束跟蹤,則刪除卡爾曼濾波器,否則將所有的目標(biāo)跟蹤信息輸入到下一幀。其中,多模塊融合模塊是核心的處理模塊,它將從目標(biāo)檢測框架接收到的目標(biāo)進(jìn)行目標(biāo)特征提取并進(jìn)行三維估計,結(jié)合另一個輸入端傳來的上一幀的多目標(biāo)跟蹤軌跡進(jìn)行數(shù)據(jù)關(guān)聯(lián),根據(jù)相似度計算兩個對象屬于統(tǒng)一目標(biāo)的概率,從而對檢測車輛和跟蹤軌跡進(jìn)行匹配。
DLA網(wǎng)絡(luò)改進(jìn)的輸入是目標(biāo)檢測框架經(jīng)過ROIAlign層的池化特征圖。
圖6所示為基于LSTM網(wǎng)絡(luò)的動態(tài)目標(biāo)跟蹤框架。本文對馬爾可夫決策過程的狀態(tài)空間進(jìn)行改進(jìn),得到4種狀態(tài)目標(biāo),即新目標(biāo)、跟蹤目標(biāo)、遮擋目標(biāo)以及丟失目標(biāo)。
圖6 基于LSTM網(wǎng)絡(luò)的動態(tài)目標(biāo)跟蹤框架
評價指標(biāo)選用常見的目標(biāo)檢測指標(biāo)平均精度AP(Average Precision)和平均召回率AR(Average Recall),其中AP和AR分別由其他4個指標(biāo)計算而成,這4個指標(biāo)分別是TP、TN、FP、TN,其含義如表1所示。
表1 指標(biāo)含義
AP指的是對所有幀圖像中判斷為車輛的判斷中正確判斷的占比的均值,其計算方式如公式(3)所示,而AR指的是對所有幀圖像中所有正確判斷中判斷為車輛的占比的均值,其計算方法如公式(4)所示。
首先對網(wǎng)絡(luò)的改進(jìn)部分分別進(jìn)行實驗對比,再對目標(biāo)檢測的性能進(jìn)行測評,最后針對仿真場景和kitti場景可視化的效果進(jìn)行分析。如表2所示,改進(jìn)的RPN實驗是基于殘差網(wǎng)絡(luò)的主干架構(gòu)上進(jìn)行的,在C-RPN網(wǎng)絡(luò)中,對原始的RPN網(wǎng)絡(luò)進(jìn)行改進(jìn),加入多尺度的錨框,使得預(yù)設(shè)的錨框能夠更好匹配檢測的車輛目標(biāo),從而在召回率上有了較大幅度的提升,同時在精度上獲得了小幅的改善。但是由于預(yù)設(shè)錨框多尺度導(dǎo)致錨框數(shù)量的增加,使得系統(tǒng)運行的時間有一定延長。
表2 改進(jìn)RPN實驗對比
在改進(jìn)RPN的基礎(chǔ)上,對NMS進(jìn)行改進(jìn)實驗,如表3所示。通過數(shù)據(jù)可以發(fā)現(xiàn),改進(jìn)后的O-NMS在各項指標(biāo)上都有小幅的上升,從而證明改進(jìn)的方式和思路都是正確的。
表3 改進(jìn)NMS實驗對比
將數(shù)據(jù)集中的場景中的車輛目標(biāo)按照距離進(jìn)行分類,分為簡單、中等和困難3個級別。表4對不同程度的目標(biāo)檢測進(jìn)行實驗分析。
表4 目標(biāo)檢測實驗
從表4中可以觀察到,隨著檢測目標(biāo)難度的增加,其置信度也越低,從而降低閾值可以獲得更加良好的檢測結(jié)果。而當(dāng)目標(biāo)的難度趨于簡單時,用較低的閾值則會產(chǎn)生較大的誤檢情況,會導(dǎo)致精度的降低,所以適當(dāng)?shù)脑黾娱撝悼梢蕴嵘龣z測的效果,例如簡單模式中的最佳檢測效果出現(xiàn)在閾值為0.5。
本小節(jié)分別挑選了仿真場景測試結(jié)果中的夜晚,霧天、雪天以及強光天氣下的4種不同場景進(jìn)行分析。圖7為4種不同場景下對車輛目標(biāo)的檢測情況,每個場景選擇了4幅不同時間節(jié)點的檢測圖,由于一個測試序列有400多幀,所以以100為間隔,在測試序列的每100幀中隨機選擇一副圖像作為顯示,通過這樣的方式保證了場景的隨機性和多樣性。通過直觀的可視化結(jié)果來看,在夜景的場景中,由于能見度低,作為前景的車輛和作為背景的夜色具有相似的顏色,所以產(chǎn)生誤判和漏檢的概率相應(yīng)更大,如7a檢測結(jié)果中便把扁長方形的綠植判斷為車輛。而在雪景和霧景的場景中由于能見度較夜景大幅提升,所以檢測的效果更好,當(dāng)然也存在一定的誤判情形,如7b中的第4幅圖將背景中的扁長方形判斷為車輛目標(biāo)。而在7d強光場景下,由于光線很好,能見度高,所以檢測的效果比較精確,但是強光場景中存在一些鏡面反光的情形,使得檢測的性能受一定的影響。
圖7 仿真測試場景
圖8選擇kitti的兩個測試場景進(jìn)行展示,分別是行駛過程和十字路口。在8a的行駛場景中,即使存在較大的自我運動,檢測難度上升的情況下,系統(tǒng)依舊能檢測出場景中存在的車輛,而在8a中第2幅圖中,對于較大尺度畸變的公交車也檢測出來。在8b中十字路口,車輛密度增大,而且存在遮擋的情況,如8b的第1幅圖所示,都可以很好地檢測出目標(biāo)車輛。故而系統(tǒng)對于多目標(biāo),以及車輛之間相互遮擋和車輛尺度畸變都有著良好的魯棒性。
圖8 kitti測試場景
對于目標(biāo)的跟蹤來說,主要選用兩個指標(biāo)來對跟蹤效果進(jìn)行評價,一個是多目標(biāo)跟蹤精度MOTP(Multiple Object Tracking Precision),這個指標(biāo)的內(nèi)容是體現(xiàn)檢測到的目標(biāo)的三維位置的估計的精準(zhǔn)程度。另一個是多目標(biāo)跟蹤準(zhǔn)確度MOTA(Multiple Object Tracking Accuracy),它綜合了符合人們邏輯的一些對于跟蹤的評價,MOTP的計算方式如公式 (5)所示。
公式(6)為MOTA的計算方式,其中公式的第二項是所有負(fù)面考慮因素的綜合。
從可視化的二維和三維結(jié)果來對跟蹤的效果進(jìn)行分析,再對其中的數(shù)據(jù)指標(biāo)進(jìn)行分析。
圖9是3種方法跟蹤的效果對比。可以看到在圖像中,轎車和吉普車在每一幀中都被當(dāng)成新目標(biāo)進(jìn)行處理,被吉普車遮擋的目標(biāo)在不同兩幀中也產(chǎn)生了ID的切換。只有遠(yuǎn)處相對位置較為穩(wěn)定的車輛依舊保持著跟蹤。
圖9b可以看到在右側(cè)的較遠(yuǎn)處的3輛車可以進(jìn)行正確跟蹤,但是在左側(cè)的轎車和吉普車,畸變較大的情況下,依舊不能正確匹配跟蹤,而更為復(fù)雜的遮擋情況,就更無法成功跟蹤。圖9c為卡爾曼三維跟蹤+深度排序+遮擋處理的跟蹤方式,首先遠(yuǎn)處的車輛正確跟蹤,近處的轎車(橙色)和吉普車(紫色)在畸變較大的情況下也能很好地被跟蹤,對于最復(fù)雜的遮擋情況,由于加入了遮擋處理,在隔了一幀的情況下依舊保持了跟蹤(橘色)。下面通過表5對圖9中的3種不同跟蹤方式進(jìn)行總結(jié),給出每種方式在4幀圖像中跟蹤不同對象成功的概率。
表5 3種跟蹤方式對比
圖9 不同方式的跟蹤效果
通過以上對比可以看到卡爾曼三維跟蹤+深度排序+遮擋處理的效果較其他兩種要更為魯棒,接下來分析這種跟蹤方式在不同場景下的三維效果,三維跟蹤的包圍框顏色原理同二維邊框。
圖10是3種不同仿真場景下的4幀連續(xù)圖像,這3個不同的場景都位于交叉路口,10a中被紅色轎車遮擋的3輛車在紅色轎車駛過后ID依舊保持不變,體現(xiàn)了算法對遮擋物體的良好跟蹤性能。10b中對深青色轎車的超車過程中,深青色轎車在視角中產(chǎn)生了很大的尺度畸變,但是算法依舊能保持跟蹤狀態(tài),對尺度畸變有著良好的魯棒性。10c中的夜晚場景光照條件很差,且場景中的目標(biāo)數(shù)量很多,場景中所有目標(biāo)的ID在這4幀中都沒有切換,體現(xiàn)了算法在暗光環(huán)境的適應(yīng)性以及對多目標(biāo)跟蹤的良好性能。
圖10 仿真場景下的三維效果
圖11是kitti實景測試集中的連續(xù)4幀的測試情況,使用的是卡爾曼三維跟蹤+深度排序+遮擋處理的跟蹤方法。從可視化的效果可以看出場景中的所有車輛目標(biāo)均被檢測出來且在連續(xù)幀中沒有出現(xiàn)目標(biāo)跟蹤丟失的情況。橘色框車輛在不斷前進(jìn)的過程中,尺寸在不斷變化,算法依舊可以穩(wěn)定跟蹤,體現(xiàn)了算法對跟蹤目標(biāo)尺寸變化的良好適應(yīng)性。
圖11 kitti實景跟蹤效果
從表6中可以看出,在原始的跟蹤中加入卡爾曼二維跟蹤后,MOTA會有15個點的巨大提升且誤配率也下降了16個點,這要歸功于卡爾曼濾波的強大作用,卡爾曼濾波對跟蹤目標(biāo)的位置進(jìn)行了預(yù)測和更新獲得更加精確的位置估計。
表6 不同方法性能評價
而在卡爾曼二維跟蹤加入基于深度的排序之后,MOTA獲得接近4個點的提升同時誤配率下降了3個多點,這是因為基于深度的排序?qū)⒕嚯x過大的匹配對過濾了,從而減少了誤配率,由公式(6)可知誤配率的降低必然會提升MOTA。
卡爾曼三維跟蹤較二維跟蹤在MOTA指標(biāo)上提升了近7個點,并且誤配率也下降了7個點,這得益于加入的深度信息以及車輛的方向信息等,讓位置的估計判斷更加精準(zhǔn)可靠。在卡爾曼三維跟蹤加入基于深度的排序之后,有著微小的提升,MOTA上升了0.1個點,這是因為卡爾曼三維跟蹤中已經(jīng)包含了深度的信息,從而基于深度的排序只能略微提升。在卡爾曼三維跟蹤加入遮擋處理后,MOTA指標(biāo)有略微的下降,這是因為遮擋處理在一定程度上會導(dǎo)致誤配率的上升,從而導(dǎo)致了MOTA的微幅下降。而從卡爾曼濾波的原理進(jìn)行考慮的話,它結(jié)合歷史統(tǒng)計的信息和當(dāng)前幀的信息去對下一幀物體位置進(jìn)行估計,對于短時的遮擋勉強可以,但是時間一長,統(tǒng)計特性就跑偏了,從而會導(dǎo)致性能的下降。
在引入LSTM網(wǎng)絡(luò)代替卡爾曼的預(yù)測及更新模塊后,其結(jié)果如圖12所示。本組對比選用了雪景和夜景兩組場景,每種場景選用卡爾曼三維跟蹤+深度排序+遮擋處理和LSTM+深度排序+遮擋處理兩種方式。
在圖12a中,前兩幀的被摩托車遮擋的車輛的邊框為紫色,而在后兩幀產(chǎn)生了誤配,從而變?yōu)榱朔奂t色,并且在后續(xù)時刻沒有恢復(fù)跟蹤。而在12b中采用LSTM網(wǎng)絡(luò)之后,被摩托車遮擋的車輛邊框始終是藍(lán)色,說明基于LSTM的跟蹤方法的對于遮擋車輛的魯棒性要高于基于卡爾曼濾波器跟蹤的方法。在12c中的夜景場景中,兩輛邊框分別為橘黃色和品紅色的車輛在經(jīng)過遮擋物后,邊框顏色切換成了品紅色和橘黃色,即產(chǎn)生了誤配。在12d中,采用了LSTM網(wǎng)絡(luò)后,兩輛車初始邊界框顏色為橘黃色和藍(lán)色,在經(jīng)過遮擋物后依舊保持了橘黃色和藍(lán)色,說明在夜景的暗光場景下,基于LSTM網(wǎng)絡(luò)的跟蹤算法依舊保持著良好的性能。通過兩組不同場景的對比可以發(fā)現(xiàn),在被遮擋時間稍長后,基于卡爾曼的跟蹤產(chǎn)生誤配的概率便會逐漸增大,這是由于卡爾曼濾波的預(yù)測是根據(jù)附近兩幀的速度和位置進(jìn)行預(yù)測和更新,如果附近兩幀的速度位置變化較大,則卡爾曼增益的過大變化會導(dǎo)致對后面預(yù)測的偏差增大,從而匹配不成功。
圖12 仿真跟蹤效果對比
圖13和圖14為kitti實景測試集的跟蹤效果對比,使用了連續(xù)4幀的跟蹤場景,圖13使用了卡爾曼三維跟蹤+深度排序+遮擋處理的跟蹤方法,圖14使用了LSTM+深度排序+遮擋處理的跟蹤方法。在圖13中,可以看到從第3幀開始,被紅色車所遮擋的粉紅色跟蹤框切換為了深紅色的跟蹤框,體現(xiàn)了卡爾曼的方法有一定的不足。
圖13 卡爾曼kitti測試效果
圖14 LSTM kitti測試效果
而在圖14中的相同場景下,LSTM的方法則成功解決了上述卡爾曼的方法的不足。
在表7中,可以看到基于卡爾曼三維跟蹤和基于LSTM網(wǎng)絡(luò)的跟蹤方法的性能對比。與卡爾曼濾波不同,在加入遮擋處理之后,LSTM的性能沒有下降,而是有了0.05個點的提升,這說明LSTM內(nèi)在的長時間記憶能力發(fā)揮了作用,能很好地對遮擋物體進(jìn)行估計,從而使得遮擋物體的匹配成功率有一定程度的提升。
表8為三維立體框的交并比指標(biāo),從這個指標(biāo)可以間接地看出不同方法預(yù)測模型的性能高低。
表7 不同跟蹤方法性能評價
表8 三維立體框交并比
本文致力于提高無人駕駛感知模塊的檢測與跟蹤精度來提升無人駕駛的安全性和可靠性,主要的工作總結(jié)如下。
1)研究了基于視覺的動態(tài)目標(biāo)檢測的方法。本文在原始的Faster R-CNN目標(biāo)檢測框架上進(jìn)行優(yōu)化。在C-RPN網(wǎng)絡(luò)中,通過增加多尺度的錨框來獲得基于錨點和基于車輛的候選區(qū)域提案,從而提升了檢測的精確度。在CRN網(wǎng)絡(luò)中,通過在全連接層后增加Inception模塊,來減小池化所造成的損失,獲得精準(zhǔn)的車輛回歸邊框以及三維中心在二維平面的投影。針對傳統(tǒng)的NMS算法對遮擋車輛的漏檢問題,對其進(jìn)行優(yōu)化,提出了O-NMS算法,成功解決遮擋車輛漏檢問題,提升了目標(biāo)檢測的精確度。
2)研究了基于卡爾曼濾波的動態(tài)目標(biāo)跟蹤的方法。通過提取目標(biāo)車輛的表觀特征以及對車輛進(jìn)行三維尺寸和三維位置估計,來提升車輛匹配的魯棒性。對于遮擋的車輛,由于具有近似的深度信息,所以在馬爾可夫決策過程的狀態(tài)空間中加入了遮擋的狀態(tài),通過對遮擋車輛的三維運動估計來維持對遮擋車輛的跟蹤與匹配。經(jīng)過改進(jìn)后的目標(biāo)跟蹤方法在無人駕駛復(fù)雜的路況中,對跟蹤目標(biāo)車輛有著穩(wěn)定良好的表現(xiàn),且對遮擋車輛的跟蹤有了很大的提升。
3)研究了基于LSTM網(wǎng)絡(luò)的動態(tài)目標(biāo)跟蹤的方法。針對基于卡爾曼濾波器的動態(tài)目標(biāo)跟蹤方法在處理完全遮擋的車輛目標(biāo)時依舊存在ID切換問題,在分析后得出卡爾曼濾波器無法支持長時間記憶,所以引進(jìn)了LSTM網(wǎng)絡(luò)。用于預(yù)測的LSTM網(wǎng)絡(luò)通過T-1幀的車輛的三維位置及T-5~T-1幀的車輛速度來預(yù)測第T幀的車輛位置及速度信息。用于更新的LSTM網(wǎng)絡(luò)通過預(yù)測網(wǎng)絡(luò)的信息以及當(dāng)前幀檢測的車輛位置信息來對當(dāng)前幀車輛的位置信息以及速度信息進(jìn)行更新。通過兩個LSTM網(wǎng)絡(luò)使不同狀態(tài)的車輛進(jìn)行有序切換,來獲得魯棒的目標(biāo)跟蹤效果。在實驗的效果上來看,該方法有效解決了跟蹤車輛完全被遮擋后重現(xiàn)時跟蹤ID切換的問題。
通過以上的目標(biāo)檢測與跟蹤流程,可以較好地適應(yīng)無人駕駛的復(fù)雜路況和場景,對于跟蹤車輛遮擋的問題有著較好的解決效果,故有良好的應(yīng)用價值。