張 凱,于春磊,趙亞麗,陳義飛,楊蒙蒙,江 昆
(1.遼寧工業(yè)大學汽車與交通工程學院,錦州 121000;2.北京超星未來科技有限公司,北京 100080;3.清華大學車輛與運載學院,北京 100084;4.清華大學電子工程系,北京 100084)
環(huán)境感知是無人駕駛汽車與外界交互的前提條件,也是汽車安全穩(wěn)定行駛的重要保障。三維激光雷達因其檢測精度高、可靠性強、捕捉物體三維姿態(tài)細節(jié)豐富等特點而被廣泛應用。其中,基于激光雷達的感知任務主要包括地面分割和障礙物檢測、識別與跟蹤。在這些任務中,地面點云的濾除是一項重要的工作,也是影響障礙物檢測精度的關(guān)鍵。在無人駕駛汽車行駛中,由于汽車起步、制動或復雜路面會引起車輛的前俯、后仰和側(cè)傾,進一步引發(fā)局部區(qū)域激光點云密集、稀疏或空缺狀態(tài);此外,在處理多線束高密度點云數(shù)據(jù)時,同時保證分割算法的精度與實時性面臨巨大挑戰(zhàn)。因此,針對復雜的車輛狀況和行駛環(huán)境提出滿足無人駕駛需求的高精度地面分割方法尚須持續(xù)研究。
目前國內(nèi)外學者對于地面點云分割算法的研究主要分為3類:基于柵格地圖、基于平面模型和基于深度圖像。柵格地圖法主要利用局部區(qū)域內(nèi)障礙物與地面點高度值差異特征進行分割,文獻[1]和文獻[2]中將原始點云在x?y平面劃分柵格,計算每個柵格內(nèi)最大高程差值,并與人為經(jīng)驗閾值比較分割地面柵格點云;文獻[3]中將原始點云以極坐標形式劃分柵格,針對柵格內(nèi)離散點擬合直線模型,通過距離閾值分割出地面點云;文獻[4]中利用在z軸上設置高度變化閾值實現(xiàn)分割;文獻[5]中則采用多標簽的馬爾科夫隨機場理論構(gòu)建極坐標系網(wǎng)格地圖實現(xiàn)分割?;跂鸥竦貓D的方法容易出現(xiàn)局部柵格內(nèi)誤分割問題,且閾值無法自適應調(diào)節(jié),精度較差。平面模型法主要構(gòu)建一個平面模型模擬當前路面,將具有相同數(shù)學表達式的點劃分為一組,魯棒性較強,文獻[6]中利用隨機抽樣一致性算法(RANSAC)構(gòu)建地面平面模型,在RANSAC算法的基礎上設定一定準則以優(yōu)化異常值對平面擬合參數(shù)的干擾問題;文獻[7]中提出將RANSAC算法與整體最小二乘法(TLS)相結(jié)合的形式,利用隨機抽樣一致算法剔除異常值,并將篩選后的有效點云采用TLS算法進行平面擬合,但擬合模型時間相對較長,進而導致地面分割精度相對較低。深度圖像法主要將3D激光點云轉(zhuǎn)換為2.5D深度圖像,主要利用不同區(qū)域圖像間屬性的差異特征。文獻[8]中采用將原始點云投影到以激光雷達旋轉(zhuǎn)軸線為軸的圓柱體上生成深度圖像,基于深度圖像計算列方向相鄰兩點連線與水平方向的傾斜角度形成角度圖像,結(jié)合地面點云坡度較小的特點完成分割;文獻[9]中則采用廣度優(yōu)先搜索(BFS)形成地面連通區(qū)域,進而實現(xiàn)分割;文獻[10]中是利用鄰域信息形成的局部凸性特征分割點云;文獻[11]中將激光雷達掃描線在x?y平面投影,利用角點檢測定位線段端點,通過分析線段特征利用基于圖像的分割方法進行劃分;文獻[12]中則基于深度圖像孔填充的形式分割。該基于圖像的分割方法主要源于計算機圖像的處理形式,適用于噪聲低的“理想”數(shù)據(jù),魯棒性較差,難以實踐應用。
考慮到自動駕駛汽車面臨實時性、準確性和場景復雜性的問題,本文中研究了地面點云分割算法。主要貢獻有:(1)提出了一種可自適應閾值的地面點云分割方法;(2)針對目前無公開評測地面分割算法性能的數(shù)據(jù)集問題,本文中基于Semantic?KITTI數(shù)據(jù)集提出了一種可用于驗證算法精度和實時性的基準數(shù)據(jù)集;(3)在基準數(shù)據(jù)集上進行了試驗,證明了本文中算法具有高效性和實時性的優(yōu)勢。另外,基于自研的自動駕駛平臺進行實際環(huán)境測試,證明了該方法的魯棒性和泛化性能夠滿足自動駕駛的需求。
本文中提出的自適應閾值地面分割算法模塊示意圖如圖1所示,主要包括6部分內(nèi)容:原始點云、柵格劃分、平面模型擬合、自適應閾值確定、分割優(yōu)化和輸出點云。
圖1 地面分割算法模塊示意圖
算法輸入數(shù)據(jù)為三維激光點云,點云的數(shù)量通常為幾萬到十幾萬不等,經(jīng)過柵格處理、平面擬合、點云分割后得到2種輸出數(shù)據(jù),分別為地面點云和障礙物點云。
圖2 柵格區(qū)域劃分示意圖
在實際場景中,地面會有凹凸不平的情況,每個柵格內(nèi)點云可能存在由于高度不一致或距離、遮擋等原因?qū)е聰?shù)量差異較大的問題,因而統(tǒng)一使用平面擬合具有較大的局限性。為此,本文中設計了一種基于自適應閾值的地面分割算法以擬合不同距離的柵格點云。具體地,依據(jù)柵格內(nèi)點云數(shù)量與原始點云數(shù)量的占比關(guān)系采用不同的分割機制,若實際占比值大于基準占比t值則采用地面平面模型分割,反之采用高度閾值分割。t如式(1)所示。
式中:ni表示第i個柵格的點云數(shù)量;N表示原始點云數(shù)量?;诨鶞蕯?shù)據(jù)集不同道路場景和實際采集的不同場景數(shù)據(jù),本文中經(jīng)多次實驗并根據(jù)分割效果,最終t取多次實驗的平均值0.000 6。
平面擬合模型一般指用數(shù)學模型擬合地面平面點云。在三維原始點云中地面點通常為貼合地面高度的點,但由于車輛行駛過程中的抖動和環(huán)境的干擾,通常會存在部分噪聲點。為減少平面擬合過程中前景點云的干擾,本文中采用子區(qū)域點集劃分的方式擬合當前地面平面模型。首先對每個柵格中的點云按高度值進行排序,選取高度值較低的部分點計算其均值Tn并作為局部閾值:
同時為解決障礙物反射點誤入地面導致的局部區(qū)域點集性能失效問題,引入全局閾值Tg并選取兩閾值中較小值作為柵格中局部區(qū)域點集的最終高度閾值Th:
然后將柵格中所有小于最終高度閾值的點添加入局部區(qū)域點集中,利用篩選出的局部區(qū)域點集擬合當前地面平面模型。平面模型采用線性模型:
整理為
其中:n=[a,b,c];p=[x,y,z]T
(2)解決脫模平臺四角不平問題。①安排技術(shù)人員采用支墊方式對脫模平臺四角進行調(diào)平,保證脫模時模具四角同時接觸脫模臺,使模具受力均勻,軌枕同步脫出。②對脫模平臺四角水平情況進行定期復檢,發(fā)現(xiàn)異常及時整改。通過對脫模平臺四角進行調(diào)平,雙塊式軌枕脫出后擋肩位置的黑色印跡得到了有效控制,外力對軌枕擋肩的撕拉大為減小。
式中:a、b、c和d表示常數(shù);x、y、z表示坐標。
利用協(xié)方差矩陣可描述局部區(qū)域點集在三維空間的分布狀況,從而確定柵格點云的地面平面模型。本文中通過奇異值分解(SVD)求解奇異向量,向量分別描述了局部區(qū)域點集主要分布方向。由于擬合的是地面,最小方差的方向應為垂直于平面的法向量,最后通過計算最小奇異值對應的奇異向量求解法向量n。將p以3個維度的均值帶入確定d,最終確定柵格內(nèi)地面平面模型;同時,若平面模型法向量遠離z軸則判定該區(qū)域模型并非地面模型,則采用高度閾值做后續(xù)的點云分割處理。局部區(qū)域點集的協(xié)方差矩陣C為
式中:|S|表示點集的總個數(shù);sˉ為局部區(qū)域點集所有點均值;s i表示局部區(qū)域點集中第i個點。
C按3個維度展開:
自動駕駛汽車在起步、顛簸、制動等行駛過程中地平面點云會產(chǎn)生畸變,因此無法直接用固定閾值進行擬合。本文中在實際測試中發(fā)現(xiàn)地面波動幅度與模型的分割閾值存在一定的關(guān)聯(lián),因而用地面區(qū)域點集距理想平面模型的垂向距離散布程度表征當前地面的波動幅度,并利用當前時刻的波動幅度自適應地確定合適的分割閾值。平面點集的二維視圖如圖3所示,紅色直線為擬合后的平面模型,藍色直線表示最小閾值分割線,波動幅度f為
圖3 平面點二維視圖
式中:disti為每個點到平面模型的正交投影距離;u為局部區(qū)域點集中的點到平面模型的正交投影距離的均值;m為局部區(qū)域點集數(shù)量。
經(jīng)試驗發(fā)現(xiàn)平面模型的分割閾值w與地面的波動幅度f滿足一定的線性關(guān)系:
式中k為波動幅度影響系數(shù)(本文中取1.5)。
為進一步優(yōu)化分割結(jié)果,本節(jié)對于擬合后的平面模型,首先確定每個柵格區(qū)域的分割閾值并計算柵格中每一個點到平面模型的正交投影距離,然后將投影距離與分割閾值進行比較,如滿足閾值范圍則為地面點集,否則為障礙物點集,接著將分類后的地面點重新作為下次迭代的局部區(qū)域點集,重新擬合平面模型和確定閾值,從而優(yōu)化分割精度。對于觸發(fā)高度閾值分割的柵格區(qū)域,計算n個較低點的高度均值,高度分割閾值為均值加閾值Th,若柵格內(nèi)所有點小于高度分割閾值則為地面點集,否則為障礙物點集。
目前,大多數(shù)前后背景分割驗證數(shù)據(jù)集為人工標注的自采道路場景,數(shù)據(jù)集場景的標準和難易程度不一,在實際算法性能比較時難以使用統(tǒng)一的標準進行測試評價。因此,本文中提出了可作為公開算法測試與驗證的基準數(shù)據(jù)集,其中包含了室外不同場景。
本文中提出了可用于公開測試的二分類分割基準數(shù)據(jù)集Semantic?Nova。Semantic?Nova基于Semantic?KITTI數(shù)據(jù)集生成,后者是由目前最權(quán)威的自動駕駛計算機算法評測數(shù)據(jù)集KITTI細分而來,其中包含中心交通、居民區(qū)、農(nóng)村道路和高速公路等多類別場景。該數(shù)據(jù)集細分了28種標注類別。數(shù)據(jù)集不僅標注了動態(tài)物體,同時對周圍的環(huán)境信息也進行了相應的劃分,如圖4所示。
圖4 Semantic?KITTI類別示意圖[15]
Semantic?Nova將Semantic?KITTI點云數(shù)據(jù)作為預處理樣本,該數(shù)據(jù)采集設備為美國Velodyne公司HDL?64型3D激光雷達,具有64個激光器,采集頻率為10 Hz,每幀產(chǎn)生約13萬個掃描點。本文中對該數(shù)據(jù)集進行預處理,將所有標注進行二分類,其中,將背景所有類別中的地帶標記為背景,其余類別為前景。Semantic?Nova數(shù)據(jù)集的效果如圖5所示。
圖5 Semantic?Nova數(shù)據(jù)集效果圖
本文中試驗的電腦配置為:i5 9300H處理器、GTX 1660TI顯卡及16 GB內(nèi)存,系統(tǒng)環(huán)境為Ubuntu 18.04并配置ROS,開發(fā)環(huán)境為Qt Creator 5.12,調(diào)用PCL1.8中點云定義,使用C++編寫并利用RVIZ做可視化輸出。
對于分割精度的評估,借助文獻[14]中的方法,采用統(tǒng)計學中的靈敏度(RTP)與特異性(RFP)的方式,具體方法為
式中:NTP為地面點被正確標記的數(shù)目;NFN為地面點被錯誤標記為非地面點的數(shù)目;NFP為非地面點被錯誤標記為地面點的數(shù)目;NFN為非地面點被正確標記的數(shù)目。其中RTP越大,地面點正確分割的數(shù)目越多,分割效果越好;反之,RFP越小,效果越好。同時計算處理一幀的平均耗時作為幀率指標。
為評價本文中算法在不同道路環(huán)境下的綜合性能,選取4 000幀二分類后的Semantic?Nova數(shù)據(jù)集進行測評,算法分割效果如圖6所示。其中,圖6(a)和圖6(d)分別為城市道路環(huán)境和鄉(xiāng)村道路環(huán)境測試的分割效果,可以看出本文中算法在圖6(d)中對道路左側(cè)草地做出了良好的自適應分割;同時對于城市道路環(huán)境,其中圖6(b)為圖6(a)中的局部分割細節(jié),圖6(c)為場景的行人分割效果,可以看出,本文中算法對車輛、行人等障礙物可有效地減少誤分割,同時對不同環(huán)境具有較強的適應性。
圖6 算法分割效果示意圖
表1為本文中提出算法在Semantic?Nova數(shù)據(jù)集上與文獻[13]和文獻[14]的效果對比。本文方法每幀處理時間約為26 ms,接近文獻[13]同時明顯低于文獻[14]中的耗時;文獻[13]和文獻[14]在復雜環(huán)境下誤檢率較高,在城市環(huán)境下具有較小的誤檢率,而本文中提出的自適應閾值方法可在不同道路環(huán)境均達到較高的召回率和較小的誤檢率。本文中也對比了固定閾值和自適應閾值結(jié)果,當固定分割閾值為30 cm時,地面點分割精度較差主要是由誤分割造成的,而本文自適應閾值的方法明顯帶來了分割精度的提升。本文中設置分割權(quán)重閾值t為0.000 6,通過分割試驗結(jié)果對比可得本文算法在城市道路和野外道路場景下并無差距,在基準數(shù)據(jù)集上證明了其適用性。因此,本文中的方法在不同環(huán)境道路的分割精度和速度上優(yōu)于以上兩種方法。
表1 Semantic?Nova數(shù)據(jù)集分割算法效果對比
本文中所提出方法在閾值差異下的分割效果對比如圖7所示。圖7分別為固定閾值與自適應閾值算法分割效果,圖7(a)中采用固定分割閾值(30 cm)以解決地面點云誤分割問題,可見在分割過程中存在過多的車輛點云劃分為地面點,以及車輛的相關(guān)細節(jié)存在丟失現(xiàn)象;因此引出自適應閾值方案圖7(b),相比定閾值方案可有效調(diào)節(jié)每個區(qū)域的分割閾值進而保證較優(yōu)的分割精度。
圖7 閾值差異分割效果對比圖
3.3.1 數(shù)據(jù)集采集方案
數(shù)據(jù)采集車輛為基于小鵬G3自研的自動駕駛測試平臺車,如圖8所示,位于測試平臺車頂部的是速騰的32線激光雷達(RS?LiDAR?32B),其掃描頻率為10 Hz,每幀產(chǎn)生約57 000個激光點,試驗場地為北京冬奧會首鋼園區(qū)。
圖8 自動駕駛測試平臺車
試驗場景1為首鋼園區(qū)內(nèi)低速場景道路上常見的小目標物體場景,其中包括減速帶(約10 cm)、水瓶(約15 cm)、三腳架警示牌(約40 cm)、停車樁錐桶(約60 cm)。試驗設置分別為采集平臺車勻速行駛、起步和制動狀態(tài)下各小目標物體在不同距離時的分割情況。試驗場景2為首鋼園區(qū)外高速場景道路,采集路段場景內(nèi)車流量適中,整個路段點云數(shù)量點較少。實驗車速為80 km/h,測試高速路段下本文中算法的分割效果。
本文中實際場景用低線束激光雷達進行場景掃描,可用于驗證不同線束雷達在不同場景下本文算法的魯棒性和泛化性。試驗1在園區(qū)內(nèi)低速場景進行實驗,比較測試車輛在不平穩(wěn)狀態(tài)及平穩(wěn)狀態(tài)下的分割效果;試驗2在高速場景下進行,用于確定本文中分割算法在不同場景下式(1)中占比權(quán)重t值選取的適用性。
3.3.2 算法測評
根據(jù)當前雷達原始點云實際檢測效果,將測試距離設為車輛行駛前方50 m內(nèi),其中減速帶、水瓶因高度較低原始點云無法捕捉,三腳架警示牌、停車樁錐桶可接收一線到兩線的檢測回波。
當車輛以15 km/h勻速行駛時,小目標物體在距離車輛前方10、20、30、40和50 m處的分割效果如圖9所示。其中,分割出的目標點云由藍色線條圈出。表2為實際場景分割測試表,三腳架警示牌和停車樁錐桶在10 m處均可分割出約3~4個反射點,在20、40和50 m均可分割出約5~6個反射點,在30 m處均可分割出約8~9個反射點;當車輛處于起步、制動狀態(tài)時,三腳架警示牌和停車樁錐桶在10 m處可分割出約3~4個反射點,在20和40 m處均可分割出約5~6個反射點,30 m處均可分割出7~8個反射點,50 m處均可分割出約4~5個反射點。
表2 實際場景分割測評表
圖9 低速場景分割測試效果圖
當車輛速度較低時,車輛在起步、制動時產(chǎn)生的前俯、后仰造成原始點云不均勻分布對分割算法的影響較小;高度較小的物體(減速帶、水瓶)因激光雷達線束限制導致原始點云中無法檢測,但車輛對此高度的障礙物具有一定的通過能力;對于高度約40~60 cm的物體(三腳架警示牌、停車樁錐桶)在50 m范圍內(nèi)均可被準確分割。圖10為實際高速場景下的分割效果圖,通過對比高速、低速場景下的分割效果,可得本文中t的取值對不同場景下地面分割性能的魯棒性較好。
圖10 高速場景分割效果圖
本文中算法在不同線束的激光雷達場景下同時具有較好的分割效果,因此可為后續(xù)的目標檢測提供良好的基礎,這也進一步驗證該自適應閾值的分割方法具有較好的泛化性能。
本文中提出了一種自適應閾值的三維激光點云地面分割方法。該方法通過劃分柵格擬合地面平面模型,并采用子區(qū)域依據(jù)局部路面波動幅度自適應分割閾值以改善定閾值造成的過分割問題。本文中基于現(xiàn)有的開源語義分割數(shù)據(jù)集Semantic?KITTI提出了地面點分割任務的標準數(shù)據(jù)集Semantic?Nova,試驗結(jié)果表明本文中方法具有較高的分割精度并滿足實時性需求。同時,本文中算法在實際場景下對不同距離的小目標點云數(shù)據(jù)進行分割測試,驗證了本算法的高效性和魯棒性。本文中所提算法在自動駕駛領域具有較強的實際應用價值。