许薛军 张肖宁
摘 要:应用visual C++6.0语言编制程序,研究了基于数字图像的桥梁裂缝检测方法,深入分析评价了图像灰度化、棋盘格角点求解像素率、滤波除噪、边缘检测等图像处理算法,实现了基于视频(或图像)的桥梁裂缝宽度计算和软件系统,并用15幅桥梁裂缝图像验证了其裂缝检测精度.结果表明:本文提出的裂缝识别方法能较好地用于钢筋混凝土桥梁和B类预应力混凝土桥梁的裂缝检测,当裂缝宽度大于0.3 mm时,图像计算出的裂缝宽度值与实测值非常接近,相对误差在6%以内;当裂缝宽度为0.2~0.3 mm时,相对误差在10%以内.
关键词:混凝土桥梁;裂缝检测;数字图像;计算机识别;图像处理
中图分类号:U446.3 文献标识码:A
Crack Detection of Concrete Bridges Based Digital Image
XU Xuejun1,2, ZHANG Xiaoning1
(1.School of Civil Engineering and Transportation, South China Univ of Technology, Guangzhou, Guangdong 510641, China;
2. Administration Bureau for Highway of Guangdong Province, Guangzhou, Guangdong 510075, China )
Abstract:A crack detection method of concrete bridges was proposed by using digital image technology, and some image processing algorithms, including gray processing of image, calculation of pixel rate, image noise filter, and edge detection of crack, were analyzed and evaluated for the crack detection of concrete surface. Then, a computer program was developed with visual C++6.0 programming language to detect the cracks, which was tested with 15 cases of bridge video images. The results have indicated that this method can effectively detect the width of cracks for reinforced concrete bridges and the B type prestressed concrete bridges. The results have also showed that the relative error is within 6% for the more than 0.3 mm cracks and it is less than 10% for the crack width between 0.2 mm to 0.3 mm.
Key words:concrete bridge; crack detection; digital image; computer vision; image processing
在混凝土橋梁的日常检测、定期检测以及梁底裂缝检测中,通常用吊装设备将桥梁工程师送到桥梁梁底,用裂缝观测仪读取裂缝宽度,手工记录裂缝位置、宽度、长度等信息.该方法效率低,耗力费时,难以把握裂缝的最宽位置,不适应现代桥梁高速发展的需求.近年来,一些学者开展研究了基于图像分析处理技术的混凝土构件裂缝识别、检测方法.如Tong[1]和Xu[2] 等对图像分割算法进行了对比,并获取了图像中的裂缝宽度值,其研究重点是图像处理算法,缺乏对实际裂缝图像的检测和验证.方志等[3]研究了正拍和斜拍图像的混凝土裂缝检测方法,但在修正和标定图像过程中,容易扭曲实际裂缝.赵吉广[4]研究了路面破损图像处理方法;Atsushi Ito[5]等通过粘贴刻度条确定裂缝面积,但难以确定裂缝宽度;Tung等[6]研究了基于双摄像头的裂缝采集方法,该方法难以准确标定裂缝图像,仅能检测裂缝的分布状态,不能确定裂缝宽度.楼伟等[7]用黑白CCD摄像机实地摄取路面图像,并提取裂缝轮廓.上述方法均采用Matlab 等图像处理功能实现裂缝图像的处理,通过阈值分割将桥梁裂缝提取出来,若混凝土表面存在气孔、蜂窝、剥落等情形,分隔后的图像仍存在局部噪声,影响了裂缝的识辨.
湖南大学学报(自然科学版)2013年
第7期许薛军等:基于数字图像的混凝土桥梁裂缝检测技术
本文提出了基于数字图像的桥梁裂缝检测构想,在桥梁表面粘贴棋盘格标定板,用摄像机采集桥梁视频,在视频帧中提取桥梁裂缝图像;用Visual C++6.0语言编制程序,对图像灰度化、滤波除噪、边缘检测等图像处理算法进行了系统的分析比较,确定了适应桥梁裂缝图像的处理算法.基于此,本文研究了棋盘格角点法求解图像的像素率(即单位像素代表的实际长度),用改进的平滑滤波法滤除图像中的噪声,用边缘检测算法识辨裂缝轮廓,然后拟合出裂缝边缘线,计算裂缝的周长、面积和宽度.此外,基于斜摄视频图像的桥梁裂缝检测关键在于如何求解裂缝图像中的像素率,作者将另文讨论.
1 基于正摄视频的桥梁裂缝检测构架
基于正摄视频的桥梁裂缝检测系统包括桥梁视频图像采集、图像处理、裂缝识别计算等内容,技术路线如图1所示.
1.1 桥梁视频图像采集
根据桥梁受力特性,确定荷载最不利区域作为监测区域.首先在监测区域内粘贴一定数量的棋盘格标定板;然后由摄像机拍摄监测区域,并将拍摄到的视频通过网络传送到指定的服务器;最后计算机自动提取某一时刻的视频帧作为桥梁裂缝图像.当条件受限时,可用数码相机人工定期拍摄桥梁监测区域,将拍摄的图像复制到指定的服务器.
1.2 图像处理
原始的桥梁裂缝图像是真彩色RGB图像,而后续的桥梁裂缝识别和裂缝计算是在灰度图像上进行的,且图像中存在一定的噪声.灰度值差异是桥梁图像裂缝识别技术的重要基础,也就是在裂缝处图像的灰度值会发生跳变,形成图像边缘.桥梁裂缝图像是对裂缝状态的一种可视化的定性表达,必须对图像进行灰度转化、滤波除噪、边缘检测等一系列处理,并求解出图像的像素率,才能定量地描述桥梁的裂缝状况.
1.3 裂缝计算
桥梁裂缝图像经过处理后,可在图像中拟合出裂缝的边缘,获得裂缝的像素宽、像素周长、像素面积等,然后通过像素率计算出裂缝的实际值.
2 桥梁裂缝图像处理技术
2.1 图像灰度化
本文采用式(1)将RGB图像转换为灰度图像:
x=0.30×R+0.59×G+0.11×B(1)
式中x为灰度图像的像素值;R, G, B分别为真彩色图像中像素的红、绿、蓝分量值.
2.2 灰度转换
裂缝图像灰度转换可提高图像的质量,增强图像的灰度级,常用的灰度转换方法有线性转换和直方图转换,本文采用式(2)进行线性转换.图像转换效果如图2所示.
式中g(x)为转换后的灰度像素值;Tmin和Tmax分别为图像中最小和最大灰度值.
从图2看出,线性转换较好地保留了桥梁裂缝细节,进一步拉开了裂缝与背景的灰度值差,有利于后续图像处理和裂缝识别.直方图转换使整个图像灰度分布更加均匀化,但加深了图像裂缝区域的灰度值和裂缝宽度,可能会导致计算出的裂缝宽度值与实际值的误差较大.可见,线性灰度转换能更好地处理桥梁裂缝图像.
2.3 求解图像像素率
为了满足桥梁裂缝识别的要求,本文采用棋盘格角点法(如图3所示)计算图像的像素率.计算出棋盘格角点(边缘点除外)的像平面坐标值,求解桥梁裂缝图像的像素率,计算公式为:
η=D1D2(3)
式中η为图像的像素率(mm/像素);D1为棋盘格中两角点间的实际距离(mm);D2为棋盘格中两角点间的像素距离(像素).
图3 4×4棋盘示意图
Fig.3 Schematic diagram of 4×4 checkerboard
目前,棋盘格角点检测可分为直线检测和角点检测两类[8].直线检测法是先对图像进行边缘检测,求取图像中的直线,通过两直线的交点求出棋盘格角点的像素坐标.角点检测法是基于图像灰度的检测法,考虑像素领域点的灰度值变化.经查阅有关文献,能够较好地检测求解棋盘格角点像素坐标的算法有Harris算法[8]和SV算法[9].通过试验发现,在桥梁裂缝图像中,单独使用Harris算法或SV算法,都不能完整地求解棋盘格上的角点(不含边缘点),而两种算法结合使用,可精确计算出棋盘格上的所有角点.图4是7×7棋盘格的验证实例.
从图4可以看出,棋盘格中共有36个角点(边缘点除外),Harris算法检测出40个点(27个角点和13个边缘点),SV算法检测出42个点(34个角点和8个边缘点),Harris和SV结合算法可以精确检测出棋盘格上的36个角点.
2.4 图像滤波除噪
图像滤波一方面要有效滤除桥梁裂缝图像中的噪声,另一方面要有效保护裂缝信息,尽量减少滤波过程中对裂缝边缘的模糊,以便于后续的裂缝边缘检测.本文以实际桥梁裂缝图像为试验对象,系统分析了几种常用的图像滤波方法,并用平均像素偏差评价了各算法的滤波效果.
2.4.1 图像滤波算法
常用的图像滤波算法有平滑滤波、中值滤波和均值滤波.本文通过大量桥梁裂缝图像滤波,对平滑滤波进行了改进,研究了中值与均值结合的滤波方法.
改进的平滑滤波[10]将灰度图像中某像素点自身的灰度值提高至4倍,相邻的上下左右4个像素点的灰度值提高至2倍,对角线上相邻的4个像素点的灰度值不变,然后将9个像素的灰度值相加,除以16作为该像素点新的灰度值.该方法采用矩阵的形式表示为:
图4 7×7棋盘格的验证实例
Fig.4 Validate instance of 7×7 checkerboard
116121242121
中间的黑点表示桥梁裂缝图像中某个滤波的像素点.
中值與均值结合滤波,假设桥梁裂缝图像中像素点的灰度值分布服从F~N(μ, σ2) 的正态分布.若像点xi的灰度值在[μ-2σ,μ+2σ]内,采用均值滤波;若像点xi的灰度值在[μ-2σ,μ+2σ]外,采用中值滤波.参数μ,σ可用像素点的灰度值计算:
μ=1N∑Ni=1xi(4)
σ=1N∑Ni=1(xi-u)2(5)
式中N为桥梁裂缝图像中像素点的总数; xi为某像素点的灰度值.
2.4.2 滤波效果评价
为评价各种滤波算法用于桥梁裂缝图像的效果,采用平均像素偏差评价方法,先在原始桥梁裂缝灰度图像上附加了平均像素偏差为14.495 7的噪声,再用不同方法进行滤波,各算法的滤波效果如图5所示.
图5 不同算法的滤波效果
Fig.5 The filtering effect of the different algorithms
滤波后的裂缝图像与原始灰度图(即添加噪声前的灰度图)进行比较,像素灰度值的平均偏差越小,滤波效果越好.评价公式为:
D(xi)=|P(xi)-M(xi)| (6)
A=∑Ni=1D(xi)/N(7)
式中P(xi)为桥梁裂缝原始灰度图中某像素点的灰度值;M(xi)为滤波后图像中对应的像素点的灰度值; D(xi)为某像素点xi的灰度值差; A为整幅图像的平均像素偏差.
通过计算,各种滤波方法对应的平均像素偏差见表1.
从图5和表1可以看出,桥梁裂缝图像的滤波除噪是十分必要的,改进平滑滤波算法对桥梁裂缝灰度图像的滤波效果最明显,中值滤波和均值滤波的滤波效果基本相同,中值滤波能有效保护图像边缘,均值滤波使桥梁裂缝变得模糊,中值与均值结合的滤波方法滤波效果较差,不适合桥梁裂缝图像的滤波.
2.5 桥梁裂缝图像二值化
对于低分辨率的图像,图像滤波后仍然存在局部区域的灰度值接近裂缝区域.图像二值化能将裂缝区域和背景区域分别出来,可有效提高低分辨率图像裂缝边缘检测和识别的准确度.
2.6 裂缝图像边缘检测
桥梁裂缝灰度图像中,裂缝区域较暗,灰度值较低;非裂缝区域通常较亮,灰度值较高.灰度值差异是桥梁图像裂缝识别技术的重要基础,也就是在裂缝边缘处图像的灰度值会发生跳变,形成图像边缘.边缘检测算法可识别出图像中的裂缝,用于后续的裂缝计算.
2.6.1 边缘检测算法[11-12]
图像边缘检测直接影响着桥梁裂缝识别效果和后续的计算精度,文章对Roberts算子、Sobel算子、Prewitt算子、G_Laplacian算子、Canny算子进行了验证,各算子的边缘检测结果如图6(a)~(e)所示.
2.6.2 边缘检测算法评价
为评价各算法应用于桥梁裂缝图像边缘检测的效果,手工将滤波后图像的裂缝边缘像素点标记为蓝色(0,0,255),并保存为样本图像(如图6(f)),再将各边缘检测算法计算的边缘像素点与标记的像素点进行逐一对比,计算其吻合度.如样本图像中某边缘像素点xi,在边缘检测后的图像中对应的该点为白色,视为边缘检测点正确,计其吻合值为1,否则吻合值为0.各算法的吻合度值见表2.
某边缘检测点的吻合值F(xi)为:
F(xi)=10P(xi)=(255,255,255)P(xi)≠(255,255,255) (8)
图像边缘检测的吻合度F为:
F=∑Mi=1F(xi)/M (9)
式中M为标记的裂缝边缘像素点总数.
试验表明,图像二值化过程使检测到的边缘点大部分位于标记点的附近领域,降低了桥梁裂缝图像边缘检测的吻合度,但吻合度在30%以上对后续的裂缝宽度计算和各算法的评价影响较小.从表3看出,Sobel算子和G_Laplacian算子的边缘检测吻合度较高,且非常接近.桥梁裂缝检测系统采用了Sobel算子进行边缘检测.
3 桥梁裂缝计算
桥梁裂缝图像经过处理后,可计算出裂缝的像素宽、像素周长、像素面积等信息.裂缝像素周长可通过统计图像中裂缝相邻边缘点的距离求得,裂缝像素面积可通过统计图像中裂缝边缘线包含的像素点求得,然后通过像素率得到裂缝的实际周长和面积.裂缝宽度是桥梁检测评价的重要指标,不能直接通过统计像素点求得.本文重点研究了裂缝宽度的计算(最大裂缝宽度).
3.1 特殊裂缝像素宽度计算
当裂缝方向为水平或垂直时,称这种裂缝为特殊裂缝.水平裂缝可通过桥梁裂缝图像每列中的最上面一个边缘检测点和最下面一个边缘检测点的位置,求出对应的裂缝像素宽,取最大值作为裂缝像素宽值.垂直裂缝的算法与水平裂缝相似.
3.2 一般裂缝像素宽度计算
通常情况下,桥梁裂缝图像中裂缝方向为不规则曲线(如图7所示).经处理后的桥梁裂缝图像为m行n列的离散点像素矩阵,利用矩阵和裂缝的有关特性可计算出裂缝的像素宽度.
在裂缝图像像素矩阵中,任意一点的像素坐标可表示为(i,Z(i,k))的形式,i=1,2,…,m;k=1,2,…,n.假设第k列中最上面一个边缘检测点(即裂缝边缘点)的像素坐标为(i,Z(i,k)),最下面一个边缘检测点的像素坐标为(j,Z(j,k)),则可以得出如下公式.
裂缝垂直像素宽P(k):
P(k)=Z(i,k)-Z(j,k)(10)
設M(k)=z(i,k)+z(j,k)2,裂缝倾角θ(k):
θ(k)=arctan (M(k+1)-M(k-1)2) (11)
裂缝的像素宽W(k):
W(k)= P(k)×cos(θ(k)).(12)
取最大值作为桥梁裂缝的像素宽度值.
3.3 裂缝实际宽度计算
桥梁裂缝像素宽度Max(w(k))确定后,通过2.3节求得的图像像素率η,计算出桥梁实际裂缝宽度W:
W=η×Max(w(k))(13)
4 实例验证
基于上述正射视频的混凝土桥梁裂缝计算方法,利用Visual C++6.0语言编制程序,采用较为合理的裂缝图像的处理算法,实现了基于图像技术的桥梁裂缝监测.本文以实际桥梁裂缝为试验对象,对15幅数码相机拍摄的桥梁裂缝图像进行了验证,同时用裂缝观测仪实测裂缝宽度与试验值进行比较(见表3).
可以看出,计算出的裂缝宽度值基本上略大于实测值,误差值在0.05 mm之内.当裂缝宽度在0.3 mm以上时,计算出的裂缝宽度值与实测宽度值非常接近,误差在6%以内;当裂缝宽度在0.2~0.3 mm之间时,误差在10%以内.当裂缝宽度在0.2 mm以下时,相对误差大于30%,主要原因是实测裂缝值是人工读取的,判读裂缝的最宽位置需依赖于检测人员的经验和感觉,难以判断裂缝的最宽位置,且裂缝观测仪的精度为0.1 mm,而图像计算出的裂缝值是所有裂缝的最大值.《公路钢筋混凝土及预应力混凝土桥涵设计规范》(JTG D62-2004)规定,全预应力桥梁在短期荷载效应组合下和部分预应力A类(限制拉应力)桥梁在荷载长期效应组合下,混凝土梁的正截面的受拉边缘不允许出现拉应力,即不允许出现竖向裂缝,钢筋混凝土桥梁和部分预应力B类(超出限制拉应力)桥梁在正常使用状态下允许的最大裂缝宽(一二类环境下非钢丝或钢绞线预应力)为0.2 mm.《公路桥涵养护规范》(JTG H11-2004)规定,全预应力或部分预应力A类桥梁不允许出现梁体竖向裂缝,梁体纵向裂缝允许最大宽为0.2 mm,钢筋混凝土或部分预应力B类桥梁允许竖向裂缝最大宽为0.25 mm,超过此数值应进行修补或加固.综上所述,本文提出的裂缝识别方法主要用于钢筋混凝土桥梁和B类预应力混凝土桥梁的裂缝检测.
5 结 论
本文系统研究了基于视频的混凝土桥梁裂缝检测技术,得出如下结论:
1)本文用Visual C++6.0语言编制程序,对图像处理技术的有关算法进行了系统比较,得出用于桥梁裂缝图像处理的算法.通过实例证明,提出的桥梁裂缝检测方法能很好地应用于实际检测.
2)通过棋盘格角点标定法求解桥梁裂缝图像的像素率,并通过Harris和SV结合算法能精确识别和计算角点的像平面坐标,为后续的裂缝精确计算提供了技术保障.
3)各种图像处理算法中,分段线性函数的图像灰度转换能较好地保留裂缝细节,改进平滑滤波算法滤波效果最明显,Roberts算子、Sobel算子、GaussLaplacia算子、Canny算子都能较好地检测出图像中裂缝的边缘,但Sobel算子边缘检测的吻合度最高.
4)桥梁裂缝检测中,0.2 mm宽度以下裂缝的检测是一个技术难点,需进一步研究如何提高其计算精度,以便广泛用于混凝土裂缝的识别.
参考文献
[1] TONG Xuhang, GUO Jie, LING Yun, et al. A new imagebased method for concrete bridge bottom crack detection[C]//Image Analysis and Signal Processing. New York: IEEE, 2011:568-571.
[2] XU Bing,YIN Guansheng, LIU Xiaowei. A technology based on image processing for the bridge crack measurement[J]. Applied Mechanics and Materials, 2012, 138/139:569-574.
[3] 方志,彭海涛. 基于图像分析技术的混凝土桥梁结构表面裂缝宽度检测[J].湖南大学学报:自然科学版, 2012,39(1): 7-12.
FANG Zhi, PENG Haitao. Crack width detection on the concrete surface of bridge based on image analysis technology[J]. Journal of Hunan University: Natural Sciences, 2012,39(1): 7-12.(In Chinese)
[4] 趙吉广. 基于视频图像的路面性能参数采集方法研究[D]. 南京:东南大学交通学院,2006.
ZHAO Jiguang. Research on data collecting techniques for pavement performance parameters based on video images [D]. Nanjing: College of Transportation, Southeast University, 2006.(In Chinese)
[5] ATSUSHI Ito, AOKI Y, HASHIMOTO S. Accurate extraction and measurement of fine cracks from concrete block surface image[C]//Proceedings of IECON 02. New York: IEEE, 2002:77-82.
[6] TUNG Picheng, HWANG Yeanren, WU Mingchang. The development of a mobile manipulatro imaging system for bridge crack inspection[J]. Automation in Construction, 2002, 11(6): 717-729.
[7] 楼伟,沈宁. 高等级公路路面裂缝类病害轮廓提取的算法研究[J]. 电子技术应用,2002,10:30-34.
LOU Wei, SHEN Ning. Crack disease contour extraction algorithm for high grade highway pavement[J]. Application of Electronic Technique, 2002,10:30-34. (In Chinese)
[8] 张裕,方康玲,刘永祥. 基于Harris算法的黑白棋盘格角点检测[J].计算机应用与软件,2010,27(8):251-254.
ZHANG Yu, FANG Kangling, LIU Yongxiang. Harris algorithmbased corner detection on black white checkerboard[J]. Computer Applications and Software, 2010, 27(8): 251-254. (In Chinese)
[9] 刘阳成,朱枫. 一种新的棋盘格图像角点检测算法[J].中国图像图形学报,2006,11(5):656-660.
LIU Yangcheng, ZHU Feng. A new algorithm for Xcorner detection [J]. Journal of Image and Graphics, 2006,11(5):656-660. (In Chinese)
[10]王小兵,孙久运. 一种新型高斯噪声滤波算法[J].北华大学学报:自然科学版,2011,12(5):606-609.
WANG Xiaobing, SUN Jiuyun. A new Gaussian noise filtering algorithm[J]. Journal of Beihua University: Natural Science, 2011,12(5):606-609. (In Chinese)
[11]李晓飞. 三种不同边缘检测算子的分析研究[J].安阳工学院学报,2012,11(4):54-56.
LI Xiaofei. The analysis and research on the three different edge inspection operators[J]. Journal of Anyang Institute of Technology, 2012,11(4):54-56. (In Chinese)
[12]常娜.图像处理中的边缘检测算法研究综述[J].中国科技信息,2011(4):130-132.
CHANG Na. Research of edge identification algorithm in image processing[J]. China Science and Technology Information, 2011(4):130-132. (In Chinese)