李云鵬,毛 琳,楊大偉,劉長(zhǎng)宏
(大連民族大學(xué) 機(jī)電工程學(xué)院,遼寧 大連 116605)
賽道目標(biāo)錐桶檢測(cè)是中國(guó)大學(xué)生無人方程式大賽[1]的核心任務(wù)之一,錐桶檢測(cè)算法的準(zhǔn)確性直接決定上層無人系統(tǒng)的穩(wěn)定性和方程式賽車的安全性。激光雷達(dá)具有點(diǎn)云測(cè)量精度高、穩(wěn)定性強(qiáng)、可直接獲取目標(biāo)物三維坐標(biāo)信息和反射強(qiáng)度等優(yōu)點(diǎn),因此在自動(dòng)駕駛?cè)S目標(biāo)檢測(cè)中應(yīng)用廣泛[2],但在無人駕駛方程式大賽中仍存在目標(biāo)識(shí)別精度不足、準(zhǔn)確率低等問題。
目前主流的三維點(diǎn)云目標(biāo)檢測(cè)算法可以劃分為基于傳統(tǒng)方法的目標(biāo)檢測(cè)和基于深度學(xué)習(xí)的目標(biāo)檢測(cè)。基于傳統(tǒng)方法的目標(biāo)檢測(cè)算法主要有K-Means聚類算法[3]、基于密度的聚類方法[4]和歐式聚類目標(biāo)檢測(cè)算法[5],此類算法結(jié)構(gòu)簡(jiǎn)單,檢測(cè)速度較快,但檢測(cè)精度不足且對(duì)于中遠(yuǎn)目標(biāo)檢測(cè)存在誤檢、漏檢情況。基于深度學(xué)習(xí)的點(diǎn)云目標(biāo)檢測(cè)算法利用神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)目標(biāo)三維檢測(cè),主要算法有MV 3D[6]、Point R-CNN[7]、Point Net[8]和Voxel Net[9]等,基于深度學(xué)習(xí)的點(diǎn)云目標(biāo)檢測(cè)算法精度高、擴(kuò)展性好,但復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)占用大量計(jì)算資源,不適用于無人駕駛方程式賽車領(lǐng)域。
為解決無人駕駛方程式賽車目標(biāo)檢測(cè)精度不足造成的誤檢、漏檢問題,本文提出一種基于空間距離特征約束的點(diǎn)云三維目標(biāo)檢測(cè)算法(Distance Based Cluster,DBC),通過自適應(yīng)調(diào)整聚類參數(shù)實(shí)現(xiàn)不同序列錐桶的精確識(shí)別。DBC算法引入點(diǎn)云重構(gòu)思想(Distance Based Voxel,DBV),加強(qiáng)被檢測(cè)目標(biāo)的特征信息,以距離特征約束重構(gòu)空間點(diǎn)云,在保留關(guān)鍵信息的同時(shí)減少冗余點(diǎn)云數(shù)據(jù),有效提升目標(biāo)檢測(cè)速度,降低傳統(tǒng)點(diǎn)云目標(biāo)檢測(cè)的誤檢、漏檢率。
歐式聚類三維目標(biāo)檢測(cè)方法(Euclidean Clustering Detection, ECD)以點(diǎn)云之間的歐式距離為度量,通過固定聚類閾值對(duì)點(diǎn)云簇實(shí)現(xiàn)聚類分割。但由于激光雷達(dá)的回波特性,原始點(diǎn)云數(shù)據(jù)量巨大且在中遠(yuǎn)距離內(nèi)呈發(fā)散結(jié)構(gòu),導(dǎo)致固定閾值的ECD檢測(cè)算法在中遠(yuǎn)距離目標(biāo)檢測(cè)中精度較低。
DBC算法整體流程如圖1。在ECD算法基礎(chǔ)上引入空間距離特征,并增加數(shù)據(jù)預(yù)處理模塊和目標(biāo)錐桶判定準(zhǔn)則模塊。解決原始點(diǎn)云數(shù)據(jù)冗余問題,有利于聚類算法對(duì)關(guān)鍵點(diǎn)云簇的檢測(cè),進(jìn)而提高聚類速度與精度,在保證無人駕駛方程式大賽中點(diǎn)云目標(biāo)檢測(cè)精度的同時(shí)提高檢測(cè)速度。

圖1 DBC算法整體流程圖
針對(duì)無人駕駛方程式大賽環(huán)境感知任務(wù)中激光點(diǎn)云數(shù)據(jù)大量冗余,導(dǎo)致檢測(cè)算法實(shí)時(shí)性不高的問題,本文引入數(shù)據(jù)預(yù)處理模塊,提出DBV點(diǎn)云重構(gòu)算法,以賽道錐桶與賽車之間的距離度量為約束對(duì)原始點(diǎn)云數(shù)據(jù)進(jìn)行體素重構(gòu),降低干擾點(diǎn)云數(shù)據(jù)、突出目標(biāo)特征、減小計(jì)算量從而提高算法運(yùn)行速度以滿足賽車實(shí)時(shí)性要求。DBV點(diǎn)云重構(gòu)算法流程如圖2。

圖2 DBV點(diǎn)云重構(gòu)算法流程
預(yù)處理過程首先對(duì)原始點(diǎn)云提取感興趣區(qū)域,以車前X軸正方向作為感興趣區(qū)域進(jìn)行檢測(cè),由于激光雷達(dá)硬件特性導(dǎo)致大量點(diǎn)云來自地面反射,通過RASANC算法[10]擬合地面模型,過濾地面點(diǎn)云減少干擾,以去除地面后的點(diǎn)云數(shù)據(jù)作為輸入通過DBV算法實(shí)現(xiàn)點(diǎn)云重構(gòu)。DBV算法以X軸方向的歐式距離為約束將點(diǎn)云空間劃分為不同尺寸的體素立方體,用質(zhì)心點(diǎn)替換立方體區(qū)域點(diǎn)云從而實(shí)現(xiàn)點(diǎn)云重構(gòu)。


(1)
式中:d表示車前X軸方向距離度量;L、W、H代表目標(biāo)障礙物的長(zhǎng)、寬、高;f代表激光雷達(dá)采集幀率;F表示激光雷達(dá)采樣率。通過式(1)計(jì)算不同歐氏距離下體素立方體尺寸R,分別取X、Y、Z三個(gè)維度中最大坐標(biāo)值(Xmax,Ymax,Zmax)和最小坐標(biāo)值(Xmix,Ymix,Zmix)并以邊長(zhǎng)為R的立方體為最小空間單元將點(diǎn)云空間劃分為D個(gè)體素塊:
(2)
對(duì)同一體素塊內(nèi)的點(diǎn)云標(biāo)注相同索引h,并計(jì)算h內(nèi)重心點(diǎn)坐標(biāo):
(3)
通過h內(nèi)重心點(diǎn)替換立方體全部點(diǎn)云以實(shí)現(xiàn)點(diǎn)云重構(gòu)。DBV可視化結(jié)果如圖3。重構(gòu)后的點(diǎn)云如圖3b所示,點(diǎn)云數(shù)量由原始的120萬減少到78萬,點(diǎn)云數(shù)據(jù)量大大降低,有效減少冗余點(diǎn)云數(shù)據(jù)并保留目標(biāo)點(diǎn)云的關(guān)鍵特征。

a) KITTI原始點(diǎn)云數(shù)據(jù) b) DBV重構(gòu)點(diǎn)云
重構(gòu)后的賽場(chǎng)數(shù)據(jù)保留了錐桶關(guān)鍵點(diǎn)云,但由于點(diǎn)云在空間中的無序性和離散性無法進(jìn)行有效檢測(cè),通過DBC算法將點(diǎn)云數(shù)據(jù)模型以距離為準(zhǔn)則聚集成多個(gè)同屬性簇群以實(shí)現(xiàn)錐桶檢測(cè)。


圖4 構(gòu)建三維k-d樹

(4)
(5)

(6)
式中:di,j表示不同點(diǎn)云之間歐式距離;k表示聚類序列。若di,j不大于聚類閾值ε則分割為相同目標(biāo)。
在對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行聚類時(shí)不可避免地會(huì)發(fā)生誤檢現(xiàn)象,除目標(biāo)錐桶外的人、車、物等不可預(yù)見性干擾都會(huì)對(duì)聚類結(jié)果產(chǎn)生影響,從而導(dǎo)致賽車路徑規(guī)劃出現(xiàn)偏差造成安全事故。針對(duì)這一問題,本文對(duì)聚類后的結(jié)果進(jìn)行規(guī)則性約束,分別以聚類范圍內(nèi)點(diǎn)云數(shù)量、聚類擬合框尺寸和原始點(diǎn)云數(shù)據(jù)反射強(qiáng)度作為約束條件制定目標(biāo)錐桶判斷準(zhǔn)則。
1.3.1 約束條件


表1 車前目標(biāo)點(diǎn)云分布 m

(7)
(3)約束條件3。原始激光點(diǎn)云數(shù)據(jù)中包含激光反射強(qiáng)度信息Ii,其大小取決于目標(biāo)物體的表面材質(zhì)、光滑程度和顏色等因素,目標(biāo)障礙物表面越光滑、顏色越淺其反射強(qiáng)度越高。賽道錐桶采用PVC材質(zhì)且表面光滑、顏色較淺,與賽道周圍環(huán)境差別較大,反射強(qiáng)度Ik遠(yuǎn)高于其他干擾目標(biāo)。
1.3.2 判斷準(zhǔn)則
基于上述三類約束條件,總結(jié)目標(biāo)錐桶判定準(zhǔn)則,同時(shí)滿足以下三條準(zhǔn)則即可判定聚類目標(biāo)為賽道錐桶目標(biāo)。
(2)判斷準(zhǔn)則2:聚類擬合框尺寸(lk,hk,wk)滿足世界坐標(biāo)系下錐桶真實(shí)尺寸;
(3)判斷準(zhǔn)則3:聚類中心點(diǎn)云反射強(qiáng)度信息Ik滿足100cd≤Ik≤150cd。
本算法依托于“民族之魂無人方程式賽車平臺(tái)”,搭載鐳神智能C32激光雷達(dá),運(yùn)行環(huán)境配置為超恩工控機(jī)Intel i5-8400、車規(guī)級(jí)NVIDIA1660顯卡,操作系統(tǒng)系統(tǒng)為Ubuntu16.04,編程語言為C++,基于ROS Kinetic系統(tǒng)實(shí)現(xiàn)硬件驅(qū)動(dòng)和算法適配封裝工作。激光雷達(dá)以10 Hz頻率采集環(huán)境信息并保存為Rosbag格式,激光雷達(dá)主要參數(shù)配置見表2。

表2 激光雷達(dá)主要參數(shù)配置
數(shù)據(jù)集使用自動(dòng)駕駛開源KITTI數(shù)據(jù)集,包含389對(duì)立體圖像和光流圖,39.2 km視覺測(cè)距序列以及超過200 k 3D標(biāo)注物體的圖像,驗(yàn)證數(shù)據(jù)集采用自制模擬賽道數(shù)據(jù)集,包括50 m直線加速賽道和50 m過彎賽道,共計(jì)10組,20個(gè)目標(biāo)錐桶。本文使用特定交并比(Intersection Over Union,IoU)下的平均召回率(Average Recall,AR)作為算法性能評(píng)價(jià)指標(biāo)。IoU值表示預(yù)測(cè)值與真實(shí)值之間的交并范圍,IoU的值越大代表預(yù)測(cè)值越接近真實(shí)值,評(píng)價(jià)指標(biāo)越嚴(yán)格。召回率是目標(biāo)檢測(cè)領(lǐng)域運(yùn)用廣泛的評(píng)價(jià)指標(biāo)之一,其數(shù)學(xué)描述如式(8)。
(8)
式中:TP表示正樣本預(yù)測(cè)為正類的樣本數(shù)量;FN表示正樣本被預(yù)測(cè)為負(fù)類的樣本數(shù)量。設(shè)置IoU為0.7對(duì)ECD檢測(cè)算法和DBC檢測(cè)算法在KITTI數(shù)據(jù)集上的檢測(cè)效果進(jìn)行對(duì)比;設(shè)置IoU為0.5對(duì)ECD檢測(cè)算法和DBC檢測(cè)算法在模擬賽道數(shù)據(jù)集上的檢測(cè)效果進(jìn)行對(duì)比。
以無人駕駛方程式賽車為實(shí)驗(yàn)平臺(tái),在KITTI數(shù)據(jù)集和模擬賽道數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn)測(cè)試,為更直觀地比對(duì)說明,使用召回率作為評(píng)價(jià)指標(biāo)記錄和統(tǒng)計(jì)了在KITTI數(shù)據(jù)集和模擬賽道數(shù)據(jù)集上基準(zhǔn)算法和DBC檢測(cè)算法的消融對(duì)比實(shí)驗(yàn)結(jié)果,ECD算法和DBC算法在不同數(shù)據(jù)集中的召回率對(duì)比結(jié)果見表3。

表3 三維目標(biāo)檢測(cè)算法對(duì)比 %
從表3實(shí)驗(yàn)數(shù)據(jù)可以看出,對(duì)比現(xiàn)有三維目標(biāo)檢測(cè)算法,本文提出的DBC檢測(cè)算法對(duì)KITTI數(shù)據(jù)集和模擬賽道數(shù)據(jù)集的召回率均有明顯提升。其中,在未加入判定準(zhǔn)則前,DBC算法相對(duì)于基準(zhǔn)檢測(cè)算法平均召回率提高20.1%;在加入判定準(zhǔn)則后,平均召回率提高32.7%。實(shí)驗(yàn)數(shù)據(jù)表明,在三維目標(biāo)檢測(cè)算法中,閾值參數(shù)ε對(duì)聚類分割結(jié)果影響顯著,驗(yàn)證了通過引入空間距離特征實(shí)現(xiàn)自適應(yīng)閾值參數(shù)調(diào)整的可行性及加入判定準(zhǔn)則模塊的必要性。
為更詳細(xì)地說明本文所提出算法的有效性,將ECD檢測(cè)算法和DBC檢測(cè)算法在KITTI數(shù)據(jù)集和自制賽道數(shù)據(jù)集中的可視化結(jié)果進(jìn)行對(duì)比分析。ECD算法和DBC算法檢測(cè)結(jié)果對(duì)比如圖5,行(1)為KITTI數(shù)據(jù)集,行(2)為模擬彎道數(shù)據(jù)集,行(3)為模擬直線賽道數(shù)據(jù)集。

圖5 ECD算法與DBC算法檢測(cè)結(jié)果對(duì)比
原始數(shù)據(jù)冗余信息過多,關(guān)鍵點(diǎn)云特征被稀釋導(dǎo)致聚類算法精度降低,通過DBV算法對(duì)原始數(shù)據(jù)進(jìn)行點(diǎn)云重構(gòu),有效降低干擾點(diǎn)云數(shù)據(jù)量,增強(qiáng)關(guān)鍵點(diǎn)云特征信息,重構(gòu)后的點(diǎn)云作為輸入對(duì)ECD檢測(cè)算法和DBC檢測(cè)算法進(jìn)行對(duì)比實(shí)驗(yàn)。在KITTI數(shù)據(jù)集中,ECD算法對(duì)中遠(yuǎn)距離下道路兩旁行人和車輛等目標(biāo)檢測(cè)準(zhǔn)確率較低并出現(xiàn)漏檢。本文算法相對(duì)于基準(zhǔn)算法在中遠(yuǎn)距離下表現(xiàn)更好,能夠更為精細(xì)地檢測(cè)出道路兩旁建筑和行人,有效避免漏檢問題。在模擬直線和彎道數(shù)據(jù)集中,基準(zhǔn)算法在中遠(yuǎn)距離下檢測(cè)精度不高,對(duì)目標(biāo)錐桶定位不準(zhǔn)確,本文所提算法對(duì)中遠(yuǎn)距離下的目標(biāo)錐桶都具有較好的檢測(cè)精度,能夠精確識(shí)別全距離下目標(biāo)錐桶,解決誤檢、漏檢問題并輸出賽道錐桶激光雷達(dá)坐標(biāo)系下空間三維坐標(biāo),簡(jiǎn)潔、高效地完成無人方程式賽車環(huán)境感知任務(wù),為賽車路徑規(guī)劃提供必要保障。
為驗(yàn)證本文方法的實(shí)時(shí)性,對(duì)算法運(yùn)行時(shí)間進(jìn)行比較,運(yùn)行時(shí)間對(duì)比見表4。在檢測(cè)精度明顯提升的情況下,DBC目標(biāo)檢測(cè)算法運(yùn)行時(shí)間與基準(zhǔn)算法運(yùn)行時(shí)間相差不多。經(jīng)仿真實(shí)驗(yàn)表明,DBC檢測(cè)算法相比于基準(zhǔn)算法在無人方程式大賽中目標(biāo)錐桶檢測(cè)精度上有較大提升,同時(shí)滿足賽車實(shí)時(shí)性的要求。

表4 運(yùn)行時(shí)間對(duì)比 /ms
針對(duì)中國(guó)大學(xué)生無人方程式大賽環(huán)境感知任務(wù)中,現(xiàn)存檢測(cè)算法在點(diǎn)云目標(biāo)檢測(cè)中精度低、中遠(yuǎn)距離易出現(xiàn)誤檢漏檢的問題,為確保無人賽車規(guī)劃、控制工作順利展開,本文提出DBC點(diǎn)云目標(biāo)檢測(cè)算法,將空間距離特征作為DBV點(diǎn)云重構(gòu)和聚類條件,引入錐桶判斷準(zhǔn)則,節(jié)省賽車上位機(jī)計(jì)算資源的同時(shí)增強(qiáng)關(guān)鍵點(diǎn)云特征信息,提高目標(biāo)錐桶檢測(cè)精度,使其更好地應(yīng)用于無人駕駛方程式賽車。后續(xù)工作中,在滿足算法精度的同時(shí)將進(jìn)一步提高算法檢測(cè)速度,提升賽車最高時(shí)速。