韩美林 武 立 程峻杰 邵 蓉
(1.商洛学院电子信息与电气工程学院 商洛 726000)(2.商洛市体育运动中心 商洛 726000)
目前,由于我国对路面损害问题的研究较少,导致检测路面装备也相对缺乏,人工检测需要国家路面管理部门配置相应程度的设备、人力等资源来实现定期的安全巡视和检查。但是,人工检测具有检测效率低、检测人员安全问题以及无法保证检测精度等缺点,不能满足公路路面损害的快速检测需求。但随着机器视觉技术的不断发展,使其技术在工业自动化领域中广泛应用。因此,为了减少人力物力的损失,提高准确率,进行安全的道路状态监控服务,运用机器视觉技术可以成功改善传统人工检测的问题,使路面裂缝得到快速精准的检测识别[2]。
该路面裂缝检测识别系统设计首先利用软件先对裂缝图像进行读取,然后编写程序处理图像,即需对图像的信息进行数学运算[3],最后把结果输出到一个设计的GUI界面上,通过功能键将各个过程处理结果演示出来。因此路面裂缝图像如何被软件识别处理,关键在于程序编写的正确性、完整性。
路面裂缝检测识别系统的设计内容包括:对原始采集的彩色路面裂缝图像进行图像预处理、图像分割(图像二值化)、目标检测识别、图像特征提取保存四个方面的研究[4]。设计流程图如图1所示。
图1 路面裂缝检测识别系统设计流程图
图像预处理预处理是减少图像中无用的信息,增加可用信息的可检测性,并对图像进行一系列的数学运算处理,将所需特征提取出来,使图像质量得到很大的提高[5]。
路面裂缝图像的采集一般在室外进行,容易受到大气、光照、机械振动等因素的影响,采集到的裂缝图像可能存在整体偏暗或偏亮等问题,进而产生对比度较低的图像。基于直方图的灰度变换,可调整图像的灰度,均匀的映射到整个灰度区间,增大图像的灰度涉及范围,即可突出细节[6]。
裂缝图像在采集或者传输的过程中往往会受到成像设备与传输介质等因素的干扰而产生噪声,因此,待处理裂缝图像可能具有边缘模糊、黑白杂点等问题,中值滤波后可以消除原图像中大部分的颗粒噪声,提高图像背景的平滑度,与此同时,还保留了裂缝的边缘细节等信息,更加清晰地突出了裂缝的特征[7]。
在采集图像的过程中,往往会由于天气干扰、曝光不足等原因而造成图像整体偏暗,使得裂缝区域与背景区域亮度特征相近而不易辨别。因此要增强图像的对比度,使得裂缝图像的细节特征更为突出[8]。
在裂缝目标的检测与识别过程中,虽然裂缝目标或背景区域的像素灰度大多是高度相关的,但目标裂缝与背景区域之间的灰度值则总是存在一些差异。因此需要通过对其进行灰度阈值分割来选取适合的阈值,来实现最大程度上分割裂缝目标与背景[9]。
对图像应用阈值迭代法进行分割后,得到裂缝的二值图像,但二值图像还存在着大量的噪点。因此要想正确地对路面裂缝图像进行检测识别,就要消除这些噪点的影响。过程的实现是通过对二值图像的面积矩阵进行排序,以位置索引的方式消除噪点[10]。
路面裂缝通过预处理得到了清晰的二值图像,接着为了得到目标并对其进行检测与识别,可以利用形态学区域特征原理进行操作。
4.1.1 裂缝识别判断
为了提取更明显的图像信息,在进行图像二值化和二值化滤波后,为免依然存在噪点目标块影响图像判断,在对裂缝进行检测与识别时,可以通过数字形态学区域得到目标。
4.1.2 裂缝拼接
对于经过预处理和形态学区域处理的裂缝图像,由于噪点的影响,导致处理错误,有裂缝断裂的现象出现。因此要对有断裂的区域进行虚假连接,而裂缝块就是通过对二值图像进行8邻域连通得到的。
首先以8连通方式得到的目标块视为裂缝的目标对象,接着就需要从二值图像的左上角开始,以从左到右的顺序开始查询,在查询的过程中首先找到的裂缝块即1就可以作为起始目标。然后将这两个裂缝块之间的距离进行置1处理,使其裂缝块与裂缝块之间连通,最终实现断裂的裂缝的连接[11]。
4.1.3 裂缝投影
裂缝目标经过检测定位后,为了能准确地获取裂缝的区域信息,采取积分投影定位裂缝的具体区域和参数信息[12]。
4.2.1 裂缝类型判断
裂缝目标图像二值化及滤波去噪后可以突出裂缝目标,根据裂缝的“线装”特点,为了判断裂缝的方向,获取裂缝的特征,路面裂缝的识别通常通过计算二值图像中目标的外接矩形的长宽比来确定裂缝的种类,若比值大于1,属于横向裂缝,反之属于纵向裂缝[13]。
4.2.2 裂缝参数保存
在处理过程中,为了便于观察和分析,将裂缝特征参数以xls表格的方式来保存。裂缝保存到文件的界面图像如表1所示。
表1 裂缝参数保存到文件的界面图
裂缝的参数信息如表2所示。
表2 裂缝参数信息
本文利用机器视觉技术结合路面裂缝的特征,通过系统设计实现了对路面裂缝的检测与识别。为了本系统的可行性,采集了800张的裂缝图像样本,分为8组,每组100张图像。实验结果如表3所示。
表3 路面裂缝检测识别系统的结果
从表3可以看出,整个实验的检测时间为52s,单幅路面裂缝检测识别时间为52/800=0.065s,因此该程序的检测识别速度较快。由表统计,检测结果的误判数为24,检测识别系统的准确率(800-24)/800×100%=97.0%。
图2 各类型裂缝图像的检测识别效果图
以一些不同类型的裂缝图像为例,进行检测与识别,得到的效果图如图2所示。
图3 软件界面设计
在实验过程中,为了能清晰地演示各处理步骤的实验结果,在Matlab中设计了GUI界面,用来提高程序使用的简易性。软件设计界面如图3所示,右侧控制面板可以逐步调取主算法流程的分步处理结果,左侧显示区域可以显示图像处理、投影曲线等结果。实验证明,该系统能够较准确的检测识别路面裂缝图像,检测速度较快且准确率达到了97.0%。
本文首先对路面裂缝图像进行相应的预处理、特征提取、判断裂缝类型、标记路面裂缝的位置、利用xls表格保存裂缝参数信息的操作。然后利用Matlab设计出GUI界面来集成各个关键步骤,显示所得到的试验结果。最后的仿真结果表明,本文设计的基于Matlab路面裂缝检测识别系统是高效可行的。