混凝土桥梁底部裂缝自动检测与测量
2019-10-09姚晓同
杨 晓,姚晓同,叶 琰
(武汉工程大学 机电工程学院,武汉430205)
随着交通行业的发展,车流量日益增多,桥梁裂缝对桥体承载能力有着巨大影响,因此对桥梁裂缝的排查非常重要。 若桥梁裂缝在早期能被检测出来并及时修补,便可以极大程度地降低桥梁的维修费用,同时也能确保行车安全。 然而,由于桥梁底部裂缝较为隐蔽,采用传统的人工检测所消耗的时间长,并且误差大;混凝土桥梁底部图像光照变化不均匀,混凝土裂缝与背景的对比度相对较差,而且混凝土的纹理是多变的。 因此,光线、污渍、混凝土本身的纹理等外部因素很容易影响测量的精度与准确性。 为了提高检测效率与精度, 需要以COMS工业相机云台作为图像采集装置, 进行图像采集。在此,采用数字图像处理,设计出适应性高且识别度高的图像算法,排除裂缝周围环境的影响,提取完整的裂缝骨架,并对裂缝进行计算,进而提高检测水平。
1 图像采集
CCD 电耦合器件和COMS 互补金属氧化物导体是常见的2 种相机传感器。 CCD 相机图像灵敏度低,但不能直接访问每一个像素,没有片上处理功能。 而COMS 相机可以直接访问单个像素,动态范围高,帧率高。 因所检测的是混凝土桥梁底部的细微损伤,图像动态范围高,并且需要访问单个像素,故在此选用COMS 相机。
相机在图像采集小车机械臂的作用下,采集裂缝图像,将光学信号转换为电信号传输到图像采集卡;图像采集卡再通过数模转换,将电信号转换为数字模拟量,再进行图像数据处理。
2 裂缝图像处理
2.1 灰度化
在数字图像处理中将各种格式的图像转化为灰度图像,后续的图像处理的计算量便会变得相对少一些。 而灰度图像仍然与彩色图像一样,可以完整地反应图像的整体、 局部的色度以及亮度等级。一般将一个图上的一个点定义为(i,j),此处的灰度值定义为gray(i,j),则3 种颜色通道对应的值分别为R(i,j),G(i,j),B(i,j)。 由于桥梁底部拍摄环境受到阳光、阴影、污渍、湿度等不确定因素的影响较大,因此将权值进行加权平均。 对RGB 三分量进行加权平均,就能得到较合理的灰度图像,即
2.2 去噪滤波处理
在尽量保留图像细节特征的条件下,需要对目标图像的噪声进行抑制。 效果处理得好坏会直接影响后续图像处理与分析的有效性和可靠性,因此滤波去噪是非常关键的一步。
信号或图像的能量大部分集中在幅度谱的中频和低频段,而在较高频段,有用的信息经常被噪声淹没。 因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。 在此,结合实际的裂缝图像,分析2 种不同的滤波方式,同时根据二值化图像的去噪效果,对不同算法的效果进行综合评价。
1)均值滤波 为典型的线性滤波算法[1],主要方法为邻域平均法。 一般需要在图像上对目标像素给出一个模板(内核),该模板包括了其周围的邻近像素。 再用模板中全体像素的平均值来代替原来的像素值,即对待处理的当前像素点(x,y)选择一个模板,该模板由其邻近的若干像素组成,求模板中所有像素的均值,将该均值赋予当前像素点(x,y),作为处理后图像在该点上灰度点g(x,y),即
式中:m 为该模板中包含当前像素在内的像素个数。
2)高斯滤波 为一种线性平滑滤波,可以消除高斯噪声。高斯滤波就是对整幅图像进行加权平均的过程每一个像素的值,均由其本身和领域内其他像素值经过加权平均后得到。 图像的高斯模糊过程就是图像与正泰分布做卷积。高斯滤波器是一类根据高斯函数的形状来选择权值的线性平滑滤波器。高斯平滑滤波器对于抑制服从正态分布的噪声非常有效。
经过滤波处理后的二值化图如图1 所示。 由图比较可见,图1b 高斯滤波去噪的效果较好,而且很好地保护了裂缝的细节。
图1 两种滤波方法处理效果的比较Fig.1 Comparison of processing effects between two filtering methods
2.3 形态学滤波
混凝土桥梁有大量可见石子,高斯滤波后仍有些许噪点。 为了更好地去除噪点,分割出独立的元素,在图中连接相邻的元素,并且寻找出图像中明显的极大值区域或者极小值区域,需要采用膨胀和腐蚀进行形态学处理。
膨胀就是求局部最大值的操作。 从数学角度来说膨胀就是核与图像卷积,即计算核覆盖区域的像素点的最大值,并将该值赋值给参考点指定的像素。 这样就会使图形中高亮区域逐渐增长。 当的原点位于位置(x,y)时,平坦结构元b 在任何位置(x,y)处对于图像f 的膨胀,定义为图像f 中与重合区域的最大值,即
腐蚀与膨胀[2]是相反的一对操作,非平坦结构元具有随定义域变化的灰度级。非平坦元结构bN对图像f 的腐蚀定义为
2.4 边缘检测
在消除了裂缝周围的噪点之后,应提取完整的裂缝骨架,即进行Canny 边缘检测。
Canny 边缘检测的目标是找到一个最优的边缘检测算法,即低错误率,高定位性,最小响应。 Canny边缘检测有以下4 个步骤:
步骤1消除噪声。 在此使用高斯平滑滤波器卷积降噪,所选size=5 的高斯内核示例为
步骤2计算梯度幅值和方向。 此处按照Sobel滤波的步骤来操作。 首先运用一对卷积阵列分别作用于x 和y 方向,即
再计算梯度幅值和方向:
步骤3非极大值抑制。用于排除非边缘像素,仅保留一些细线条。
步骤4滞后阈值,即滞后高阈值和低阈值。若像素位置的幅值超过高阈值,该像素被保留为边缘像素;若像素位置的幅值小于低阈值,该像素被排除;若像素位置的幅值在2 个阈值之间,则该像素仅在连接到一个高于高阈值的像素时被保留。
3 裂缝尺寸的计算
经过上述处理后的裂缝图像,不仅有需要的裂缝目标还有大量噪点,需要通过数值对比过滤掉噪点。
使用findContours 函数,追踪裂缝轮廓图像,并对连续裂缝轮廓用矩函数[3]将其最小外接矩形表示出来,通过最小外接矩形长宽比、连通区域内裂缝面积与周长比以及圆形度来滤出噪点。 裂缝轮廓以及矩形框框出的裂缝图分别如图2,图3 所示。
图2 裂缝轮廓Fig.2 Crack outline
图3 矩形框框出的裂缝图Fig.3 Crack diagram of a rectangular frame
考虑到桥梁裂缝一般为弯曲、复杂的裂缝。 不能将裂缝最小外接轮廓长宽作为裂缝长宽来计算。为此提出了一种简单而有效的计算方法。
首先,通过裂缝的自动跟踪算出裂缝的连通区域的面积A 和圆弧度H。 然后对框选处的裂缝轮廓进行骨骼化,再统计裂缝最小外接矩内的白色像素点个数。 裂缝的长度L 就是这些白色像素点的个数;裂缝的平均宽度即为连通区域面积与裂缝长度之比。
选取部分裂缝并验算其精度,结果见表1。根据以上数据分析,裂缝的实际宽度均小于宽度的测试值,通过图像算法测得的裂缝宽度与实际裂缝宽度的误差均在2%左右。
表1 裂缝尺寸测试Tab.1 Crack size test
4 结语
使用COMS 相机采集图像,将图像采用滤波去噪、二值化、边缘检测等一系列数学形态操作,可提取完整裂缝骨架;将裂缝目标细化,使用轮廓跟踪函数,用最小外接矩形将裂缝轮廓框出,利用圆形度、连通区域内裂缝面积与周长的比值,过滤掉轮廓中的噪点;采用矩函数并结合图像像素率进行求解,可以检测出裂缝面积与周长,并计算出裂缝平均宽度,误差均在2%左右,误差较低。 测试结果表明,通过图像算法测得裂缝的方法是可行的,较为精确,自动化检测效率较高。