一种应用于公路路面视频图像的裂缝检测及识别方法与流程

文档序号:14445691阅读:3568来源:国知局
一种应用于公路路面视频图像的裂缝检测及识别方法与流程

本发明属于人工智能和图像处理技术领域,涉及一种应用于公路路面视频图像的裂缝检测及识别方法。



背景技术:

近年来我国公路建设飞速发展,但是道路病害也日益增多,尤其是道路裂缝病害。这些裂缝如果不能够及时有效的修复,会给公路带来更加严重的破坏,同时也会对交通安全造成隐患。目前在对公路路面情况进行检测时,大部分还是使用传统的人工检测方法。这种传统的方法效率低、误差大,而且对交通有较大的影响,检测人员的人身安全也不能完全保证。现有的自动化检测方法当中,受限于费用昂贵的激光或红外设备,系统成本居高不下;基于机器视觉的裂缝检测算法,很多仅仅做到了检测出裂缝,而缺乏必要的对裂缝的分类及描述,不能够有效的帮助相关部门及时制定合适的养护计划。



技术实现要素:

本发明的目的是为了克服以往检测裂缝方法的缺陷,提出一种准确的,鲁棒的算法,该算法能够在公路视频图像中有效的检测及识别路面裂缝。算法包括以下步骤:

一种应用于公路路面视频图像的裂缝检测及识别方法,其特征在于,该方法包括以下步骤:

步骤1,对于输入图像,进行rgb到灰度的颜色空间转换,得到灰度图像,进而对灰度图像进行低通滤波,对低通滤波后的图像进行梯度算子边缘提取,得到边缘图像;

步骤2,对于得到的边缘图像,采用自适应阈值获取的方法阈值化图像,获得裂缝前景图像,进一步使用相同的阈值对步骤1中的灰度图像进行反向阈值化处理,将两次结果做按位与运算,获取裂缝阈值图像;

步骤3,通过设置分辨率参数,计算正方形区块边长,利用这些区块以及裂缝阈值图像中的非零像素位置,对图像进行区块去噪,剩余区块中的非零像素作为疑似裂缝图像,并保存去噪后的区块;

步骤4,计算步骤3中每个标定区块的中心坐标,再分别计算这些坐标在x方向和y方向的分布直方图,对疑似裂缝图像进行分布去噪,得到裂缝图像,并保存分布去噪后的区块;

步骤5,对于裂缝图像,记录分布去噪后每个区块位置信息,在步骤1中的灰度图像上找出区块在x和y方向上相互连通的区域,计算连通域中各区块内灰度值之和,取灰度值之和最小的区块作为精确定位后的裂缝位置;

步骤6,对于精确定位裂缝位置,使用区块的分布特征计算得出裂缝分类:横向、纵向和网状,进一步根据不同的裂缝分类,计算得出裂缝的最大累计宽度和最大累计长度,完成对裂缝的描述。

通过以上技术方案,本发明的技术效果在于:

本发明适用于公路路面视频中的裂缝自动检测及识别,具有实时性好,应用场景广泛,抗干扰能力强等优点。

附图说明

图1是裂缝检测及识别算法的流程图。

图2是待检测裂缝灰度图像。

图3是对图2的预处理过程示意图。

图4是对图2低通滤波后的图像。

图5是方向梯度算子提取边缘结果图像。

图6是裂缝阈值图像。

图7是对图6进行区块去噪后的结果图像。

图8a,图8b是区块中心坐标x和y方向的分布直方图。

图9是对图7进行分布去噪后的结果图像。

图10裂缝标记结果示意图。

图11裂缝精确定位示意图。

具体实施方式

以下结合具体实施例并参照附图,对本发明进一步详细说明。

图1是本发明裂缝检测及识别算法的流程图,如图所示,具体包含以下步骤:

步骤1,对于输入图像,进行rgb到灰度的颜色空间转换,得到灰度图像,进而对灰度图像进行低通滤波,对滤波后的图像进行梯度算子边缘提取,得到边缘图像。

所述步骤1进一步包括以下步骤:

步骤11,对于输入图像,考虑裂缝相较于路面其他区域呈现较为暗淡的特点,对图像灰度化处理,得到如图2的灰度图像grayimg;

步骤12,对grayimg的预处理过程如图3所示。考虑一般情况下裂缝灰度值较低,所以对grayimg进行低通滤波,本实施例中,遍历图像当中相邻的3×3邻域,将邻域中9个像素按照从小到大的顺序排列,按照以下模板对当前邻域按位计算:

相当于取前5个像素的平均值作为邻域中心处的灰度值保留,得到如图4的滤波图像blurimg;

步骤13,考虑到使用8方向梯度算子计算边缘图像,会产生8次卷积运算,对算法效率造成影响,本实施例中,采用如下的4种模板对blurimg进行卷积运算:

0°45°90°135°

对运算结果计算绝对值,记录这些边缘图像上对应位置取值最大的像素值作为最终边缘图像edgeimg,如图5所示。

步骤2,对于得到的边缘图像,采用一种自适应阈值获取的方法阈值化图像,获得裂缝前景图像,进一步使用相同的阈值对步骤11中的灰度图像进行反向阈值化处理,将两次结果做按位与运算,获取裂缝阈值图像。

所述步骤2进一步包括以下步骤:

步骤21,对于edgeimg,采用一种基于收敛连通域判定的自适应阈值获取方法阈值化图像,首先计算图像上所有像素的均值mean和标准差std:

式中:edgeimg(i,j)是图像在位置(i,j)上的灰度值,rows和cols分别是图像的高和宽。为了加快算法收敛速度,选取迭代初始阈值:

thresh(0)=mean+std

之后每次迭代阈值设为thresh(i),i为当前迭代次数,按照下式计算:

thresh(i)=thresh(i-1)+1,i≥1

使用thresh(i)阈值化图像,统计阈值图像中的连通域数量n(i),当n(i)收敛时(前后两次连通域数量相等或近似相等),即满足下式:

n(k)∈[n(k-1)-n(k-1)×ε,n(k-1)+n(k-1)×ε]

其中,k表示收敛时的迭代次数,ε是差额控制参数。当前thresh(k)值即为自适应阈值gthresh。本实施例中,ε=0.2,gthresh=33。

步骤22,使用gthresh对edgeimg进行图像阈值化,获得裂缝前景图像threshimg1,按照下式计算:

式中:threshimg1(i,j)是图像在位置(i,j)上的灰度值。为了滤除图像当中的亮色行道线干扰,使用gthresh对步骤11中灰度图像做反向阈值化,获得反向阈值图像threshimg2,按照下式计算:

式中:threshimg2(i,j)是图像在位置(i,j)上的灰度值。

步骤23,对于threshimg2,利用数学形态学对其进行矩形掩模的膨胀运算,本实施例中选择膨胀操作掩模大小为9×9,将膨胀后的threshimg2与threshimg1进行按位与运算,运算结果就是裂缝阈值图像threshimg,如图6所示。

步骤3,通过设置分辨率参数,计算正方形区块边长,利用这些区块以及裂缝阈值图像中的非零像素位置,对图像进行区块去噪,剩余区块中的非零像素作为疑似裂缝图像,并保存去噪后的区块。

所述步骤3进一步包括以下步骤:

步骤31,计算threshimg当中所有非0像素个数之和bgarea,本实施例中,设置分辨率参数resolution=100,按照下式计算正方形区块包含面积:

areaperrect=bgarea/resolution

通过该参数计算边长参数:

通过该参数确定正方形区块大小;

步骤32,对于threshimg,将非0区域划分为n个同样大小的区块,每个区块中的图像作为当前感兴趣区域roi,统计roi中的非0像素的个数arearoi(i),i∈[0,n),依据下式对图像进行区块去噪操作:

将剩余的区块和其对应的threshimg图像位置记录,得到疑似裂缝图像dnimg,如图7所示。

步骤4,计算步骤3中每个标定区块的中心坐标,再分别计算这些坐标在x方向和y方向的分布直方图,对疑似裂缝图像进行分布去噪,得到裂缝图像,并保存分布去噪后的区块。

所述步骤4进一步包括以下步骤:

步骤41,对于dnimg,分别计算并记录每个区块的中心坐标(x,y),将最左上方区块所在的位置设为坐标原点,统计这些中心坐标在x和y方向的分布直方图,如图8a和图8b所示,它反应了区块在某个位置上出现的频率。图8a中横轴xbin表示区块中心坐标x的取值,取值间隔是区块边长,纵轴blocknum表示满足某一个x取值条件下的区块数量;图8b中横轴ybin表示区块中心坐标y的取值,取值间隔是区块边长,纵轴blocknum表示满足某一个y取值条件下的区块数量;

步骤42,使用分布直方图,计算图9上的每一段连续分布区域长度lenx(i)和leny(j),其中i∈[0,p1),j∈[0,q1),p1和q1分别是x和y方向分布直方图上的连续区域数量。本实施例中,p1=1,q1=2。记录连续分布的最大长度为:

设置判定阈值系数lenthresh=0.2,进行分布去噪操作,既满足下式:

的连续区域保留,其他的区域认为是道路当中的微小陷坑滤除,得到裂缝图像crackimg,如图9所示。

步骤5,对于裂缝图像,记录分布去噪后每个区块位置信息,在步骤11中的灰度图像上找出区块在x和y方向上相互连通的区域,计算连通域中各区块内灰度值之和,取灰度值之和最小的区块作为精确定位后的裂缝位置。

所述步骤5进一步包括以下步骤:

步骤51,记录计算crackimg图像时的每个区块rect(m)的位置信息,其中m∈[0,m),之后分别在rect(m)的中心坐标的值域上,找到连续的区块作为连通域dx(i)和dy(j),其中i∈[0,p2),j∈[0,q2),p2和q2是rect(m)的中心坐标值域上的连通域数量。本实施例中,使用黄色矩形特别描述了x=77,y=150时的连通域,标记结果如图10所示,绿色矩形即为所有rect(i)

步骤52,在每个连通域当中计算各个区块内所包含的像素灰度值之和,选择灰度值之和最小的区块保存,即按照下式计算:

式中:rect(α)和rect(β)分别是连通域dx(i)和dy(j)中的区块。得到精确定位后的k个裂缝区块crack(k),k∈[0,k)。位置如图11所示。

步骤6,对于精确定位裂缝位置,使用区块的分布特征计算得出裂缝分类:横向、纵向和网状,进一步根据不同的裂缝分类,计算得出裂缝的最大累计宽度和最大累计长度,完成对裂缝的描述。

所述步骤6进一步包括以下步骤:

步骤61,对于k个裂缝区块crack(k),计算最大外接矩形,该矩形宽、高分别记为:w,h。二者比值记为:hov=w/h;

步骤62,当hov≥1时,对k个区块在x方向上的投影个数进行统计,记录x方向上的投影的最大值,记为maxx,记录投影取值为1的点的个数为xsize,记录区块总个数为blocksize,本实施例中,设置判定系数singlesize=0.6,按照下式判定裂缝分类:

裂缝最大累计宽度和最大累计长度为:

步骤63,当hov<1时,对k个区块在y方向上的投影个数进行统计,记录y方向上的投影的最大值,记为maxy,记录投影取值为1的点的个数为ysize,记录区块总个数为blocksize,本实施例中设置判定系数singlesize=0.6,按照下式判定裂缝分类:

裂缝最大累计宽度和最大累计长度为:

本实施例中,裂缝走向为横向,最大累计宽度占36个像素,最大累计长度占504个像素,完成裂缝描述。后续可以方便的按照相机的有关参数计算实际裂缝的数据,能够有效的帮助及时制定合适的养护计划。

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