-
为将道路点所具备的连续性、平滑性及反射强度一致性等特征应用到道路提取中来,计算地面点云各点在邻域内的坡度、粗糙度、高差方差及点密度,与点云的反射强度组成点云的分类特征。
(1) 坡度。邻域点的拟合平面与水平面的夹角。道路区域在局部邻域范围内可近似看作为平面,相对于非道路区域,道路区域的坡度相对较小且稳定。空间中,点的法向量是描述点所在面的朝向,可通过先计算法向量再求得点的坡度值。对每个离散点的邻域点进行平面拟合,将拟合的平面方程转换为一般式,需满足下式:
$ \boldsymbol{A} x+\boldsymbol{B} y+\boldsymbol{C} z=D, \left(D \geqslant 0, \boldsymbol{A}^{2}+\boldsymbol{B}^{2}+\boldsymbol{C}^{2}=1\right) $
(1) 式中, A,B, C分别为平面的法向量在x, y, z这3个方向上的分量,D为常数。为获取最佳拟合平面,采用最小二乘法求解拟合平面,即保证所有点到平面的距离之和最小。所求的法向量中,z方向的分量表示点邻域范围坡度的平缓程度,该分量越大表示越平缓,反之越陡峭,为便于理解将之转化为坡度表示:
$ \theta=\arctan \left(\frac{\sqrt{1-\boldsymbol{C}^{2}}}{\boldsymbol{C}}\right) $
(2) 式中,θ为拟合平面坡度。
(2) 粗糙度。邻域内所有点的高程标准差。山区道路具有连续性,在小区域范围内路面高程值差异小,不会出现大的波动与突变,计算的高程标准差可评估局部区域的异质性,值越大表明邻域内高程变化越大,当前点属于道路点的可能性就越小。
(3) 高差方差。邻域内所有点与当前点的高差方差,用以描述点在邻域内的高差变化的稳定性。相对非道路点云,道路点云高程变化缓和,高差方差较小。
(4) 点密度。即点邻域内的点个数,道路区域相较于其它地面区域因地势平坦、树木遮挡较少,滤波后的该区域点较为密集。
(5) 反射强度。LiDAR点云对于相同材质的地物反射强度具有很强的同一性,利用反射强度特征进行道路的提取,这为道路点云的分类提取提供了最重要的特征,也是最有区别力度的分类特征。
-
实验中所使用机载LiDAR点云数据来源于美国普吉特海湾激光雷达联盟(The Puget Sound LiDAR Consortium, PSLC) 2013 Entiat River LiDAR项目所提供的部分山区点云数据,如图 2所示。数据中共计点2738288个,平均点密度为13.82/m2,实验数据包含地面、植被、道路、房屋等点,道路位于数据中央地势平缓的沟谷区域,道路两侧为山区常见的陡缓坡交替地形,点云高差达到205.76m,具有很好的山区代表性。
-
本文中使用LiDAR360点云软件滤波,考虑山区地形高差起伏变化较大,采用在山地森林地区稳健性较好的渐进加密三角网滤波法[15]对原始LiDAR点云滤波,该方法首先需参考数据内最大建筑物的边长划分虚拟格网,获取格网内最低点作为地面种子点。然后对种子点建立不规则三角网(triangulated irregular network, TIN) 进行迭代加密,迭代过程中,计算判断其余点到所对应三角形的距离与角度是否满足阈值,满足则加入地面点中生成新TIN。迭代过程一直到没有点再加入TIN为止,最后TIN中的点即为地面点。滤波结果如图 3所示,获取地面点共计1281419个,树木房屋等非地面点基本去除,且道路区域点云保留良好。
-
地面点云特征计算可根据点云的密度来设置邻域距离,其原则是计算尽量小的区域范围,但需尽可能地减少计算特征出现空值。本文中数据滤波后的平均点密度为6.5/m2,将点邻域设置为0.5m来计算点云特征,对各个特征进行灰度可视化渲染,如图 4所示。
在坡度、粗糙度与高差方差3个点云特征图像中,整体道路点云表征明显,与周围非道路点云差异较大,特征值主要集中在小数值上,可以作为道路点分类判断的重要依据。在点密度特征图像中,整体道路点云密度较非道路点云要大,但是某些路段区域却出现断层现象(点密度变小),分析原因可能是因为原始激光点云采集时扫描不均匀,导致这些区域点密度过小。在反射强度特征图像中,呈现出两条具有不同特性的道路:其中一条道路点云反射强度值集中在较小数值上,与周围非道路点云差异明显;但另一条道路点云反射强度值与周围非道路点云差异不大,推断是因该条道路所用材质为沙石泥土所致。为了能够得到完整的道路点云,在道路点云提取过程中需要将所有道路点云所表现出的点云特征都予以考虑,即在样本采集时对密度小的道路断层区域与道路反射强度差异小的区域选择性采集。
-
本文中道路点云提取采用一种监督分类的方式,需要对特征计算完成的地面点云人工采集具有代表性的先验点作为样本集。样本类别分为两类,正样本即道路点,负样本即非道路点。为了结果能获取较完整道路点,样本采集尤为关键,需要遵循代表性、概括性与完整性,根据山区道路点云特征,选择主要依据可为反射强度值、坡度和地形表面的高程起伏形态。使用CloudCompare软件从特征计算完成的点云中,手动提取正负样本点,并赋上类别标签。分析山区道路的分布与计算完成的分类特征后,最终确定训练样本集分3个区域采集,主要围绕道路分布在河谷区域、山腰区域(样本集在地面点具体分布如图 5所示)共计100494个,道路点(标签值为1)33848个,非道路点(标签值为0)66646个。
为分析点类别与点特征的相关性,绘制样本集的两类点在各特征上的分布图, 如图 6所示。纵坐标是各个特征对应特征值点云个数,横坐标除了图 6a以外,其余都是无量纲量。由图 6可看出,道路点与非道路点在各特征中分布具有明显差异,在坡度、粗糙度、高差方差特征中,道路点分布聚集且峰值突出并集中在较小的数值上,而非道路点分布则较为分散,峰值出现在较大数值上;在点密度与反射强度特征上:道路点密度较非道路点大,而反射强度则较小。因此坡度、粗糙度、高差方差、点密度与反射强度可以作为道路点云判断分类的重要特征。
-
随机森林是BREIMAN于2001年提出的一种机器学习预测分类算法[16],以决策树为基本单元,通过将多棵决策树集成在一起,最终结果由每棵决策树结果综合投票所得。随机森林是以随机抽样方式构造出不同训练集,使每棵决策树之间都没有关联,从而提高分类模型的外推能力,不易出现过拟合现象,同时对异常值与噪声都又很强的容忍度[17]。在面对分类数据不平衡时,如山区道路点云占地面点云比例非常小,使用随机森林可进行误差平衡,做到准确分类。
把采集制作的样本集按照7 ∶3随机拆分为训练集与测试集,使用训练集进行点云随机森林分类模型构建。将计算的5个点云特征以及样本集的类别标签作为模型训练构建的输入值,通过Python编程构建点云随机森林分类模型,构建步骤[18]见下:(1)从训练样本集中有放回的随机抽取n个样本数据,再从所有特征中随机抽取m个特征变量,由此生成新的点云样本集合,训练生成点云分类决策树;(2)重复上述过程生成k棵分类决策树,每棵决策树对应根节点储存抽取的样本数据,从根节点出发,按照最小不纯度原则寻找最佳特征变量,分裂生成子节点;(3)对每棵树递归地选择分裂节点,直至不能继续分裂为止, 但在实际过程中,为加快决策树的生成与防备过拟合现象发生,需要设定额外的限制条件——最大树深和最小叶节点,即决策树在小于最大树深才能进行生长分裂;节点数据量在大于最小叶节点才能继续分裂[19];(4)将生成的k棵分类决策树组成随机森林,在测试阶段,每棵决策树都对测试样例进行一次投票,最后综合票数最多的类别属性赋值给测试样例,以实现随机森林分类。
点云随机森林分类模型结构如图 7所示。
将测试点云样本集输入分类模型中,随机抽取点云样本集输入给每棵决策树;每棵决策树又对输入的3维点进行决策分类,获得点的类别属性;最后综合所有决策树的分类结果,对测试样本集中各点的类别进行投票,票数最多的类别赋值给该点,即得到测试点云样本集中的模型分类结果。
引入分类器评价指标[20]可得到模型精度评定, 如表 1所示。
Table 1. Accuracy evaluation table of point cloud random forest classification model
classification precision/% recall/% accuracy/% AUC/% 0 94.44 93.80 92.21 91.16 1 89.06 87.87 表 1中点云类别0为非道路点,1为道路点;precision为查准率,是分类模型判定正例中的正样本比重;recall为查全率,是被预测正例占总正例的比重;accuracy为准确率,是分类器对整个样本判断正确的比重; 接受者操作特性(receiver operating characteristic, ROC)曲线下面积(area under curve, AUC),即预测正确概率值。由表 1可知,模型对道路点的预测分类查准率达到89.06%,查全率达到87.87%,分类模型的预测分类性也达到91.16%,说明分类模型能较好预测点云类别,能够应用于山区道路点云分类提取。
-
(1) 初始道路点云提取。把地面点云输入进随机森林分类模型中进行分类预测,得到每个地面点的预测类别标签,将其赋值到地面点云数据上,使每个点都有类别标签,按照道路点类别标签1输出得到初始道路点云,结果如图 8a所示。
初始道路点云共计点251887个,由图 8a可以看出,道路的整体基本提取完成,形状与走向也还是较为明确,但是道路周围还伴随着大量非道路噪声点,部分还聚集成块状分布。经分析发现这些噪声点主要分为两类:远离道路的平缓离散噪声点和聚集成块且坡度平缓的河谷区域。
(2) 精华道路点云。为精化分类提取的道路点云,本文中采用DBSCAN聚类算法进行去噪处理[9]。聚类参量初次设置可参考原始点云密度与特征邻域计算范围,然后根据可视化聚类效果进行调整,如本文中初始参量设置为: 扫描半径E=0.5m、最小包含点数M=6。经多次调整试验后,参量设定为: E=0.8m, M=6,初始道路点云聚簇共有1271簇,将聚类结果赋色可视化渲染,如图 8b所示,蓝色条带状为道路点簇。将道路点簇的点云输出即得精化道路点云,所得精化道路点云共计点78209个,如图 8c所示,相比初始道路点云,噪声点去除效果显著,基本去除。
-
为方便道路数据管理使用,精化的道路点云需要转化为道路矢量线。使用ArcGIS软件将精化后的道路点按1m×1m规格设定划分格网,投影到xOy平面,得到道路栅格图像,再将道路栅格图像二值化,最后矢量化得到道路中线。把本文中方法提取道路中心线与手动提取道路的中心线叠加对比, 如图 9所示(红色为本文中方法提取,黑色为手动提取)。由图 9可知,本文中方法提取的山区道路整体走向基本与手动道路重合,证明本文中方法可高精度提取山区道路。
-
为评定道路提取的精度,在缺乏实验区域高精度道路信息的情况下,使用手动提取道路信息作评定标准,是道路提取精度评定的重要手段[8]。本文中鉴于机载LiDAR点云在3维空间信息上具有高精度的特点,使用手动提取原数据中的道路点云作为真值,对文中所述道路提取方法提取到的道路点云通过正确率Ct、完整率Cc和提取质量Cq来进行精度评定。
$ C_{\mathrm{t}}=\frac{T_{\mathrm{p}}}{T_{\mathrm{p}}+F_{\mathrm{p}}} $
(3) $ C_{\mathrm{c}}=\frac{T_{\mathrm{p}}}{T_{\mathrm{p}}+F_{\mathrm{n}}} $
(4) $ C_{\mathrm{q}}=\frac{T_{\mathrm{p}}}{T_{\mathrm{p}}+F_{\mathrm{p}}+F_{\mathrm{n}}} $
(5) 式中,Tp为正确提取到的道路点;Fn为未提取到的道路点;Fp为错误提取到的道路点。
实验中区域手动提取道路点云为80163个,视作为真实道路点云,计算道路点云提取的完整率、正确率、质量3个指标,进行提取结果精度评定。引用参考文献[9]中的山区道路提取方法进行对比,如表 2所示。
Table 2. Accuracy evaluation table of road point extraction
Tp Fn Fp Ct/% Cc/% Cq/% in this paper 74522 5641 3687 95.29 92.96 88.88 reference[9] 72862 7301 3809 95.03 90.89 86.77 两种方法道路提取的正确率都较高,达到95%以上,完整率与提取质量也都能达到86%以上,综合相比之下,本文中的方法略优于参考文献[9]。在整个道路提取过程中,本文中方法使用对少量样本训练获得的随机森林分类模型,能自动提取道路点云,人为参与度较少,操作简便且结果精度较高。参考文献[9]中则是通过人为设定多特征阈值进行分类提取道路点云,分类提取时若其中一个阈值出现偏差,则会影响到整体的提取结果。因此该方法在每个特征阈值的设定上,都需要人为多次测试找到最佳阈值,操作过程较为繁琐,且阈值设定还都需要考虑数据整体效果,在复杂的场景下将面临阈值普适性差引起道路点云提取困难的问题。综合精度与操作简易因素,选择本文中的方法用于山区道路提取更佳。
将两种方法提取的道路点云与手动道路提取道路点云叠加对比,发现都存在未提取的道路点主要集中在山腰处的道路边界,错误提取点集中在河谷道路边界。经分析可知,是因山腰处的道路蜿蜒崎岖且两侧点的高程差异大、坡度变化大;河谷处的道路较为平坦,两侧点的高程差异与坡度变化较小所致。在计算山腰道路边界点的分类特征时,邻域内包含大量非道路点,从而影响计算的分类特征值易偏向于非道路点造成漏分现象。在计算河谷道路边界外点的分类特征时,邻域内包含大量道路点,使分类特征易偏向于道路点造成错分现象。
一种基于机载LiDAR数据的山区道路提取方法
A mountain road extraction method based on airborne LiDAR data
-
摘要: 为了解决基于机载激光雷达(LiDAR)点云提取道路时多重特征阈值设定难、普适性低的问题, 采用了随机森林分类模型提取道路点云进而获得道路中心线的方法。首先使用渐进加密三角网滤波获取地面点云, 根据山区道路特性, 计算地面点云各点在邻域范围的坡度、粗糙度、高差方差、点密度及反射强度, 组成点的分类特征; 随后手动采集正负样本训练点云随机森林分类模型, 将地面点云通过模型分类得到初始道路点云; 再通过基于密度的噪声应用空间聚类算法去除噪声点精化道路点云; 最后矢量化道路点云获取道路中心线。结果表明, 以Entiat River地区山区LiDAR点云数据进行实验验证, 道路点云提取的正确率达到95.29%, 完整率达到92.96%, 提取质量达到88.88%。该方法能解决多重阈值难以确定的问题, 能较高精度地提取到山区道路点云, 进而获取有效道路中心线, 对山区道路信息的研究有一定的参考价值。
-
关键词:
- 激光技术 /
- 山区道路 /
- 随机森林 /
- 激光雷达点云 /
- 基于密度的噪声应用空间聚类算法
Abstract: In order to solve the problems of difficulty in setting multiple feature thresholds and low generality in road extraction based on airborne light detection and ranging (LiDAR) point cloud, a random forest classification model was used to extract road point cloud and then obtain road center line. Firstly, the ground point cloud was obtained by progressive cryptography triangulation filtering. According to the characteristics of mountain roads, the slope, roughness, height difference variance, point density and reflection intensity of each point in the neighborhood of the ground point cloud were calculated, and the classification characteristics of the component points were calculated. Then, positive and negative samples were collected manually to train the random forest classification model of point cloud. The ground point cloud was classified by the model to get the initial road point cloud. And then, the road point cloud was rifined through the algorithm of density-based spatial clustering of application with noise (DBSCAN). Finally, the road point cloud was vectored to obtain the road center line. The results show that the accuracy of road point cloud extraction is 95.29%, the integrity rate is 92.96%, and the extraction quality is 88.88%, respectively. This method can solve the problem of difficult to determine multiple thresholds, and can extract the mountain road point cloud with high precision, and then obtain the effective road center line, which has certain reference value for the study of mountain road information.-
Key words:
- laser technique /
- mountain road /
- random forest /
- LiDAR point cloud /
- DBSCAN algorithm
-
Table 1. Accuracy evaluation table of point cloud random forest classification model
classification precision/% recall/% accuracy/% AUC/% 0 94.44 93.80 92.21 91.16 1 89.06 87.87 Table 2. Accuracy evaluation table of road point extraction
Tp Fn Fp Ct/% Cc/% Cq/% in this paper 74522 5641 3687 95.29 92.96 88.88 reference[9] 72862 7301 3809 95.03 90.89 86.77 -
[1] LI X L, ZHANG Y. Summary of road information extraction methods[J]. Bulletin of Surveying and Mapping, 2020(6): 22-27(in Chin-ese). [2] WANG D H. Road network information extraction based on GPS tra-jectory data of low-frequency taxi[D]. Wuhan : Wuhan University, 2017: 2-4(in Chinese). [3] DAI J G, WANG Y, DU Y, et al. A review of road extraction methods from optical remote sensing images[J]. Journal of Remote Sensing, 2020, 24(7): 804-823(in Chinese). [4] HUI Zh Y, HU Y J. Methods for extracting roads in the onboard LiDAR point cloud[J]. Mapping Science, 2017, 42(3): 70-74(in Chinese). [5] LIU J N, ZHANG X H. Using laser intensity information classification laser scanning altimetry data[J]. Wuhan University Journal (Information Science Edition), 2005, 30(3): 189-193(in Chinese). [6] ZHANG X H. The theory and method of airborne lidar measurement technology[M]. Wuhan: Wuhan University Press, 2007: 170-173(in Chinese). [7] HE R, HE M Zh, DU Zh Q, et al. Mountain road extraction based on airborne laser point cloud data[J]. Geographic Information World, 2015, 22 (6): 116-121(in Chinese). [8] WANG P, XING Y Q, WANG Ch, et al. Research on the method of extracting mountain roads from airborne LiDAR data[J]. Remote Sensing Technology and Application, 2017, 32(5): 851-857(in Chin-ese). [9] HAN D F. Research on mountain LiDAR road extraction method based on multi-feature constraint[D]. Changchun: Jilin University, 2018: 30-47(in Chinese). [10] HUI Zh Y. Research on the key technology of extracting urban road network from airborne LiDAR point cloud[D]. Wuhan: China University of Geosciences, 2017: 50-68(in Chinese). [11] SÁNCHEZ J M, RIVERA F F, DOMIÍNGUEZ J C C, et al. Automatic extraction of road points from airborne LiDAR based on bidirectional skewness balancing[J]. Remote Sensing, 2020, 12(12): 2025. doi: 10.3390/rs12122025 [12] AZIZI Z, NAJAFI A, SADEGHIAN S. Forest road detection using LiDAR data[J]. Journal of Forestry Research, 2014, 25(4): 975-980. doi: 10.1007/s11676-014-0544-0 [13] FERRAZ A, MALLET C, CHEHATA N. Large-scale road detection in forested mountainous areas using airborne topographic lidar data[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2016, 112: 23-36. doi: 10.1016/j.isprsjprs.2015.12.002 [14] YUAN P F, HUANG R G, HU P B, et al. Road centerline extraction based on multispectral LiDAR data[J]. Journal of Geo-Information Science, 2018, 20(4): 452-461(in Chinese). [15] ZHAO X Q, GUO Q H, SU Y J, et al. Improved progressive TIN densification filtering algorithm for airborne LiDAR data in forested areas[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2016, 117: 79-91. doi: 10.1016/j.isprsjprs.2016.03.016 [16] BREIMAN L. Random forests[J]. Machine Learning, 2001, 45(1): 5-32. doi: 10.1023/A:1010933404324 [17] GUO J Q, YAO Y B, ZHOU Y J. PM2.5 stochastic forest prediction model based on GNSS meteorological parameters[J]. Science of Surveying and Mapping, 2021, 46(4): 37-42 (in Chinese). [18] XIONG Y, GAO R Q, XU Zh Y. Random forest method for dimension-reduction and classification of airborne LIDAR point cloud data[J]. Acta Geodaetica et Cartographica Sinica, 2018, 47(4): 508-518(in Chinese). [19] XIA X L, ZHANG T T, ZHOU T, et al. Tracking mode decision of compound seeker based on random forest[J]. Laser Technology, 2021, 45(6): 811-816(in Chinese). [20] WANG Y Y, CHENG S C. A survey of evaluation and design for AUC based classifier[J]. Pattern Recognition and Artificial Intelligence, 2011, 24(1): 64-71(in Chinese).