一种基于模板搜索的水工混凝土结构水下表面裂缝检测方法
技术领域
本发明涉及一种检测方法,尤其涉及一种基于模板搜索的水工混凝土结构水下表面裂缝检测方法。
背景技术
水库大坝工程、港口码头以及桥梁工程中的重要结构绝大部分由混凝土构件组成,在长期服役过程中,由于外部环境(如风浪、腐蚀、水力冲刷以及温度应力等)的侵扰、材料性能的改变以及施工条件的限制等诸多因素的影响,水下混凝土结构不可避免地会出现不同程度的裂缝。尤其是服役初期,内部结构应力高速释放,裂缝产生速度更快,若不能被及时探测并进行维护,裂缝逐渐扩展极有可能会导致灾难性的后果。目前,对混凝土结构的水面以上及浅水部位裂缝探测已经存在比较有效的技术手段,如超声波检测法、传感器监测法、电位法和激光巡视法等。但对于深水部位的裂缝探测,这些方法的探测能力依然不足,表现为可靠性差、定位误差大、效率低、操作复杂等,无法满足实际的检测要求。随着科技的进步,图像检测技术得到了快速的发展,其具有“眼见为实”、灵活、可移植、可复用、速度快等诸多优点,并且在海洋探测、海底打捞、水下焊接等领域得到了广泛的应用。因此,采用数字图像处理技术为水工混凝土结构水下表面裂缝的检测提供了一种有效的方法。
现有的基于图像的水工混凝土结构水下表面裂缝检测方法主要分为两种,一种是基于阈值分割的方法;另一种是基于边缘检测的方法。基于阈值分割的方法,其步骤为:
(1)图像预处理,如对比度拉伸,中值滤波等;
(2)图像复原,如采用盲反卷积法、散射模型法等;
(3)图像分割,如基于灰度直方图的分割,基于类间方差最大化的分割,基于过渡区提取的分割等;
(4)裂缝提取,根据一定的规则对分割后的面元进行处理,如设定面元的线性度,饱和度等阈值。
基于边缘检测的方法,其步骤为:
(1)图像预处理,如对比度拉伸,中值滤波等;
(2)图像复原,如采用盲反卷积法、散射模型法等;
(3)边缘检测,如sobel、canny等边缘检测算子;
(4)裂缝提取,根据主要边缘提取裂缝。
现有的基于阈值分割和基于边缘的裂缝检测方法要求水下裂缝具有较高的对比度和较好的连续性。但是,由于水下环境的特殊性,所获得的水下图像不可避免的会受到干扰,导致图像中产生许多假细节,如自阴影、假纹理、假轮廓等,这使得传统的裂缝检测方法不能满足要求,无法将裂缝与干扰有效的区分。因此,本发明设计了基于模板搜索的方法来检测裂缝,该方法利用裂缝边缘相互匹配的特点,并结合一定的判别规则,能够准确的检测出完整的裂缝。
发明内容
本发明的主要目的在于提供一种基于模板搜索的水工混凝土结构水下表面裂缝检测方法,能实现对对比度低、连续性差的混凝土结构水下表面裂缝的有效提取。
本发明的目的是这样实现的:
一种基于模板搜索的水工混凝土结构水下表面裂缝检测方法,其包括以下步骤:
步骤11:裂缝增强,其包括:
步骤111:利用去背景法获得照明均匀的前景图像;
步骤112:利用改进的Butterworth对前景图像进行滤波,获得高对比度的水下裂缝图像;
步骤12:裂缝分割,运用基于支持向量机过渡区提取与分割方法,实现对水下裂缝图像的分割,其包括:
步骤121:选择核函数为高斯函数,惩罚因子C等于10的支持向量机模型;
步骤122:提取裂缝图像过渡区的特征,包括局部复杂度、局部差异度和领域非一致性;
步骤123:基于支持向量机模型,提取裂缝图像过渡区;
步骤124:将过渡区像素的灰度均值作为最优分割阈值,得到分割后裂缝图像;
步骤13:裂缝提取,运用模板搜索的方法,实现对连续性差的裂缝的有效检测,其包括:
步骤131:提取裂缝的特征,去除杂点和容易区分的非裂缝;
步骤132:选择合适的模板对余下裂缝边缘依次搜索,判断是否存在另外的边缘与其相匹配,从而检测出真实裂缝;
步骤133:根据裂缝边缘相互匹配的特征将裂缝边缘断开的部分连接起来,优化裂缝检测结果。
上述步骤13具体包括如下步骤:
步骤1:分别计算分割后图像中每个裂缝边缘的长度L和曲率C,其中L为裂缝边缘的所包含的像素个数,C表示裂缝边缘长度与边缘方向有显著变化的像素的数目的比值;
步骤2:将计算得到的每个边缘的长度L和曲率C与所设定的阈值进行比较,如果满足条件则表明是裂缝,否则为干扰;
步骤3:计算余下边缘在水平方向和垂直方向上的投影,通过比较水平投影和垂直投影的大小来判断裂缝的类型;
步骤4:根据裂缝类型,选择合适的模板,从裂缝边缘的一个端点开始沿边缘方向逐个像素进行搜索,并记录模板中包含的八连通区域的个数,直到搜索到边缘的结束端点,如果边缘包含八连通区域的个数大于1的像素的个数满足给定条件则表面该边缘为裂缝;
步骤5:根据边缘端点坐标判断是否存在断开位置,如果存在,则记录断开位置的坐标;
步骤6:根据裂缝边缘相互匹配的特征,将断开位置连接起来,从而得到准确完整的裂缝。
上述的裂缝增强具体的步骤包括:
1)对原始水下裂缝图像I进行分块,每一块的大小相等,总共分为64块;
2)对每一块采用均值进行背景估计,得到背景估计图像I',利用原图减去背景估计图像,得到所需要的图像I1,然后将I1的整体亮度提高,最终得到光照均匀的水下裂缝图像I′1;
3)利用式(1)和式(2)所示的改进Butterworth同态滤波器对图像I′1进行滤波处理,得到增强后的水下裂缝图像,
H(u,v)'=H(u,v)×eiθ (2)
式(1)中Rh代表高频增益,Rl代表低频增益,k为常数,用来控制滤波器斜面的锐化,且k∈(Rl,Rh),D(u,v)=[(u-u0)2+(v-v0)2]1/2表示频率(u,v)到滤波中心(u0,v0)的距离,D0为截至频率;式(2)中,θ=arctan(Im(u,v)/Re(u,v)),Im(u,v)和Re(u,v)分别为图像经过傅立叶变换后的实部和虚部。
上述的裂缝分割的具体步骤包括:
1)从采集的图像库中选取一幅训练用水下裂缝图像,用人工干预的方法的到过渡区;
2)构造过渡区的特征矢量TRk,该矢量由局部复杂度LCk,局部差异度LVk和领域一致性Rk这三个特征分量组成,即TRk={LCk,LVk,Rk},LCk、LVk和Rk的计算方法分别如下:
(a)局部复杂度:统计图像局部领域窗口内的灰度级数目,另S为像素空间坐标的整数集合,Ωk为图像中以k为中心的领域,其大小为Mk×Nk,具有256个灰度级,则该领域的局部复杂度LCk为:
其中:
式中h(l)为图像的直方图函数;f(i,j)为I的灰度分布函数;l∈{0,1,2,…,255}为灰度等级;δ(·)为冲击函数;
(b)局部差异度:统计图像局部领域窗口内像素灰度值的方差,定义为公式(6),
其中fk(i,j)是领域Ωk内坐标位于(i,j)处像素的灰度值,为领域Ωk内像素灰度值的均值;
(c)领域一致性:是用来描述边缘特性的一种信息测度,设领域Ωk的中心点为(ik,jk),过该点,以方向θ将该领域分成两个区域,θ按0°,45°,90°,135°进行步进,则该点处的领域一致性可定义为:
其中n为步进序号,对于第n步,Ωk被分为和两个区域,为中全部像素点的灰度值之和,为中全部像素点的灰度值之和;
3)用支持向量机对特征矢量数据集TRk训练与分类,提取过渡区,支持向量机模型的核函数为高斯核函数,惩罚因子C等于10,σ取1×10-7到3×10-7之间;
4)计算提取的过渡区像素的灰度均值,得到最优分割阈值T;
5)根据分割阈值T分割水下裂缝图像。
上述裂缝提取的步骤具体包括:
步骤1,运用二值图像的八领域标记算法对边缘检测后的裂缝图像I中的边缘进行标记,得到标记后的边缘Ei(i=1,2...,N,N为边缘的个数);
步骤2,根据式(8)和式(9)分别计算每个边缘的长度Li和曲率Ci,如果Li大于L且Ci大于C(L取15,C取0.1),则认为该条边缘为裂缝,否则为杂点或干扰,并将其去除,从而得到剩下的边缘Ej(j为初步判别后剩下的边缘的标记号),
式(8)中,Ei(p)为边缘Ei中第p个像素点的灰度值,ni为边缘Ei所包含的总像素数,式(9)中,表示边缘方向有显著变化的像素的数目;
步骤3,根据公式(10)计算所有边缘在垂直方向上的投影长度Vj,根据公式(11)计算所有边缘在水平上的投影长度Hj,式中max()表示边缘Ej中所有像素点所在行或列的最大值,min()表示边缘Ej中所用像素点所在行或列的最小值;
Vj=max(xj)-min(xj) (10)
Hj=max(yj)-min(yj) (11)
步骤4,比较Hj和Vj的大小,如果Hj比Vj大50,则为横向裂缝,选择长为31,宽为5的模板;如果Hj比Vj小50,则为纵向裂缝,选择长为5,宽为31的模板;否则,选择模板的长和宽都为31的模板;
步骤5,从边缘的起始端点开始用选择的搜索方式沿边缘方向逐个像素进行搜索,并记录包含的八连通区域的个数直到搜索到边缘的结束端点为止,如果中值大于1的个数大于50,则表明该边缘为裂缝,否则,该条边缘为裂缝;
步骤6,裂缝图像的长和宽分别为l和w,裂缝边缘的端点坐标为Pd(xd,yd),如果xd和yd满足式(12),且存在另外的端点Pd2与该端点Pd1满足式(13),则表明这两个端点为断开位置,式(13)中d()表示两点的欧式距离,d0为所设阈值;
Pd1={Pd(xd,yd)|0<xd<l&&0<yd<w} (12)
Pd2={Pk|min{d(Pd1,Pk)}<d0|Pk∈Pd}} (13)
步骤7,根据断开点坐标,分别在水平和垂直方向上搜索另外一条边缘上面与断开点对应的点和然后分别计算相对应两点之间的距离d1和d2,如果d1等于d2,则以边缘为准线在断开点的垂直或水平方向以距离d将断开部分补全;如果d1不等于d2,则先用前面提到的平移的方法连接,然后用直线连接余下断开部分,最后得到完整裂缝边缘E,其中d1和d2的计算方法如式(14),
上述在裂缝分割中,除使用支持向量机模型外,还有人工神经网络模型,决策树模型,同样可以实现所提的过渡区提取。
本发明取得了以下的技术效果:
本发明所述的基于模板搜索的水工混凝结构土水下表面裂缝检测方法,能实现对对比度低、连续性差的裂缝的有效提取。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明所述的基于模板搜索的水工混凝结构土水下表面裂缝检测方法的技术路线图;
图2是本发明所述的方法的裂缝增强步骤的技术路线图;
图3是本发明所述的方法的裂缝分割步骤的技术路线图;
图4是本发明所述的方法的裂缝提取步骤技术路线图;
图5是模板搜索示意图;
图6是裂缝连接示意图。
具体实施方式
本发明提供了一种基于模板搜索的水工混凝土裂缝结构水下表面裂缝检测方法,其包括一下三个步骤:
(1)裂缝增强:运用改进的Butterworth同态滤波器对对比度低的水下裂缝图像进行有效增强。由于水体本身性质和其中的微粒物的存在,同时水下成像过程中水体对光的散射和吸收效应带来的非线性影响,使得水下裂缝图像具有光照不均匀和对比度低等缺陷,传统的图像增强算法处理效果不佳,而本发明首先利用去图像背景的方法是照明均匀化,然后利用改进的Butterworth同态滤波器对裂缝图像进行有效的增强。
(2)裂缝分割:运用基于支持向量机(SVM)的过渡区提取与形态学相结合的方法实现对裂缝的准确分割。由于水下环境与混凝土材料的特殊性,不可避免的会产生很多干扰(自阴影、假纹理、假轮廓等),给裂缝分割带来了很大的困难,传统的分割方法无法达到理想的效果,而本发明利用裂缝图像过渡区的特点,首先提取裂缝过渡区,然后将过渡区像素的灰度均值作为最优分割阈值,完成对水下裂缝图像的分割。
(3)裂缝提取:运用基于模板搜索的方法,实现对连续性差的裂缝的有效检测。分割后的裂缝图像存在其它的干扰,以及连续性差的特点,本发明根据裂缝边缘相互匹配的特点,运用模板搜索来检测真实的裂缝,并且对裂缝断开部分进行连接,最终得到准确、完整的裂缝。
如图1所示,本发明所述的基于模板搜索的水工混凝土裂缝结构水下表面裂缝检测方法的实施流程图:
(1)裂缝增强
对水下图像进行增强处理,首先对水下裂缝图像分块进行局部背景估计,利用去图像背景的方法是照明均匀化;然后利用改进的Butterworth同态滤波在保留图像原貌和细节时对裂缝进行有效增强。其技术路线如图2所示。
裂缝增强的步骤包括:
1)对原始水下裂缝图像I进行分块,每一块的大小相等,总共分为64块;
2)对每一块采用均值进行背景估计,得到背景估计图像I',利用原图减去背景估计图像,得到所需要的图像I1,然后将I1的整体亮度提高,最终得到光照均匀的水下裂缝图像I′1;
3)利用式(1)和式(2)所示的改进Butterworth同态滤波器对图像I′1进行滤波处理,得到增强后的水下裂缝图像。
H(u,v)'=H(u,v)×eiθ (2)
式(1)中Rh代表高频增益,Rl代表低频增益,k为常数,用来控制滤波器斜面的锐化,且k∈(Rl,Rh),D(u,v)=[(u-u0)2+(v-v0)2]1/2表示频率(u,v)到滤波中心(u0,v0)的距离,D0为截至频率;式(2)中,θ=arctan(Im(u,v)/Re(u,v)),Im(u,v)和Re(u,v)分别为图像经过傅立叶变换后的实部和虚部。
(2)裂缝分割
对增强后的水下裂缝图像进行分割,首先建立支持向量机(SVM)模型提取裂缝过渡区;然后将过渡区像素的灰度均值作为最优分割阈值,完成对水下裂缝图像的分割。其技术路线图如图3所示。
裂缝分割的步骤包括:
1)从采集的图像库中选取一幅训练用水下裂缝图像,用人工干预的方法的到过渡区;
2)构造过渡区的特征矢量TRk,该矢量由局部复杂度LCk,局部差异度LVk和领域一致性Rk这三个特征分量组成,即TRk={LCk,LVk,Rk}。LCk、LVk和Rk的计算方法分别如下:
(a)局部复杂度:统计图像局部领域窗口内的灰度级数目,另S为像素空间坐标的整数集合,Ωk为图像中以k为中心的领域,其大小为Mk×Nk,具有256个灰度级,则该领域的局部复杂度LCk为:
其中:
式中h(l)为图像的直方图函数;f(i,j)为I的灰度分布函数;l∈{0,1,2,…,255}为灰度等级;δ(·)为冲击函数。
(b)局部差异度:统计图像局部领域窗口内像素灰度值的方差,定义为公式(6)。
其中fk(i,j)是领域Ωk内坐标位于(i,j)处像素的灰度值,为领域Ωk内像素灰度值的均值。
(c)领域一致性:是用来描述边缘特性的一种信息测度,设领域Ωk的中心点为(ik,jk),过该点,以方向θ将该领域分成两个区域,θ按0°,45°,90°,135°进行步进,则该点处的领域一致性可定义为:
其中n为步进序号,对于第n步,Ωk被分为和两个区域,为中全部像素点的灰度值之和,为中全部像素点的灰度值之和。
3)用支持向量机对特征矢量数据集TRk训练与分类,提取过渡区,支持向量机模型的核函数为高斯核函数,惩罚因子C等于10,σ取1×10-7到3×10-7之间;
4)计算提取的过渡区像素的灰度均值,作为分割阈值T;
5)根据分割阈值T分割水下裂缝图像。
(3)裂缝提取
从分割后的裂缝图像中提取裂缝,首先进行初步判别,去除杂点和容易区分的非裂缝;然后利用模板搜索算法进一步检测;最后连接裂缝断开的部分,优化检测结果。其技术路线图如图4所示。
裂缝提取的步骤包括:
步骤1,运用二值图像的八领域标记算法对边缘检测后的裂缝图像I中的边缘进行标记,得到标记后的边缘Ei(i=1,2...,N,N为边缘的个数);
步骤2,根据式(8)和式(9)分别计算每个边缘的长度Li和曲率Ci,如果Li大于L且Ci大于C(L取15,C取0.1),则认为该条边缘为裂缝,否则为杂点或干扰,并将其去除,从而得到剩下的边缘Ej(j为初步判别后剩下的边缘的标记号)。
式(8)中,Ei(p)为边缘Ei中第p个像素点的灰度值,ni为边缘Ei所包含的总像素数,式(9)中,表示边缘方向有显著变化的像素的数目;
步骤3,根据公式(10)计算所有边缘在垂直方向上的投影长度Vj,根据公式(11)计算所有边缘在水平上的投影长度Hj,式中max()表示边缘Ej中所有像素点所在行或列的最大值,min()表示边缘Ej中所用像素点所在行或列的最小值;
Vj=max(xj)-min(xj) (10)
Hj=max(yj)-min(yj) (11)
步骤4,比较Hj和Vj的大小,如果Hj比Vj大50,则为横向裂缝,采用如图5(a)所示的模板,模板的长为31,宽为5;如果Hj比Vj小50,则为纵向裂缝,采用如图5(b)所示的模板,模板的长为5,宽为31;否则将两种模板相结合,模板的长为31,宽为31;
步骤5,从边缘的起始端点开始用选择的搜索方式沿边缘方向逐个像素进行搜索,并记录包含的八连通区域的个数直到搜索到边缘的结束端点为止,如果中值大于1的个数大于50,则表明该边缘为裂缝,否则,该条边缘为裂缝;
步骤6,裂缝图像的长和宽分别为l和w,裂缝边缘的端点坐标为Pd(xd,yd),如果xd和yd满足式(12),且存在另外的端点Pd2与该端点Pd1满足式(13),则表明这两个端点为断开位置,式(13)中d()表示两点的欧式距离,d0为所设阈值;
Pd1={Pd(xd,yd)|0<xd<l&&0<yd<w} (12)
Pd2={Pk|min{d(Pd1,Pk)}<d0|Pk∈Pd}} (13)
步骤7,如图6所示,根据断开点坐标,分别在水平和垂直方向上搜索另外一条边缘上面与断开点对应的点和然后分别计算相对应两点之间的距离d1和d2。如果d1等于d2,则以边缘为准线在断开点的垂直或水平方向以距离d将断开部分补全;如果d1不等于d2,则先用前面提到的平移的方法连接,然后用直线连接余下断开部分,最后得到完整裂缝边缘E,其中d1和d2的计算方法如式(14)。
在裂缝分割中,除使用支持向量机模型外,还有人工神经网络模型,决策树模型等其他模式识别的模型,同样可以实现所提的过渡区提取。