路面病害图像的自动识别方法和系统与流程

文档序号:11178344阅读:12613来源:国知局
路面病害图像的自动识别方法和系统与流程

本发明涉及一种路面病害图像的自动识别方法和系统,属于图像处理技术领域。



背景技术:

路面病害中路面裂缝作为路面病害在高等级公路路面破损的主要表现形式,对于现代化、高效率的公路养护非常重要。由于传统的人工检测方法耗时长、不准确、危险性高、妨碍交通、主观差异性大,现在多采用高精度相机快速拍摄路面图像,进行计算机自动检测。各种各样的路面裂缝检测定位算法被提出。

根据裂缝区域的灰度值较低的图像特点,谢昌荣等发表路面裂缝检测图像处理算法的研究中通过分析各种经典的图像处理算法优异性,进行裂缝检测。kirschkekr提出了基于直方图统计的裂缝检测策略。egement等提出了直方图投影的算法,采用形态学算子消除图像分割后的噪声,获取裂缝。根据裂缝特征的频域角度出发,bahramj等提出了基于小波变换的检测算法,马常霞等提出了结合nsct和图像形态学的裂缝检测算法,王刚等运用了脊波变换检测局部线性裂缝。将二维图像映射到三维曲面,唐磊等提出了基于三维地形的路面裂缝检测方法。也有一些跨领域的方法也被提出,用以刻画复杂环境下的裂缝特征,如任亮等提出的基于prim最小生成树的方法,邹勤等提出的利用目标点最小生成树的检测算法,马常霞等提出的基于分数阶微分的裂缝检测算法。这些算法在某些环境的路面图像中,取得了较好的检测效果。但对于复杂情况下的含有较多非裂缝信息,较多干扰物的情况下,却无法达到理想的识别效果。



技术实现要素:

发明目的:针对现有技术中存在的问题,本发明目的在于提供一种路面病害图像的自动识别方法和系统,提高路面裂缝检测效率,且能适用于不同特征的裂缝图像,具有较理想识别效果。

技术方案:为实现上述发明目的,本发明提供一种路面病害图像的自动识别方法,包括如下步骤:

(1)将拍摄的路面图像进行预处理,所述预处理包括gamma灰度校正、高斯滤波增强和局部自适应二值化;

(2)对预处理后得到的二值化图像进行边缘检测;

(3)对边缘检测后的图像进行连通域轮廓检测,获得连通域的个数和连通域轮廓的外接矩形;

(4)根据连通域轮廓的外接矩形的形状判断出路面裂缝所在区域;

(5)根据路面裂缝所在区域的位置信息从边缘检测后的图像中提取裂缝区域图像,并叠加黑色模板形成与原始图像大小相同的裂缝特征图像;

(6)基于卷积神经网络对裂缝特征图像进行分类。

作为优选,所述步骤(1)中对图像进行gamma灰度校正时,校正参数γ<1,将图像的高光部分拓展而暗调部分压缩。

作为优选,所述步骤(1)中局部自适应二值化的计算方法为:

其中,(x1,y1)、(x2,y2)为局部区域的左上角和右下角点的坐标值,为局部区域的长和宽,s(x,y)为局部区域范围内像素点积分图像值,s(i,j)为局部区域的中心点的积分图像值,i(i,j)为二值化后的灰度值。

作为优选,所述步骤(2)中采用canny算子进行边缘检测。

作为优选,所述步骤(4)中路面裂缝所在区域的判断依据为:若外接矩形的宽和高之和大于等于设定的阈值,则认为是路面裂缝所在区域。

作为优选,所述步骤(6)中卷积神经网络包括三层卷积层和一层全连接层,前两层卷积层连接池化层,全连接层有四个神经元,神经网络训练集中的图像包括横向裂缝图像、纵向裂缝图像、网状裂缝图像和无裂缝图像。

本发明还提供一种路面病害图像的自动识别系统,包括:预处理模块,用于对拍摄的路面图像进行预处理,所述预处理模块包括:灰度校正单元,用于对原始图像进行gamma灰度校正处理;滤波增强单元,用于对灰度校正后的图像进行高斯滤波增强处理;以及,二值化单元,用于对滤波增强后的图像进行局部自适应二值化处理;边缘检测模块,用于对二值化后的图像进行边缘检测;裂缝区域定位模块,用于对边缘检测后的图像进行连通域轮廓检测,获取连通域轮廓的外接矩形,并基于外接矩形的形状定位路面裂缝所在区域;裂缝精确分割模块,用于根据裂缝所在区域的位置信息从边缘检测后的图像中提取裂缝区域图像,并叠加黑色模板形成与原始图像大小相同的裂缝特征图像;以及,裂缝分类模块,用于基于卷积神经网络对裂缝特征图像进行分类。

有益效果:本发明提供的路面病害图像的自动识别方法和系统,是在大量观察裂缝图像的特征,发现路面裂缝图像具有灰度值低、稀疏性、裂缝区域的连通性等特征的基础上,对传统的图像处理算法进行分析与改进,结合最大连通域,设计了适用于检测裂缝的定位和分割算法,并结合卷积神经网络的网络结构对裂缝特征图像进行分类,以实现路面病害图像的自动识别。实验表明,与现有技术相比,本发明对于路面病害中的裂缝定位具有十分优异的检测效率,而且对于不同特征的裂缝图像具有不错的鲁棒性表现。

附图说明

图1为本发明实施例的方法流程图。

图2为局部自适应二值化方法中4×4图像的灰度值数组示意图。其中(a)为图像灰度值数组,(b)为灰度值求和后的数组。

图3为局部自适应二值化方法中图像区域划分示意图。

图4裂缝图像预处理结果图。其中(a)为原始图像,(b)为灰度校正后的图像,(c)为高斯滤波后图像,(d)为局部自适应二值化后的图像。

图5为边缘检测得到的图像结果图。

图6为裂缝定位算法opencv实现流程图。

图7为基于裂缝区域位置信息对裂缝进行精确分割的流程图。

图8为各种裂缝检测定位视觉效果图。其中(a)为横向裂缝1的检测定位,(b)为横向裂缝2的检测定位,(c)为纵向裂缝检测定位,(d)网状裂缝的检测定位。

图9为裂缝分割图视觉效果对比图。其中(a)为原图,(b)-(d)分别为采用ac算法思想、lc算法思想、ft算法思想的分割结果图,(e)为本发明精确分割的结果图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

如图1所示,本发明实施例公开的一种路面病害图像自动识别方法,首先将拍摄的路面图像进行预处理,然后对预处理后图像进行边缘检测,接着进行连通域轮廓检测,并基于连通域轮廓的外接矩形的形状进行裂缝区域定位和分割得到裂缝特征图像,最后基于卷积神经网络对裂缝特征图像进行分类。详细处理步骤如下。

步骤1:图像预处理

通过摄像机实际拍摄的路面裂缝图像,存在复杂大量的噪声成分:路面材料颗粒形成的大范围随机纹理覆盖整幅图像;光照不均引起图像中间亮周围暗的典型变化;路面油污、水渍、杂物以及行道线的干扰。

鉴定于原始路面图像中的情况复杂,且缺乏丰富的彩色信息,本发明先从图像预处理的角度出发,进行灰度矫正和滤波处理,降低背景噪声影响,突出裂缝信息。

步骤1.1:灰度矫正

经过大量观察裂缝图片可知,路面裂缝最明显的特征就是裂缝中心的灰度级比其周围背景要黑。由于光照不均产生的中间亮两边暗、偏暗的影响。并且整体灰度偏低,为了突出裂缝灰度级上的显著性,在此应用一种非线性变化算法gamma灰度矫正算法。

该算法对输入图像的灰度值进行指数变换,进而矫正亮度偏差,可应用于扩展暗亮的细节,其计算公式如下:

其中a是常数,vin为矫正前输入图像,vout为矫正后的图像,γ为矫正的参数。当γ>1时,图像高光部分被压缩而暗调部分被拓展,当γ<1时,图像的高光部分被拓展而暗调部分被压缩。经过大量实验,γ=0.75,效果最佳。

步骤1.2通过滤波增强图像特征

对于路面裂缝的图像其最明显的一个特点是存在复杂大量的噪声和干扰点,由于裂缝具有稀疏性和连续性,可以对其进行滤波操作进而减少非裂缝因素的影响。同时由于裂缝特征明显,可以达到增强裂缝显著性特征的效果。因此,对灰度校正后的图像应用高斯滤波进行处理。考虑到公路路面的粗糙程度,本发明实施例采用5*5的高斯卷积核进行处理。

步骤1.3局部自适应二值化

图像二值化是指图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。经过以上处理的图像在图像二值化时,传统的二值化方法对于路面裂缝图像的二值化效果均不佳。本发明参照dbgroth的方法,进行改进优化达到了对于裂缝图像的裂缝区域良好的二值化效果。

首先灰度化后的单通道,各处的像素值如图2(a)。之后得到每个点的左上方所有点的像素值之和(包括该点,即灰度值积分)并可用一个二维数组暂时存储,如图2(b)所示。

一般地,图像二值化就是给定一个阈值,当图像中某一点的像素值大于阈值时令它的像素为255(0),像素值小于阈值时为0(255)。而区域二值化,就是把图片划分为若干的区域,每个区域有各自的阈值,再分别判定。

如图3所示,我们要判定区域d时,就可以利用图2(b)的积分图像,通过计算区域d的总阈值,计算公式如下:

其中,(x1,y1)、(x2,y2)为区域d的左上角和右下角点的坐标值,s(x,y)为点(x,y)的积分图像值。

总阈值与区域内的像素个数求平均值得到该区域的平均值p。本实施例中使用区域中心点(i,j)的积分图像值与平均值p进行比较,若s(i,j)>p,则重写点(i,j)的像素为255(0),反之为0(255)。计算公式如下:

其中表示图像中区域d的长和宽,s(i,j)为区域中心点的灰度值,i(i,j)为二值化后的灰度值。

图4为对一幅横向裂缝图像进行预处理后的结果图,其中(a)为原始图像,(b)为灰度校正后的图像,(c)为高斯滤波后图像,(d)为局部自适应二值化后的图像。

步骤2:图像边缘检测

通过上述对于路面裂缝图像的预处理,大大削弱了已存在复杂大量的噪声和干扰点对裂缝信息的干扰。可采用常见的边缘检测算法对二值化后的图像进行边缘检测,如sobel、laplace、roberts、canny等。本发明实施例采用canny算子实现边缘检测,如图5所示为边缘检测的结果。

步骤3:图像中裂缝的定位与裂缝的精确分割

步骤3.1:基于最大连通域的轮廓定位

通过对大量的裂缝进行图像预处理和图像分割后发现,裂缝在图片中具有最大连通性。利用该特性,我们可用通过检测裂缝图像中的连通域来确定裂缝的位置。

该算法在裂缝图像的预处理和边缘检测的基础上,可以对裂缝进行一个检测定位。通过图像轮廓函数检测,获取每个连通域轮廓矩形,通过遍历所有轮廓的外接矩形,根据矩形的形状判断选取较大的连通域为目标区域。记录该区域的坐标,标记出该区域。

算法如下:

第一步:对于边缘检测图像进行连通域轮廓检测,轮廓个数为n;

第二步:获取连通域轮廓的外接矩形为rectn(x,y,width,height),其中x,y,width,height分别为矩形的左上角点的坐标和矩形的宽和高;

第三步:通过遍历检测出的所有轮廓,轮廓个数n,设置轮廓外接矩形的宽与高之和大于等于参数限制t,即width+height≥t,获取我们所需要的连通域轮廓的位置信息rectn。

第四步:对于获取到的连通域轮廓的外接矩形进行记录,该外接矩形对应的位置区域在原图中即为路面裂缝区域。

在本实验中,对于512×512的裂缝输入图像,经过大量实验,参数限制t选取200。并通过c++和opencv进行实现。opencv算法流程图如图6。

步骤3.2:基于连通域的裂缝精确分割

对于一些路面情况复杂、噪声多、干扰信强的裂缝而言,边缘检测后的图像不能明显突出裂缝信息,容易造成裂缝特征信息的干扰。通过观察发现,裂缝特征虽然不明显,但仍具有最大连通性,利用该特性,结合上述基于连通域的轮廓定位算法可以对裂缝图片进行精确分割。

如图7所示,具体算法流程如下:

第一步:通过3.1算法将图像中裂缝区域定位,得到裂缝图像中的裂缝位置信息为rectn(x,y,width,height),其中x,y,width,height分别为矩形的左上角点的坐标和矩形的宽和高;若通过3.1算法没有检测出裂缝区域的位置(无裂缝),跳过二、三步骤,输出512×512的黑色图像;

第二步:在边缘检测结果图中使用该位置信息提取裂缝区域;

第三步:通过与512×512的黑色图像模板的叠加后组成与原图大小一致的完整的裂缝特征图像。

步骤4:基于卷积神经网络的裂缝分类

卷积神经网络在图像分类识别中具有很好的表现,卷积神经网络的网络结构如下:

输入层:直接接收二维视觉模式,即二维特征图像。

卷积层:也称为特征提取层(convolutionallayer,简称c层),每个卷积层包含多个卷积神经元,每个卷积神经元的输入与前一层的局部感受域相连,并提取该局部的图像特一旦该局部特征被提取后,它与其他特征间的位置关系也随之确定下来。

激活函数:(rectifiedlinearunits,简称relu)relu是作用于各连接单元后的激活单元,采用折页函数。它相对于传统神经网络中的sigmoid函数而言,在保证非线性的同时,能更好地反传梯度,还使得每层结果具有一定稀疏性。

池化层:池化方法一般有最大池化和平均池化,相当于对图像进行下采样,即以某图像区域的最大值或平均值取代该区域,从而缩小图像尺寸,使提取特征具有一定旋转、平移不变性。

全连接层:(fullyconnectedlayers,简称fc)最后一层隐层所得到的二维特征模式被拉伸成一个向量,与输出层以全连接方式相连,起到将学到的“分布式特征表示”映射到样本标记空间的作用。可输出类别标签之间的映射关系。

随机dropout:随机dropout每次随机选取该层部分权重进行训练,有利于防止过拟合,提升网络泛化能力。

softmax函数:softmax函数用于最后的结果输出,表达式如式4所示,k为类别数,zj为k维向量的第j维分量,输出可视为第j类的概率。

针对路面病害中裂缝的分类问题,本发明实施例方法设计的卷积神经网络结构共有4层,前3层为卷积层,最后一层为全连接层。

网络的输入为512×512大小的单通道灰度图像(将原始图像经过预处理、边缘检测、裂缝定位和分割后得到的裂缝特征图像)。为保证网络深度,减少参数,提升网络泛化能力,该网络前两个卷积层采用的卷积核的尺寸较小,均为3×3。最后一个卷积层卷积核大小为15×15。所有卷积核都同时作用于相应前一层的所有特征图上,且同一卷积核对于前一层不同特征图的权重不一致。三个卷积层所采用的卷积核种类依次为16、32、216个,逐层抽象地提取不同特征。

在前两个卷积层之后都连接了池化层,池化方法为平均池化。池化过程中未对图像进行扩充,池化窗口大小依次为2×2、4×4,滑动窗口步长相应分别为2、4。每个池化层后都通过激活函数进行非线性激活。

最后一层为全连接层,共有4个神经单元。在最后一个卷积层和全连接层后都增加了随机dropout层以提升网络泛化能力,比例为0.5。最后采用softmax函数进行输出。

本发明实施例公开的一种路面病害图像的自动识别系统,主要包括预处理模块、边缘检测模块、裂缝区域定位模块、裂缝精确分割模块以及裂缝分类模块。其中预处理模块用于对拍摄的路面图像进行预处理,主要包括:灰度校正单元,用于对原始图像进行gamma灰度校正处理;滤波增强单元,用于对灰度校正后的图像进行高斯滤波增强处理;以及二值化单元,用于对滤波增强后的图像进行局部自适应二值化处理。边缘检测模块用于对二值化后的图像进行边缘检测;裂缝区域定位模块用于对边缘检测后的图像进行连通域轮廓检测,获取连通域轮廓的外接矩形,并基于外接矩形的形状定位路面裂缝所在区域;裂缝精确分割模块用于根据裂缝所在区域的位置信息从边缘检测后的图像中提取裂缝区域图像,并叠加黑色模板形成与原始图像大小相同的裂缝特征图像;裂缝分类模块用于基于卷积神经网络对裂缝特征图像进行分类。

下面结合具体实验,对本发明实施例的效果及优势做进一步说明。

实验环境为intel(r)core(tm)i5-4210ucpu,8g内存的pc机。实验数据来源为淮安公路养护处的公路裂缝图片数据集,图像大小为512×512像素,精度为0.92mm/pixel,共5000张,其中含有裂缝的图像为3668张。根据裂缝的分类标准,我们采用具有代表性的横向裂缝、纵向裂缝以及网状裂缝进行实验。

通过图像的灰度矫正、滤波增强、具备自适应二值化、边缘检测处理后,利用裂缝图像中裂缝区域的最大连通性,设计出针对裂缝图像的裂缝区域的检测定位算法,通过图框将裂缝区域在原图中显示出来。图8(a)、(b)为横向裂缝存在的路面图像的算法效果,图8(c)为纵向裂缝存在的路面图像的算法效果,图8(d)为网状裂缝存在的路面图像的算法效果。可以从实验结果看出可以准确定位到路面图像中的裂缝位置。

为了验证算法的有效性和正确性,我们取检测路段中不同光照条件和检测条件下的三组图像,每组各1000幅图像,各组别222张、400张、284张裂缝图片。

设图像总数为k,实际存在裂缝的图像数为m,不存在裂缝的图像数为n,检测出的裂缝图像数为t,存在裂缝但未检测出来的数目为m,算法将无裂缝图像误检为存在裂缝图像的数目为n,则检测结果的正确率如表1:

表1裂缝图像检测定位正确率结果

漏检率和误检率结果如表2:

表2漏检率和误检率统计结果

从表1和表2中可知,三组数据中的检测正确率都在92%以上,漏检率和误检率都小于8%,证明本方法有效,满足实际检测需求。

在图像分割算法的处理方面,本发明通过与现有的基于显著性分割处理的算法进行比较。现有的显著性算法主要有ac、lc和ft算法,将这些经典的显著性算法思想作用于裂缝灰度图像,命名为ac-g、lc-g、ft-g,通过与本发明方法中结合裂缝特征的精确分割算法的对比,结果如图9。图9(a)为有横向裂缝存在的路面图像,其中存在着水泥结块、小凹槽、横向条纹、局部黑斑等影响。9(b)-9(d)为ac-g、lc-g、ft-g算法显著性分割的结果,虽然对于裂缝具有较好的分割效果,但对于非裂缝信息和路面背景噪声的过滤确效果不佳。ac-g和ft-g整体分割较好、但对于非裂缝信息水泥结块、小凹槽无法过滤、裂缝特性显示较弱,lc-g在分割后产生了很多细碎的噪声点。

通过实验结果可以看出本发明方法在通过灰度矫正、滤波增强在很大程度上削弱了路面噪声的影响,通过利用裂缝在图像中的最大连通性,有效过滤掉了多余的非裂缝信息(如图中的水泥结块、小凹槽),并且裂缝整体更加突出,如图9(d)。

在裂缝图像的识别方面,本发明设计的4层卷积神经网络进行裂缝图像的分类识别。根据裂缝的分类标准,训练集来源淮安公路养护处的裂缝数据图片集,其中横向裂缝1024张、纵向裂缝1024张、网状裂缝1024张,同时添加负样本集即不含有裂缝的图像1024张。图像为512×512大小、经过预处理、分割后的灰度图像。每类120张非训练集中的图像进行识别效果测试,结果见表3。

表3算法测试识别准确率结果

从表3可以看出本发明设计的4层卷积神经网络算法在准确率以及识别速度上相比传统的特征+svm算法具有一定的优势性。

综上,本发明实施例将裂缝的检测和分割与卷积神经网络相结合,首先通过图像预处理与边缘检测后,利用裂缝图像中裂缝区域的最大连通性,设计出针对裂缝图像的裂缝区域的检测定位算法,利用该特性在检测定位算法的基础上进行裂缝图像的精确分割。最后使用卷积神经网络算法进行分类识别。结果表明本发明方法对复杂环境下的各种裂缝都有效,即使对于含有较多非裂缝信息、干扰物较多的路面图像,也能取得非常优异的识别结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1