冉妮妮
(貴州省地質(zhì)礦產(chǎn)勘查開發(fā)局一○六地質(zhì)大隊(duì),貴州遵義 563000)
高精度、高現(xiàn)勢(shì)性的道路三維信息對(duì)于智能城市建設(shè)、交通管理與道路維護(hù)具有重要意義。作為一種新型的空間三維數(shù)據(jù)采集手段,移動(dòng)車載激光掃描技術(shù)可在不與觀測(cè)目標(biāo)接觸的情況下,動(dòng)態(tài)、實(shí)時(shí)、快速地獲取觀測(cè)目標(biāo)的三維位置信息與紋理信息,利用移動(dòng)車載激光掃描技術(shù)采集到的高密度、高真實(shí)性的點(diǎn)云數(shù)據(jù)可以為道路三維信息的獲取提供數(shù)據(jù)支撐。
目前,國(guó)內(nèi)外基于移動(dòng)車輛激光掃描點(diǎn)云數(shù)據(jù)的道路信息提取方法主要分為兩種:一是從點(diǎn)云投影得到的特征圖像中提取道路信息;二是從離散點(diǎn)云中直接提取道路信息。從特征圖像中提取道路信息主要是基于道路面與鄰域之間的高程差異,對(duì)原始點(diǎn)云數(shù)據(jù)進(jìn)行轉(zhuǎn)換生成特征圖像,再將圖像提取地物的算法引入道路面信息提取中[1]。這種方法的缺陷在于離散點(diǎn)云與格網(wǎng)之間的轉(zhuǎn)換會(huì)造成精度的損失。本文基于道路路面點(diǎn)法向量的分布特征,提出一種點(diǎn)云法向量相似度的道路點(diǎn)云提取算法,并對(duì)算法提取路面點(diǎn)云的有效性與準(zhǔn)確性進(jìn)行了檢驗(yàn)。
城市道路環(huán)境復(fù)雜,道路面、汽車、行人及道路兩側(cè)交通附屬設(shè)施,如電線桿、路燈、行道樹等非地面目標(biāo)點(diǎn)云會(huì)嚴(yán)重干擾點(diǎn)云局部法向量計(jì)算的準(zhǔn)確性,從而降低道路提取的準(zhǔn)確度與效率。因此,將原始點(diǎn)云數(shù)據(jù)中的非地面點(diǎn)濾除是提取道路的關(guān)鍵步驟之一。
本文將使用文獻(xiàn)[2]中提出的點(diǎn)云濾波算法,該算法是一種基于布料模擬的濾波算法(CSF)。該算法濾波速度快且所需參數(shù)較少,是一種穩(wěn)健性較強(qiáng)的地形濾波算法,適用于點(diǎn)云數(shù)據(jù)量龐大的車載點(diǎn)云濾波。布料模擬濾波算法的濾波過程與簡(jiǎn)單的物理過程模擬類似,假設(shè)地形表面上覆蓋著一塊虛擬布料,如果此布料足夠柔軟,那么就可以用此布料的形狀表征數(shù)字表面模型(DSM)。假設(shè)該布料有一定硬度,那么將原始地形翻轉(zhuǎn),此時(shí)可以用布料的形狀表征數(shù)字高程模型(DEM)。圖1為CSF算法示意圖。
圖1 CSF算法示意圖Fig.1 Schematic diagram of CSF algorithm
2.2.1k鄰域搜索
道路車載點(diǎn)云數(shù)據(jù)中各離散點(diǎn)之間沒有幾何拓?fù)湫畔ⅲ虼?,想要?shí)現(xiàn)快速近鄰查找,首先要在離散點(diǎn)之間構(gòu)建幾何拓?fù)潢P(guān)系。KD-tree是一種數(shù)據(jù)結(jié)構(gòu),本質(zhì)是帶有約束條件的二分查找樹,由Bentley于1975年提出[3]。KD-tree主要用于分割k維數(shù)據(jù)空間,從而實(shí)現(xiàn)多維空間數(shù)據(jù)的范圍搜索(FDN)和近鄰搜索(KNN)[4]。
2.2.2 法向量估算
通過局部鄰域擬合的切平面法向量表示點(diǎn)云場(chǎng)景所有激光點(diǎn)的法向量,估算出各激光腳點(diǎn)的局部法向量及曲率值,將法向量相似度作為路面點(diǎn)云提取的約束條件。
圖2為Hoppe等人使用局部切平面擬合方法對(duì)激光點(diǎn)進(jìn)行局部法向量估算原理示意圖[5]。
圖2 法線估計(jì)原理Fig.2 Principle of normal estimation
首先,假設(shè)點(diǎn)云場(chǎng)景任意激光點(diǎn)坐標(biāo)為pi={xi,yi,zi},使用鄰域查找方法搜索得到激光點(diǎn)k個(gè)鄰域點(diǎn);其次,通過距離最小二乘準(zhǔn)則計(jì)算得到激光點(diǎn)的局部擬合平面P,其中P可表示為[6]:
(1)
式中:argmin表示在目標(biāo)函數(shù)最小時(shí)的變量值,d表示坐標(biāo)原點(diǎn)與P之間的距離,n表示P的法向量。
計(jì)算得到激光點(diǎn)所有鄰域點(diǎn)的三維質(zhì)心都位于P上,同時(shí)法向量滿足nTn=1,表明n為單位向量。將主成分分析應(yīng)用于激光點(diǎn)的法向量求解中,此時(shí)可通過k個(gè)鄰域點(diǎn)構(gòu)建協(xié)方差陣C,此協(xié)方差陣最小特征值對(duì)應(yīng)的特征向量就是激光點(diǎn)的法向量。
(2)
C·vi=λi·vi,i∈{0,1,2}
(3)
式(2)、式(3)中:i表示解算鄰域協(xié)方差陣得到的特征值,vi表示特征值i對(duì)應(yīng)的特征向量,p表示鄰域的三維質(zhì)心,k表示激光點(diǎn)pi所有鄰域點(diǎn)個(gè)數(shù)。
激光點(diǎn)3個(gè)方向上的變化程度可以用特征值的大小表示,故激光點(diǎn)pi的曲率Ki可近似表示為:
(4)
城市結(jié)構(gòu)化道路路面點(diǎn)云法向量與路緣石、道路邊緣處點(diǎn)云法向量存在明顯差異,路面點(diǎn)云法向量分布較為集中,且總體豎直向上。故可采用區(qū)域生長(zhǎng)算法,將路面點(diǎn)云法向量方向相似性作為約束條件,對(duì)路面點(diǎn)云進(jìn)行分割。
由于傳統(tǒng)區(qū)域生長(zhǎng)法選取種子點(diǎn)的方法較為隨機(jī),因此,可能會(huì)導(dǎo)致路面點(diǎn)云分割效率低下或者過分分割等問題。針對(duì)此問題,以路面提取目標(biāo)為對(duì)象,改進(jìn)種子點(diǎn)的選擇準(zhǔn)則。圖3為城市結(jié)構(gòu)化道路的空間特征,可以看到結(jié)構(gòu)化道路面點(diǎn)較人行道、道路兩側(cè)地物點(diǎn)更低且路面更為平坦。因此,首先通過原始點(diǎn)云間的高程差異進(jìn)行高程升序排列,其次將曲率最小的激光點(diǎn)作為種子點(diǎn)。算法的具體流程為:
圖3 城市典型道路場(chǎng)景點(diǎn)云Fig.3 Point cloud of typical urban road scene
1)通過原始點(diǎn)云之間的高程差異進(jìn)行高程升序排列,計(jì)算得到所有激光點(diǎn)的曲率Ki與法向量ni,選擇曲率最小的激光點(diǎn)作為種子點(diǎn)。
2)搜索當(dāng)前激光點(diǎn)的鄰域點(diǎn),計(jì)算所有鄰域點(diǎn)的法向量以及鄰域點(diǎn)法向量與當(dāng)前激光點(diǎn)法向量的夾角Si,同時(shí)計(jì)算得到所有鄰域點(diǎn)的曲率值。
3)設(shè)置平滑閾值Sθ與曲率閾值Kt,若當(dāng)前點(diǎn)與鄰域點(diǎn)的法向量夾角Si
完成上述分割流程后,除路面以外,可能還會(huì)聚類得到一些近似平面點(diǎn)群區(qū)域。但是道路路面點(diǎn)云區(qū)域與其他平面點(diǎn)群區(qū)域的區(qū)別在于路面點(diǎn)云區(qū)域平均高程較低且是最大連通區(qū)域。因此,可以通過設(shè)置閾值參數(shù)區(qū)分出路面點(diǎn)云與非路面點(diǎn)云。
通過移動(dòng)車載激光掃描技術(shù)采集得到城鎮(zhèn)環(huán)境中兩段比較典型的城市結(jié)構(gòu)化道路。圖4(a)為路段1點(diǎn)云數(shù)據(jù),路段1數(shù)據(jù)長(zhǎng)度約為300 m,共包含3 758 943個(gè)激光點(diǎn),主要為平直道路,道路寬度較為規(guī)則,坡度較大。圖4(b)為路段2點(diǎn)云數(shù)據(jù),路段2數(shù)據(jù)長(zhǎng)度為150 m,共包含1 895 341個(gè)激光點(diǎn),主要為彎曲道路,道路寬度存在局部不一致。
圖4 原始車載點(diǎn)云數(shù)據(jù)Fig.4 Original vehicle point cloud data
兩段道路數(shù)據(jù)中都包含路燈、行道樹等典型道路附屬設(shè)施。
對(duì)原始點(diǎn)云數(shù)據(jù)進(jìn)行濾波處理,利用開源數(shù)據(jù)軟件Cloud Compare中布料模擬濾波算法進(jìn)行濾波運(yùn)算。路段1道路坡度較大,設(shè)置硬度參數(shù)為2、距離閾值為0.5 m、大格網(wǎng)分辨率為1.5 m、迭代次數(shù)為150次。路段2道路較為平坦,與路段1設(shè)置參數(shù)的區(qū)別在于硬度參數(shù),此路段將硬度參數(shù)設(shè)置為1,其余參數(shù)與路段1參數(shù)設(shè)置相同。
圖5為兩段點(diǎn)云數(shù)據(jù)經(jīng)濾波后得到的結(jié)果,濾波后的點(diǎn)云數(shù)據(jù)包括道路兩側(cè)人行道區(qū)域以及道路面區(qū)域,同時(shí)可見車輛被濾波后留下的空洞區(qū)域。
圖5 濾波后點(diǎn)云數(shù)據(jù)Fig.5 Point cloud data after filtering
使用本文提出的方法,在VS2017環(huán)境中使用C++語言編程對(duì)濾波后的點(diǎn)云數(shù)據(jù)進(jìn)行處理運(yùn)算,得到道路面點(diǎn)云數(shù)據(jù)。其中點(diǎn)云鄰域查找使用的方式為KNN,設(shè)置查找點(diǎn)數(shù)量參數(shù)以及區(qū)域生長(zhǎng)鄰域搜索參數(shù)為30,兩段道路點(diǎn)云數(shù)據(jù)的曲率閾值Kt均設(shè)置為0.04,將路段1點(diǎn)云數(shù)據(jù)的法向量夾角閾值Sθ設(shè)置為8°,將路段2點(diǎn)云數(shù)據(jù)的法向量夾角閾值Sθ設(shè)置為5°。
如圖6所示為兩段點(diǎn)云數(shù)據(jù)的最終道路面提取結(jié)果。
圖6 路段道路面點(diǎn)云提取結(jié)果Fig.6 Extraction results of road surface point cloud in sections
為了定量評(píng)價(jià)本文方法道路的精度,將檢測(cè)質(zhì)量q、完整性r、準(zhǔn)確性p作為本文道路提取的定量評(píng)價(jià)指標(biāo)。3種評(píng)價(jià)指標(biāo)的計(jì)算公式為[7]:
q=TP/(TP+FP+FN)
(5)
r=TP/(TP+FN)
(6)
p=TP/(TP+FP)
(7)
式中:FN表示未被提取得到的道路點(diǎn)數(shù)量,F(xiàn)P表示提取的非路面點(diǎn)數(shù)量,TP表示正確提取得到的路面點(diǎn)數(shù)量,手工從原始點(diǎn)云中將道路面點(diǎn)云取出作為參考數(shù)據(jù)。
表1所示為本文試驗(yàn)提取道路面結(jié)果精度統(tǒng)計(jì),由表1可知,本試驗(yàn)提取道路面結(jié)果的檢測(cè)質(zhì)量q、完整性r、準(zhǔn)確性p均在94%以上。其中,由于路面車輛等障礙物遮擋導(dǎo)致路面局部邊緣處存在少量缺失。試驗(yàn)結(jié)果表明,本文方法可對(duì)城市結(jié)構(gòu)化道路路面進(jìn)行有效提取,受道路形狀及寬度的影響較小。
表1 提取結(jié)果精度統(tǒng)計(jì)Tab.1 Precisionstatisticsofextractionresults數(shù)據(jù)源q/%r/%p/%路段195.1695.8297.75路段294.3895.6396.42
本文根據(jù)城市結(jié)構(gòu)化道路點(diǎn)云的法向量分布特征,提出了結(jié)構(gòu)化道路面點(diǎn)云提取方法。為了對(duì)本文提出方法的可靠性進(jìn)行檢驗(yàn),使用兩段城市道路點(diǎn)云數(shù)據(jù)進(jìn)行算法試驗(yàn),對(duì)道路面點(diǎn)云提取結(jié)果進(jìn)行目視評(píng)價(jià)及定量分析。試驗(yàn)結(jié)果表明,本文提出的算法在城市結(jié)構(gòu)化道路面點(diǎn)云提取中具有較好的適用性。但是本文沒有對(duì)行人、車輛等遮擋造成的路面局部邊緣缺失進(jìn)行修補(bǔ),這將是下一步重點(diǎn)研究方向。