淦立琴
(1.廣州市城市規劃勘測設計研究院,廣州 510060;2.廣州市資源規劃和海洋科技協同創新中心,廣州 510060;3.廣東省城市感知與監測預警企業重點實驗室,廣州 510060)
激光雷達(Light Detection And Ranging,LiDAR)是一種可以安裝在不同遙感平臺上的激光探測、測距和定位系統。其集激光測距、慣性測量、高精度定位等技術于一體,通過記錄單個激光信號從發射到接收被地物反射的能量所歷經的時間,并根據信號發出瞬間由定位定姿系統(Position and Orientation System,POS)測定激光掃描系統的位置和姿態,計算出地物目標的三維坐標,并繪制地形圖[1]。與常規攝影測量、傳統的激光測距技術和遙感技術相比,LiDAR 技術是一種新的獲取高分辨率三維地球空間信息的手段,其優點是受天氣影響小、抗干擾性強、采集速度快和幾何精度高[2]。
近年來,LiDAR 技術在生物量估計[3]、水下地形探測[4]和建筑三維建模[5]等方面具有廣泛的應用。尤其在建筑物提取和三維建模方面,LiDAR 相較于傳統技術,有著巨大的優勢。在對建筑物提取的算法中,最主要的問題為激光點云分類問題,王刃等[6]利用點云的相鄰點關系和點密度估計,從點云數據生成的數字地表模型(Digital Surface Model,DSM)中,直接分類出建筑表面點云; 李亮等[7]利用點云構成的法向量特征和連通成分分析方法區分墻面點和建筑點,并結合數字高程模型(Digital Elevation Model,DEM)獲取建筑屋頂點云。本文提出一種簡單高效的方法,利用CSF 點云濾波方法進行地面和地上點云分離,采用HDBSCAN 聚類算法對地上點云進行密度聚類分割,最后設定高程閾值提取建筑物點云。
本文選用的點云數據來自https://portal.opentopography.org/datasets。該網站提供免費高質量的機載點云數據集。所選的點云數據來自于數據集Oregon Department of Geology and Mineral Industries Lidar Program Data。該數據為機載激光雷達數據,點云密度為10.30 pts/m2,點云數量共計約390 000。場景中包括街道、灌木、樹木和房屋(圖1)。

圖1 原始點云數據圖
由于受測量設備、天氣等其他因素影響,點云數據在測量獲取過程中會產生很多噪聲。噪聲會對實體形狀的提取產生干擾,構造出來的實體形狀與原實體會存在一定差距。因此,為降低噪聲對結果的影響,有必要進行噪聲點云去除的預處理工作。使用CloudCompare 軟件的統計濾波器(Statistical Outlier Removal Filter,SOR filter)工具對原始點云數據進行去噪處理,去除明顯離群點。
點云濾波是LiDAR 點云應用中基礎和關鍵的一步,指的是將地面點云與地上點云分離,這一步驟將直接影響后續各種地物分割、分類和建模的精確度。現有研究已經開發了許多濾波算法,不過大部分算法都需要設置一些復雜的參數才能達到較好的效果,尤其是對于不同的場景如城區和山區,參數設定差異較大。復雜多變的調參過程提高了用戶使用的門檻。布料濾波[8](Cloth Simulation Filtering,CSF)的設計思路則非常巧妙,促進了點云地面濾波算法易用性、通用性的提升。CSF 濾波算法假設有一塊虛擬的布料因重力作用落在地形表面上,假設布料足夠柔軟,能緊密貼附在地形上,隨地形起伏,此時布料的形狀即為DSM。當將地形翻轉,落于表面的布料形狀即為DEM。CSF 濾波具體實現包括:首先對LiDAR 點云進行翻轉;再用剛性布料覆蓋翻轉后的表面,分析布料的各個節點與對應點云之間的相互作用,確定節點的位置,從而產生布料曲面近似表示地表形狀;最后,比較原始點云和布料曲面之間的距離,實現從點云中過濾地面點的作用。
2.2.1 HDBSCAN 算法
HDBSCAN (Hierarchical Density-Based Spatial Clustering of Applications with Noise) 是由Campello等[9]提出的一種基于密度的空間數據聚類方法,是常用聚類方法DBSCAN 和層次聚類的一個結合,其基本原理是通過計算相鄰點與核心點的可達距離,構建互達圖,最后引入層次聚類和聚類樹壓縮,獲得最終聚類簇。HDBSCAN 不需要用戶預先確定簇的數量或簇內點周圍的距離閾值,并且可達距離的設計能有效應對不同密度距離簇,生成基于密度聚類的層次結構,從而更有效地提取不連續性。兩點之間的互可達距離如式(1)。本文使用Python 的hdbscan 第三方庫進行點云數據聚類編程。
式中:d(p,q)表示p、q 兩點之間的距離,核心距離ck(p)=d(p,Nk(p))值表示核心點p 和第k 個鄰近點之間的距離。
2.2.2 基于HDBSCAN 的點云聚類
HDBSCAN 聚類方法將所有的點云分為163 個簇,即將其分割成為163 個單一分離對象。為了進一步辨別各聚類簇的具體類型,將所有的簇按照高程的大小重新排列(圖2)。因為激光雷達具有較強穿透性,所以用每一簇高程的最大值作為其標簽來反映地物的類型。

圖2 HDBSCAN 聚類簇內高程最大值和方差
從圖2 可以直觀看出,所有簇中,高程最高為480m,最低接近200 m。不同聚類分割的對象在高程上存在顯著差異,且方差和最大值的整體趨勢與拐點保持基于一致,表現為在高程最大值地區,其高程的方差隨之增大,這與實際情況中樹木高程高于房屋但其離散程度高相符,說明在聚類的過程中基本將同屬性的地物聚為一簇。
2.2.3 基于高程閾值的建筑分類
為了進一步分割開喬木、房屋與灌木,通過簇的高程經驗閾值對其進行分類。由于不同地區基礎海拔不同,所以難以通過通用閾值選定。在實際觀察數據后選擇具體的經驗閾值對其進行分割(表1)。其中低矮灌木的方差在0~1 m2之間,其海拔的最大值為340~350 m;房屋的高度方差在1~350 m2,其海拔的最大值為351~389 m;喬木的高度方差大于350 m2,其海拔總體高于390 m。建筑和喬木最終提取結果分別如圖3 和圖4 所示,可以看出通過本方法較好地提取了房屋建筑形狀。

表1 高程經驗閾值

圖3 房屋建筑分類結果

圖4 喬木分類結果
本文基于高精度的激光雷達點云數據,設計了一種簡單易執行的建筑分類方法,利用HDBSCAN 算法進行聚類分割,再通過高程的經驗閾值進行分類,無須先驗樣本信息,即可達到快速正確提取建筑點云的目的。后續研究可考慮將HDBSCAN 二維聚類算法提升至三維,結合面法向量多維信息,進一步提高地物分割和分類的精度和效率。