基于局部图像分割与多特征滤波的自适应桥梁露筋检测算法

2020-06-16 01:41贺福强姚学练
应用光学 2020年3期
关键词:波谷投影灰度

贺福强,罗 红,姚学练,平 安

(贵州大学 机械工程学院,贵州 贵阳 550025)

引言

桥梁的主体结构多数是由钢筋和混凝土浇筑而成,由于长期处于复杂的气候环境中,使得桥墩侧面和桥面底部的混凝土发生脱落,裸露出里面的钢筋,若不及时修复,将会缩短桥梁的使用寿命,甚至引发严重的事故[1-2]。因此及时地发现漏筋区域并且进行修复是首要问题。目前使用的技术是通过无人机进行桥梁图像的采集,再结合图像处理技术完成漏筋区域的提取。由于混凝土表面污渍较多,使得漏筋的提取比较困难。Michael等人[3]针对此问题提出了一种基于HSV(hue,saturation,value)空间的漏筋检测方法。通过提取彩色图像的色度、饱和度、亮度分量再结合自适应分割算法,完成漏筋的提取,但提取的结果中有部分噪声的残留。李良福等人[4]提出了基于深度学习的混凝土缺陷检测算法,该方法需要对大量的图像进行训练,最终通过生成的模型来检测缺陷,检测的结果主要受到训练集数量以及网络层参数设置的影响。以上方法在缺陷的检测过程中都有一定的效果,但要完成病害的精准提取,还需对算法进行优化。灰度投影法是一种用于字符分割[5-9]、车牌识别[10-12]的算法,该方法利用图像中灰度信息的分布来确定目标的位置。因此本文结合漏筋区域特性以及投影法的原理完成缺陷的定位,再结合分割和滤波算法实现缺陷的提取。

1 基于局部图像分割与多特征滤波的自适应桥梁露筋检测算法

针对桥梁漏筋图像中复杂背景的干扰问题,本文提出了一种自适应阈值分割与多特征滤波相结合的漏筋检测方法,首先通过投影法完成漏筋区域定位,缩小检测范围,再结合特定的分割和滤波方法去除各种噪声,实现漏筋特征的提取,图1 给出了算法实现的流程图。具体的实施步骤如下:

1) 对原图进行图像灰度化,并对灰度图像进行双边滤波使其平滑;

2) 将滤波后的灰度图进行水平投影和垂直投影;寻找水平投影和垂直投影图中的峰值及其相邻波谷的坐标和其投影值;

3) 计算每个峰值与其相邻波谷的高度差,将高度差与所设阈值对比,记录符合要求的高度差所对应的波谷坐标,若所记波谷坐标靠近边缘位置,进一步判断是否为外景与桥梁背景形成的波谷;

4) 求该图像中点到图像边缘在投影图上的投影值的标准差,将标准差与所设阈值进行比较,结合高度差确定小于阈值的标准差所对应的波谷的坐标;

5) 以波谷中心位置左右设置剪切宽度对灰度图分别进行行和列的剪切以剔除背景的干扰,并将剪切后的图像进行合并;

6) 对合并图像进行自适应阈值分割;

7) 进行形态学处理,以连接露筋“断层”部分;进行圆形度阈值滤波以排除排水孔和小面积孤立噪声点;进行面积阈值滤波处理以去除非目标的干扰;进行长宽比阈值滤波以去除桥面夹角形成的干扰;

8) 计算漏筋长度。

图 1 算法流程图Fig. 1 Flow chart of algorithm

2 局部阈值分割

2.1 双边滤波

由于桥面不整洁以及拍摄时光照的影响,使得漏筋的提取比较困难,因此首先需要对图像进行降噪处理。双边滤波是一种非线性的滤波器[13],它可以在保留边缘的同时平滑背景区域,其原理是将两种不同性质的函数进行叠加,从而得到一组权重,将权重与原图进行卷积操作实现图像的去噪,其表达式如(1)~(2)式:

式中:I(i,j)为图像I 在点(i,j)的像素值;(u,v)为(i,j)的邻域像素点;W 为权重;σk和σl为平滑系数。滤波后的灰度图像如图2 所示。

图 2 滤波效果图Fig. 2 Filtering effect image

2.2 基于灰度值投影法漏筋区域定位

由于漏筋多为条状且颜色发黑,为了能够排除大部分背景的干扰,确定漏筋的大致区域,本文将双边滤波后的灰度图像进行投影,生成投影曲线,通过计算曲线中波峰与相邻波谷的高度差与所设阈值进行对比,保留符合要求的波谷坐标,以波谷为中心设置分割范围对灰度图进行行和列的剪切,将最终的剪切结果进行合并以保留露筋完整信息。检测算法步骤如下:

1) 绘制投影曲线。对原图中的像素值按行和列分别累加求和:

式中T(y)和P(x)分别表示第y 列和第x 行的像素值之和。根据求和结果绘制垂直投影曲线和水平投影曲线如图3 和图4 所示。

2) 统计曲线中所有的波谷点与波峰点的坐标,并计算波谷点与相邻波峰点之间的高度差值,计算公式如(5)~(6)式:

式中:△d1为左边波峰与波谷的差值;△d2为右边波峰与波谷的差值;V 和P 分别为波谷和波峰点的投影值。

图 3 垂直投影Fig. 3 Vertical projection

图 4 水平投影Fig. 4 Horizontal projection

3) 排除外景区域的干扰。拍摄图像的过程中难免会带入天空或森林等外景,需要首先进行去除,由于外景中灰度的分布较为均一,且会与桥梁形成一条水平或垂直的相交线,因此可以通过投影得到的差值与求取的图像边缘部分标准差来判断是否需要存在外景。若△d1或△d2大于120,则利用(7)式计算V(j)值至曲线最后一个点的投影值之间的标准差:

式中:σ 为标准差;N 为对应坐标个数;xi为第i 个坐标对应的投影值;μ 为投影值平均值。

若标准差小于30,则存在外景,将相交线以外的区域像素值置为1,若标准差大于30,则不存在外景,执行下一步。

4) 以波谷中心位置左右设置15 像素的宽度范围对灰度图分别进行行和列的裁剪,最后再将剪切后剩下的行和列进行合并,以剔除背景的干扰,结果如图5 所示。

图 5 漏筋区域定位Fig. 5 Regional location of bare rebar

2.3 局部图像阈值分割

与其他算法中的物体分割识别不同,桥梁漏筋图像中没有统一的背景和均一的色彩分布,每一张图都不一样,因此不能用同一个阈值去处理所有的图像。为了除去背景中与漏筋颜色相似的污渍、直线印记、混凝土脱落和渗水区域像素对分割结果的影响,提出了一种自适应的阈值分割方法,步骤如下:

1) 统计合并后的漏筋图像中灰度值小于1 的像素个数n 及灰度值均值Mean:

式中I(i)代表第i 个像素的灰度值。

2) 由于漏筋灰度值较低,若通过Mean 值直接进行分割会保留很多噪声,通过多次试验分析,当阈值选取为Mean/2 时分割的效果最佳。

3) 取Mean/2 为全局阈值T,根据(9)式对合并后的图像 I(x,y)进行二值化:

由于T 是根据每一张图像中的灰度信息求取的,因此每一张图像T 的取值都不同,从而能够实现自适应分割。图6 为各种算法的分割效果图。

图 6 不同算法阈值分割对比Fig. 6 Comparison of threshold segmentation with different algorithms

全局阈值分割方法是通过人为设置阈值完成图像分割,没有考虑到图像中像素的分布情况,使得分割效果不佳。最大熵值法是通过计算背景与前景中像素分布的概率来确定阈值的,但由于污渍和渗水区域的像素灰度与漏筋十分相似,得到的结果中掺杂了很多干扰,难以去除。OTSU 和迭代算法[14]在外景和漏筋区域存在较为明显的分界线时,直接将桥梁部分所有的像素置为一体,因此无法实现漏筋的提取。采用本文算法可以有效地去除部分背景的干扰,实现目标与背景分割,为多特征滤波提取露筋特征奠定了基础。

3 多特征滤波图像处理

3.1 形态学处理

从图6(b)可看出露筋部分出现“断层”不连续的情况,增加了露筋的特征提取难度,采用半径为3 圆盘的结构元素B,对灰度图像A 形态学开运算[15],即使用同样的结构元素先对图像进行腐蚀操作后进行膨胀操作,开运算公式如(10)式所示:

2.2.2 气温相关指标。本研究以有无发病为分组依据,分为有发病组(n=847)、无发病组(n=614),纳入的气温指标有平均气压、日气压差、日平均气温、日气温差、日平均水汽压、日平均相对湿度、日降水量、日平均风速、日极大风速、舒适度指数,结果提示,上述气象学指标差异均无统计学意义(P>0.05),见(表2)。

3.2 圆形度滤波

采用形态学处理后,虽有效将露筋“断层”部分连接,但仍存在小面积孤立的噪声以及有些图像中出现排水孔的干扰等情况,采用圆形度阈值滤波。圆形度计算公式如(11)式所示:

式中:C 为圆形度:A 为连通域面积:P 为连通域周长。当目标为标准圆形时,圆形度最大为1,而孤立的噪声和排水孔的形态特征接近于标准圆,通过多次试验确定圆形度阈值CT=0.7,通过(12)式对g(x,y)进行圆形度阈值滤波:

3.3 面积滤波

获得圆形度滤波后的图像g′(x,y),根据《公路桥涵养护规范》及实际的检测经验,对于面积较小的露筋可选择不处理,为了排除其他类似露筋的干扰,如电线、小划痕等,设置面积阈值AT=280 像素,通过(13)式进行面积滤波:

3.4 长宽比滤波

经过圆形度滤波和面积滤波有效去除大部分干扰,剩下的大多为露筋连通域和疑似露筋干扰,通过分析二值图像的连通域的形态特征,发现露筋呈长条状,因此计算连通域的长度与宽度,设置长宽比滤波阈值KT=5,通过(14)式进行面积滤波:

经过多特征滤波后有效排除了干扰,保留了露筋特征,露筋二值图像如图7 所示。

图 7 多特征滤波露筋特征二值图Fig. 7 Bare rebar feature binary image of multi-feature filtering

4 实例验证与分析

图 8 7 种常见的露筋特征识别Fig. 8 Identification of 7 kinds of common features of bare rebar

表 1 7 种复杂工况下露筋检测结果Table 1 Test results of bare rebar under 7 kinds of complex working conditions

式中:Nb指被误检为露筋的背景区域像素个数;Nd指没有被算法检测出来的实际露筋区域像素个数;Ntotal为本文算法检测出的漏筋区域像素个数;Ng为实际人工检测出的露筋像素个数。

由表1 可知,本文算法在检测图a(1)时漏检率和误检率都较高,主要原因在于部分漏筋距离较近且周围有大量污渍干扰,因此在长宽比滤波过程中真实裂缝被当作污渍滤掉了,图a(5)和a(6)中的漏筋较多,根据技术要求,只需提取较大条漏筋即可,同一区域小条漏筋便可忽略不计,所以虽然误检率较高,但相对误差很小,满足检测要求。

表2 给出不同算法在漏筋检测中的平均误检率、平均漏检率和平均相对误差,本文算法的平均误检率为5.15%,平均漏检率为3.89%,与其他算法相比误差较小,符合公路桥梁病害评定标准;计算的露筋总长度相对于人工测量的平均相对误差为3.74%,远低于其他算法,说明本文算法在漏筋上具有较高精度。

表 2 不同算法的实验对比Table 2 Comparison of different algorithm experiments

5 结论

本文给出一种基于局部图像分割与多特征滤波的自适应桥梁露筋检测算法。

1) 对投影图进行了分析,通过差分曲线找到波谷,利用高度差和标准差阈值综合判断,确定了露筋的位置;

2) 以露筋位置为基准设置分块范围,对灰度图像进行了行和列分块,合并行列分块图像并进行局部图像阈值分割,对比常用的阈值分割方法,本文算法可以有效地将目标与背景分开;

3) 基于多特征滤波,去除了非露筋的干扰,最大程度保留了露筋的主要信息。

采用该算法对7 种常见的露筋类型进行了实验验证。实验结果表明:该算法平均的误检率、漏检率和相对误差分别为5.15%、3.89%、3.74%,误差较小均符合公路病害评定标准。本文算法有效解决了光照不均、多背景并存对桥梁露筋提取的干扰问题,实现了复杂环境下的露筋的自适应识别,降低了人力检测成本,提高了露筋检测效率,为从事桥梁检测的技术人员提供了参考。

猜你喜欢
波谷投影灰度
采用改进导重法的拓扑结构灰度单元过滤技术
板厚与波高对波纹钢管涵受力性能影响分析
解变分不等式的一种二次投影算法
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
梅缘稻
基于最大相关熵的簇稀疏仿射投影算法
找投影
找投影
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于音节时间长度高斯拟合的汉语音节切分方法