基于图搜索的桥梁裂缝检测
2019-11-18高忠文
张 晓, 高忠文
(哈尔滨理工大学 自动化学院,黑龙江 哈尔滨 150080)
0 引 言
桥梁工程是交通建设的重要组成部分,它的安全关系到人民群众的生命。因此,应加大对桥梁裂缝的检测力度。目前,桥梁检测主要依靠人工,借助于检测车,利用高倍显微镜进行近距离读数,其精度低,效率低,检测主观性大。近几年,国内学者使用数字图像处理方法,对裂缝进行检测[1]。文献[2]使用Sobel算子、Canny算子、小波变换、以及傅里叶变换等对桥梁裂缝进行检测,运算速度取得极大提升,但方法上存在严重局限性。文献[3]采用数学形态学方法,对桥梁裂缝进行图像分割,但识别精度不高。文献[4,5]运用快速最小生成树来解决图像分割问题,分割标准是相邻元素之间强度差异。该算法能够保留低变异图像区域的细节,但忽略高变区域的细节。文献[6]采用多尺度输入图像渗透模型设计桥梁裂缝检测模型,使用最佳阈值分割滤除非裂缝区域,利用梯度信息提取裂缝。在计算裂缝面积时,没有考虑裂缝方向多样性,造成得到结果误差比较大。
针对上述不足,以桥梁裂缝为实验对象,提出一种图搜索检测裂缝边缘方法,统计桥梁裂缝的像素数目,从而计算桥梁裂缝宽度。然后将图搜索算法与100倍带光源读数显微镜测量结果进行对比,验证图搜索裂缝算法的可靠准确性。
1 裂缝图像采集以及裂缝计算方法选取
1.1 裂缝图像采集
桥梁裂缝一般比较小,不易观察,为使检测结果精确,采用高分辨率相机——尼康D850拍摄。拍摄过程中,不断调整相机镜头,尽量使裂缝在相机成像清晰。拍摄图片如图1(a)所示。
1.2 裂缝计算方法
裂缝宽度计算采用像素数据与实际裂缝宽度数值转换方法[7],根据透镜成像公式
(1)
式中L′为像距,L为物距(相机和被测目标之间的距离),f为相机镜头焦距。由式(1)可得
(2)
成像放大倍数θ为
(3)
式中A为裂缝尺寸,A′为裂缝图像的像素数。
由式(3)可得
(4)
式中L和f已知的情况下,如果测出裂缝图像的像素数,可根据公式计算出裂缝尺寸。由式(2),式(4)可得
(5)
式中 35.9 mm为尼康D850传感器最长边物理尺寸,8 256为拍摄的图像长边像素点数。
为验证以上理论的准确性,进行一组模拟试验。已知某一线段宽平均大约0.40 mm,分别对拍摄距离为1 600,1 800,2 000,2 200,2 500 mm的图像中线段进行拍摄和测量,根据式(5)进行试验计算,实验结果如表1。
表1 显微镜观测值和计算值 mm
由表1可知,不同物距计算值与显微镜观测值相差不到0.03 mm,该裂缝宽度计算方法满足工程需求,可推广到桥梁裂缝图像采集和分析上。
2 桥梁裂缝提取
在获得裂缝图像之后,需进行以下工作:灰度化、二值化、滤波去噪、图搜索(裂缝提取)、裂缝尺寸计算等。
2.1 灰度化
拍摄图片是彩色图片,彩色图片数据量增大3倍,导致存储空间负担过大,而彩色图片信息并不好用,需将彩色图片转化为灰度图。将桥梁裂缝图灰度化后,如图1(b)所示。
2.2 二值化
二值化过程中,使用OTSU算法进行阈值分割[8],OTSU算法具有自适应获取分割阈值,使裂缝和背景自动分离,达到最佳分割目的。二值化处理效果如图1(c)所示。
2.3 滤波去噪
从图1(c)可以看出,一些噪声点仍存在于二值化后的图像上,为了提高桥梁裂缝提取准确率,必须消除噪声点。本文拟采用图像平滑处理[9],选取某一点,在该点8邻域内,统计白点个数,若白点个数大于黑点个数,认为该点灰度值为255,否则,该点灰度值为0。处理效果如图1(d)所示。
图1 裂缝图像处理结果
2.4 图搜索
将滤波去噪图映射成带有权值的有向图,根据裂缝边缘特点,即灰度级间断、亮度不连续性,通过图搜索找到最小开销路径,以达到检测裂缝边缘的目的。
如图2(a)所示,点p和q是四邻接的像素点,将边缘定义为p和q之间边界,边缘像素就是由点p(xp,yp)和点q(xq,yq)来确定[10]。
由点p和q确定的边缘像素都有相应的开销,定义为
c(p,q)=H-(f(p)-f(q))
(6)
式中H为图像中灰度值最大值,f(p),f(q)分别为点p,q相应的灰度值。这样定义将图像映射为带有权值的有向图,图像中的每一个像素点为图的每一个节点,图中两像素点之间的权值也就是两节点之间的开销。
裂缝边缘之间的像素有不连续的特性,造成裂缝边缘像素之间的差值很大。如果点p,q恰好处在图像边缘上,f(p),f(q)二者差值的绝对值会很大;直接用f(p),f(q)二者差值容易产生负值,比较起来很麻烦。为了尽快寻找到裂缝边缘,决定采用式(6)作为相邻像素之间的权值。
当已经确定上一时刻追踪方向,要做的是根据上一时刻方向,判断出下一时刻追踪方向,并且计算可能追踪方向最小开销值。假设确定上一时刻的边缘像素就是图3中所示的点p,q,追踪方向是向下的箭头,并且其为边界像素,下一时刻追踪方向会有3个(如图2(b)所示)。
图2(b)中(1),(2),(3)对应的开销表示的是c(n,q),c(m,n),c(p,m),然后计算并比较这三个值,取最小的开销,记录方向并且存储此边缘像素的坐标位置。找到起始点后,以此类推,遍历整幅图片,确定开销值总和最小的路径,并标记出来,裂缝就是开销值最小的路径。
图2 像素点与追踪方向示意
整体算法如下:
1)确定起始点的位置。
2)判断起始点是不是孤立的点,判断方法:以此点为中心,取3×3模板,比较所得到的和与此点的值是否相等,若相等则舍去此点;反之保留并存储此点。
3)根据步骤(2)找到的起始点,利用前面讲到的理论,寻找起始追踪方向,就是在起始点周围寻找可能的追踪方向,然后求出对应的开销,比较得出可能的追踪方向的最小值,存储边缘像素的坐标值,并且记录此时最可能追踪方向。
4)根据步骤(3)得到的最可能追踪方向,还有与其相对应下一时刻追踪方向,求出它们相应开销值,比较取最小值,然后记录此时追踪方向并存储边缘像素的坐标值。
5)重复执行步骤(4)。在追踪过程中,若每个追踪方向的开销值相等,可能进入到噪声区域,对于此种情况,舍去此起始点;然后由下一起始点开始,从步骤(2)依次开始。
6)假设在得到的边缘像素中,有一点坐标与起始点坐标一样,就停止搜索。此时我们得到的全部边缘序列,就是所需要的边缘。
2.5 裂缝尺寸计算
经过图搜索检测的裂缝边缘,没有噪声干扰,直接读取裂缝边缘的像素数目,进行裂缝尺寸宽度计算。主要有以下步骤:1)扫描图3(a)中已经确定为边缘像素的点f(x,y),确定左右端点;2)然后根据左右端点,将该图片旋转至水平位置,并且放大到可以观测清晰像素为止,如图3(b)所示;3)横坐标不变,读取纵坐标值,比较纵坐标最大差值,最大差值位置也就是最宽裂缝位置,统计像素数目,并保存;4)根据式(5)进行裂缝宽度计算。
图3 图搜索检测后的裂缝边缘
3 算法性能验证分析
3.1 桥梁裂缝检测效果分析
在100幅包含有桥梁裂缝的图像上,进行实验。将图论搜索裂缝方法与迭代Canny算法、Snake算法以及Scharr算子等进行仿真对比,如图4所示。
图4 图论算法与其它算法分割效果对比
通过对比可知:
1)Scharr算子对像素的位置的影响作了加权,可以降低模糊边缘程度,简单有效。但Scharr算子并没有将桥梁裂缝和背景分开,严重影响裂缝宽度计算。
2)迭代Canny算法虽基本保留了桥梁裂缝边缘细节,分割之后仍保留有噪声点,影响像素数目的统计。
3)Snake算法保留桥梁裂缝全部信息,但受其它噪声影响,处理之后,边界出现断裂,影响像素数目的统计。
4)在桥梁裂缝受到噪声干扰下,通过实验对比,图搜索算法得到的裂缝边缘轮廓清晰,且边缘连续,满足检测桥梁裂缝的精度要求。
衡量算法标准主要包括:误分率和检测时间,误分率是指在区分裂缝像素时,错误判断裂缝像素数目和判断裂缝像素数目总数之比,比较结果如表2所示。
表2 图搜索与其它算法性能参数比较
由表2知,图搜索算法在检测桥梁裂缝过程中,误分率最低,而且检测时间也是最短的。由此表明图搜索对干扰物进行有效抑制,同时对桥梁裂缝边缘细节性信息进行保护。
3.2 与显微镜测量结果比较
在vs2013环境中开发裂缝测量系统软件,核心算法用MATLAB 2014实现。选用100倍带光源显微镜直接读取待测裂缝宽度(测量范围0.01~1 mm),表3为实验测量结果。
表3 实验测量结果
4 结 论
测量结果表明:软件计算值误差均低于0.03 mm,相对误差随着拍摄距离变化而变化。现有条件满足桥梁工程需求,如果拍摄距离在2 m以上,会有很大误差,需要考虑换镜头。