鄒兵,陳鵬,劉登洪
(重慶市勘測院,重慶 401520)
近年來,自動駕駛汽車環(huán)境感知技術(shù)備受關(guān)注,車端安裝激光雷達(dá)、相機(jī)、毫米波等傳感器可精準(zhǔn)感知障礙物,保障自動駕駛汽車安全行駛[1]。激光雷達(dá)因其高精度、高采樣、測量距離遠(yuǎn)和范圍廣的特性被廣泛應(yīng)用于無人駕駛汽車的感知系統(tǒng)[2]中,同時激光雷達(dá)的工作環(huán)境不受光照影響,每幀數(shù)據(jù)可掃描到幾萬至幾十萬個點,可細(xì)致描述環(huán)境信息,相對相機(jī)傳感器優(yōu)勢顯著。當(dāng)激光雷達(dá)感知環(huán)境中障礙物時,也會觀測到冗余地面點,導(dǎo)致算法增加額外內(nèi)存消耗,影響自動駕駛感知系統(tǒng)實時性能,因此實現(xiàn)分割地面算法具有現(xiàn)實意義。
現(xiàn)有地面分割算法中,基于物理排序算法[3~6]將激光點云按照一定規(guī)則進(jìn)行線序化,通過遍歷相鄰點的局部幾何特征分割地面點,但此算法需設(shè)置相關(guān)參數(shù)區(qū)分幾何特征,因此在復(fù)雜場景進(jìn)行地面分割時會出現(xiàn)過分割和欠分割,同時激光雷達(dá)的相關(guān)設(shè)計參數(shù)靈活多變,無法提供統(tǒng)一的規(guī)則有序化點云,因此基于物理排序算法應(yīng)用受限?;跂鸥裢队八惴o須有序組織點云,將三維點云投影至二維空間,將柵格平均高度[7]、高度差[8,9]等作為地面分割評價指標(biāo),該算法計算簡單,能夠滿足自動駕駛汽車實時性能需求,但是僅僅只將柵格平均高度或者高度差作為分割指標(biāo),柵格內(nèi)地面點也會被誤提取為障礙物點,導(dǎo)致過分割問題。基于模型擬合[10,11]算法認(rèn)為地面點可擬合成平面,結(jié)合RANSAC算法求解平面擬合參數(shù),最后采用點到擬合平面距離為分割指標(biāo)提取地面點,該算法對距離閾值十分敏感,距離閾值設(shè)置不合理會導(dǎo)致過分割和欠分割,同時在復(fù)雜城市環(huán)境中,掃描視野中往往存在地面起伏,只擬合一組平面參數(shù)不能完整提取地面點?;谏疃葘W(xué)習(xí)算法[12,13]通過點云深度學(xué)習(xí)網(wǎng)絡(luò)學(xué)習(xí)地面點屬性特征,測試數(shù)據(jù)與訓(xùn)練數(shù)據(jù)相似時,可以達(dá)到良好的地面分割效果,需要大量訓(xùn)練數(shù)據(jù)提高其泛化能力,同時對于不同型號激光雷達(dá),算法可移植性差且在嵌入式平臺很難達(dá)到實時效果。
鑒于上述算法應(yīng)用的局限性,同時顧及自動駕駛汽車實時性能需求,本文基于柵格投影算法的思想,引入柵格單元高度方差信息,提出一種基于柵格投影的快速地面點云分割算法。首先將原始點云進(jìn)行柵格化處理,然后計算柵格單元的高度差和平均高度,同時在柵格單元引入點云高度方差信息實現(xiàn)地面點云快速分割。該算法可降低對參數(shù)的敏感性,能夠?qū)崿F(xiàn)地面點云快速分割,因其結(jié)構(gòu)簡單,可極大提升算法實時性能。
如圖1所示為激光雷達(dá)坐標(biāo)系下柵格化處理的平面幾何模型,其中Rmax為激光雷達(dá)最大探測距離,dx,dy分別為柵格單元的長和寬,激光雷達(dá)掃描點P可根據(jù)其坐標(biāo)(xp,yp,zp)分配至柵格(row,col)中,(row,col)的計算公式如下:
(1)
式中,floor(·)為向下取整函數(shù)。原始點云數(shù)據(jù)經(jīng)過柵格化處理,每個點都會唯一對應(yīng)一個柵格序號,最終將激光點云全部存儲在柵格矩陣中。
圖1 激光雷達(dá)坐標(biāo)系下柵格化處理的平面幾何模型
經(jīng)過點云數(shù)據(jù)柵格化操作,可通過計算柵格單元的幾何特征信息提取包含地面點云的柵格。傳統(tǒng)基于柵格投影的地面分割算法,通過計算柵格單元的平均高度或柵格高度差實現(xiàn)地面點云分割,然而平均高度的評價指標(biāo)嚴(yán)重依賴激光傳感器安裝高度等參數(shù),且在起伏路面場景會有欠分割現(xiàn)象,同時高度差的評價指標(biāo)抵抗粗差能力較弱,且對被遮擋的物體存在過分割現(xiàn)象。為了解決基于柵格投影算法中計算平均高度或高度差存在的問題,本文引入柵格單元點云高度的方差信息,實現(xiàn)地面點云的快速分割,減輕算法對經(jīng)驗參數(shù)的依賴。算法主要計算柵格單元平均高度、高度差和高度方差,具體流程如下。
(1)計算柵格單元ceil(i,j)平均高度:
(2)
式中(i,j)表示柵格單元ceil(i,j)的行號和列號,size(·)表示求柵格單元存儲點云的數(shù)量,k為柵格單元ceil(i,j)中的點,zk表示k點的z值。對于一般平坦地面場景,非地面點云柵格單元平均高度一般較大。
(2)計算柵格單元ceil(i,j)的高度差:
Zdiff(i,j)=zmax-zmin
(3)
式中,zmax和zmin分別為柵格單元ceil(i,j)的高度的最大值和最小值,為了抵抗點云噪聲影響,本文選取次最大值和次最小值運算。對于一般平坦地面場景,非地面點云柵格單元高度差一般較大。
(3)計算柵格單元ceil(i,j)高度方差:
(4)
柵格單元的高度方差信息可以較好地反映柵格點云的高度分布。一般情況下,對于地面點云柵格,其柵格單元的高度方差應(yīng)較小,對于非地面點云柵格,其方差信息較大。
綜合以上三個柵格單元屬性,分別設(shè)置平均高度、高度差和高度方差閾值來分割地面點云,因分割指標(biāo)全面,對于三個分割指標(biāo)不用嚴(yán)格設(shè)置閾值,即可實現(xiàn)良好的分割效果,因此降低了算法對參數(shù)的依賴。
本文算法采用C++實現(xiàn),所用電腦配置為4核CPU處理器。本文將采用KITTI開源數(shù)據(jù)集[14]和實測數(shù)據(jù)實驗,驗證本文算法的有效性和可行性,其中KITTI數(shù)據(jù)驗證數(shù)據(jù)為平坦路面場景,實測數(shù)據(jù)為起伏地面場景。為避免柵格單元過大導(dǎo)致欠分割,本文算法實現(xiàn)過程中,設(shè)置柵格單元的長和寬均為 0.1 m,高度差閾值為 0.10 m,高度方差閾值 0.40 m2。
KITTI數(shù)據(jù)集中采用64線激光雷達(dá)采集激光點云數(shù)據(jù),采集場景為平坦地面場景,激光雷達(dá)安裝高度 1.73 m,每幀數(shù)據(jù)約有12萬個點,極大考驗算法效率,本文算法的地面分割效果如圖2所示。
圖2 本文算法分割效果(紅色為地面點云,綠色為非地面點云)
從圖2可看出,本文算法在地面點和非地面點交接處分割效果很好,對于車輛、墻面和桿狀物等分割完整。為進(jìn)一步驗證本文算法的有效性,結(jié)合基于物理排序[3]和基于平面模型擬合[10]的方法進(jìn)行對比,其分割效果分別如圖3和圖4所示。
圖3 文獻(xiàn)[3]分割效果(紅色為地面點云,綠色為非地面點云)
圖4 文獻(xiàn)[10]分割效果(紅色為地面點云,綠色為非地面點云)
從圖3(a)和圖4(a)全局分割效果可以看出,兩種算法都可以實現(xiàn)地面點云分割,但是從圖3(b)和圖4(b)局部放大效果可以看出,藍(lán)色圓圈表明兩種算法都出現(xiàn)了不同程度的過分割或者欠分割,文獻(xiàn)[3]基于物理排序的算法對相鄰線束點的幾何閾值過于嚴(yán)苛,導(dǎo)致地面分割不徹底,然而文獻(xiàn)[10]基于平面模型擬合的算法,因需要設(shè)置點到平面的距離閾值參數(shù),導(dǎo)致在地面點和非地面點交接處分割效果不理想,將非地面點云判定為地面點,導(dǎo)致過分割。
綜合上述,可定性分析出本文分割算法分割效果理想,對于地面點和非地面點交接處實現(xiàn)了準(zhǔn)確的分割效果,同時通過與文獻(xiàn)[3]和文獻(xiàn)[10]的分割效果對比,驗證了本文算法的有效性。
為了凸顯柵格投影的優(yōu)勢,實測數(shù)據(jù)為某公司生產(chǎn)的固態(tài)激光雷達(dá)采集的無序點云,無法將其序列化,因此文獻(xiàn)[3]的方法不再適用。采集場景為起伏地面場景,激光雷達(dá)安裝高度 0.85 m,本文算法的地面分割效果如圖5所示。
圖5 本文算法分割效果(紅色為地面點云,綠色為非地面點云)
從圖5可以看出,本文算法分割效果很好,在地面點和非地面點交接處,行人和草木分割完整,同時與文獻(xiàn)[10]基于平面模型的方法進(jìn)行對比分析,其分割效果如圖6所示。
圖6 文獻(xiàn)[10]分割效果(紅色為地面點云,綠色為非地面點云)
從圖6可以看出,文獻(xiàn)[10]基于平面模型擬合的方法,在起伏地面場景中分割效果不理想,因其只擬合一套平面參數(shù),導(dǎo)致起伏路面點云欠分割。同時對于場景中的草木和行人,因其設(shè)置點到平面距離閾值不合理,導(dǎo)致地面和非地面交接處,草木和行人出現(xiàn)欠分割現(xiàn)象。
綜合上述,可定性分析出本文算法的分割效果良好,對于無序點云,本文算法仍可以保持良好的分割效果,然而文獻(xiàn)[3]基于物理排序的方法不再適用,同時文獻(xiàn)[10]基于平面擬合的算法分割效果不理想,進(jìn)一步表明本文算法的有效性。
為定量評估各算法性能,驗證本文算法的可行性,本文采用文獻(xiàn)[15]中的靈敏度(RTP)和特異度(RFP)指標(biāo)進(jìn)行定量評估,具體計算公式如下:
(5)
式中,TP為地面點正確分割的數(shù)量,F(xiàn)P為地面點誤分割的數(shù)量,F(xiàn)N為非地面點正確分割的數(shù)量,TN為非地面點誤分割的數(shù)量。從式(5)可知,RTP越大,地面點被正確分割為地面點的比例越高,分割效果越好;RFP越大,非地面點被錯誤分割為地面點的比例越高,分割效果越差。分別采用KITTI數(shù)據(jù)集和實測數(shù)據(jù)進(jìn)行地面分割,將獲得的定量評估指標(biāo)列于表1。
不同算法在不同場景下的定量評估結(jié)果 表1
由表1的靈敏度和特異度比較可知,對于KITTI數(shù)據(jù)集中平坦路面場景,本文算法和文獻(xiàn)[3]算法分割效果較好,本文靈敏度達(dá)到98.89%,但是對于文獻(xiàn)[10]基于平面模型擬合的算法中,由于設(shè)置平面距離參數(shù)不當(dāng),導(dǎo)致在地面點和非地面點交接處過分割,效果最差。對于實測數(shù)據(jù)中的起伏路面場景,激光點云為無序點云,本文算法和文獻(xiàn)[10]方法依然適用,但是此時文獻(xiàn)[10]只擬合一套平面參數(shù)無法完整分割地面點,因此其分割效果不理想,存在大量地面點云欠分割,而且由于設(shè)定的平面距離閾值參數(shù)的不合理,存在草木、行人與地面交接處的點云被錯誤分割,表明其算法十分依賴經(jīng)驗參數(shù),場景應(yīng)用受限,然而本文算法依然能夠保持良好的分割效果,靈敏度指標(biāo)達(dá)到99.31%,原因在于本文算法分割點云指標(biāo)全面,綜合柵格單元的平均高度、高度差和高度方差信息作為分割指標(biāo),實現(xiàn)了地面點云準(zhǔn)確分割,應(yīng)用場景更廣。同時本文算法結(jié)構(gòu)簡單,因此算法運行最快,對于KITTI每幀12萬個點依然能夠保持約 49 Hz結(jié)果輸出;對于實測數(shù)據(jù),處理一幀約9萬個點僅耗時 5.784 5 ms,滿足自動駕駛汽車實時性需求。
綜上分析,本文算法在精度和效率上較文獻(xiàn)[3]和文獻(xiàn)[10]都具備優(yōu)勢,在地面點和非地面點交接處實現(xiàn)了良好的分割效果,再次驗證了本文算法的有效性和可行性。
本文提出了一種基于柵格投影的快速地面分割算法。綜合柵格單元平均高度、高度差和高度方差信息作為分割指標(biāo),實現(xiàn)了地面點云的準(zhǔn)確分割,同時本文算法結(jié)構(gòu)簡單,算法實時性能高。采用KITTI數(shù)據(jù)集中的平坦路面和實測數(shù)據(jù)中的起伏路面場景進(jìn)行實驗,與文獻(xiàn)[3]和文獻(xiàn)[10]的方法對比測試,驗證了本文算法在精度和效率上的優(yōu)勢,能夠有效快速地分割地面點云,同時本文算法對于無序點云依然適用,應(yīng)用范圍更廣。