计算机系统应用  2024, Vol. 33 Issue (2): 232-238   PDF    
无人机摄影测量点云道路自适应提取
李威祥1,2, 李武劲1,2, 陈思源1,2     
1. 湖南理工学院 信息科学与工程学院, 岳阳 414006;
2. 湖南省工程研究中心 三维重建与智能应用技术, 岳阳 414006
摘要:在无人机摄影测量中, 针对传统的地面点云提取方法对图像点云数据中的道路提取适应性较差的问题, 本文提出了一种无人机摄影测量点云道路自适应提取方法. 首先, 根据点云的空间几何特征将点云划分为3个类别; 然后, 针对非道路的点云类别采取相应的方法进行剔除; 最后, 对经过自适应提取方法得到的点云数据进行滤波平滑和基于颜色的区域生长分割处理. 实验结果表明, 该方法提取的道路点云的I类误差为4.97%, II类误差为1.14%. 该方法能够有效地提取目标道路路面, 提高了无人机摄影测量工程应用中点云数据处理的效率.
关键词: 无人机摄影测量    图像点云    点云滤波    点云分割    道路提取    
Adaptive Extraction of UAV Photogrammetric Point Cloud Road Surface
LI Wei-Xiang1,2, LI Wu-Jin1,2, CHEN Si-Yuan1,2     
1. School of Information Science and Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China;
2. 3D Reconstruction and Intelligent Application, Hunan Provincial Engineering Research Center, Yueyang 414006, China
Abstract: In UAV photogrammetry, traditional ground point cloud extraction methods have poor adaptability when extracting roads from image point cloud data. Therefore, this study proposes a UAV photogrammetric point cloud road adaptive extraction method. Firstly, the point cloud is divided into three categories based on its spatial geometric characteristics. Then, corresponding methods are applied to remove non-road point cloud categories. Finally, the point cloud data obtained through the adaptive extraction method is filtered for smoothing and subjected to color-based region growing segmentation. Experimental results show that the I-class error of road point cloud extracted by this method is 4.97%, and the II-class error is 1.14%. This method effectively extracts target road surfaces, improving the efficiency of point cloud data processing in UAV photogrammetric applications.
Key words: UAV photogrammetry     image point cloud     point cloud filtering     point cloud segmentation     road extraction    

道路的使用寿命和安全性在交通运输中占有重要地位. 作为一项重要的基础设施, 道路对于国家经济、工业、社会和文化的发展起着重要的作用, 定期对道路进行勘测对保证道路状况良好至关重要.

近年来, 遥感技术被广泛用于道路勘测数据收集, 数据形式包括RGB图像、多光谱图像、高光谱图像、激光点云与图像点云等[1].

基于三维点云的道路检测技术作为一种新兴的方法, 已经在许多国家的道路检测中进行了应用. 三维点云相比于二维图像与视频数据, 它包含了三维空间中的坐标信息, 其中图像点云还拥有丰富的纹理信息, 这使得点云数据能够提供详细的物体形状、轮廓和表面细节, 还包括高程、深度、曲率等几何信息.

现阶段, 点云数据来源有多种方式, 包括移动激光扫描(MLS)、机载激光扫描(ALS)、地面激光扫描(TLS)、无人机雷达(UAS-lidar)与无人机摄影测量[2]. 一般来说, 无人机摄影测量通过无人机搭载镜头进行图像采集, 通过实时动态 (real-time kinematic, RTK)技术来对拍摄目标物进行精准的位置获取. 通过三维重建技术将采集的图像转化为三维图像点云数据. 相比于激光扫描与雷达技术, 图像点云获取成本最低. 同时, 无人机的高灵活性、高便捷性使得图像采集变得高效[3,4].

在无人机摄影测量道路检测中, 快速精确地提取出图像点云中的道路部分, 剔除非道路点云是必要的. 这不仅能大幅度降低点云数据量, 还能够去除在三维重建过程中生成密集图像点云产生的噪声点云, 达到提取显著特征、剔除冗余数据、大幅度降低人力成本、提高图像点云数据的应用效率的作用[5,6].

自从摄影测量技术、激光扫描技术、商业雷达系统应用以来, 研究人员相继提出了多种方法来提取点云中的地面点. 杨旭等在对激光点云的数据处理中, 运用随机采样一致算法, 通过不断的构建平面拟合迭代剔除了大量地面点云, 完成了对点云数据的精简, 为后续的目标识别做了良好的数据集[7]. 但面对存在建筑物、植被以及高低起伏的复杂地形时, 单一地随机采样拟合方法效果不佳. Wang等开发了一种基于体素的地面滤波方法, 其中将坡度和局部高程变化的约束嵌入到体素中[8]. 基于体素的方法通常难以处理垂直结构, 例如建筑物的立柱或树木的树干. 这些结构可能会被误分类为地面点, 从而导致地面提取的不准确性. 李昊等提出了一种改进的布料模拟滤波的地面点云提取方法, 利用布料模拟滤波对点云进行初步的地面提取, 然后通过引入法线微分算子, 过滤限定阈值外的向量域以分割出目标尺度对应的地面点与非地面点, 从而实现地面点云的精确提取[9]. 但该方法缺少进一步的对于地面中的道路提取. Che等提出了一种多尺度体素化的点云地物分割算法, 对多种类型点云数据(MLS, ALS, TLS, UAS-lidar, UAS-SfM)进行了测试并总结了不同类型点云相应的地面分割参数[10]. 但Che等所提出的参数在不同地形地貌的点云数据地物分割处理中缺少鲁棒性.

因此, 针对以上问题, 本文提出了一种基于图像点云数据的道路自适应提取方法. 根据点云的几何特征将点云数据划分为3个层面的点云簇, 采用不同的方法逐步处理. 保留的地面点云簇经过滤波平滑通过基于颜色的区域生长分割方法提取道路. 提出的方法对于噪点的干扰具有较强的鲁棒性; 从复杂地形多类型地物目标中精准地提取道路平面, 提高了点云数据的应用效率.

1 自适应道路提取方法 1.1 点云数据降采样

高分辨率的点云数据通常包含大量的点, 处理这些点需要消耗大量的计算资源和时间. 进行一定程度的降采样在保证信息不丢失的同时可以减少点的数量, 从而降低后续处理的计算复杂性. 本文采用均匀降采样的方式来降低点云数据的复杂性. 均匀降采样是一种基于规则的采样方式, 通过在点云空间中均匀选择采样点来降低点云密度. Che等在点云地物分类中使用了体素降采样的方法[10], 图像点云跟其他类型点云的不同之处在于, 在点云生成过程中对图像的特征提取与匹配和相机姿态估计的过程中生成的点云会比激光扫描的点云略厚, 这是不同的点云生成方式所造成的差异. 相对于其他复杂的点云降采样算法, 均匀降采样能够较好地保留图像点云的整体结构, 不需要复杂的参数调整或算法优化, 在实际应用中更加方便快捷.

1.2 点云数据去噪

激光扫描通常会产生密度不均匀的点云, 图像特征点提取与匹配过程也会在边缘图像重叠不高的地方产生噪点. 如图1所示, 通常会包含高于或低于目标平面的噪点和同一平面的远距离噪点. 一些点云道路提取算法需要选择局部区域内高程较低的点作为识别道路平面的起始点或种子点, Che等指出如果不剔除这些噪点, 这将会造成显著的误差, 导致整个地面提取过程失败[10].

图 1 图像点云噪点示例

为了解决这些问题, Che等采用孤立体素滤波(isolated voxel filter)算法剔除噪点[10], Biçici等采用了DBSCAN点云聚类算法剔除了非路面噪声[11]. 本文针对图像点云数据的密度和噪点分布情况, 提出统计离群点滤波(statistical outlier removal, SOR)算法来剔除噪点, 通过计算每个点与其周围邻域点的距离差异, 将距离超出一定阈值的点识别为离群点.

SOR统计离群点滤波算法首先对每个点云的邻域进行统计分析, 则点云中的所有点的距离假设构成高斯分布, 设点云中随机一个点的坐标为$ {P_n}({x_n}, y{}_n, {{\textit{z}}_n}) $, 则该点到任意一点$ {P_m}({x_m}, y{}_m, {{\textit{z}}_m}) $的距离$ {L_i} $计算公式如下:

$ {L_i} = \sqrt {{{({x_n} - {x_m})}^2} + {{({y_n} - {y_m})}^2} + {{({{\textit{z}}_n} - {{\textit{z}}_m})}^2}} $ (1)

遍历每个点云到任意点云之间距离的平均值$ \;\mu $计算公式如下:

$ \mu = \frac{1}{n}\sum\limits_{i = 1}^n {{L_i}} $ (2)

标准差$ \sigma $计算公式如下:

$ \sigma = \sqrt {\frac{1}{n}\sum\limits_{i = 1}^n {({L_i} - } \mu {)^2}} $ (3)

设置标准差倍数为$ std $, 邻域为$ k $, 当某个临近$ k $个点的平均距离在范围$ (\mu - \sigma \cdot std, \mu + \sigma \cdot std) $内时保留点云, 不在范围内则定义为离群点去除.

1.3 非道路点云簇剔除

从点云中剔除噪点之后, 针对点云数据不同区域, 本文采用不同的方法剔除非地面点云. 首先, 将去噪后的点云数据划分3部分, 分别为道路点云簇XOY类(例如路平面点云等)、平行XOY平面的点云簇XY类(例如屋顶, 山坡平面等)与垂直XOY平面的点云簇Z类(例如建筑物墙面, 电线杆等). 如图2所示.

图 2 点云数据划分示意图

针对点云数据中存在的非道路平面点云簇, 本文第1步通过拟合模型迭代的方法剔除XY类点云簇, 快速地将大部分偏离XOY平面的点云簇归为特定的平面方程Ax+By+Cz+D=0中, 其中A, B, C为点云剔除部分拟合模型平面的参数. 如图3所示. 拟合模型迭代的方法可以自适应地找到点云中的平面结构, 不受平面形状分布限制, 具有较好的鲁棒性. 首先从点云中随机选取3个点并组成平面; 然后计算所有其他点到该平面的距离, 如果小于阈值$ {R_t} $则判定处在同一平面. 最后如果同一平面的点超过$ {R_n} $个则剔除这个平面, 并将处在这个平面上的点都标记为已匹配. 当迭代$ {R_m} $次后找到的平面小于$ {R_n} $个点或找不到3个未标记的点则终止.

图 3 点云拟合模型迭代剔除

在第1步去除XY类点云簇之后, 还需要处理空间中的Z类点云簇(例如建筑物墙面、树木、电线杆等). 这些点云簇中的每一个点云的空间位置信息与XOY类点云存在不同程度的偏差, 主要体现在点云的高程上, 但在实际中的一些道路并不是一个绝对的平面, 路面存在一定的坡度, 针对这个问题, 本文提出了一种基于区域阈值分割的方法来剔除Z类点云簇, 如图4所示.

图 4 点云区域阈值分割

首先, 通过格网将点云数据划分为若干个指定大小的区域, 计算计算格网行列数公式如下:

$ \left\{ {\begin{array}{*{20}{c}} {Row = \left[ {\dfrac{{{Y_{\max }} - {Y_{\min }}}}{\textit{Step}}} \right]} \\ {Col = \left[ {\dfrac{{{X_{\max }} - {X_{\min }}}}{\textit{Step}}} \right]} \end{array}} \right. $ (4)

其中, $ {X_{\min }} $$ {X_{\max }} $$ {Y_{\min }} $$ {Y_{\max }} $分别为格网$ {\rm{X}} $方向最小值、最大值和${\rm{Y}}$方向最小值、最大值, ${\textit{Step}}$为格网边长.

然后, 对于每一个区域, 计算区域内每个点云的高程, 找出最低点, 因为上文已经对点云进行了离群点剔除, 故在此认为最低点为地面点. 接着, 对于每一个点云, 计算该点云在区域内与最低点的坡度S和高程差$ \Delta h $. 最后设定一个坡度阈值和高程差阈值, 对超过该阈值的点云进行剔除.

计算任意点云$ {P_m}({x_m}, y{}_m, {{\textit{z}}_m}) $所在行列号 $ Row\_ID $$ Col\_ID $和格网号$ Grid $公式如下:

$ \left\{ {\begin{array}{*{20}{c}} {Row\_ID = \left[ {\dfrac{{{Y_{m} } - {Y_{\min }}}}{\textit{Step}}} \right]} \\ {Col\_ID = \left[ {\dfrac{{{X_{m} } - {X_{\min }}}}{\textit{Step}}} \right]} \end{array}} \right. $ (5)
$ Grid = (Row\_ID - 1) \times Col + Col\_ID $ (6)

通过式(7)可计算出任意区域内任意点云${P_m}({x_m}, y{}_m, {{\textit{z}}_m})$与该区域内最低点$ {P_{G\min }}({x_{G\min }}, y{}_{G\min }, {{\textit{z}}_{G\min }}) $的坡度值Si, 坡度值S为高程差$ \Delta h $与两点间距d的比值, 地物点的坡度值明显大于地面点的坡度值, 坡度值与地面点的高程差值呈正相关. 坡度值小于自定义的阈值St和高程差值小于自定义的阈值$ \Delta h_t $的点为地面点.

$ {S_i} = \frac{{{{\textit{z}}_m} - {{\textit{z}}_{G\min }}}}{{\sqrt {{{({x_m} - {x_{G\min }})}^2} + {{({y_m} - {y_{G\min }})}^2}} }} $ (7)
1.4 点云平滑与基于颜色的区域生长分割

经过两步对非道路点云簇剔除步骤之后, 出现部分噪点, 这是由于要求剔除的立面部分具有自身的厚度, 这会产生极少数点在一定程度上形成局部平面. 对于此类误差, 本文采用滤波的方式对点云数据进行平滑处理, 进一步剔除噪点. 受到地形的影响, 传统的基于点云几何特征(高程、垂直度)的滤波算法无法达到良好的平滑效果, Zhang等对机载激光点云数据的地面分割中, 提出了布料模拟滤波算法[12]. 本文在此处应用Zhang等的方法对于图像点云进行滤波平滑.

首先, 通过反转图像点云, 设置初始布料格$ {C_r} $; 把所有图像点云与格网粒子投影到同一个水平面, 并找到每一个粒子的最近邻点, 记录其投影前的高程; 然后, 对于每一个可移动的格网粒子, 计算其受到重力影响产生的位移, 并与当前粒子对应近邻点的高程进行比较, 如果粒子的高度低于或者等于高程, 则把粒子的高度设置为高程并设置为不可移动点. 对于每个格网粒子, 计算其受到内部驱动因素影响所产生的位移. 直到达到迭代次数$ {C_n} $; 最后, 计算点云与格网粒子之间的高度差异. 如果点与模拟粒子之间的距离小于预先设置的阈值$ {C_t} $则保留[13,14]. 滤波平滑结果如图5所示.

图 5 点云滤波平滑

经过点云平滑之后, 由于地形的原因目标道路坡面上保留了其他道路平面的点云, 为了进一步精简点云, 对非目标道路点云进行剔除. 在常用的聚类方法中, 点云DBSCAN聚类算法[15]和点云欧氏聚类算法[16]、点云区域生长分割算法[17]都在分割和聚类点云数据中有着成熟的应用, 点云DBSCAN聚类算法和点云欧氏聚类算法对于复杂场景和大点云数据计算时间长, 效率相对较低. 根据适用场景本文提出基于颜色的区域生长分割算法对道路进行分割.

基于颜色的区域生长分割算法是基于点云中点之间的属性关系, 将具有相似颜色的点归为同一区域, 从而实现点云的分割和聚类. 首先选择一个或多个种子点, 以种子点为中心搜索周围的点云邻域. 然后, 计算种子点与邻域内其他点之间的相似性度量, 其中为两点颜色阈值$ {Q_t} $, 两类区域颜色阈值$ {Q_h} $. 对于分割的阈值判断, 根据预设的相似性阈值, 判断邻域内的点是否属于同一区域. 如果相似性度量小于阈值, 则将该点添加到种子点所在的区域中. 最后, 从种子点开始, 按照生长条件逐步添加相邻颜色相似的点, 直到不能再添加新的点为止[18,19]. 这样就得到了一个具有相似颜色的区域. 如图6所示.

图 6 基于点云颜色的区域生长道路分割

2 实验结果与分析

本文所提出的一种基于图像点云数据的道路路面自适应提取方法是基于Python语言与Open3D计算机视觉库和基于C++语言与PCL点云库实现的. 实验所采用的服务器硬件配置为i9 12900K的CPU与Nvidia RTX3090的GPU. 测试数据为图像点云. 关于每一个步骤的参数设置, 本文根据点云数量进行估计, 以此显示本文方法的鲁棒性. 表1说明了本文实验中的参数.

表 1 实验参数

为了验证本文方法的可靠性, 本文将Che等提出的基于Vo-SmoG地面提取方法[10]与徐安帝等提出的基于车载LiDAR点云的道路提取方法[19]进行对比分析. 结合CloudCompare软件人工提取道路点云作为参考样本点云, 比较了几种方法与样本数据之间的差异, 如图7所示. 由于本文使用的数据为无人机摄影测量数据, 主要是为了对点云中目标道路的提取精简数据而非地物分类, 因此本文定义CloudCompare人工提取的道路作为本文的真实值. 根据ISPRS提出的3类评价模型[20], 本文参考I类误差与II类误差评价指标, I类误差定义为将道路路面点识别为非道路路面点的误差, II类误差定义为将非道路路面点识别为道路路面点的误差. I类误差$ {E_1} $的计算公式如式(8), 其中, $ {P_1} $为路面点识别为非路面点云, $ {P_T} $为CloudCompare人工提取道路面点云. II类误差$ {E_2} $的计算公式如式(9), 其中, $ {P_2} $为非路面点识别为路面点云, $ {P_P} $为CloudCompare人工提取非道路面点云. 分类误差见表2.

$ {E_1} = \frac{{{P_1}}}{{{P_T}}} \times 100{\text{%}} $ (8)
$ {E_2} = \frac{{{P_2}}}{{{P_P}}} \times 100{\text{%}} $ (9)

通过图7表2可知, 本文的方法与对照算法相比, 对于不规则的地形中的道路提取点云数据精简度更高, 对于噪点的干扰具有较强的鲁棒性; I类误差相比于文献[10]的方法降低了4.35%, 相比于文献[19]的方法降低了6.11%. II类误差相比于文献[10]的方法降低了1.75%, 相比于文献[19]的方法降低了2.89%. 从图7分析可知, 文献[10]的方法对比于本文方法对于道路边缘分割轮廓效果最好, 但同时侵蚀了部分属于路面的点云. 文献[19]的方法对比于本文方法对于主干道的保留效果最好, 但部分支干道路被剔除, 且对于地面上的车辆点云分割效果较差.

3 结论与展望

本文提出了一种基于图像点云数据的道路自适应提取方法, 以解决在无人机摄影测量中传统的地面点云提取方法对图像点云数据中道路的提取适应性较差的问题. 本文方法的主要优势在于显著提高了道路提取性能, 而无需对算法参数进行详细调整. 这一特点不仅简化了实施过程, 还增强了该方法在实际应用中的实用性和效率. 此外, 该方法表现出很强的抗噪能力, 确保在嘈杂和具有挑战性的环境中获得准确可靠的道路提取结果. 促进无人机摄影测量技术的广泛应用和进一步发展.

虽然本研究取得了令人满意的结果, 但还存在一些潜在的改进空间. 未来研究可以探索以下方向.

(1)性能优化, 进一步提高道路路面点云提取的准确性和效率, 以应对更复杂的地形和环境条件.

(2)数据集扩充, 使用更多的不同场景和条件的数据集来验证方法的通用性和鲁棒性.

图 7 对比实验

表 2 不同方法实验结果误差统计

参考文献
[1]
Inzerillo L, Acuto F, Di Mino G, et al. Super-resolution images methodology applied to UAV datasets to road pavement monitoring. Drones, 2022, 6(7): 171. DOI:10.3390/drones6070171
[2]
Chen ZY, Deng LA, Luo YH, et al. Road extraction in remote sensing data: A survey. International Journal of Applied Earth Observation and Geoinformation, 2022, 112: 102833. DOI:10.1016/j.jag.2022.102833
[3]
Abd Mukti SN, Tahar KN. Low altitude photogrammetry for urban road mapping. Built Environment Journal, 2021, 18(1): 31-38. DOI:10.24191/bej.v18i1.10205
[4]
Pinto L, Bianchini F, Nova V, et al. Low-cost uas photogrammetry for road infrastructures’ inspection. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2020, 43: 1145–1150.
[5]
Ren HW, Liu RF, Wang F, et al. Automatic extraction method of urban road curb boundary from vehicle-borne laser point clouds. KSCE Journal of Civil Engineering, 2022, 26(8): 3560-3569. DOI:10.1007/s12205-022-1540-0
[6]
Truong-Hong L, Lindenbergh R. Automatically extracting surfaces of reinforced concrete bridges from terrestrial laser scanning point clouds. Automation in Construction, 2022, 135: 104127. DOI:10.1016/j.autcon.2021.104127
[7]
杨旭. 激光雷达点云数据的滤波和分割处理[硕士学位论文]. 哈尔滨: 哈尔滨工业大学, 2021.
[8]
Wang LY, Xu Y, Li Y. Aerial LIDAR point cloud voxelization with its 3D ground filtering application. Photogrammetric Engineering & Remote Sensing, 2017, 83(2): 95-107.
[9]
李昊, 陈壮, 董振川, 等. 一种改进布料模拟滤波的地面点云提取方法. 测绘科学, 2023, 48(5): 120-128. DOI:10.16251/j.cnki.1009-2307.2023.05.015
[10]
Che E, Senogles A, Olsen MJ. Vo-SmoG: A versatile, smooth segment-based ground filter for point clouds via multi-scale voxelization. ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2021, 8: 59–66.
[11]
Biçici S, Zeybek M. An approach for the automated extraction of road surface distress from a UAV-derived point cloud. Automation in Construction, 2021, 122: 103475. DOI:10.1016/j.autcon.2020.103475
[12]
Zhang WM, Qi JB, Wan P, et al. An easy-to-use airborne LiDAR data filtering method based on cloth simulation. Remote Sensing, 2016, 8(6): 501. DOI:10.3390/rs8060501
[13]
闵启忠. 基于CSF的无人机影像数据点云滤波算法实现与应用. 北京测绘, 2021, 35(6): 707-711. DOI:10.19580/j.cnki.1007-3000.2021.06.001
[14]
孟华儒, 吴国伟. 基于地形认知的布料模拟滤波算法. 计算机科学, 2023, 50(1): 156-165. DOI:10.11896/jsjkx.211100183
[15]
彭耀霖, 李荣冰, 何梓君. 毫米波雷达点云的密度和划分联合聚类方法. 测控技术, 2023, 42(10): 60–66, 88.
[16]
宋淑雅. 基于改进欧氏聚类的点云分割方法. 计量与测试技术, 2022, 49(5): 96-100.
[17]
Poux F, Mattes C, Selman Z, et al. Automatic region-growing system for the segmentation of large point clouds. Automation in Construction, 2022, 138: 104250. DOI:10.1016/j.autcon.2022.104250
[18]
李海旺, 周恒可, 赵兴, 等. 机载LiDAR点云数据的建筑屋顶面提取算法. 计算机工程与应用. http://kns.cnki.net/kcms/detail/11.2127.TP.20230523.1722.008.html. (2023-05-24).
[19]
徐安帝, 王会峰, 余炳伟, 等. 基于车载LiDAR点云的道路提取方法. 光学技术, 2023, 49(1): 29-33.
[20]
Sithole G, Vosselman G. Experimental comparison of filter algorithms for bare-Earth extraction from airborne laser scanning point clouds. ISPRS Journal of Photogrammetry and Remote Sensing, 2004, 59(1–2): 85-101. DOI:10.1016/j.isprsjprs.2004.05.004