吳開(kāi)陽(yáng), 秦文虎, 云中華, 師威鵬
(東南大學(xué) 儀器科學(xué)與工程學(xué)院,江蘇 南京 210096)
在自動(dòng)駕駛技術(shù)中,3D多目標(biāo)檢測(cè)跟蹤技術(shù)是當(dāng)前的研究熱點(diǎn)之一,其主要目的是對(duì)車輛周圍環(huán)境中物體的位置、速度、大小等狀態(tài)進(jìn)行估計(jì)與預(yù)測(cè)。得益于近年來(lái)3D目標(biāo)檢測(cè)技術(shù)[1,2]的快速發(fā)展,3D多目標(biāo)跟蹤技術(shù)[3~5]也有了較大的進(jìn)步。
然而,目前許多研究重視提高檢測(cè)與跟蹤的精度,但忽略了計(jì)算時(shí)間成本并增加了系統(tǒng)的復(fù)雜性,給目標(biāo)的檢測(cè)與跟蹤帶來(lái)了一定的不利影響。本文在考慮自動(dòng)駕駛應(yīng)用場(chǎng)景實(shí)際需求后,提出了一種快速而準(zhǔn)確的3D檢測(cè)跟蹤技術(shù)。
該技術(shù)結(jié)合3D體素卷積神經(jīng)網(wǎng)絡(luò)(CNN)和點(diǎn)云提取的特征進(jìn)行全面特征學(xué)習(xí),以實(shí)現(xiàn)3D多目標(biāo)檢測(cè);利用具有恒定線速度和角速度的過(guò)程模型,并結(jié)合3D卡爾曼濾波器進(jìn)行狀態(tài)預(yù)測(cè)與更新;在數(shù)據(jù)關(guān)聯(lián)中利用馬氏距離[6]與貪心算法對(duì)預(yù)測(cè)目標(biāo)和實(shí)際目標(biāo)進(jìn)行匹配,且對(duì)離散點(diǎn)加以進(jìn)一步的關(guān)聯(lián)檢測(cè),增加3D多目標(biāo)跟蹤的魯棒性。同時(shí)結(jié)合時(shí)間戳信息,通過(guò)逐幀過(guò)濾目標(biāo)檢測(cè)器中的異常值來(lái)實(shí)現(xiàn)幀與幀之間的數(shù)據(jù)關(guān)聯(lián),以對(duì)每個(gè)目標(biāo)進(jìn)行實(shí)時(shí)跟蹤。
為提高3D多目標(biāo)檢測(cè)與跟蹤的精確度,本文結(jié)合3D目標(biāo)檢測(cè)算法與3D多目標(biāo)匹配方法兩個(gè)方面進(jìn)行研究,所設(shè)計(jì)的方案流程主要分為如下4個(gè)步驟:1)融合基于體素和基于點(diǎn)云的方法,將檢測(cè)到的3D目標(biāo)使用包圍盒框選呈現(xiàn);2)通過(guò)前一幀的目標(biāo)狀態(tài),利用3D卡爾曼濾波預(yù)測(cè)當(dāng)前幀的目標(biāo)狀態(tài);3)使用數(shù)據(jù)關(guān)聯(lián)方案將檢測(cè)結(jié)果與預(yù)測(cè)結(jié)果進(jìn)行匹配;4)根據(jù)檢測(cè)結(jié)果,利用3D卡爾曼濾波更新目標(biāo)狀態(tài)。
為提高算法安全性,在上述步驟之后,需對(duì)未匹配的目標(biāo)做進(jìn)一步判斷。如檢測(cè)對(duì)象未匹配則可認(rèn)為是進(jìn)入興趣區(qū)域內(nèi)的潛在目標(biāo),為避免將其誤判,需對(duì)連續(xù)檢測(cè)到的未匹配對(duì)象創(chuàng)建新目標(biāo)。同時(shí),將不匹配的跟蹤目標(biāo)認(rèn)為是離開(kāi)興趣區(qū)域的潛在目標(biāo),為避免由于某些檢測(cè)幀丟失而刪除真正目標(biāo),故只對(duì)連續(xù)匹配失敗的跟蹤目標(biāo)進(jìn)行目標(biāo)刪除。方案總體架構(gòu)如圖1所示。
圖1 3D多目標(biāo)檢測(cè)跟蹤方案總體架構(gòu)
3D目標(biāo)檢測(cè)主要分為候選區(qū)域選擇與微調(diào)關(guān)鍵點(diǎn)兩步,具體架構(gòu)如圖2所示。
圖2 3D目標(biāo)檢測(cè)架構(gòu)
在第一步中,首先,利用最遠(yuǎn)點(diǎn)采樣法對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行篩選;然后,利用基于體素的方法得到候選區(qū)域,即采用體積較小的體素進(jìn)行分割,并利用體素特征編碼提取出每個(gè)體素的特征,再將特征輸入至3D卷積網(wǎng)絡(luò)中進(jìn)行下采樣,依次對(duì)特征進(jìn)行升維,非空體素的特征值即為內(nèi)部所有點(diǎn)特征值的平均值。第二步是關(guān)鍵點(diǎn)特征微調(diào),首先,利用分層提取特征思想與集合抽象化方法,動(dòng)態(tài)選擇具有代表性和判別性的特征,以突出對(duì)象特征、抑制雜波,并將所有提取到的特征融合在一起;接著,結(jié)合體素自適應(yīng)處理后的特征,作為關(guān)鍵點(diǎn)的總特征,以獲得更豐富的語(yǔ)義信息,有助于模型更好的回歸;最后,進(jìn)行消融實(shí)驗(yàn),確認(rèn)目標(biāo)檢測(cè)的結(jié)果。
為降低背景中關(guān)鍵點(diǎn)特征對(duì)微調(diào)步驟的影響,接下來(lái)對(duì)關(guān)鍵點(diǎn)進(jìn)行權(quán)重預(yù)測(cè),通過(guò)訓(xùn)練兩層感知機(jī),使模型可以區(qū)分出前景點(diǎn)和背景點(diǎn),并對(duì)背景點(diǎn)賦予較小的權(quán)重。
為預(yù)測(cè)目標(biāo)的狀態(tài),利用恒定速度模型近似目標(biāo)的幀間位移,每個(gè)3D目標(biāo)的運(yùn)動(dòng)狀態(tài)可用一個(gè)11維向量S=(x,y,z,θ,l,w,h,vx,vy,vz,vθ)進(jìn)行表示,其中,(x,y,z)為目標(biāo)的3D坐標(biāo)中心,(l,w,h)為目標(biāo)的3D大小,(vx,vy,vz)為目標(biāo)在3D空間中的速度,θ為航向角,vθ為角速度,t為當(dāng)前幀,t+1為預(yù)測(cè)幀。目標(biāo)的11維動(dòng)力學(xué)模型如式(1)所示
(1)
由于新一幀的誤差與上一幀的狀態(tài)有關(guān),故將上一幀的測(cè)量值乘以一個(gè)高斯變量作為新一幀的噪聲。式(1)中,線性加速度和角加速度模型的隨機(jī)變量Δ服從均值為零、協(xié)方差為Q的高斯分布,并假設(shè)線性速度、角速度和目標(biāo)的大小在預(yù)測(cè)過(guò)程中不變,即所有變化發(fā)生在狀態(tài)更新步驟中。
卡爾曼濾波預(yù)測(cè)步驟如式(2)所示
(2)
(3)
(4)
由于目標(biāo)在實(shí)際場(chǎng)景中水平移動(dòng),且不可能在短時(shí)間內(nèi)完成180°的航向角變化,故當(dāng)檢測(cè)目標(biāo)狀態(tài)與預(yù)測(cè)目標(biāo)狀態(tài)的航向角相差90°~270°時(shí),先將預(yù)測(cè)的目標(biāo)狀態(tài)航向角旋轉(zhuǎn)180°,再計(jì)算馬氏距離,一般這種情況是因?yàn)闄z測(cè)器輸出了不正確的目標(biāo)方向,或是數(shù)據(jù)關(guān)聯(lián)錯(cuò)誤所導(dǎo)致。最后,利用帶有上限閾值的貪心算法解決目標(biāo)匹配問(wèn)題。
在準(zhǔn)確的數(shù)據(jù)關(guān)聯(lián)之后,使用式(5)更新t+1時(shí)刻的真實(shí)狀態(tài)均值和協(xié)方差
(5)
式中K為卡爾曼增益,I為單位矩陣。
在上述步驟后,將當(dāng)前幀的目標(biāo)狀態(tài)更新數(shù)據(jù)傳入下一幀中,作為下一幀目標(biāo)狀態(tài)預(yù)測(cè)初值,依次傳遞以實(shí)現(xiàn)3D目標(biāo)的實(shí)時(shí)檢測(cè)與跟蹤。
實(shí)驗(yàn)采用速騰聚創(chuàng)16線激光雷達(dá)進(jìn)行測(cè)試,該雷達(dá)采用混合固態(tài)激光方式,集成16個(gè)激光收發(fā)組件,測(cè)量距離為150 m,測(cè)量精度在2 cm以內(nèi),出點(diǎn)數(shù)高達(dá)320 000點(diǎn)/s,轉(zhuǎn)速在300~1 200 r/min,垂直測(cè)角30°。實(shí)驗(yàn)在東南大學(xué)四牌樓校區(qū)采集了部分場(chǎng)景的點(diǎn)云數(shù)據(jù),圖3(a)為采集數(shù)據(jù)所用到的自組裝小車,圖3(b)為實(shí)驗(yàn)路線所對(duì)應(yīng)的衛(wèi)星圖及采集路線。由于激光雷達(dá)垂直檢測(cè)角度為30°,在采集數(shù)據(jù)時(shí),距離激光雷達(dá)非常近的目標(biāo)將處于激光雷達(dá)掃描盲區(qū)內(nèi),又因激光線束有限導(dǎo)致離激光雷達(dá)較遠(yuǎn)目標(biāo)的點(diǎn)云數(shù)據(jù)十分稀疏,極大地影響檢測(cè)與跟蹤的效果。
圖3 自組裝小車與采集路線示意
實(shí)驗(yàn)中設(shè)定訓(xùn)練數(shù)據(jù)分類只包含車輛與行人兩類,且未對(duì)其余障礙物進(jìn)行準(zhǔn)確識(shí)別。實(shí)驗(yàn)采集的實(shí)際場(chǎng)景點(diǎn)云數(shù)據(jù)圖如圖4(a)所示,所提檢測(cè)方法的實(shí)驗(yàn)效果如圖4(b)所示,跟蹤方法的實(shí)驗(yàn)效果如圖4(c)所示。
圖4 實(shí)驗(yàn)結(jié)果
從圖4(a)中可以看出,點(diǎn)云數(shù)據(jù)包含實(shí)驗(yàn)所需檢測(cè)的行人與車輛。圖4(b)可以看出,該檢測(cè)算法準(zhǔn)確地檢測(cè)出了行人與車輛,但仍然存在一些不足,如非??拷す饫走_(dá)的行人由于部分身體進(jìn)入了激光雷達(dá)掃描盲區(qū)導(dǎo)致部分點(diǎn)云數(shù)據(jù)丟失,沒(méi)有被準(zhǔn)確檢測(cè),同時(shí)由于激光雷達(dá)掃描地面所形成的地面點(diǎn)將路邊車輛連在一起,導(dǎo)致檢測(cè)算法錯(cuò)誤地將多輛車檢測(cè)為一輛。圖4(c)可以看出,所提跟蹤算法準(zhǔn)確地跟蹤了3D場(chǎng)景中的多個(gè)目標(biāo),并將跟蹤目標(biāo)準(zhǔn)確地框出并依次編號(hào),圖4(c)中被分類為“Unknown”目標(biāo)的為路邊障礙物,不屬于行人或車輛。
綜上所述,該實(shí)驗(yàn)方法在實(shí)車實(shí)驗(yàn)中有著不錯(cuò)的結(jié)果,能夠有效對(duì)3D場(chǎng)景中的多目標(biāo)進(jìn)行檢測(cè)與跟蹤。
為驗(yàn)證本方法的泛化性能,在NVIDIA GeForce GTX 1050 TI GPU環(huán)境下,利用智能駕駛著名數(shù)據(jù)集—KITTI[7],進(jìn)行了驗(yàn)證測(cè)試與結(jié)果的對(duì)比。
實(shí)驗(yàn)采用KITTI數(shù)據(jù)集官方發(fā)布的評(píng)估工具進(jìn)行評(píng)價(jià),具體評(píng)價(jià)指標(biāo)為檢測(cè)識(shí)別的平均精度。實(shí)驗(yàn)中,根據(jù)遮擋情況、最小包圍盒像素值大小以及最大包圍盒重疊比例,將數(shù)據(jù)集分為簡(jiǎn)單、中等、困難類別,具體分類如表1所示。
表1 數(shù)據(jù)集分類標(biāo)準(zhǔn)
表2給出了常用的3D目標(biāo)檢測(cè)算法結(jié)果,并與本文實(shí)驗(yàn)結(jié)果進(jìn)行了對(duì)比。
表2 3D目標(biāo)檢測(cè)算法對(duì)比
由表2可以看出,本文所提方法在中等和困難類別中,明顯優(yōu)于僅基于體素或僅基于點(diǎn)云的檢測(cè)算法,在簡(jiǎn)單類別中也有著不錯(cuò)的表現(xiàn),處理數(shù)據(jù)所用時(shí)間處于中等水平。
由于MOTA和IDF1評(píng)價(jià)標(biāo)準(zhǔn)過(guò)于強(qiáng)調(diào)目標(biāo)檢測(cè)模塊的重要性,而忽略了數(shù)據(jù)關(guān)聯(lián)與狀態(tài)更新模塊,故實(shí)驗(yàn)采用2021年2月25日更新的KITTI 最新3D多目標(biāo)跟蹤評(píng)價(jià)工具[10]對(duì)各系統(tǒng)進(jìn)行評(píng)估,評(píng)價(jià)標(biāo)準(zhǔn)分別為高階跟蹤精度(HOTA)、關(guān)聯(lián)準(zhǔn)確率(AssA)、聯(lián)合召回率(AssRe)、聯(lián)合精確率(AssPr)、定位精度(LocA)。HOTA評(píng)價(jià)標(biāo)準(zhǔn)則準(zhǔn)確測(cè)量各模塊的誤差,以一種平衡的方式組合它們,并整合了跟蹤結(jié)果的定位精確度。其具體計(jì)算公式如式(6)所示
(6)
式中α為定位閾值,TP為將正類預(yù)測(cè)為正類,F(xiàn)N為將正類預(yù)測(cè)為負(fù)類,F(xiàn)P為將負(fù)類預(yù)測(cè)為正類,TN為將負(fù)類預(yù)測(cè)為負(fù)類,TPA為將正確數(shù)據(jù)關(guān)聯(lián)評(píng)價(jià)為正確數(shù)據(jù)關(guān)聯(lián),F(xiàn)NA為將正確數(shù)據(jù)關(guān)聯(lián)評(píng)價(jià)為錯(cuò)誤數(shù)據(jù)關(guān)聯(lián),F(xiàn)PA為將錯(cuò)誤數(shù)據(jù)關(guān)聯(lián)評(píng)價(jià)為正確數(shù)據(jù)關(guān)聯(lián),TNA為將錯(cuò)誤數(shù)據(jù)關(guān)聯(lián)評(píng)價(jià)為錯(cuò)誤數(shù)據(jù)關(guān)聯(lián)。
表3為常用的3D多目標(biāo)跟蹤算法結(jié)果。
表3 3D多目標(biāo)跟蹤算法對(duì)比 %
由表3結(jié)果表明,本文所提方法在關(guān)聯(lián)準(zhǔn)確性和聯(lián)合召回率上明顯優(yōu)于其他算法,尤其是聯(lián)合召回率有著顯著優(yōu)勢(shì),比AB3DMOT算法高出了3.44 %,同時(shí)在高階跟蹤精度、聯(lián)合準(zhǔn)確率和定位精度上也有著不錯(cuò)的表現(xiàn)。
根據(jù)式(6)計(jì)算得出不同定位閾值對(duì)應(yīng)的評(píng)價(jià)指標(biāo)結(jié)果如圖5所示,可以看出大部分評(píng)價(jià)指標(biāo)隨著定位閾值的增大而逐漸趨向于0,僅定位精度隨著定位閾值的增大而逐漸趨向于1,因此,定位閾值對(duì)跟蹤性能也有一定影響,需根據(jù)實(shí)際情況選取。
圖5 不同定位閾值的評(píng)價(jià)得分結(jié)果
本文方法通過(guò)高效的方式融合體素和點(diǎn)云的3D信息,提高了復(fù)雜場(chǎng)景下3D多目標(biāo)檢測(cè)的準(zhǔn)確率;采用帶有上限閾值的貪婪算法解決二分圖匹配問(wèn)題,加快了數(shù)據(jù)關(guān)聯(lián)的匹配速度;利用馬氏距離計(jì)算匹配度,綜合提升了3D多目標(biāo)跟蹤的準(zhǔn)確率。經(jīng)在東南大學(xué)進(jìn)行的實(shí)車實(shí)驗(yàn),驗(yàn)證了該方法能夠有效對(duì)3D場(chǎng)景中的多目標(biāo)進(jìn)行檢測(cè)與跟蹤。為進(jìn)一步進(jìn)行效果對(duì)比,本文方法還利用KITTI數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn),結(jié)果表明:該方法對(duì)基于激光雷達(dá)的3D多目標(biāo)檢測(cè)與跟蹤精確度有一定的提升作用,有助于在智能駕駛中提高車輛的檢測(cè)跟蹤與安全性能,具有一定的實(shí)用價(jià)值。