張佩翔,王 奇,高仁璟*,夏 陽(yáng),萬(wàn)振中
(1.大連理工大學(xué) 汽車工程學(xué)院 工業(yè)裝備結(jié)構(gòu)分析優(yōu)化與CAE 軟件全國(guó)重點(diǎn)實(shí)驗(yàn)室,遼寧 大連 116024;2.大連理工大學(xué) 寧波研究院,浙江 寧波 315000;3.比亞迪汽車工業(yè)有限公司,廣東 深圳 518118)
隨著自動(dòng)駕駛技術(shù)的迅猛發(fā)展,對(duì)無(wú)人駕駛中道路環(huán)境感知穩(wěn)定性的要求越來(lái)越高,而相對(duì)于圖像檢測(cè),激光雷達(dá)點(diǎn)云能夠提供豐富的空間三維信息,在遙感探測(cè)[1-2]和無(wú)人駕駛[3-4]等領(lǐng)域得以廣泛應(yīng)用。由于點(diǎn)云數(shù)據(jù)中地面點(diǎn)云比重較大且通常被認(rèn)為是不必要的信息,因此,需要對(duì)地面點(diǎn)進(jìn)行有效去除[5]。
目前,有關(guān)車載激光雷達(dá)地面點(diǎn)云分割提出了多種方法。徐國(guó)艷[6]和Sebastian[7]等通過(guò)在x-y平面劃分柵格,計(jì)算每個(gè)柵格的最大高程差,通過(guò)與設(shè)定閾值的對(duì)比進(jìn)行地面點(diǎn)云分割,但此類算法易受陡坡和懸垂物體的影響。Chu[8]、蔣劍飛[9]和李炯[10]等通過(guò)比較同一掃描線連續(xù)點(diǎn)之間的高度閾值實(shí)現(xiàn)分割。Narksri[11]和馮紹權(quán)[12]等通過(guò)比較相鄰環(huán)之間的水平閾值實(shí)現(xiàn)分割,此類算法速度快,但準(zhǔn)確度有待提高。Velas[13]、釋小松[14]等將點(diǎn)云轉(zhuǎn)換為特征圖,并應(yīng)用神經(jīng)網(wǎng)絡(luò)對(duì)特征圖進(jìn)行訓(xùn)練,從而獲得較好的分割結(jié)果。Paigwar[15]等提出Gnd-Net 方法,通過(guò)基于網(wǎng)格的方法估計(jì)地面信息,實(shí)時(shí)識(shí)別地面點(diǎn),但此類方法需要大量有效標(biāo)注的數(shù)據(jù)進(jìn)行訓(xùn)練。Himmelsbach[16]等通過(guò)劃分極坐標(biāo)柵格地圖形式,將點(diǎn)云映射到二維平面進(jìn)行直線模型擬合,并設(shè)定點(diǎn)與直線模型垂直距離的方式實(shí)現(xiàn)地面點(diǎn)提取。Zermas[17]等利用隨機(jī)采樣一致性算法(RANSAC)擬合平面模型,并通過(guò)選取初始種子點(diǎn)的方法去除外點(diǎn)進(jìn)行加速,此類算法通過(guò)設(shè)置距離閾值實(shí)現(xiàn)分割,但分割性能易受閾值大小和模型擬合程度的影響。
考慮到真實(shí)道路環(huán)境比較復(fù)雜,在坡度值變化較大的路面和障礙物與地面點(diǎn)云的交匯處,點(diǎn)云的類別判斷難度較大。為提高點(diǎn)云的分割精度,本文在Himmelsbach[16]等對(duì)點(diǎn)云劃分方法的基礎(chǔ)上,提出具有自適應(yīng)閾值的道路點(diǎn)云地面分割算法,并通過(guò)在Semantic-KITTI 數(shù)據(jù)集[18]進(jìn)行二分類數(shù)據(jù)處理的基礎(chǔ)上進(jìn)行實(shí)驗(yàn)驗(yàn)證,證明了算法的準(zhǔn)確性。
本文提出的點(diǎn)云自適應(yīng)閾值地面分割算法模型示意如圖1 所示,主要包括原始點(diǎn)云輸入、點(diǎn)云柵格地圖劃分、道路直線模型擬合和地面點(diǎn)云分割等部分。
圖1 點(diǎn)云自適應(yīng)閾值地面分割算法模型示意圖Fig.1 Schematic diagram of point cloud adaptive threshold ground segmentation algorithm model
在點(diǎn)云柵格地圖劃分部分,采用極坐標(biāo)柵格地圖劃分方法[16]。針對(duì)道路直線模型擬合,本文提出種子點(diǎn)自適應(yīng)判斷準(zhǔn)則,通過(guò)將種子點(diǎn)選取的判斷閾值與相鄰種子點(diǎn)間的水平距離相關(guān)聯(lián),實(shí)現(xiàn)不同種子點(diǎn)分布條件下種子點(diǎn)集的更新。在道路模型斜率閾值判斷條件中,本文加入了道路坡度連續(xù)性判斷準(zhǔn)則,引入模型擬合過(guò)程中斜率的變化量作為道路模型的判斷依據(jù),實(shí)現(xiàn)對(duì)斜坡道路的有效更新。在地面點(diǎn)云分割部分,本文建立了地面點(diǎn)分割的波動(dòng)加權(quán)閾值自適應(yīng)判斷準(zhǔn)則,通過(guò)確定近地面點(diǎn)集的方式描述路面的波動(dòng)情況,并建立路面波動(dòng)幅值加權(quán)公式,通過(guò)加權(quán)的方式削弱離群點(diǎn)和異常點(diǎn)的影響,進(jìn)而實(shí)現(xiàn)地面點(diǎn)分割閾值的自適應(yīng)判斷。
激光雷達(dá)通過(guò)接收由物體表面返回激光發(fā)射器發(fā)射的激光束獲取物體表面信息。由于激光雷達(dá)每轉(zhuǎn)一圈便可接收數(shù)萬(wàn)條激光束,且所有激光束呈現(xiàn)雜亂分布,因此,需要對(duì)接收到的點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)處理。
極坐標(biāo)柵格地圖劃分是對(duì)點(diǎn)云進(jìn)行數(shù)據(jù)處理的一種有效的方法[19-20],本文在每幀點(diǎn)云的x-y平面劃分極坐標(biāo)柵格地圖[16],并且在每個(gè)扇形柵格塊中劃分?jǐn)?shù)個(gè)種子點(diǎn)區(qū)域b,在扇形柵格的中心線位置建立二維坐標(biāo)地圖,通過(guò)將三維點(diǎn)云數(shù)據(jù)映射到二維坐標(biāo)地圖的方式,實(shí)現(xiàn)點(diǎn)云數(shù)據(jù)的處理,點(diǎn)云數(shù)據(jù)極坐標(biāo)劃分如圖2所示。
圖2 點(diǎn)云數(shù)據(jù)的極坐標(biāo)劃分Fig.2 Polar division of point cloud data
圖2 中以激光雷達(dá)為中心劃分極坐標(biāo)地圖,將點(diǎn)云平均劃分為N個(gè)極坐標(biāo)柵格塊S,劃分個(gè)數(shù)為:
式中:N為極坐標(biāo)柵格塊S的劃分個(gè)數(shù);Δα為劃分角度。
基于自動(dòng)駕駛汽車在行駛過(guò)程中感知范圍的有效性,并根據(jù)路面分割的計(jì)算經(jīng)驗(yàn),選取距離車輛60 m 的范圍作為感興趣區(qū)域[16]。根據(jù)物理特性,激光雷達(dá)在感知周圍環(huán)境時(shí)會(huì)出現(xiàn)隨著距離增加點(diǎn)云變稀疏的情況,因此將每個(gè)極坐標(biāo)柵格塊S劃分為M個(gè)區(qū)域bi(i為1~M),且bi沿遠(yuǎn)離激光雷達(dá)原點(diǎn)的方向逐漸增大。
激光雷達(dá)點(diǎn)云數(shù)據(jù)為三維信息,進(jìn)行直線模型擬合時(shí)需將三維點(diǎn)云映射到二維地圖中。對(duì)于每個(gè)區(qū)域bi中的點(diǎn)云pi=(xi,yi,zi)T,在x-y平面中將它映射到S的中心面,得到點(diǎn)云集:
式中:Pbi,Pbi'分別為初始點(diǎn)云集和映射后的點(diǎn)云集;pi,pi'分別為初始點(diǎn)和映射后的點(diǎn)。初始點(diǎn)云和映射點(diǎn)云之間的索引關(guān)系通過(guò)點(diǎn)云的輸入順序建立。
由于車輛行駛過(guò)程中出現(xiàn)的抖動(dòng)和周圍環(huán)境的干擾,點(diǎn)云數(shù)據(jù)中存在一定量的噪聲點(diǎn),為減少噪聲點(diǎn)對(duì)直線模型擬合的影響,本文采用多條件判斷的形式篩選擬合模型的種子點(diǎn)。通常認(rèn)為點(diǎn)云中高度值最小的點(diǎn)為地面點(diǎn),因此,將每個(gè)區(qū)域bi中的高度值最低點(diǎn)作為初始種子點(diǎn),通過(guò)對(duì)種子點(diǎn)的篩選建立種子點(diǎn)集。
本文以種子點(diǎn)集的點(diǎn)云為原始點(diǎn)實(shí)現(xiàn)直線模型的擬合。從雷達(dá)原點(diǎn)沿掃描線方向遍歷區(qū)域b,依次取非空區(qū)域bi中的種子點(diǎn)加入種子點(diǎn)集BSi,當(dāng)種子點(diǎn)集中的點(diǎn)數(shù)大于2 時(shí)進(jìn)行直線模型擬合,直線模型為:
式中:a,b為常數(shù);x,y表示點(diǎn)的坐標(biāo)。利用最小二乘法,基于種子點(diǎn)集BSi擬合直線模型。
車輛在行駛過(guò)程中地面具有一定程度的起伏,如圖3 所示,R1路段和R2路段顯然不屬于同一地面模型,因此在地面直線模型擬合時(shí)需要分段處理。這里通過(guò)地面直線模型擬合時(shí)種子點(diǎn)集的更新來(lái)實(shí)現(xiàn)直線模型的分段處理,其主要過(guò)程為:
圖3 車輛行駛路況圖Fig.3 Vehicle driving road map
(1)種子點(diǎn)距離閾值自適應(yīng)判斷。建立種子點(diǎn)條件閾值與種子點(diǎn)水平距離的判斷準(zhǔn)則,解決傳統(tǒng)固定閾值分割中的誤分割問(wèn)題。
(2)直線模型的斜率閾值判斷。引入道路坡度連續(xù)性判斷準(zhǔn)則,并計(jì)算當(dāng)前直線模型斜率a,如果小于斜率閾值amax,則認(rèn)為當(dāng)前種子點(diǎn)符合直線模型。
(3)點(diǎn)的期望高度判斷。將當(dāng)前種子點(diǎn)在二維平面的水平坐標(biāo)代入直線模型,計(jì)算得到垂直坐標(biāo)作為期望高度,計(jì)算當(dāng)前種子點(diǎn)的期望高度與當(dāng)前種子點(diǎn)實(shí)際高度之差的絕對(duì)值,并將絕對(duì)值與最大期望閾值進(jìn)行比較,以判斷該種子點(diǎn)是否符合當(dāng)前直線模型。
(4)直線模型更新。當(dāng)上述條件都滿足時(shí),則認(rèn)為該點(diǎn)屬于當(dāng)前種子點(diǎn)集;反之,則保存當(dāng)前直線模型,清空種子點(diǎn)集,遍歷下一個(gè)區(qū)域b,重復(fù)上述步驟,從而實(shí)現(xiàn)直線模型的分段擬合。
種子點(diǎn)集更新時(shí),傳統(tǒng)的固定閾值判斷方法存在誤分割問(wèn)題,如圖4 所示。
圖4 區(qū)域bi點(diǎn)的分布對(duì)dmax的影響Fig.4 Effect of distribution of regional bi points on dmax
圖4 中,Ai點(diǎn)和其他區(qū)域b擬合的直線模型為L(zhǎng)A;Bi點(diǎn)和其他區(qū)域b擬合的直線模型為L(zhǎng)B。計(jì)算當(dāng)前種子點(diǎn)集BSi中種子點(diǎn)到所屬直線模型的最大正交距離dmax。傳統(tǒng)固定閾值分割方法認(rèn)為,當(dāng)dmax小于正交距離閾值Δd時(shí),則該種子點(diǎn)有可能屬于當(dāng)前直線模型。但是當(dāng)區(qū)域b的范圍沿著激光束的方向增加,b內(nèi)點(diǎn)云的分布對(duì)dmax的影響會(huì)逐漸增大。當(dāng)模型更新到區(qū)域bi時(shí),判斷最低點(diǎn)是否可納入當(dāng)前種子點(diǎn)集,這同當(dāng)前點(diǎn)與前一點(diǎn)之間的距離有關(guān),由圖4 可知,d_MB>d_MA,因此Ai點(diǎn)被認(rèn)為更符合當(dāng)前直線模型,Bi點(diǎn)則易被錯(cuò)誤剔除。
上述種子點(diǎn)集更新出現(xiàn)的誤剔除是由于種子點(diǎn)的位置影響了直線模型的擬合。以圖5 點(diǎn)云的分布形式來(lái)說(shuō)明點(diǎn)云的位置對(duì)直線模型的影響程度。
圖5 點(diǎn)云分布假設(shè)圖Fig.5 Point cloud distribution hypothesis map
圖5 中,Ai和Bi位于同一高度,點(diǎn)Bi與M點(diǎn)的水平距離很近,而Ai點(diǎn)與M點(diǎn)的水平距離很遠(yuǎn),不同區(qū)域點(diǎn)云之間的前后距離分布對(duì)直線模型的影響程度很大,進(jìn)而對(duì)種子點(diǎn)集的更新造成較大影響。本文提出自適應(yīng)距離條件閾值的方法來(lái)減小點(diǎn)云水平分布位置對(duì)種子點(diǎn)集更新的影響,流程如圖6 所示。
圖6 種子點(diǎn)集更新流程Fig.6 Flowchart of seed point set update
Δd的計(jì)算公式如下:
式中:Δdmax,Δdmid和Δdmin表示點(diǎn)云集在不同距離條件下的更新閾值;Xi表示當(dāng)前bi區(qū)域種子點(diǎn)距離雷達(dá)中心的水平距離;Xi-1表示前一區(qū)域bi-1種子點(diǎn)距離雷達(dá)中心的水平距離,ΔXmin與ΔXmax的取值與當(dāng)前區(qū)域bi的范圍線性相關(guān)。本文通過(guò)對(duì)前后兩點(diǎn)過(guò)近和過(guò)遠(yuǎn)時(shí)采用不同的正交距離閾值判定形法,可有效解決種子點(diǎn)集在更新時(shí)出現(xiàn)的誤判。
傳統(tǒng)道路斜率閾值判斷時(shí),如果出現(xiàn)當(dāng)前擬合的直線模型斜率過(guò)大,則認(rèn)為當(dāng)前模型需要分段處理;當(dāng)斜率a小于最大斜率閾值amax時(shí),認(rèn)為該種子點(diǎn)適合當(dāng)前直線模型。當(dāng)車輛行駛至斜坡路面時(shí),地面斜率會(huì)出現(xiàn)較大值,使得當(dāng)前地面模型更新處于停滯狀態(tài)。
為解決這一問(wèn)題,本文引入直線模型擬合過(guò)程中直線斜率的變化率來(lái)判斷當(dāng)前直線模型是否需要分段處理,其判斷條件為:
式中:ae表示當(dāng)前直線模型斜率與前一直線模型斜率之間差的絕對(duì)值;ae_max表示最大斜率差值閾值。本文首先進(jìn)行直線斜率變化率的閾值判斷,在排除斜坡地形的基礎(chǔ)上再進(jìn)行斜率的閾值判定,從而解決斜坡地形種子點(diǎn)集更新停滯的問(wèn)題。
考慮到汽車在行駛過(guò)程中的顛簸使得地面點(diǎn)云產(chǎn)生一定程度的畸變,而基于模型的分割閾值受地面的波動(dòng)影響[21],傳統(tǒng)形式的固定閾值點(diǎn)云分割精度較低。本文選取高度值最低的n個(gè)點(diǎn)作為近地面點(diǎn)集Gpi,采用近地面點(diǎn)集Gpi中點(diǎn)到地面直線模型的正交距離描述地面波動(dòng)情況,并據(jù)此確定分割閾值,波動(dòng)幅值f表示為:
式中:di為近地面點(diǎn)集Gpi中每個(gè)點(diǎn)到地面直線模型的正交距離;du為近地面點(diǎn)集Gpi中的點(diǎn)到直線模型的正交距離均值;n為近地面點(diǎn)集Gpi中點(diǎn)的個(gè)數(shù),其數(shù)值與當(dāng)前直線模型遍歷的區(qū)域b的個(gè)數(shù)呈線性關(guān)系;ρ為加權(quán)系數(shù),用來(lái)削減離群點(diǎn)和異常點(diǎn)的影響,可表示為:
式中:t為內(nèi)點(diǎn)臨界閾值,表示非離群點(diǎn)距離du均值的范圍;tk為內(nèi)點(diǎn)臨界閾值影響系數(shù);dmax表示di中的最大值。張凱[21]等的研究結(jié)果表明,模型的分割閾值受地面波動(dòng)程度的影響,且二者具有線性關(guān)系?;诖私⒌孛嬷本€模型分割閾值ΔHmax與地面波動(dòng)幅值f的關(guān)系方程,即:
式中:k為波動(dòng)幅值影響系數(shù),由張凱[21]等研究所得,k取1.5。在地面點(diǎn)云分割過(guò)程中,將點(diǎn)到地面直線模型正交距離小于ΔHmax的點(diǎn)劃分為地面點(diǎn),從而完成點(diǎn)云的地面分割工作,整體算法流程如圖7 所示。
圖7 地面點(diǎn)分割流程Fig.7 Flowchart of ground point segmentation
鑒于目前激光雷達(dá)點(diǎn)云地面分割實(shí)驗(yàn)所用數(shù)據(jù)集大多為經(jīng)過(guò)人工標(biāo)注的自采數(shù)據(jù),數(shù)據(jù)集的普遍性和規(guī)范性不強(qiáng)。因此,本文在Semantic KITTI 數(shù)據(jù)集[18]的基礎(chǔ)上進(jìn)行點(diǎn)云的二分類,生成具有標(biāo)注信息的地面點(diǎn)云。
Semantic KITTI 數(shù)據(jù)集是基于KITTI 數(shù)據(jù)集,通過(guò)對(duì)數(shù)據(jù)集中的點(diǎn)云進(jìn)行人工標(biāo)注生成具有語(yǔ)義信息的點(diǎn)云數(shù)據(jù),該數(shù)據(jù)集包含道路、人行道、車輛等28 個(gè)數(shù)據(jù)類別,不僅對(duì)場(chǎng)景中的動(dòng)態(tài)物體進(jìn)行標(biāo)注,同時(shí)對(duì)靜態(tài)物體也進(jìn)行了細(xì)致的劃分,劃分結(jié)果如圖8 所示。
圖8 Semantic KITTI 道路信息劃分Fig.8 Segmentation of semantic KITTI road information
為有效驗(yàn)證所提算法,需對(duì)數(shù)據(jù)集進(jìn)行二分類處理。根據(jù)經(jīng)驗(yàn),本文將道路、停車位、人行道和其他地面地形四部分劃分為地面點(diǎn)云,剩余部分劃分為地上點(diǎn)云,劃分結(jié)果如圖9 所示(彩圖見(jiàn)期刊電子版),圖中綠色表示地上點(diǎn)云,紫色表示地面點(diǎn)云。
圖9 Semantic KITTI 數(shù)據(jù)集二分類劃分結(jié)果Fig.9 Binary division result of semantic KITTI dataset
本文算法使用C++實(shí)現(xiàn),算法運(yùn)行環(huán)境為Intel i7-10700F 處理器、64G 內(nèi)存和NVIDIA 1660 super 顯卡的微型計(jì)算機(jī)。為評(píng)價(jià)算法在不同環(huán)境下的分割性能,選取Semantic KITTI 中4 500 幀點(diǎn)云數(shù)據(jù)進(jìn)行實(shí)驗(yàn)驗(yàn)證,圖10 為本文算法實(shí)現(xiàn)的分割結(jié)果。
圖10 本文算法的分割結(jié)果Fig.10 Segmentation result of proposed algorithm
由圖10 可以看出,本文算法對(duì)地面點(diǎn)和非地面點(diǎn)進(jìn)行了有效的分割,對(duì)車輛,路側(cè)灌木等的分割完整。然后,在4 500 幀經(jīng)二分類處理數(shù)據(jù)的基礎(chǔ)上,將本文算法與固定閾值算法、文獻(xiàn)[8]和文獻(xiàn)[17]所提出的算法的分割結(jié)果進(jìn)行對(duì)比。
為定量的評(píng)估各算法的分割精度,采用Lee[19]等提出的精確率(Precision)和召回率(Recall)的兩個(gè)評(píng)價(jià)指標(biāo)來(lái)分析:
式中:TP為地面點(diǎn)正確標(biāo)記的數(shù)目;FP為非地面點(diǎn)被錯(cuò)誤標(biāo)記為地面點(diǎn)的數(shù)目;FN為地面點(diǎn)被錯(cuò)誤標(biāo)記為非地面點(diǎn)的數(shù)目。P越大,說(shuō)明分割出的地面點(diǎn)中正確分割的數(shù)目越多,分割效果越好;R越大,說(shuō)明數(shù)據(jù)集中被標(biāo)記為地面點(diǎn)的點(diǎn)云正確分割的數(shù)目越多,分割效果越好。對(duì)4 500 幀點(diǎn)云的分割結(jié)果如圖11 所示。
圖11 不同算法的分割結(jié)果Fig.11 Point cloud segmentation results of different algorithms
由圖11 可知,由于固定閾值算法和本文算法采用相同的數(shù)據(jù)劃分方式和判斷類型,因此在精確率和召回率圖中具有相同的分割趨勢(shì),而本文算法獲得了一個(gè)較高精度的分割結(jié)果。對(duì)4 500幀點(diǎn)云的精確率和召回率取平均值并計(jì)算點(diǎn)云分割的平均計(jì)算時(shí)間,對(duì)比結(jié)果如表1 所示。
表1 Semantic KITTI 二分類數(shù)據(jù)集分割結(jié)果對(duì)比Tab.1 Comparison of segmentation results of Semantic KITTI binary dataset
由表1 可知,本文算法相對(duì)文獻(xiàn)[8],精確率提高了2%,相對(duì)文獻(xiàn)[17]提高了4%;本文算法相對(duì)固定閾值方法,召回率提高了1%,相對(duì)文獻(xiàn)[8]提高了4%,由此驗(yàn)證了本文算法在地面分割處理上的準(zhǔn)確性。
本文提出一種基于種子點(diǎn)距離閾值和路面波動(dòng)加權(quán)幅值自適應(yīng)的地面點(diǎn)云分割方法。該方法在極坐標(biāo)點(diǎn)云柵格地圖劃分方法的基礎(chǔ)上,考慮種子點(diǎn)的選取判斷閾值與相鄰種子點(diǎn)間水平距離的關(guān)系,并在此基礎(chǔ)上加入道路坡度連續(xù)性判斷準(zhǔn)則和地面波動(dòng)加權(quán)閾值自適應(yīng)判斷準(zhǔn)則,以提升對(duì)地面點(diǎn)云的分割精度。最后,在Semantic KITTI 二分類數(shù)據(jù)集上進(jìn)行了算法驗(yàn)證,相關(guān)數(shù)據(jù)分割結(jié)果表明,本文算法在地面均點(diǎn)云分割精確率和召回率方面最多提高了4%,驗(yàn)證了算法的準(zhǔn)確性。由于本文算法在種子點(diǎn)集判斷以及地面幅值判斷部分進(jìn)行了大量計(jì)算,運(yùn)行時(shí)間稍長(zhǎng),后續(xù)有待進(jìn)一步改進(jìn)。