王田發 孔巧麗 李長松 張令綱 方文豪
(山東科技大學 測繪與空間信息學院, 山東 青島 266500)
傳統的人工測量方法是過去獲取城區中行道樹信息的主要途徑,但是此方法測量效率低、精度差。隨著三維激光掃描技術的發展,車載激光掃描系統擔任了獲取城區行道樹信息的重要任務。車載LiDAR系統憑借采集數據自動化程度高、速度快、精度高、可進行三維可視化等特點,應用在行道樹信息的提取上節省了大量的人力和物力。文獻[1]提出了一種基于知識的方法,在激光點云數據中直接提取屬于特定地物的目標點,該方法能夠有效地提取單株樹點云,但在復雜的環境中提取精度受到了一定的限制。文獻[2]針對車載LiDAR數據的分類和提取,提出了一種點云特征圖像的生成方法,但是此方法對單株樹的提取精度較低。文獻[3]提出了一種以聚類的桿狀地物為基礎的提取方法,利用八鄰域搜索對地物點進行聚類,再通過各類地物的特征,對其他地物點逐步排查,精細提取桿狀地物。文獻[4-5]通過聯合二維和三維格網,提出了一種基于水平截面法的樹木點云提取方法。文獻[6]通過均值聚類和曲線擬合算法提出了一種單株樹骨架的提取方法。文獻[7]采用面向對象與疊加分析的方法,提出了一種分層投影的行道樹提取方法。文獻[8]結合目標物的空間結構特征,提出了一種分層獲取目標物激光點云的方法。文獻[9]結合行道樹在分層格網中的形態特征、高程分布與投影密度提出了一種基于空間區域增長的行道樹提取方法,此方法能有效地獲取行道樹的點云。文獻[10]直接在建立好的空間投影格網上進行的點云分割,利用啟發式搜索算法在激光點云數據中獲得樹干的精確位置信息,并通過區域競爭算法正確區分了樹冠。文獻[11]利用隨機森林建立預測模型,并將點云進行分類處理,采用基于密度的聚類算法來提取單株樹,并以單株樹為數據處理的最小單元獲取樹的屬性信息。本文對分層格網點密度法進行研究,分析了算法中各參數對行道樹提取結果精度的影響。此方法可以根據被提取地物的實際形態,合理地調整格網的參數(格網大小、格網高度),靈活地設置格網閾值,進而更加有效地提取目標物的點云數據。
車載激光探測及測距系統(Light Detection and Ranging,LiDAR)系統也叫作MLS(Mobile LiDAR System),是一種以汽車為載體快速獲得道路兩側地物屬性信息和位置的信息采集系統,它是將激光掃描系統、電荷耦合元件(Charge-coupled Device,CCD)相機、定位定姿系統(Position and Orientation System,POS)、控制系統高度集成,然后固定在車頂上,隨著車輛的移動,掃描儀可以獲取周圍360°空間的三維信息,并且相比于機載三維激光掃描系統,車載系統可以近距離獲取地物的信息。車載LiDAR系統憑借自身的各種優越性越來越普遍地應用于道路、人文地理、環境科學等領域。簡而言之,車載LiDAR系統具有采集數據自動化程度高、速度快、精度高、可進行三維可視化、非接觸測量、成圖獨立、獲取的信息量豐富等優點。
但是由于掃描儀安裝在車頂,車載平臺高度一定,加上激光掃描儀的射程有限,從而導致較高地物的頂部信息無法獲得;并且系統以汽車為載體,掃描精度受到道路質量的影響。同時車載三維激光掃描系統獲得的高精度的密集的數據會因為數據量過大,不方便數據后期的處理與管理。
車載LiDAR系統工作時,首先需要建立全球定位系統(Global Positioning System,GPS)基準站,然后對傳感器進行時間的同步、對數據進行空間配準,將GPS與慣性導航系統(Inertial Navigation System,INS)系統進行組合來獲取掃描車的行駛運動路線和實時姿態信息,最后完成對點云數據的采集,以及利用CCD相機進行獲取數據。具體流程圖如圖1所示。
由于不同地物具有不同的形態特征,所以地物表面的三維信息不同,在地物的不同高度處所得到的激光點也不同,在高程較低的近地面處,行道樹所獲得的激光點比較少,在高程值較大的樹冠處,就會獲得較多的激光點。因此,我們可以將所得到的激光點云進行分層,研究目標對象在不同的高度范圍內所包含的激光點,處理流程如圖2所示。

圖2 分層格網點密度法實現流程
2.2.1規則網格的建立
首先研究水平面上點云投影的范圍,根據實際范圍的大小建立一個對于各層網格都實用的網格標準,使得各層之間對應位置的網格大小相等且具有相同的行號和列號。建立網格時,可以根據實地情況和具體需要建立三維坐標系。
2.2.2點云分層處理
點云分層一般都是根據高程對點云進行平均分層,在獲取點云中的最大高程和最小高程之后,根據其差值平均分為n層,對每層點云賦予不同的標記。但此方法針對復雜的大場景點云尋找高程的最值是不可取的,需要根據實測地區的地形情況和所需提取研究的特定地物的實際情況進行點云的分層。
2.2.3逐層計算網格點密度
對點云數據建立標準化網格和點云分層之后,需要計算各個網格的投影點密度。首先將激光點云垂直投影到對應層的水平面上,逐層統計各個網格內所含有的點數。
2.2.4逐層提取激光點
由于各層對應的網格標準是相同的,針對某一地物,可以分析其在各層中的鄰域關系。以單株樹為例,樹的三維形態是連續的,激光點云的分布也是連續的,所以在對其投影后,上下兩層相鄰網格中,投影點密度不為0的網格必定是相同行列號的。
提取單株樹激光點的具體步驟如下:
(1)受近地面地物(如樹下低矮灌木叢、路上的行人等)的影響,通過對第二層網格進行研究來確定樹的主干位置。首先設定一定的網格閾值,進入第二層網格,查找網格點密度大于閾值的網格,并記錄滿足條件的網格的行號和列號。由于格網大小不同,樹木的粗細程度也不同,有些樹木的激光點的投影可能不僅僅局限在一個網格中,所以設立的網格閾值不應該太大,對于某個網格或其鄰域也大于閾值的網格進行分組標記,表示對不同的樹進行不同的標記,如對各組激光點分別標記Treex,表示組成X編號的樹的一部分激光點。
(2)由上到下對第一層的網格進行搜索,只查找與第二層被標記行列號相同的網格,直接為對應的激光點標記對應的屬性。
(3)由下到上進入第三層,在第三層網格中查找與上一層被標記行列號相同的網格,先剔除投影點密度為0的網格,剩下的網格判斷其點密度是否滿足閾值,若滿足則對應標記,然后對該層中被標記的網格的八鄰域網格進行搜索,點密度滿足條件的也要加入對應的分組。最后,在本層中再以標記過的所有網格為起始網格,對八鄰域進行查找,滿足閾值條件的加入分組,以此方法直到對本層所有格網分組歸并完畢。
(4)當前層分組歸并完成后,記錄對應網格行列號,進入下一層用同樣的方法對其操作,直到整個點云數據中所有網格查找完畢。
2.2.5提取單株樹
所有網格處理完成后,在原始的點云數據中,按照需要輸出被標記的點云,不同的樹有不同的標記,可分別輸出。
本文利用Microsoft Visual Studio 軟件以及CloudCompare軟件對點云數據進行提取、顯示和精度分析。所采用的激光點云數據是位于山東省青島市黃島區辛安街道前港路的部分點云數據,在此點云中,主要包括六棵完整的樹、一根路燈、樹下低矮灌木叢、馬路中間的中央隔離護欄以及地面的點云。點云總數約170 000個,最大高差約12.5 m,如圖3所示。

圖3 車載激光點云預處理數據
本文通過改變格網閾值并采用控制變量法對分層格網點密度算法中出現的參數(格網大小,格網高度)進行分析,并在綜合考慮各影響因素下,分析了中央護欄和桿狀地物對單株樹提取結果精度的影響。
3.2.1格網大小對點云信息提取的影響
格網大小的不同會對提取精度產生影響。現在在點云圖像中單獨對一棵樹進行提取研究,點云的原圖像如圖4(a)所示,其中總點數為10 872個,樹高約10.4 m,樹下低矮灌木高約0.85 m。設置格網高度(即格網Z方向長度)為1 m,中心格網閾值為5,八鄰域閾值為2,僅改變格網大小來研究格網寬度對點云提取的精度影響。圖4(b)~(e)是格網大小分別設置為1 m×1 m,0.50 m×0.50 m,0.30 m×0.30 m,0.25 m×0.25 m時,提取的單株樹點云圖像。
根據圖像可以看出,格網越精細,樹下的灌木叢就越容易剔除。原因是當網格越小時較為鄰近的點分布在不同的網格中,越容易區分,當格網比較大時,較為鄰近的點有可能在同一網格中,不易區分。然而格網越精細,每一層中投影點密度就會越小,在已給定格網閾值的情況下,格網越小,小于閾值的格網也會增多,樹冠點云被舍去的就越多,從而會出現圖4的現象。

圖4 不同格網大小提取的單株數點云圖像
3.2.2格網高度對提取精度的影響
用控制變量法,只研究格網單層的高度對點云提取的影響。設計的各個固定參數分別為:格網寬度為0.3 m×0.3 m,中心格網的閾值為5,八鄰域的閾值設為5,控制格網高度(即Z方向的寬度)在0.5~2.1 m之間變化。提取結果如圖5所示。
從圖5(a)~(e)樹下的低矮灌木叢可以看出:選擇格網高度時,應同時考慮地面低矮地物和樹冠下部分枝葉的影響,盡量使第二層格網既不包含低矮地物的點云信息也不包含樹冠下部枝葉的點云信息。同時由得到的點云圖像可知,所研究區域的地形是西高東低的。

圖5 不同格網高度提取的低矮灌木叢點云圖像
3.2.3中央護欄的剔除
綜合考慮3.2.2中所做的實驗結果發現:隨著格網高度的增加,馬路中央護欄逐漸被剔除,然而某些樹下灌木叢的點云又逐漸增多,這一現象主要是由地形起伏引起的,用CloudCompare軟件進行分析,西側(馬路呈東西方向,圖上左側為西)地勢比東側高約0.75 m。因此,為了同時考慮對中央護欄和樹下低矮灌木叢的剔除,需要對中心格網閾值和八鄰域閾值參數進行設置,找到合理的閾值,進而來提高精度。現在設定格網大小為0.3 m×0.3 m,考慮地勢高低的因素將格網高度設為1.8 m,八鄰域閾值為2,用控制變量法,僅改變中心格網的閾值,處理結果如圖6所示。

圖6 格網大小0.3 m×0.3 m不同閾值的處理結果
由圖6可以發現,單考慮提高格網高度來剔除中央護欄是不可取的,因為受地勢高低的影響,灌木叢的點云無法剔除,此時應該選擇合理的格網高度,借助中央護欄投影的特點,改變中心格網閾值來對其進行剔除。
3.2.4桿狀地物對分層格網點密度法的影響
在此算法中,對每一層中滿足閾值的格網,搜索其八鄰域的網格點密度,對點密度大于閾值的網格進行標記和提取,刪除點密度小于閾值的網格,故此算法會提取到電線桿、路燈等桿狀地物。圖7(a)是點云數據處理前的路燈的點云圖像,設置格網的大小為0.3 m×0.3 m,格網高度2.0 m,中心格網的閾值為5,八鄰域閾值為5,提取結果如圖7(b)所示。

圖7 路燈點云圖像
提取過程中,因為樹冠的形態各有異同,樹葉的疏密程度也不同,暫時不能根據樹冠部分與路燈等其他桿狀地物形態的異同,對點云進行全自動的處理。因此,在算法中只保留滿足條件的點云,提取出的點云中會包含一些桿狀地物。需要在提取完之后進一步區分和排除。本實驗考慮路燈與樹的實際形態不同,將兩者投影到二維網格上點云的形態也不同(圖8),借助CloudCompare軟件進行成圖顯示和去除路燈點云。

圖8 二維投影圖
本文基于分層格網點密度法采用CloudCompare軟件對所研究的點云數據進行了詳細分析。通過控制變量法,分別研究不同參數對提取結果的影響,為了使實驗結果更加明顯,用CloudCompare軟件對所要研究的目標進行分割,并在Microsoft Visual Studio 平臺上,不斷改變格網大小、格網高度、中心格網閾值等參數,來分析各個參數對提取精度的影響。實驗結果表明,基于分層格網點密度提取單株樹的算法可有效地獲取組成單株樹的激光點。但在進行提取時要充分分析實地的地形情況,并且相鄰兩棵樹的點云若有重合,將難以區分,路燈等與樹木主干相似的桿狀物體,也難以自動剔除。在今后的研究中,將會對桿狀地物的自動排除、樹木特征信息計算進行深入研究。