李云鵬,毛 琳,楊大偉,劉長宏
(大連民族大學 機電工程學院,遼寧 大連 116605)
賽道目標錐桶檢測是中國大學生無人方程式大賽[1]的核心任務(wù)之一,錐桶檢測算法的準確性直接決定上層無人系統(tǒng)的穩(wěn)定性和方程式賽車的安全性。激光雷達具有點云測量精度高、穩(wěn)定性強、可直接獲取目標物三維坐標信息和反射強度等優(yōu)點,因此在自動駕駛?cè)S目標檢測中應(yīng)用廣泛[2],但在無人駕駛方程式大賽中仍存在目標識別精度不足、準確率低等問題。
目前主流的三維點云目標檢測算法可以劃分為基于傳統(tǒng)方法的目標檢測和基于深度學習的目標檢測。基于傳統(tǒng)方法的目標檢測算法主要有K-Means聚類算法[3]、基于密度的聚類方法[4]和歐式聚類目標檢測算法[5],此類算法結(jié)構(gòu)簡單,檢測速度較快,但檢測精度不足且對于中遠目標檢測存在誤檢、漏檢情況。基于深度學習的點云目標檢測算法利用神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)目標三維檢測,主要算法有MV 3D[6]、Point R-CNN[7]、Point Net[8]和Voxel Net[9]等,基于深度學習的點云目標檢測算法精度高、擴展性好,但復雜的網(wǎng)絡(luò)結(jié)構(gòu)占用大量計算資源,不適用于無人駕駛方程式賽車領(lǐng)域。
為解決無人駕駛方程式賽車目標檢測精度不足造成的誤檢、漏檢問題,本文提出一種基于空間距離特征約束的點云三維目標檢測算法(Distance Based Cluster,DBC),通過自適應(yīng)調(diào)整聚類參數(shù)實現(xiàn)不同序列錐桶的精確識別。DBC算法引入點云重構(gòu)思想(Distance Based Voxel,DBV),加強被檢測目標的特征信息,以距離特征約束重構(gòu)空間點云,在保留關(guān)鍵信息的同時減少冗余點云數(shù)據(jù),有效提升目標檢測速度,降低傳統(tǒng)點云目標檢測的誤檢、漏檢率。
歐式聚類三維目標檢測方法(Euclidean Clustering Detection, ECD)以點云之間的歐式距離為度量,通過固定聚類閾值對點云簇實現(xiàn)聚類分割。但由于激光雷達的回波特性,原始點云數(shù)據(jù)量巨大且在中遠距離內(nèi)呈發(fā)散結(jié)構(gòu),導致固定閾值的ECD檢測算法在中遠距離目標檢測中精度較低。
DBC算法整體流程如圖1。在ECD算法基礎(chǔ)上引入空間距離特征,并增加數(shù)據(jù)預處理模塊和目標錐桶判定準則模塊。解決原始點云數(shù)據(jù)冗余問題,有利于聚類算法對關(guān)鍵點云簇的檢測,進而提高聚類速度與精度,在保證無人駕駛方程式大賽中點云目標檢測精度的同時提高檢測速度。
圖1 DBC算法整體流程圖
針對無人駕駛方程式大賽環(huán)境感知任務(wù)中激光點云數(shù)據(jù)大量冗余,導致檢測算法實時性不高的問題,本文引入數(shù)據(jù)預處理模塊,提出DBV點云重構(gòu)算法,以賽道錐桶與賽車之間的距離度量為約束對原始點云數(shù)據(jù)進行體素重構(gòu),降低干擾點云數(shù)據(jù)、突出目標特征、減小計算量從而提高算法運行速度以滿足賽車實時性要求。DBV點云重構(gòu)算法流程如圖2。
圖2 DBV點云重構(gòu)算法流程
預處理過程首先對原始點云提取感興趣區(qū)域,以車前X軸正方向作為感興趣區(qū)域進行檢測,由于激光雷達硬件特性導致大量點云來自地面反射,通過RASANC算法[10]擬合地面模型,過濾地面點云減少干擾,以去除地面后的點云數(shù)據(jù)作為輸入通過DBV算法實現(xiàn)點云重構(gòu)。DBV算法以X軸方向的歐式距離為約束將點云空間劃分為不同尺寸的體素立方體,用質(zhì)心點替換立方體區(qū)域點云從而實現(xiàn)點云重構(gòu)。
(1)
式中:d表示車前X軸方向距離度量;L、W、H代表目標障礙物的長、寬、高;f代表激光雷達采集幀率;F表示激光雷達采樣率。通過式(1)計算不同歐氏距離下體素立方體尺寸R,分別取X、Y、Z三個維度中最大坐標值(Xmax,Ymax,Zmax)和最小坐標值(Xmix,Ymix,Zmix)并以邊長為R的立方體為最小空間單元將點云空間劃分為D個體素塊:
(2)
對同一體素塊內(nèi)的點云標注相同索引h,并計算h內(nèi)重心點坐標:
(3)
通過h內(nèi)重心點替換立方體全部點云以實現(xiàn)點云重構(gòu)。DBV可視化結(jié)果如圖3。重構(gòu)后的點云如圖3b所示,點云數(shù)量由原始的120萬減少到78萬,點云數(shù)據(jù)量大大降低,有效減少冗余點云數(shù)據(jù)并保留目標點云的關(guān)鍵特征。
a) KITTI原始點云數(shù)據(jù) b) DBV重構(gòu)點云
重構(gòu)后的賽場數(shù)據(jù)保留了錐桶關(guān)鍵點云,但由于點云在空間中的無序性和離散性無法進行有效檢測,通過DBC算法將點云數(shù)據(jù)模型以距離為準則聚集成多個同屬性簇群以實現(xiàn)錐桶檢測。
圖4 構(gòu)建三維k-d樹
(4)
(5)
(6)
式中:di,j表示不同點云之間歐式距離;k表示聚類序列。若di,j不大于聚類閾值ε則分割為相同目標。
在對點云數(shù)據(jù)進行聚類時不可避免地會發(fā)生誤檢現(xiàn)象,除目標錐桶外的人、車、物等不可預見性干擾都會對聚類結(jié)果產(chǎn)生影響,從而導致賽車路徑規(guī)劃出現(xiàn)偏差造成安全事故。針對這一問題,本文對聚類后的結(jié)果進行規(guī)則性約束,分別以聚類范圍內(nèi)點云數(shù)量、聚類擬合框尺寸和原始點云數(shù)據(jù)反射強度作為約束條件制定目標錐桶判斷準則。
1.3.1 約束條件
表1 車前目標點云分布 m
(7)
(3)約束條件3。原始激光點云數(shù)據(jù)中包含激光反射強度信息Ii,其大小取決于目標物體的表面材質(zhì)、光滑程度和顏色等因素,目標障礙物表面越光滑、顏色越淺其反射強度越高。賽道錐桶采用PVC材質(zhì)且表面光滑、顏色較淺,與賽道周圍環(huán)境差別較大,反射強度Ik遠高于其他干擾目標。
1.3.2 判斷準則
基于上述三類約束條件,總結(jié)目標錐桶判定準則,同時滿足以下三條準則即可判定聚類目標為賽道錐桶目標。
(2)判斷準則2:聚類擬合框尺寸(lk,hk,wk)滿足世界坐標系下錐桶真實尺寸;
(3)判斷準則3:聚類中心點云反射強度信息Ik滿足100cd≤Ik≤150cd。
本算法依托于“民族之魂無人方程式賽車平臺”,搭載鐳神智能C32激光雷達,運行環(huán)境配置為超恩工控機Intel i5-8400、車規(guī)級NVIDIA1660顯卡,操作系統(tǒng)系統(tǒng)為Ubuntu16.04,編程語言為C++,基于ROS Kinetic系統(tǒng)實現(xiàn)硬件驅(qū)動和算法適配封裝工作。激光雷達以10 Hz頻率采集環(huán)境信息并保存為Rosbag格式,激光雷達主要參數(shù)配置見表2。
表2 激光雷達主要參數(shù)配置
數(shù)據(jù)集使用自動駕駛開源KITTI數(shù)據(jù)集,包含389對立體圖像和光流圖,39.2 km視覺測距序列以及超過200 k 3D標注物體的圖像,驗證數(shù)據(jù)集采用自制模擬賽道數(shù)據(jù)集,包括50 m直線加速賽道和50 m過彎賽道,共計10組,20個目標錐桶。本文使用特定交并比(Intersection Over Union,IoU)下的平均召回率(Average Recall,AR)作為算法性能評價指標。IoU值表示預測值與真實值之間的交并范圍,IoU的值越大代表預測值越接近真實值,評價指標越嚴格。召回率是目標檢測領(lǐng)域運用廣泛的評價指標之一,其數(shù)學描述如式(8)。
(8)
式中:TP表示正樣本預測為正類的樣本數(shù)量;FN表示正樣本被預測為負類的樣本數(shù)量。設(shè)置IoU為0.7對ECD檢測算法和DBC檢測算法在KITTI數(shù)據(jù)集上的檢測效果進行對比;設(shè)置IoU為0.5對ECD檢測算法和DBC檢測算法在模擬賽道數(shù)據(jù)集上的檢測效果進行對比。
以無人駕駛方程式賽車為實驗平臺,在KITTI數(shù)據(jù)集和模擬賽道數(shù)據(jù)集上進行了大量的實驗測試,為更直觀地比對說明,使用召回率作為評價指標記錄和統(tǒng)計了在KITTI數(shù)據(jù)集和模擬賽道數(shù)據(jù)集上基準算法和DBC檢測算法的消融對比實驗結(jié)果,ECD算法和DBC算法在不同數(shù)據(jù)集中的召回率對比結(jié)果見表3。
表3 三維目標檢測算法對比 %
從表3實驗數(shù)據(jù)可以看出,對比現(xiàn)有三維目標檢測算法,本文提出的DBC檢測算法對KITTI數(shù)據(jù)集和模擬賽道數(shù)據(jù)集的召回率均有明顯提升。其中,在未加入判定準則前,DBC算法相對于基準檢測算法平均召回率提高20.1%;在加入判定準則后,平均召回率提高32.7%。實驗數(shù)據(jù)表明,在三維目標檢測算法中,閾值參數(shù)ε對聚類分割結(jié)果影響顯著,驗證了通過引入空間距離特征實現(xiàn)自適應(yīng)閾值參數(shù)調(diào)整的可行性及加入判定準則模塊的必要性。
為更詳細地說明本文所提出算法的有效性,將ECD檢測算法和DBC檢測算法在KITTI數(shù)據(jù)集和自制賽道數(shù)據(jù)集中的可視化結(jié)果進行對比分析。ECD算法和DBC算法檢測結(jié)果對比如圖5,行(1)為KITTI數(shù)據(jù)集,行(2)為模擬彎道數(shù)據(jù)集,行(3)為模擬直線賽道數(shù)據(jù)集。
圖5 ECD算法與DBC算法檢測結(jié)果對比
原始數(shù)據(jù)冗余信息過多,關(guān)鍵點云特征被稀釋導致聚類算法精度降低,通過DBV算法對原始數(shù)據(jù)進行點云重構(gòu),有效降低干擾點云數(shù)據(jù)量,增強關(guān)鍵點云特征信息,重構(gòu)后的點云作為輸入對ECD檢測算法和DBC檢測算法進行對比實驗。在KITTI數(shù)據(jù)集中,ECD算法對中遠距離下道路兩旁行人和車輛等目標檢測準確率較低并出現(xiàn)漏檢。本文算法相對于基準算法在中遠距離下表現(xiàn)更好,能夠更為精細地檢測出道路兩旁建筑和行人,有效避免漏檢問題。在模擬直線和彎道數(shù)據(jù)集中,基準算法在中遠距離下檢測精度不高,對目標錐桶定位不準確,本文所提算法對中遠距離下的目標錐桶都具有較好的檢測精度,能夠精確識別全距離下目標錐桶,解決誤檢、漏檢問題并輸出賽道錐桶激光雷達坐標系下空間三維坐標,簡潔、高效地完成無人方程式賽車環(huán)境感知任務(wù),為賽車路徑規(guī)劃提供必要保障。
為驗證本文方法的實時性,對算法運行時間進行比較,運行時間對比見表4。在檢測精度明顯提升的情況下,DBC目標檢測算法運行時間與基準算法運行時間相差不多。經(jīng)仿真實驗表明,DBC檢測算法相比于基準算法在無人方程式大賽中目標錐桶檢測精度上有較大提升,同時滿足賽車實時性的要求。
表4 運行時間對比 /ms
針對中國大學生無人方程式大賽環(huán)境感知任務(wù)中,現(xiàn)存檢測算法在點云目標檢測中精度低、中遠距離易出現(xiàn)誤檢漏檢的問題,為確保無人賽車規(guī)劃、控制工作順利展開,本文提出DBC點云目標檢測算法,將空間距離特征作為DBV點云重構(gòu)和聚類條件,引入錐桶判斷準則,節(jié)省賽車上位機計算資源的同時增強關(guān)鍵點云特征信息,提高目標錐桶檢測精度,使其更好地應(yīng)用于無人駕駛方程式賽車。后續(xù)工作中,在滿足算法精度的同時將進一步提高算法檢測速度,提升賽車最高時速。