坑槽严重影响行车安全,对其进行有效检测至关重要。三维检测能解决二维检测阴影条件下难以识别坑槽问题。本文首先针对开发的线结构光的路面坑槽三维检测系统,提出了基于三维数据的高度突变识别方法。并将其与灰度阈值方法、人工智能方法进行了对比分析。实验得出,本文的高度数据突变方法在识别效果上跟灰度阈值方法相近,耗时稍长;识别效果优于人工智能方法且耗时短,对坑槽自动识别的工程化应用具有较大意义。 Pothole seriously affects driving safety, so it is important to detect the pothole effectively. 3D de-tection can solve the problem of difficulty to identify the pothole in 2D images under uneven illumination or shadow conditions. In this paper, the acquisition principle and calibration of 3D detection system designed by us are presented. A method based on 3D data pothole detection is proposed. It is compared with the gray threshold method and the artificial intelligence method. The experimental results show that the proposed method is similar to the gray threshold method in recognition effect and takes a little longer time, but the recognition effect is better than the artificial intelligence method and the time-consuming is shorter, showing great practicability of 3D detection method for pothole.
宋席发
交通运输部公路科学研究院,北京
收稿日期:2018年12月21日;录用日期:2019年1月4日;发布日期:2019年1月11日
坑槽严重影响行车安全,对其进行有效检测至关重要。三维检测能解决二维检测阴影条件下难以识别坑槽问题。本文首先针对开发的线结构光的路面坑槽三维检测系统,提出了基于三维数据的高度突变识别方法。并将其与灰度阈值方法、人工智能方法进行了对比分析。实验得出,本文的高度数据突变方法在识别效果上跟灰度阈值方法相近,耗时稍长;识别效果优于人工智能方法且耗时短,对坑槽自动识别的工程化应用具有较大意义。
关键词 :激光技术,坑槽检测,线结构光,三维检测,灰度阈值法
Copyright © 2019 by author and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
坑槽由行车荷载和水长期作用形成,已经成为我国公路沥青路面主要病害之一。路面坑槽除了引起颠簸之外还对行车安全造成重大威胁。检测坑槽,给养护部门提供有用信息显得十分必要。传统人工检测方法存在作业不安全、效率低、劳动强度大、成本高等问题,不能满足现代化检测的需求。自动化及信息化技术发展迅速给公路检测带来了巨大变化。瑞典的PAVUE [
三维技术发展,也带动了公路检测领域的三维技术的发展。国外加拿大Laurent团队开发了激光三维测量系统LCMS [
本文基于课题组开发的路面三维数据采集系统,提出了一种基于高度突变的坑槽快速检测方法。在本文的第一部分介绍了课题组研制的路面三维采集系统。第二部分介绍了三维数据的预处理方法及三种识别方法。第三部分分别从多个角度对比了三种方法优缺点。最后给出了本文的高度数据突变方法在识别效果上跟灰度阈值方法相近,耗时稍长;识别效果优于人工智能方法且耗时短的结论。
线结构光三维系统测量原理 [
图1. 线结构光三维成像系统原理
路面坑槽三维检测系统主要包括工控机、智能3D相机,线结构光、编码器,UPS电源等器件,如图2所示。相机收到编码器的位移信号转化的电信号开始采集路面数据,并将其存储在工控机中。
图2. 安装在检测车上的三维采集设备及部件
由于遮挡、超量程及其它干扰,实际获取的3D数据中会存在少量的无效数据,前二者表现为黑点数据,即没有数据,后者则表现为异常的尖角数据。3D数据的预处理工作包括黑点数据和无效数据的判断和填充两部分。黑点数据比较好判断,如果深度图像中灰度值为0的即为黑点数据。图3显示了黑点数据去除前后的效果对比。
图3. 黑点数据去除效果
异常数据则比较难判断,虽然异常数据的主要表现是路面高程断面上出现突出的尖角,但有时路面裂缝也会在高程断面上呈现一个突出的向下的尖角。因此仅从Z坐标对异常数据进行判断比较困难,易造成误判。本文根据X坐标来判断异常点,证明是一种非常有效的方法。由于线结构光3D测量的一个特点是每个断面的X坐标是单调增加的,因此如果一个断面中X坐标出现了尖角,则可认为该点数据异常需要进行处理。
图4. 异常数据处理前路面三维图像
图4为路面三维图像,图中红色圆圈标记的点即为异常的数据点,判断出无效数据或异常数据后,采用双向插值的方法对该点的X坐标和Z坐标重新计算。图5为进行了异常数据处理后的路面三维图像。
图5. 异常数据处理后路面三维图像
坑槽病害属于变形类病害,是路面损坏的重要形式,在低等级公路上损坏中占有不小的比重。传统的基于2D图像采集的路面损坏自动检测方法无法进行坑槽病害的自动检测,而3D数据在这方面则表现出巨大的优势,由于坑槽病害在高程断面上有比较明显的特征,因此可以利用3D数据进行坑槽病害的识别。
坑槽病害的主要特点表现为相对于路面有明显的凹陷,如图6所示。平整的路面的横断面形状应该满足一次或二次曲线线形可以说是一个平滑的曲线,而经过坑槽的横断面的形状应该为一个凹陷的非平滑的线型。
图6. 含坑槽的高度数据的3D图
图7. 坑槽横断面数学模型
由于坑槽与路面的高度差远大于路面颗粒的高度差,因此可以将路面与坑槽简化为图7的数学模型来进行研究。3D系统采集存储的是三维点云数据,3D图如图6所示,由m * n个点(x, y, z)组成。x, y所成平面为路面,z为垂直路面的代表高度方向的数据,用矩阵表示高度数据如式(1)。
Z m × n = [ z 11 z 12 z 13 ... z 1 j ... z 1 n z 21 z 22 z 23 ... z 2 j ... z 2 n ... ... ... ... ... ... ... z i 1 z i 2 z i 3 ... z i j ... z i n ... ... ... ... ... ... ... z m 1 z m 2 z m 3 ... z m j ... z m n ] , ( i = 1 , 2 , ⋯ , m ; j = 1 , 2 , ⋯ , n ) (1)
其中,i表示行号,j表示列号。
高度数据突变方法是从第一行起,取一行数据(横断面),首先进行线性回归拟合,看数据点是否能很好符合拟合曲线,判定是否存在异常断面。设拟合直线为y = ax + b, a为斜率,记 R 2 为拟合度,拟合度接近于1说明拟合程度好。
R 2 < K (2)
K为经验值,取0.5~0.8之间,满足式(2)可以判断存在异常断面。然后计算此行数据的平均值,如式(3)所示。
z ¯ = 1 k ∑ j = 1 n z 1 j (3)
然后判定每点数据是否超过一定阈值 h 0 ,如公式(4)所示, h 0 为经验值取5 mm,小于5 mm的可认为是颗粒造成的高度差。
| z 1 j − z ¯ | > h 0 (4)
公式(4)中可加入步长s来减小计算量,不用每个点都搜索,因为坑槽肯定有一定长度,几个点肯定不是坑槽,所以隔几个点做一次判断,将这样的点记为1,其他为0。标记点起点小于均值记为下降点,结束点小于均值记为上升点,同样方法对第二行进行处理。标记点区域大于一定面积 S 0 ,判定存在坑槽。
灰度阈值方法 [
记式(1)中 z i j 的最大值为 z max ,最小值为 z min ,则灰度图矩阵 I M G 如式所示。
I M G = Z / ( z max − z min ) * 255 (5)
通过公式(5),可将高度数据矩阵映射为灰度图矩阵,然后利用灰度阈值方法进行处理。记 I M G 矩阵所有灰度值的算术平均值为 I ¯ 。利用阈值法获得二值化图,判别式如式(6)所示。
I i j − I ¯ > 0 (6)
人工智能方法 [
图8. 人工智能识别坑槽流程
为了说明算法实用性,本文将采集的数据用此算法识别,列举下面3组数据来分析,其中两组包含坑槽病害,一组不包含坑槽病害,验证算法是否能将含病害的数据里的病害挑出,未包含坑槽的数据不会挑出坑槽病害。另外为了证明算法的鲁棒性,分析本文方法识别出来的坑槽与真实数据之间的差异。
图9. (i)组有坑槽。(a) 高度数据映射为灰度图;(b) 高度数据突变识别方法;(c) 方框定位坑槽图
图9为第一组数据,其中包含坑槽。图9(a)为路面高度数据直接映射到255之间的灰度图,图9(b)图为高度数据突变方法识别结果的二值化图,图9(a)视为坑槽的真实数据,图9(b)为本文方法的识别结果,可以看出两者差别很小,说明鲁棒性较好。
图10. (ii)组有坑槽。(a) 高度数据映射为灰度图;(b) 高度数据突变识别方法;(c) 方框定位坑槽图
图10为第二组数据,包含坑槽。图10(a)为路面高度数据直接映射为灰度图,视为真实数据图10(b)为高度数据突变方法二值化图,可以看出识别效果较好,图10(b)识别结果中有一小块黑色区域,分析其区域为小石块,与路面高度差很小,被判为路面,真实数据与识别结果差别较小,说明鲁棒性较好。
图11. (iii)组数据无坑槽。(a) 高度数据映射为灰度图;(b) 高度数据突变识别方法;(c) 方框定位坑槽图
图11为第(iii)组数据,不包含坑槽。高度数据突变方法没有识别出坑槽,说明本方法不会将未包含坑槽的数据挑出坑槽病害,实用性较好。
对于相同几组数据,本文采用高度数据突变方法、灰度阈值方法及人工智能方法分别对其处理,比较了坑槽识别结果之间的差异。
图12. 组(i)数据方框定位坑槽图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图12中图12(a)为本文高度数据突变方法方框定位坑槽结果,图12(b)为灰度阈值方法方框定位坑槽结果,图12(c)为人工智能方法方框定位坑槽结果,图12(a)和图12(b)的结果一致,人工智能结果定位略有所差别。
图13. 组(ii)数据方框定位坑槽图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图13中图13(a)为高度数据突变方法定位坑槽结果,图13(b)为灰度阈值方法定位坑槽结果,图13(c)为人工智能方法定位坑槽结果,图13(a)和图13(b)结果差别较小,人工智能结果多识别出了一些非坑槽区域。
图14. 组(iii)数据方框定位坑槽图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图14中图14(a)为本文高度数据突变方法定位坑槽结果,图14(b)为灰度阈值方法定位坑槽结果,图14(c)为人工智能方法定位坑槽结果,本文方法与灰度值的结果相近,人工智能结果多识别出了一些非坑槽区域。方框定位坑槽图大略可以看出识别效果的好坏,为了更本质地看到识别效果的差距,本文比较三种方法识别坑槽的二值化图。
图15. 组(i)数据识别结果二值化图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图15中图15(a)为本文高度数据突变方法识别结果的二值化图,图15(b)为灰度阈值方法识别结果的二值化图,图15(c)为人工智能方法识别结果的二值化图。图上可看出,图15(a)和图15(b)的差别不大,白色区域均较为集中,图15(c)中人工智能结果二值化图中,白色区域较为分散。
图16. 组(ii)数据识别结果二值化图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图16中图16(a)为本文高度数据方法识别结果的二值化图,图16(b)为灰度阈值方法识别结果的二值化图,图16(c)为人工智能方法识别结果的二值化图。图上可看出,图16(a)和图16(b)结果相近,图16(c)中人工智能结果二值化图白色区域较为分散。
图17. 组(iii)数据识别结果二值化图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图17中图17(a)为本文高度数据突变方法识别结果的二值化图,图17(b)为灰度阈值方法识别结果的二值化图,图17(c)为人工智能方法识别结果的二值化图。图上可看出,图17(a)和图17(b)的差别不大,图17(c)中人工智能结果二值化图白色区域较为分散。
文中通过多组数据得出:高度数据突变方法与灰度阈值方法识别效果几乎一致,效果优于人工智能方法。高度数据突变方法是利用高度数据找寻突变点来判断是否有一段数据低于均值来找寻坑槽,灰度阈值方法的灰度图矩阵是通过高度数据转化而来,判断方法本质是一样的,故识别效果接近。人工智能方法识别稍差原因一是本研究基于小样本,识别效果会差一些。二是,在选取正负样本时,按一定像素方框选取正样本时,正样本中大部分是坑槽的像素,但是还有非坑槽的像素,这也是导致差异性的原因。
为了比较三种方法的耗时,本文计算了每组数据用不同方法在识别坑槽过程中运算过程所耗时间,如表1所示。
序号 | 实验数据组 | 方法 | 耗时/s |
---|---|---|---|
1 | 组(i) | 高度数据突变方法 | 10.799528 |
2 | 灰度阈值方法 | 0.956846 | |
3 | 人工智能方法 | 271.40 | |
4 | 组(ii) | 高度数据突变方法 | 6.502636 |
5 | 灰度阈值方法 | 0.993232 | |
6 | 人工智能方法 | 255.70 | |
7 | 组(iii) | 高度数据突变方法 | 6.434920 |
8 | 灰度阈值方法 | 1.324530 | |
9 | 人工智能方法 | 247.84 |
表1. 不同方法识别坑槽运算过程耗时
从上表中看出,对于三种数据,灰度阈值方法耗时最短,高度数据突变方法次之,人工智能方法耗时最长。分析其原因为:灰度阈值发针对图像矩阵进行处理,速度较快;高度数据突变方法是基于高度数据按步长搜寻下降上升点,耗时稍长;人工智能方法通过搜寻符合正负样本特征的区域,耗时最长。
综上所述:本文方法在鲁棒性,识别效果上等同于灰度阈值方法,耗时比灰度阈值法长;本文方法在鲁棒性及识别效果上优于人工智能方法,耗时也较人工智能方法短。
本文基于课题组开发的线结构光的路面坑槽三维采集系统,提出了基于三维数据的高度数据突变的坑槽识别方法,介绍了传统的灰度阈值方法及当前热门的人工智能方法。首先利用有坑槽数据及无坑槽数据验证了高度数据突变方法的实用性,然后对同几组路面数据采用三种方法进行识别,对比分析了三种方法的方格定位图及二值化图,另外比较了三种方法的耗时,实验得出,基于本文研究条件下,高度数据方法稍逊于灰度阈值方法,优于人工智能方法。本文将对路面坑槽识别技术的应用有积极意义。
宋席发. 线结构光扫描的路面坑槽三维检测 3D Detection of Pavement Pothole Based on Line Structured Light[J]. 交通技术, 2019, 08(01): 27-37. https://doi.org/10.12677/OJTT.2019.81004