计算机系统应用  2024, Vol. 33 Issue (3): 220-225   PDF    
基于图像点云的道路缺陷检测
李威祥1,2, 李武劲1,2, 陈思源1,2     
1. 湖南理工学院 信息科学与工程学院, 岳阳 414006;
2. “三维重建与智能应用技术”湖南省工程研究中心, 岳阳 414006
摘要:本文针对无人机图像点云道路缺陷检测问题, 提出了一种基于点云切片平面拟合与聚类的道路缺陷检测方法. 首先, 采集无人机图像进行三维重建生成图像点云, 对点云进行坡度滤波与统计离群点滤波, 消除噪声和异常点的干扰. 然后, 对点云进行切片并利用随机采样一致性平面拟合算法估计道路的平面模型. 随后, 运用点云DBSCAN聚类算法分类出边缘噪声与道路损伤点云. 最后, 采用点云切片法估计损伤程度. 在实验中, 我们使用真实无人机采集的点云数据, 并与基于点云垂直度特征检测方法进行了对比. 实验结果表明, 本文方法表现出较高的准确性和鲁棒性, 体积估计的误差为1307 cm3. 相较于传统方法, 本文方法能够更精确地检测出道路损伤, 并能适应复杂的道路形状变化.
关键词: 无人机    图像三维重建    道路检测    点云拟合    点云聚类    
Road Defect Detection Based on Image Point Cloud
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. Hunan Provincial 3D Reconstruction and Intelligent Application Engineering Research Center, Yueyang 414006, China
Abstract: To address the challenge of detecting road defects in drone-captured image point clouds, this study introduces a road defect detection method based on point cloud slicing, plane fitting, and clustering. Firstly, drone images are captured to facilitate 3D reconstruction and the generation of image point clouds. Subsequently, point cloud data undergoes slope filtering and statistical outlier filtering to eliminate noise and anomalous data points. Next, the point clouds are sliced, and a random sample consensus (RANSAC) plane fitting algorithm is applied to estimate the road’s plane model. Then, the point cloud DBSCAN clustering algorithm is employed to differentiate between edge noise and road damage point clouds. Finally, the point cloud slicing technique is utilized to assess the extent of the damage. In the experiments, the study employs actual drone-collected point cloud data and compares the proposed method with an approach relying on point cloud verticality features. The experimental results demonstrate that the proposed method exhibits a high level of accuracy and robustness, with a volume estimation error of only 1307 cm3. Compared to traditional methods, the proposed method excels in precisely detecting road damage and adapting to intricate road shape variations.
Key words: UAV     image-based 3D reconstruction     road detection     point cloud fitting     point cloud clustering    

1 引言

道路作为最重要的基础设施之一, 在社会经济发展中起着至关重要的作用. 然而, 路面结构受到车辆行驶以及环境因素的影响, 会逐渐导致路面损坏, 对车辆的行驶效率以及安全性有重要的影响. 根据研究表明, 道路养护的支出成本远远少于道路的建设成本, 并且定期的道路养护能延长道路使用寿命. 根据《2022年交通运输行业发展统计公报》, 到2022年末, 全国公路总里程数为535.48万千米, 排名世界第一. 公路密度为55.78千米/百平方千米, 公路养护里程已达到535.03万千米, 占公路总里程的99.9%[1]. 因此, 随着道路里程数和现有道路养护需求的增加, 快速高效地检测道路损伤, 明确损伤位置分布和损伤程度具有重要的现实意义.

传统的路面损伤检测方法在很大程度上依赖于道路维护人员的经验, 需要维护人员对路面进行目视检查, 确定路面状况, 并给出评级, 该评级可能会因其他维护人员的不同而有所不同. 这些手工检查也需要领域的专业知识, 既耗时又不安全[2].

现代化设备的发展丰富了道路检测方法, 其中产出形式包括二维图像、视频、三维点云等多类型数据. 基于二维图像与视频的检测方法已经从传统图像处理技术向深度学习方向发展, 时至今日, 基于二维图像与视频的检测方法拥有检测快和精度高的优势, 但需要通过大量的预训练数据和复杂的网络结构来提升检测性能, 且检测结果缺少三维空间信息. 基于三维的检测手段包括激光雷达、摄影测量等, 激光雷达已经在一些国家的道路检测与维护中得到了应用[3,4], 但这耗时且影响交通. 从经济角度出发, 激光传感器价格昂贵, 对于我国发展中国家的定位来说, 现阶段还未在全国范围内普及应用. 无人机图像点云通过无人机搭载消费级相机采集图像经过三维重建得到. 相比于激光点云, 图像点云获取成本更低; 使用无人机进行航拍可以快速地覆盖大面积地区, 采集数据效率高; 由于图像数据捕捉了颜色和纹理, 使得图像点云包含丰富的颜色信息, 能够提供更全面、更具描述力的地理数据. 对于地表的道路检测来说, 使用无人机摄影测量的方式相比于激光扫描的方式更有优势.

近年来, 无人机图像点云已经成功应用到多个学科领域, 通过使用运动恢复结构技术(structure from motion, SfM)来进行三维重建对于精准农业[5,6]、地质监测[7]、考古分析[8]等学科领域都是一种特别方便实用的方法. 点云道路检测主要为自动化地检测道路上地凹坑和损坏, 目前已存在多类型地检测方法, 其中包括基于点云的深度学习、几何特征提取、特征聚类、激光雷达回波强度、多源数据融合等, 许多研究人员与工程专家致力于点云的应用[915]. Biçici等提出一种基于点云垂直度特征提取的方法, 通过分析点云的垂直度特征提取路面损伤, 采用DBSCAN点云聚类提取显著损伤, 通过比较点云数据的分析结果和传统检测方法的测量结果进行精度评估[9]. 但基于点云垂直度的特征提取方法对缺陷提取的完整性不足. Wang等提出一种基于深度学习的方法, 通过基于Transformer模块改进的分割网络, 实现对坑洞三维点云数据的有效分割[10]. 但这需要庞大的先验数据支持. Ma等提出一种基于移动激光扫描点云的道路坑洞检测方法, 利用点与局部拟合平面计算的有向距离实现坑洞的快速定位; 通过密度聚类实现潜在坑的单体化和去噪. 将新的精确平面与潜在凹坑周围的路面点进行拟合, 利用有向距离直方图的负偏态分布和偏态系数对坑洞进行准确判断[4]. 但基于密度聚类的方法去噪效果不佳.

因此, 本研究基于道路缺陷检测提出了一种基于点云切片平面拟合与聚类的方法. 通过等距切片的方式将道路点云数据进行划分, 在划分后的点云数据中随机选择样本来估计平面模型, 并通过迭代过程拟合平面模型去除并保留外点, 所有的外点即为道路表面的不平整、凹凸不平的部分, 对所有保留的外点通过密度聚类算法分类出边缘噪声与道路缺陷, 采用点云切片法估计道路缺陷大小.

2 道路检测方法 2.1 无人机图像采集与三维重建

图像点云质量与无人机飞行高度和路径相关, 不良的相机位置会导致精度差、数据不完整和分布不均匀等问题[16]. Romero-Chambi等基于无人机探测路面坑洼的最优飞行参数进行分析, 使用SfM-MVS方法对一段颠簸的路面进行了建模. 结果表明, 规划无人机航线高度为10–15 m收集的航拍图像最适用于凹坑宽度和深度的测量[12]. 因此本文使用多条平行飞行路径, 在距离路面20 m范围内收集80%的图像重叠, 如图1所示, 可以将这些影响降至最低.

图 1 无人机道路图像采集

图像三维重建技术利用运动恢复结构(structure from motion, SfM)算法从图像的二维信息中重建出三维点云结构信息, SfM算法在未知相机参数和场景内的三维信息的情况下, 通过迭代来求解出三维点云和相机矩阵. 在SfM算法这一步后, 得到所有相机的位姿和通过图像匹配恢复出的物体部分三维坐标, 即稀疏点云. 多视角立体视觉(multi-view stereo, MVS)算法是利用运动恢复结构提取出的信息以及未能充分利用的二维图片中的信息由稀疏点云生成密集点云, 使重建对象点云信息更加完整.

2.2 点云数据预处理

在道路检测过程中, 非路平面点云数据不会被利用, 造成了数据的冗余, 如图2所示, 剔除这些点云数据能有效地减少运算时间, 提高检测效率. 本文采用坡度算法剔除这些冗余点云, 结合统计离群点滤波算法剔除少许离群点, 达到精简数据的目的.

图 2 点云滤波

首先, 对于每个点云, 计算其在领域内的坡度, 坡度是指点在水平方向上的斜率, 通过计算点云周围的邻域点与该点的高程差来估计. 然后设定一个坡度阈值, 超过该阈值的点被视为非路面点云, 并进行剔除. 计算格网行列数公式如下:

$ \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. $ (1)

其中, $ {X_{\min }} $$ {X_{\max }} $$ {Y_{\min }} $$ {Y_{\max }} $分别为格网$ X $方向最小值、最大值和$ Y $方向最小值、最大值, ${\textit{Step}}$为格网边长. 计算任意点云$ {P_m}({x_m}, y{}_m, {{\textit{z}}_m}) $所在行列号公式如下:

$ \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. $ (2)

计算任意点云$ {P_m}({x_m}, y{}_m, {{\textit{z}}_m}) $所在的格网号式(3)如下:

$ h = (Row\_ID - 1) \times Col + Col\_ID $ (3)

其中, 坡度值$ S $为高程差$ \Delta h $与两点间距$ d $的比值, 地物点的坡度值明显大于地面点的坡度值, 坡度值与地面点的高程差值呈正相关. 在点云数据中, 通过式(4)计算任意格网内任意点$ {P_m}({x_m}, y{}_m, {{\textit{z}}_m}) $与该格网内最低点$ {P_{G\min }}({x_{G\min }}, y{}_{G\min }, {{\textit{z}}_{G\min }}) $的坡度值$ {S_i} $, 坡度小于阈值${S_{{\rm{threshold}}}}$的点为地面点.

$ {S_i} = \frac{{{{\textit{z}}_m} - {{\textit{z}}_{G\min }}}}{{\sqrt {{{({x_m} - {x_{G\min }})}^2} + {{({y_m} - {y_{G\min }})}^2}} }} $ (4)

激光扫描通常会产生密度不均匀的点云, 图像特征点提取与匹配过程也会在边缘图像重叠不高的地方产生噪点. 完成三维重建之后会生成初始密集点云, 在偏离平面的位置产生了些许噪点, Che等提出传统点云分割分类算法, 都需要尽可能避免噪声带来了副作用, 通常算法需要选择局部区域内的点作为种子点, 不剔除这些噪点, 这将会造成显著的误差[17]. 为了避免噪点引起的干扰, 首先对点云数据进行去噪. 针对本文图像点云的高密度、存在离群噪点、道路平面密度变化不大的特征. 本文选择统计离群点滤波(statistical outlier removal, SOR)算法去除噪点.

SOR算法首先对图像点云中的每一个点的邻域进行统计分析, 设点云中随机一点的坐标为$ {P_n}({x_n}, {y_n}, {{\textit{z}}_n}) $, 该点云到任意点云$ {P_m}({x_m}, {y_m}, {{\textit{z}}_m}) $的距离$ L $为:

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

然后, 遍历每个点云到任意点云之间距离$ \mu $, 计算公式如下:

$ \mu = \frac{1}{n}\sum\limits_{i = 1}^n L $ (6)

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

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

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

2.3 缺陷检测

传统的随机抽样一致性算法通过对地面点云数据进行平面拟合分割保留未拟合的点云来达到检测道路缺陷的目的. 首先从点云数据中随机选取3个点, 由这3个点组成一个平面, 计算所有其他点到该平面的距离, 如果小于阈值$ {T_R} $, 这认为这些点处于同一平面. 如果处在同一平面的点云超过了$ {n_R} $个, 保存这个平面并将平面上所有点标记为已匹配. 在迭代$ {N_R} $次后找到的平面小于$ {n_R} $个点或找不到3个未标记的点则判定为终止. 完成平面拟合.

但实验发现RANSAC算法存在一定的局限性, 对于起伏的路面, RANSAC算法增大阈值拟合平面会导致保留下的坑洞不完整, 设置小阈值也会导致保留过多的地面点造成平面拟合失败. 为了提高方法的鲁棒性, 根据不同情况, 本文提出一种改进的RANSAC平面拟合算法. 首先, 对点云数据进行切片, 如图3所示, 减小路面起伏造成点云高程差过大导致拟合效果差的影响, 然后, 通过设置小阈值, 迭代RANSAC平面拟合分割保留偏离路面的点云, 如图4所示. 在完成一次平面拟合分割之后, 对于剩下的点云进行RANSAC平面拟合分割, 直到小于阈值$ {T_R} $无法找到小于$ {n_R} $个点的平面.

图 3 点云切片

图 4 迭代RANSAC平面拟合分割

完成平面拟合之后, 需要对偏离平面的点云进行统计与点云聚类, 将偏离出的点云簇单一化, 便于后期的处理分析. 本文采用DBSCAN点云聚类算法将点云数据进行聚类, 如图5所示. DBSCAN点云聚类算法是一种基于密度的聚类算法. 相比于传统的基于距离的聚类算法(如K-means), DBSCAN能够更好地处理噪声、不规则形状的簇以及簇内点密度变化较大的情况. DBSCAN算法通过定义两个重要的参数来执行聚类, 其中$ \varepsilon $表示邻域半径, 用于确定一个点的邻域. 对于任意一点$ {P_m}({x_m}, {y_m}, {{\textit{z}}_m}) $, 其邻域$ {N_{({P_m})}} $由距离不超过$ \varepsilon $的所有点组成. MinPts表示在任意一点$ {P_m}({x_m}, {y_m}, {{\textit{z}}_m}) $$ \varepsilon $邻域内最少需要包含的点的数量, 其中包括点$ {P_m}({x_m}, {y_m}, {{\textit{z}}_m}) $本身, 这用于定义核心点.

图 5 DBSCAN点云聚类

2.4 参数计算与评价指标

对路面缺陷的参数测量对于分析后续道路修复有重要作用, 本文提出了一种基于点云切片的体积测量方法. 首先需要确定每个切片的高度间隔. 这可以根据点云数据的密度和大小来确定. 然后将点云数据分割成一系列水平切片, 每个切片的高度为预设的高度间隔. 切片之后, 得到点云带和平面点云, 计算平面点云的面积, 乘以相应的点云带高度, 可计算出点云体积. 点云切片面积计算公式如下:

$ {{\text{S}}_a} = \frac{1}{2}\sum\nolimits_{i = 1}^n {\left| {\begin{array}{*{20}{c}} {{x_i}}&{{y_i}} \\ {{x_{i + 1}}}&{{y_{i + 1}}} \end{array}} \right|} $ (8)

其中, $ i $为点云切片的编号, $ ({x_i}, {y_i}) $$ ({x_{i + 1}}, {y_{i + 1}}) $分别为点云切片点的坐标, $ i $为点云切片中边界点的编号, $ n $为点云切片中边界点的个数. 点云切片的体积计算公式如下:

$ {V_a} = {{{S}}_a} \times {h_a} $ (9)
$ V = \sum\limits_{i = 1}^n {{V_a}} $ (10)

为了减少阶梯误差, 切片间距应该足够小, $ {{{S}}_a} $表示某一个点云切片的面积, $ {h_a} $表示为相对应的点云带的高度, $ {V_a} $表示为某一个点云带的体积, $ V $表示为点云的总体体积.

为了评估本文方法的准确性, 本文采取均方根误差(root mean square error, RMSE)来衡量本文方法与真实值之间的差异程度, 计算公式如下:

$ {\textit{RMSE}} = \sqrt {\frac{1}{m}\sum\limits_{i = 1}^m {{{({M_{{\rm{model}}}} - {M_{{\rm{field}}}})}^2}} } $ (11)

其中, $ m $为样本数量, ${M_{{\rm{model}}}}$为预测值, ${M_{{\rm{field}}}}$为真实值. 由于RMSE是对误差平方的平均值的开方, 它对大误差比小误差更敏感. 这使得在模型预测中存在较大误差时, RMSE值会相应增大, 使得大误差更容易被察觉.

3 实验结果与分析

本文所提出的基于无人机图像点云的道路检测方法是基于Python语言与Open3D计算机视觉库和基于 C++语言与PCL点云库实现的. 实验所采用的硬件配置为i9 12900K的 CPU与Nvidia RTX3090的GPU. 关于本文方法的参数设置, 只是进行估计而没有进行精细的调整, 以此显示本文方法的鲁棒性. 表1说明了本文的实验参数.

表 1 实验参数

改进的RANSAC平面拟合算法拟合结果如图6所示, 其中蓝色部分为点云拟合的平面, 红色为拟合平面之外的点云. 根据现场情况对照, 其中大部分偏离点云为道路边缘处台阶、泥地等产生的偏差, 小部分为路面不平整产生的波动. 本文将这些点云判定为噪声点, 如图7所示, 本文采用DBSCAN算法将道路边缘处的偏离点云识别为噪声簇, 将道路内的偏离点云识别为损伤簇.

图 6 道路平整度检测结果

图 7 单一化损伤提取

图8对比了本文方法与文献[9]的方法对于道路损伤处的检测, 文献[9]提出的方法通过计算每个点云Z轴的垂直度值, 然后统计垂直度值的累计概率分布, 通过累计概率分布图设置垂直度值阈值剔除95%的点云, 最后通过DBSCAN聚类算法单体化缺陷. 文献[9]提出的基于点云垂直度特征的提取方法, 在图像点云中是不适用的, 道路损伤的形成并不一定是规则的, 在计算垂直度并划分阈值进行分割时, 道路损伤处极可能存在低于道路平面的局部平整, 则该处点云的垂直度与路平面无差异, 这使得识别的损伤缺少完整性.

图 8 道路检测方法对比

表2显示了本文方法提取与测量道路缺陷对比道路缺陷真实值的情况, 文献[9]方法导致了部分缺失, 测量结果会不准确. 均方根误差为1307, 测量误差较小.

表 2 缺陷测量结果

4 结论与展望

本文提出了一种基于图像点云的道路缺陷检测, 针对传统基于点云几何特征检测方法的完整性不足问题提出解决方案. 通过对无人机获取的点云数据进行处理和分析, 本文成功地提出了一种基于RANSAC平面拟合与点云DBSCAN聚类的道路损伤检测方法. 实验结果表明, 相较于传统方法, 我们的方法能够更准确地检测出道路上的损伤, 且对于道路形状的适应性更强. 同时, 我们的方法具有较好的鲁棒性, 对于噪声和异常点的影响较小, 适用于复杂多变的道路环境. 该方法对于无人机图像点云道路检测技术的发展和应用具有重要的实际意义, 为道路维护和交通安全提供了有效的技术支持. 在未来的研究中, 我们将进一步优化算法细节, 扩大适用范围, 并结合其他传感器数据进行多源信息融合, 以进一步提高道路检测的精度和可靠性.

参考文献
[1]
交通运输部. 2022年交通运输行业发展统计公报. https://xxgk.mot.gov.cn/2020/jigou/zhghs/202306/t20230615_3847023.html. (2023-06-16).
[2]
施洋. 基于图像和点云的路面缺陷检测及点云修复技术研究 [硕士学位论文]. 哈尔滨: 哈尔滨工业大学, 2021.
[3]
Liu RF, Yang JB, Ren HW, et al. Research on a pavement pothole extraction method based on vehicle-borne continuous laser scanning point cloud. Measurement Science and Technology, 2022, 33(11): 115204. DOI:10.1088/1361-6501/ac875c
[4]
Ma XJ, Yue DJ, Li SY, et al. Road potholes detection from MLS point clouds. Measurement Science and Technology, 2023, 34(9): 095017. DOI:10.1088/1361-6501/acdb8d
[5]
Radoglou-Grammatikis P, Sarigiannidis P, Lagkas T, et al. A compilation of UAV applications for precision agriculture. Computer Networks, 2020, 172: 107148. DOI:10.1016/j.comnet.2020.107148
[6]
Shendryk Y, Sofonia J, Garrard R, et al. Fine-scale prediction of biomass and leaf nitrogen content in sugarcane using UAV LiDAR and multispectral imaging. International Journal of Applied Earth Observation and Geoinformation, 2020, 92: 102177. DOI:10.1016/j.jag.2020.102177
[7]
Vanneschi C, Di Camillo M, Aiello E, et al. SFM-MVS photogrammetry for rockfall analysis and hazard assessment along the ancient roman via Flaminia road at the Furlo gorge (Italy). ISPRS International Journal of Geo-information, 2019, 8(8): 325. DOI:10.3390/ijgi8080325
[8]
Ulvi A. Using UAV photogrammetric technique for monitoring, change detection, and analysis of archeological excavation sites. Journal on Computing and Cultural Heritage, 2022, 15(3): 58.
[9]
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
[10]
Wang NN, Dong JX, Fang HY, et al. 3D reconstruction and segmentation system for pavement potholes based on improved structure-from-motion (SfM) and deep learning. Construction and Building Materials, 2023, 398: 132499. DOI:10.1016/j.conbuildmat.2023.132499
[11]
Kubota S, Ho C, Nishi K. Construction and usage of three-dimensional data for road structures using terrestrial laser scanning and UAV with photogrammetry. Proceedings of the 36th International Symposium on Automation and Robotics in Construction. Banff: IAARC Publications, 2019. 136–143.
[12]
Romero-Chambi E, Villarroel-Quezada S, Atencio E, et al. Analysis of optimal flight parameters of unmanned aerial vehicles (UAVs) for detecting potholes in pavements. Applied Sciences, 2020, 10(12): 4157. DOI:10.3390/app10124157
[13]
Tan YM, Li YX. UAV photogrammetry-based 3D road distress detection. ISPRS International Journal of Geo-information, 2019, 8(9): 409. DOI:10.3390/ijgi8090409
[14]
Chen M, Liu RF, Yang JB, et al. Pavement damage identification method based on point cloud multi-source feature enhancement. International Journal of Pavement Research and Technology, 2022, 15(2): 257-268. DOI:10.1007/s42947-021-00116-z
[15]
Cao WM, Liu QF, He ZQ. Review of pavement defect detection methods. IEEE Access, 2020, 8: 14531-14544. DOI:10.1109/ACCESS.2020.2966881
[16]
Chen SY, Laefer DF, Mangina E, et al. UAV bridge inspection through evaluated 3D reconstructions. Journal of Bridge Engineering, 2019, 24(4): 05019001. DOI:10.1061/(ASCE)BE.1943-5592.0001343
[17]
Che E, Senogles A, Olsen MJ. Vo-SmoG: A versatile, smooth segment-based ground filter for point clouds via multi-scale voxelization. Proceedings of the 16th 3D GeoInfo Conference. New York, 2021. 59–66.