1. 引言
坑槽由行车荷载和水长期作用形成,已经成为我国公路沥青路面主要病害之一。路面坑槽除了引起颠簸之外还对行车安全造成重大威胁。检测坑槽,给养护部门提供有用信息显得十分必要。传统人工检测方法存在作业不安全、效率低、劳动强度大、成本高等问题,不能满足现代化检测的需求。自动化及信息化技术发展迅速给公路检测带来了巨大变化。瑞典的PAVUE [1] 、加拿大的ARAN [2] 、澳大利亚的RoadCrack [3] 、美国的DHDV [4] 、英国的HARRIS [5] 等系统相继面世。这些系统采用了不同相机,采集宽度、采集速度、采集指标均不相同。国内各大研究院校也纷纷开展二维检测技术的研究,成果大量涌现。南京理工大学基于自己开发的路面检测系统采用灰度阈值分割及插值处理等方法对沥青路面裂缝检测算法进行了研究 [6]。武汉大学及哈尔滨工业大学也均研发了自己的车载道路路面检测系统 [7] [8]。交通部公路科学研究院推出了基于线扫技术的路况快速检测系统CiCS [9]。该系统采用线阵相机和结构光照明,横向检测宽度3.6米,检测时速可达100 km/h。这些路面检测设备均属于二维检测设备,外界环境光及阴影会干扰识别。二维检测技术有其局限性,研究人员把目光投向了三维检测技术 [10] [11] [12]。
三维技术发展,也带动了公路检测领域的三维技术的发展。国外加拿大Laurent团队开发了激光三维测量系统LCMS [13]。系统采用两个高能量线激光器和TDI线扫描相机获取路面信息,系统采集宽度4 m,采样频率5600 profiles/s,横向分辨1 mm,深度分辨率0.5 mm。Vilaca团队提出了基于激光三角对路表轮廓三维重构方法,并开发了路面3D数据采集系统,并采用沥青试件对采集系统的性能进行了验证 [14]。国内邹丽琼等针对当前检测技术不能检测沥青路面微观纹理的问题,提出了基于显微视觉的沥青路面三维重构技术 [15]。孙朝云针对目前沥青路面表面形貌三维数据采集实时性差、精确度低,难以准确全面地提供路面三维构造形态的问题,研究了基于线结构光的沥青路面表面形貌三维数据采集系统 [16]。
本文基于课题组开发的路面三维数据采集系统,提出了一种基于高度突变的坑槽快速检测方法。在本文的第一部分介绍了课题组研制的路面三维采集系统。第二部分介绍了三维数据的预处理方法及三种识别方法。第三部分分别从多个角度对比了三种方法优缺点。最后给出了本文的高度数据突变方法在识别效果上跟灰度阈值方法相近,耗时稍长;识别效果优于人工智能方法且耗时短的结论。
2. 基于线结构光的路面坑槽三维采集系统
线结构光三维系统测量原理 [17] [18] [19] 是通过计算激光线在CCD上的位置关系计算测量物的轮廓关系,如图1所示。线结构光光线投射到被测物体表面,在物体表面形成一条投影亮线,从相机光轴方向观察,由于受到物体高度的调制,该亮线发生变形,在CCD上留下该亮线的像。通过计算像面上亮线像坐标可以得到物体的一个剖面的高度数据,在剖面垂直方向进行扫描就可以得到测量物的三维面形分布。

Figure 1. Principle of line structured light three-dimensional imaging system
图1. 线结构光三维成像系统原理
路面坑槽三维检测系统主要包括工控机、智能3D相机,线结构光、编码器,UPS电源等器件,如图2所示。相机收到编码器的位移信号转化的电信号开始采集路面数据,并将其存储在工控机中。

Figure 2. Three-dimensional acquisition equipment and components installed on test vehicle
图2. 安装在检测车上的三维采集设备及部件
3. 基于三维数据的坑槽自动识别
3.1. 路面三维数据预处理
由于遮挡、超量程及其它干扰,实际获取的3D数据中会存在少量的无效数据,前二者表现为黑点数据,即没有数据,后者则表现为异常的尖角数据。3D数据的预处理工作包括黑点数据和无效数据的判断和填充两部分。黑点数据比较好判断,如果深度图像中灰度值为0的即为黑点数据。图3显示了黑点数据去除前后的效果对比。

Figure 3. The effect after black point data removed
图3. 黑点数据去除效果
异常数据则比较难判断,虽然异常数据的主要表现是路面高程断面上出现突出的尖角,但有时路面裂缝也会在高程断面上呈现一个突出的向下的尖角。因此仅从Z坐标对异常数据进行判断比较困难,易造成误判。本文根据X坐标来判断异常点,证明是一种非常有效的方法。由于线结构光3D测量的一个特点是每个断面的X坐标是单调增加的,因此如果一个断面中X坐标出现了尖角,则可认为该点数据异常需要进行处理。

Figure 4. 3D road surface image before abnormal data processing
图4. 异常数据处理前路面三维图像
图4为路面三维图像,图中红色圆圈标记的点即为异常的数据点,判断出无效数据或异常数据后,采用双向插值的方法对该点的X坐标和Z坐标重新计算。图5为进行了异常数据处理后的路面三维图像。

Figure 5. 3D road surface image after abnormal data processing
图5. 异常数据处理后路面三维图像
3.2. 坑槽自动识别方法
坑槽病害属于变形类病害,是路面损坏的重要形式,在低等级公路上损坏中占有不小的比重。传统的基于2D图像采集的路面损坏自动检测方法无法进行坑槽病害的自动检测,而3D数据在这方面则表现出巨大的优势,由于坑槽病害在高程断面上有比较明显的特征,因此可以利用3D数据进行坑槽病害的识别。
3.2.1. 高度数据突变识别坑槽方法
坑槽病害的主要特点表现为相对于路面有明显的凹陷,如图6所示。平整的路面的横断面形状应该满足一次或二次曲线线形可以说是一个平滑的曲线,而经过坑槽的横断面的形状应该为一个凹陷的非平滑的线型。

Figure 6. 3D map of height data with pothole
图6. 含坑槽的高度数据的3D图

Figure 7. Mathematical model of cross section of pothole
图7. 坑槽横断面数学模型
由于坑槽与路面的高度差远大于路面颗粒的高度差,因此可以将路面与坑槽简化为图7的数学模型来进行研究。3D系统采集存储的是三维点云数据,3D图如图6所示,由m * n个点(x, y, z)组成。x, y所成平面为路面,z为垂直路面的代表高度方向的数据,用矩阵表示高度数据如式(1)。
(1)
其中,i表示行号,j表示列号。
高度数据突变方法是从第一行起,取一行数据(横断面),首先进行线性回归拟合,看数据点是否能很好符合拟合曲线,判定是否存在异常断面。设拟合直线为y = ax + b, a为斜率,记
为拟合度,拟合度接近于1说明拟合程度好。
(2)
K为经验值,取0.5~0.8之间,满足式(2)可以判断存在异常断面。然后计算此行数据的平均值,如式(3)所示。
(3)
然后判定每点数据是否超过一定阈值
,如公式(4)所示,
为经验值取5 mm,小于5 mm的可认为是颗粒造成的高度差。
(4)
公式(4)中可加入步长s来减小计算量,不用每个点都搜索,因为坑槽肯定有一定长度,几个点肯定不是坑槽,所以隔几个点做一次判断,将这样的点记为1,其他为0。标记点起点小于均值记为下降点,结束点小于均值记为上升点,同样方法对第二行进行处理。标记点区域大于一定面积
,判定存在坑槽。
3.2.2. 灰度阈值坑槽识别方法
灰度阈值方法 [20] 在基于2D采集方法中使用比较普遍,3D采集方法就是为了解决2D采集方法受阴影干扰问题。但是采集得3D数据后,也可以将高度数据映射为代表高度信息的灰度图,这样可以采用灰度阈值法来进行识别。其方法的过程如下:
记式(1)中
的最大值为
,最小值为
,则灰度图矩阵
如式所示。
(5)
通过公式(5),可将高度数据矩阵映射为灰度图矩阵,然后利用灰度阈值方法进行处理。记
矩阵所有灰度值的算术平均值为
。利用阈值法获得二值化图,判别式如式(6)所示。
(6)
3.2.3. 人工智能坑槽识别方法
人工智能方法 [21] [22] [23] 是当前最热门的方法,将高度数据映射为含高度信息的灰度图后,坑槽及路面的正负样本易于区分,因此被用来和基于高度数据突变法进行比较。利用公式(5),可以得到高度数据映射的灰度图IMG。人工智能方法流程如图8所示。

Figure 8. The process of artificial intelligence recognition of pothole
图8. 人工智能识别坑槽流程
4. 实验及讨论
4.1. 基于高度数据的识别算法与真实坑槽间差异
为了说明算法实用性,本文将采集的数据用此算法识别,列举下面3组数据来分析,其中两组包含坑槽病害,一组不包含坑槽病害,验证算法是否能将含病害的数据里的病害挑出,未包含坑槽的数据不会挑出坑槽病害。另外为了证明算法的鲁棒性,分析本文方法识别出来的坑槽与真实数据之间的差异。
(a)
(b)
(c)
Figure 9. Road surface data with pothole, (i) group. (a) Height data to gray map; (b) Height data recognition result; (c) Pothole red marked map
图9. (i)组有坑槽。(a) 高度数据映射为灰度图;(b) 高度数据突变识别方法;(c) 方框定位坑槽图
图9为第一组数据,其中包含坑槽。图9(a)为路面高度数据直接映射到255之间的灰度图,图9(b)图为高度数据突变方法识别结果的二值化图,图9(a)视为坑槽的真实数据,图9(b)为本文方法的识别结果,可以看出两者差别很小,说明鲁棒性较好。
(a)
(b)
(c)
Figure 10. Road surface data with pothole, (ii) group. (a) Height data to gray map; (b) Height data recognition result; (c) Pothole red marked map
图10. (ii)组有坑槽。(a) 高度数据映射为灰度图;(b) 高度数据突变识别方法;(c) 方框定位坑槽图
图10为第二组数据,包含坑槽。图10(a)为路面高度数据直接映射为灰度图,视为真实数据图10(b)为高度数据突变方法二值化图,可以看出识别效果较好,图10(b)识别结果中有一小块黑色区域,分析其区域为小石块,与路面高度差很小,被判为路面,真实数据与识别结果差别较小,说明鲁棒性较好。
(a)
(b)
(c)
Figure 11. Road surface data without pothole, (iii) group. (a) Height data to gray map; (b) Height data recognition result; (c) Pothole red marked map
图11. (iii)组数据无坑槽。(a) 高度数据映射为灰度图;(b) 高度数据突变识别方法;(c) 方框定位坑槽图
图11为第(iii)组数据,不包含坑槽。高度数据突变方法没有识别出坑槽,说明本方法不会将未包含坑槽的数据挑出坑槽病害,实用性较好。
4.2. 不同算法间的比较
对于相同几组数据,本文采用高度数据突变方法、灰度阈值方法及人工智能方法分别对其处理,比较了坑槽识别结果之间的差异。
(a)
(b)
(c)
Figure 12. Group (i) pothole red marked map. (a) Height data mutation method; (b) Gray threshold method; (c) Artificial intelligence method
图12. 组(i)数据方框定位坑槽图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图12中图12(a)为本文高度数据突变方法方框定位坑槽结果,图12(b)为灰度阈值方法方框定位坑槽结果,图12(c)为人工智能方法方框定位坑槽结果,图12(a)和图12(b)的结果一致,人工智能结果定位略有所差别。
(a)
(b)
(c)
Figure 13. Group (ii) pothole red marked map. (a) Height data mutation method; (b) Gray threshold method; (c) Artificial intelligence method
图13. 组(ii)数据方框定位坑槽图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图13中图13(a)为高度数据突变方法定位坑槽结果,图13(b)为灰度阈值方法定位坑槽结果,图13(c)为人工智能方法定位坑槽结果,图13(a)和图13(b)结果差别较小,人工智能结果多识别出了一些非坑槽区域。
(a)
(b)
(c)
Figure 14. Group (iii) pothole red marked map. (a) Height data mutation method; (b) Gray threshold method; (c) Artificial intelligence method
图14. 组(iii)数据方框定位坑槽图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图14中图14(a)为本文高度数据突变方法定位坑槽结果,图14(b)为灰度阈值方法定位坑槽结果,图14(c)为人工智能方法定位坑槽结果,本文方法与灰度值的结果相近,人工智能结果多识别出了一些非坑槽区域。方框定位坑槽图大略可以看出识别效果的好坏,为了更本质地看到识别效果的差距,本文比较三种方法识别坑槽的二值化图。
(a)
(b)
(c)
Figure 15. Group (i) recognition result binary map. (a) Height data mutation method; (b) Gray threshold method; (c) Artificial intelligence method
图15. 组(i)数据识别结果二值化图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图15中图15(a)为本文高度数据突变方法识别结果的二值化图,图15(b)为灰度阈值方法识别结果的二值化图,图15(c)为人工智能方法识别结果的二值化图。图上可看出,图15(a)和图15(b)的差别不大,白色区域均较为集中,图15(c)中人工智能结果二值化图中,白色区域较为分散。
(a)
(b)
(c)
Figure 16. Group (ii) recognition result binary map. (a) Height data mutation method; (b) Gray threshold method; (c) Artificial intelligence method
图16. 组(ii)数据识别结果二值化图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图16中图16(a)为本文高度数据方法识别结果的二值化图,图16(b)为灰度阈值方法识别结果的二值化图,图16(c)为人工智能方法识别结果的二值化图。图上可看出,图16(a)和图16(b)结果相近,图16(c)中人工智能结果二值化图白色区域较为分散。
(a)
(b)
(c)
Figure 17. Group (iii) recognition result binary map. (a) Height data mutation method; (b) Gray threshold method; (c) Artificial intelligence method
图17. 组(iii)数据识别结果二值化图。(a) 高度数据突变方法;(b) 灰度阈值方法;(c) 人工智能方法
图17中图17(a)为本文高度数据突变方法识别结果的二值化图,图17(b)为灰度阈值方法识别结果的二值化图,图17(c)为人工智能方法识别结果的二值化图。图上可看出,图17(a)和图17(b)的差别不大,图17(c)中人工智能结果二值化图白色区域较为分散。
文中通过多组数据得出:高度数据突变方法与灰度阈值方法识别效果几乎一致,效果优于人工智能方法。高度数据突变方法是利用高度数据找寻突变点来判断是否有一段数据低于均值来找寻坑槽,灰度阈值方法的灰度图矩阵是通过高度数据转化而来,判断方法本质是一样的,故识别效果接近。人工智能方法识别稍差原因一是本研究基于小样本,识别效果会差一些。二是,在选取正负样本时,按一定像素方框选取正样本时,正样本中大部分是坑槽的像素,但是还有非坑槽的像素,这也是导致差异性的原因。
4.3. 三种方法的耗时比较
为了比较三种方法的耗时,本文计算了每组数据用不同方法在识别坑槽过程中运算过程所耗时间,如表1所示。

Table 1. Time consuming of different methods for identifying pothole
表1. 不同方法识别坑槽运算过程耗时
从上表中看出,对于三种数据,灰度阈值方法耗时最短,高度数据突变方法次之,人工智能方法耗时最长。分析其原因为:灰度阈值发针对图像矩阵进行处理,速度较快;高度数据突变方法是基于高度数据按步长搜寻下降上升点,耗时稍长;人工智能方法通过搜寻符合正负样本特征的区域,耗时最长。
综上所述:本文方法在鲁棒性,识别效果上等同于灰度阈值方法,耗时比灰度阈值法长;本文方法在鲁棒性及识别效果上优于人工智能方法,耗时也较人工智能方法短。
5. 结论
本文基于课题组开发的线结构光的路面坑槽三维采集系统,提出了基于三维数据的高度数据突变的坑槽识别方法,介绍了传统的灰度阈值方法及当前热门的人工智能方法。首先利用有坑槽数据及无坑槽数据验证了高度数据突变方法的实用性,然后对同几组路面数据采用三种方法进行识别,对比分析了三种方法的方格定位图及二值化图,另外比较了三种方法的耗时,实验得出,基于本文研究条件下,高度数据方法稍逊于灰度阈值方法,优于人工智能方法。本文将对路面坑槽识别技术的应用有积极意义。