一种混凝土桥梁裂缝的自动检测方法和预测方法
技术领域
本文发明属于计算机视觉、机器学习和数字图像处理技术领域,具体涉及一种混凝土桥梁裂缝的自动检测方法和预测方法。
背景技术
数字图像处理进行裂缝检测大多采用边缘检测、形态学或者阈值化等方法,且针对的是高对比度的裂缝图像,但是这些方法对噪声、油渍、水渍等干扰物敏感,鲁棒性不强,并且需要人为设置和调整参数,更重要的是,现实中的裂缝图像对比度比较低,甚至于裂缝很细小,根本检测不到。
机器学习不需要人为设置和调整参数,具有自适应性,已经成功运用到图像识别和分类中。机器学习的关键在于构建合适的算法来提取具有代表性的特征。例如,神经网络被用来决定裂缝方向时,提取特征运用的是标准图像二值化方法;支持向量机、最邻近算法和神经网络被用来分类时,提取的特征运用的是统计学原理和数字图像处理方法。
但这些机器学习方法有一个共同的缺点:依赖于裂缝分割。一旦裂缝分割失败,提取的特征就是错误的,随之,后续的一系列处理也就没有了意义。
整体来说,现有技术中,对于混凝土桥梁裂缝检测的研究是在不断进步的,但是结合计算机视觉、机器学习和数字图像处理相关技术的混凝土桥梁裂缝检测研究还是比较少的。
2014年,周传林在《筑路机械与施工机械》第2期中,发表了《图像处理技术在混凝土桥梁裂缝检测中的应用研究》,重点研究了灰度化、图形增强、空间滤波以及灰度阈值等裂缝图像处理技术。2015年,李文波和杨保春在《湖南交通科技》第41卷第1期中,发表了《基于图像处理技术的混凝土桥梁裂缝宽度检测》,主要研究了canny算法来提取裂缝轮廓。以上基于图像处理的桥梁裂缝检测算法之所以取得了良好的实验效果,是因为采集图像的对比度很高,噪声很低,且场景比较简单,不存在油渍、水渍等障碍物;如果采集的图像受各种因素的干扰,则很难检测到对比度比较低的以及细小的裂缝。
2016年,陈瑶、梅涛和王晓杰等人在《中国科学技术大学学报》第46卷第9期中,发表了《基于爬壁机器人的桥梁裂缝图像检测与分类方法》,该文献运用图像处理方法对获取的图片进行预处理,然后运用小波变换对图像中的裂缝目标进行增强,再用二值图像形态学分析提取裂缝目标,最后用支持向量机方法对裂缝进行分类。虽然该文献对机器视觉和机器学习等领域进行了探索,但是研究的不够深入,仅仅涉及到机器视觉中的非接触采集图像和机器学习中的支持向量机算法,更不能对桥梁的裂缝进行预测。
发明内容
为了解决现有技术中存在的数字图像处理对于裂缝图像对比度比较低,甚至于裂缝很细小,根本检测不到的问题;机器学习依赖于裂缝分割,一旦裂缝分割失败,提取的特征就是错误的;以及都不能对桥梁裂缝进行预测的问题,本发明创造性地结合了数字图像处理、机器学习和计算机视觉的相关经典算法,开发出了一个实用的混凝土裂缝自动检测和预测方法。本发明通过以下技术方案实现:
一种混凝土桥梁裂缝的自动检测方法,包括以下步骤:
S1、采集桥梁路面数据集:采集桥梁路面状况视频,再将视频序列转变为图像序列,得到原始图像;
S2、用鲁棒的线段探测器定位裂缝所占区域:将S1采集到的所有原始图像裁剪成像素为15*15的图像块,运用鲁棒的线段探测器在每个图像块中拟合一条线段,通过图像块中是否存在拟合出来的线段,来定位裂缝所占区域;
S3、提取裂缝灰度空间多尺度特征,组成灰度空间多尺度特征组:根据定位到的裂缝所占区域,提取裂缝所占区域的灰度空间多尺度特征,包括基于灰度的特征、基于梯度的特征和多尺度空间特征;将提取的灰度空间多尺度特征组合在一起,形成灰度空间多尺度特征组;
S4、用机器学习分类器确定裂缝:将S3组合成的灰度空间多尺度特征组输入至机器学习分类器中,机器学习分类器就根据输入的特征,利用概率进行计算,概率最大的那些地方就认为是裂缝。
进一步地,所述步骤S2中鲁棒的线段探测器采用的是随机抽样一致算法,具体计算如下:
1)、考虑一个最小抽样集的势为n的模型(n为初始化模型参数所需的最小样本数)和一个样本集P,集合P的样本数#(P)>n,从P中随机抽取n个样本,构成P的子集S,用来初始化模型M;
2)、余集SC=P/S中与模型M的误差小于某一设定阈值t的样本集合和集合S构成集合S*。S*是内点集,他们构成S的一致集;
3)、若#(S*)≥N,人为得到正确的模型参数,并利用集S*,采用最小二乘等方法重新计算新的模型M*。重新随机抽取新的S,重复以上过程;
4)、在完成一定的抽样次数后,若未找到一致集,则算法失败,否则选取抽样后得到的最大一致集判断内外点,算法结束。
进一步地,所述步骤S3中基于灰度的特征、基于梯度的特征包括灰度均值、灰度标准差、梯度均值、梯度标准差、拟合直线的灰度均值与对应区域灰度均值的比值;多尺度空间特征包括前三个尺度空间的拉普拉斯金字塔最大值、前三个尺度空间的拉普拉斯金字塔最小值、拉普拉斯金字塔的第一个尺度的均值、拉普拉斯金字塔的第二个尺度的均值和拉普拉斯金字塔的第三个尺度的均值。
进一步地,所述前三个尺度空间的拉普拉斯金字塔最大值、前三个尺度空间的拉普拉斯金字塔最小值、拉普拉斯金字塔的第一个尺度的均值、拉普拉斯金字塔的第二个尺度的均值和拉普拉斯金字塔的第三个尺度的均值的提取方法为:
设原始图像为G0,以G0作为高斯金字塔的第0层,对原始图像进行高斯低通滤波和隔行隔列的降采样,得到高斯金字塔的第1层;再对第1层图像进行高斯低通滤波和降采样,得到高斯金字塔的第2层;重复以上过程,构成高斯金字塔。假设高斯金字塔的第l层图像为Gl,则有:
式中,N为高斯金字塔顶层的层号;Rl和Cl分别为高斯金字塔第l层的行数和列数;是一个二维可分离的5*5窗口函数,表达式为:
将Gl进行内插得到放大图像使的尺寸与Gl-1的尺寸相同,表示为
其中,
令
式中,N为拉普拉斯金字塔顶层的层号,LPl是拉普拉斯金字塔分解的第l层图像;由LP0,LP1,...,LP,...,LPN构成的金字塔即为拉普拉斯金字塔,本发明中N=3;那么,
前三个尺度空间的拉普拉斯金字塔最大值(Lmax)
前三个尺度空间的拉普拉斯金字塔最小值(Lmin)
拉普拉斯金字塔的第一个尺度的均值(uL1)
拉普拉斯金字塔的第二个尺度的均值(uL2)
拉普拉斯金字塔的第三个尺度的均值(uL3)
其中,Ri,Ci,(1≤i≤3)表示拉普拉斯金字塔第i层的行数和列数。
进一步地,所述灰度均值、灰度标准差、梯度均值、梯度标准差、拟合直线的灰度均值与对应区域灰度均值的比值特征提取的方法为:
将原始图像G0切分成像素为15*15的图像块Fk(m,n),其中k表示第k个图像块,1≤m,n≤15,这些图像块经过鲁棒的线段探测器处理后得到两种结果,一种是存在裂缝的图像块FiCrack(m,n),共块,另一种是没有裂缝的图像块FjnoCrack(m,n),设拟合得到的直线为
灰度均值(ui)
灰度标准差(σi)
梯度均值(ug)
梯度ΔF是一个矢量,它具有方向θ和模|ΔF|。
θ=arctan(FiCracky/FiCrackx)
梯度标准差(σg)
拟合直线的灰度均值和对应区域灰度均值的比值(ri)
进一步地,所述灰度空间多尺度特征组为U=[ui;σi;ug;σg;ri;Lmax;Lmin;uL1;uL2;uL3]。
进一步地,所述步骤S3中基于灰度的特征使用的像素全部是鲁棒的线段探测器中拟合的线段中的像素。
进一步地,所述步骤S4中机器学习分类器选用的是随机森林学习分类器。
一种混凝土桥梁裂缝的预测方法,在上述自动检测方法的基础上,在步骤S4得到确认为裂缝的每幅图像后,将所有图像拼接在一起形成全景图像,结合计算机视觉中的全景图像拼接算法,构造裂缝密度地图;然后每隔512像素,将全景图像分割成小块,计算每一块中,裂缝的总像素和图像块的总像素的比率,比率超过设定的阈值,则视为严重受损,则将来可能发生断裂,从而完成预测。
进一步地,所述全景图像拼接算法具体为:
在计算机视觉领域中,空间中的同一平面中的任意两个图像坐标P0和P1通过一个3*3的单应性矩阵H,见(17)式,连接起来;单应性矩阵可以将当前图像中的一些点映射到目标图像中,第j幅图像中的第i个关键点映射到目标图像中,可以表示成(18)式,其中Pj,i表示第j幅图像的第i个关键点,0Hj表示第j幅图像和目标图像的单应性矩阵,见(19)式:
P0=HP1 (17)
0Pj,i=0Hj×jPj,i (18)
0Hj=0H1×1H2×…×j-1Hj (19)
把多幅图像拼接在一起,必然产生累计误差,避免这一错误的最好方法是捆绑调整,捆绑调整是一个计算全部的单应性矩阵和图像的全局优化问题;目标函数包括两个部分:一是二次映射错误Er,见(20)式,其中,M表示图像的个数,Nj表示第j幅图像的关键点个数;二是匹配失真错误Ed,见(21)式,那么目标函数就是(22)式,其中α是常数。
Ed=||H[1,0,0]T-[1,0,0]T||2+||H[0,1,0]T-[0,1,0]T||2 (21)
Et=Er+αEd (22)
与现有技术相比,本发明的有益效果:
本发明结合了数字图像处理、机器学习和计算机视觉的相关经典算法,开发出了一个实用的混凝土裂缝自动检测和预测方法,尤其创造出的灰度空间多尺度特征组,该特征组大大提高了分类的准确率,使本发明即使是在路面状况十分复杂的情况下,十分细小的裂缝都可以检测出来,解决了现有技术中存在的数字图像处理对于裂缝图像对比度比较低,甚至于裂缝很细小,根本检测不到的问题;机器学习依赖于裂缝分割,一旦裂缝分割失败,提取的特征就是错误的;以及都不能对桥梁裂缝进行预测的问题。
另外根据检测出的裂缝的区域,结合计算机视觉的图像拼接技术,构建裂缝密度地图,通过裂缝密度地图,结合先验知识,可以得到裂缝比较严重的区域,该区域预示着桥梁可能发生断裂或者发生危险事故,从而完成预测。
附图说明
图1是本发明混凝土桥梁裂缝自动检测方法和预测方法的流程图;
图2是本发明采集桥梁路面的原始图像;
图3是本发明对采集的桥梁裂缝拟合的结果图;
图4是本发明经拉普拉斯变换前的原始图像;
图5是本发明拉普拉斯第二个尺度空间图;
图6是本发明灰度图像的线段拟合图与拉普拉斯图像的线段拟合图的对比图;
图7是本发明机器学习分类器实验选取的原始图像;
图8是本发明机器学习分类器实验选取的原始图像对应的裂缝检测结果;
图9是本发明拼接成的原始桥梁路面地图;
图10是本发明构建的裂缝密度地图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例1:
如图1所示的混凝土桥梁裂缝的自动检测方法,包括以下步骤:
S1、采集桥梁路面数据集:用摄像机采集两座桥梁的路面状况的视频,注意摄像机要与路面平行且尽量匀速前进;然后,使用OpenCV将视频序列转变为图像序列;部分原始图像见图2。
S2、用鲁棒的线段探测器定位裂缝所占区域:因为采集到的大部分混凝土桥梁路面图像是不存在裂缝的,即使存在裂缝,裂缝所占的比重也十分小。针对此现象,先拟合一条直线,这条直线代表的就是裂缝。那么,不存在直线的图像,就是没有裂缝的图像,根据此原理,可以将裂缝图像和非裂缝图像区分出来。又因为路面状况的复杂性,所以这个拟合直线的算法必须是鲁棒的。所以,采用随机抽样一致算法来定位潜在裂缝区域,即将S1采集到的所有原始图像裁剪成像素为15*15的图像块,运用鲁棒的线段探测器在每个图像块中拟合一条线段,通过图像块中是否存在拟合出来的线段,来定位裂缝所占区域;结果见图3,其中1表示的是裂缝存在的地方,2表示拟合的线段。
随机抽样一致算法即使在噪声和干扰物存在的情况下,也是十分健壮的,随机抽样一致算法的基本思想如下:
1)、考虑一个最小抽样集的势为n的模型(n为初始化模型参数所需的最小样本数)和一个样本集P,集合P的样本数#(P)>n,从P中随机抽取n个样本,构成P的子集S,用来初始化模型M;
2)、余集SC=P/S中与模型M的误差小于某一设定阈值t的样本集合和集合S构成集合S*。S*是内点集,他们构成S的一致集;
3)、若#(S*)≥N,人为得到正确的模型参数,并利用集S*,采用最小二乘等方法重新计算新的模型M*。重新随机抽取新的S,重复以上过程;
4)、在完成一定的抽样次数后,若未找到一致集,则算法失败,否则选取抽样后得到的最大一致集判断内外点,算法结束。
S3、提取裂缝灰度空间多尺度特征,组成灰度空间多尺度特征组:线段拟合成功之后,线段所在的图像块就是潜在裂缝区域,根据定位到的裂缝所占区域,利用拉普拉斯变换计算出多尺度空间特征,包括基于灰度的特征、基于梯度的特征和多尺度空间特征;将提取的灰度空间多尺度特征组合在一起,形成灰度空间多尺度特征组;
特别说明,在拉普拉斯的某一个尺度内,裂缝是相当明显的,这对于低对比度图像的裂缝检测十分有效。图4为原始图像,图5为原始图像经过拉普拉斯变换的第二个尺度的图像。图6是灰度图像的线段拟合图与拉普拉斯图像的线段拟合图的对比,第一行表示在原灰度图上拟合线段,第二行表示在拉普拉斯变换图的某一个尺度空间上拟合线段,由此看出,拉普拉斯变换的某一个尺度空间的拟合效果更好。
多尺度空间特征包括前三个尺度空间的拉普拉斯金字塔最大值、前三个尺度空间的拉普拉斯金字塔最小值、拉普拉斯金字塔的第一个尺度的均值、拉普拉斯金字塔的第二个尺度的均值和拉普拉斯金字塔的第三个尺度的均值;具体提取过程为:
设原始图像为G0,以G0作为高斯金字塔的第0层,对原始图像进行高斯低通滤波和隔行隔列的降采样,得到高斯金字塔的第1层;再对第1层图像进行高斯低通滤波和降采样,得到高斯金字塔的第2层;重复以上过程,构成高斯金字塔。假设高斯金字塔的第l层图像为Gl,则有:
式中,N为高斯金字塔顶层的层号;Rl和Cl分别为高斯金字塔第l层的行数和列数;是一个二维可分离的5*5窗口函数,表达式为:
将Gl进行内插得到放大图像使的尺寸与Gl-1的尺寸相同,表示为
其中,
令
式中,N为拉普拉斯金字塔顶层的层号,LPl是拉普拉斯金字塔分解的第l层图像;由LP0,LP1,...,LP,...,LPN构成的金字塔即为拉普拉斯金字塔,本发明中N=3;那么,
前三个尺度空间的拉普拉斯金字塔最大值(Lmax)
前三个尺度空间的拉普拉斯金字塔最小值(Lmin)
拉普拉斯金字塔的第一个尺度的均值(uL1)
拉普拉斯金字塔的第二个尺度的均值(uL2)
拉普拉斯金字塔的第三个尺度的均值(uL3)
其中,Ri,Ci,(1≤i≤3)表示拉普拉斯金字塔第i层的行数和列数。
基于灰度的特征、基于梯度的特征包括灰度均值、灰度标准差、梯度均值、梯度标准差、拟合直线的灰度均值与对应区域灰度均值的比值;具体提取过程为:
将原始图像G0切分成像素为15*15的图像块Fk(m,n),其中k表示第k个图像块,1≤m,n≤15,这些图像块经过鲁棒的线段探测器处理后得到两种结果,一种是存在裂缝的图像块FiCrack(m,n),共块,另一种是没有裂缝的图像块FjnoCrack(m,n),设拟合得到的直线为
灰度均值(ui)
灰度标准差(σi)
梯度均值(ug)
梯度ΔF是一个矢量,它具有方向θ和模|ΔF|;
θ=arctan(FiCracky/FiCrackx)
梯度标准差(σg)
拟合直线的灰度均值和对应区域灰度均值的比值(ri)
将提取得到的10个特征组合在一起形成灰度空间多尺度特征组U=[ui;σi;ug;σg;ri;Lmax;Lmin;uL1;uL2;uL3]。
S4、用机器学习分类器确定裂缝:将S3组合成的灰度空间多尺度特征组输入至机器学习分类器中,机器学习分类器就根据输入的特征,利用概率进行计算,概率最大的那些地方就认为是裂缝。
机器学习分类器的选择实验:
同一座桥梁的一部分图像作为训练集,另一部分作为测试集,使用三种机器学习分类器,支持向量机、自适应增强和随机森林,分别对输入特征进行分类实验。输入特征选取的是上述十个特征的组合,实验结果如表1所示。
表1同一座桥梁不同分类器的分类效果
由表1可以得出结论,本发明提出的灰度空间多尺度特征组是十分有效的,不同分类器的分类准确率都在90%以上。
另外,同时进行了灰度空间多尺度特征组的迁移学习能力实验。
以一座桥梁的图像作为训练集,另一座桥梁的图像作为测试集,使用三种不同的分类器的分类准确率见表2。
表2不同座桥梁不同分类器的分类效果
由表2可以看出,本发明提出的灰度空间多尺度特征组是不错的迁移学习能力的。图7是原始图像,图8表示的对应的的裂缝检测结果。由图8可以看出,检测效果良好,即使是在路面状况十分复杂的情况下,十分细小的裂缝都可以检测出来。
实施例2:
本发明还提出了一种混凝土桥梁裂缝的预测方法,在实施例1的基础上,在步骤S4得到确认为裂缝的每幅图像后,根据计算机视觉的图像拼接的相关知识,将所有图像拼接在一起形成全景图像,结合计算机视觉中的全景图像拼接算法,构造裂缝密度地图;然后每隔512像素,将全景图像分割成小块,计算每一块中,裂缝的总像素和图像块的总像素的比率,比率超过设定的阈值,则视为严重受损,则将来可能发生断裂,从而完成预测。
其中,全景图像拼接算法具体为:
在计算机视觉领域中,空间中的同一平面中的任意两个图像坐标P0和P1通过一个3*3的单应性矩阵H,见(17)式,连接起来;单应性矩阵可以将当前图像中的一些点映射到目标图像中,第j幅图像中的第i个关键点映射到目标图像中,可以表示成(18)式,其中Pj,i表示第j幅图像的第i个关键点,0Hj表示第j幅图像和目标图像的单应性矩阵,见(19)式:
P0=HP1 (17)
0Pj,i=0Hj×jPj,i (18)
0Hj=0H1×1H2×…×j-1Hj (19)
把多幅图像拼接在一起,必然产生累计误差,避免这一错误的最好方法是捆绑调整,捆绑调整是一个计算全部的单应性矩阵和图像的全局优化问题;目标函数包括两个部分:一是二次映射错误Er,见(20)式,其中,M表示图像的个数,Nj表示第j幅图像的关键点个数;二是匹配失真错误Ed,见(21)式,那么目标函数就是(22)式,其中α是常数。
Ed=||H[1,0,0]T-[1,0,0]T||2+||H[0,1,0]T-[0,1,0]T||2 (21)
Et=Er+αEd (22)
图9展示的是拼接成的原始桥梁路面地图,图9展示的是最终的裂缝密度地图。由图9和图10可以看出,拼接的效是十分良好的,且由图10可以直观看出裂缝的分布情况,从而得到裂缝比较严重的区域,该区域预示着桥梁可能发生断裂或者发生危险事故。
本发明方法的原理思想是:因为采集到的大部分混凝土桥梁路面图像是不存在裂缝的,即使存在裂缝,裂缝所占的比重也十分小,如果能直接定位到裂缝所在区域,那么能减少很多不必要的计算,从而加速特征学习。又因为路面状况的复杂性,所以要求这个定位裂缝所在区域的算法是鲁棒的。那么,鲁棒的线段探测器目的在于减少冗余计算,加速特征学习,减少算法复杂度。鲁棒的线段探测器的探测结果就是拟合了一条线段,这条线段代表的是裂缝,线段所在区域就是裂缝所占区域。定位到裂缝所在区域之后,就可以提取裂缝所占区域的灰度空间多尺度特征,这些特征可以很好的区分裂缝区域和非裂缝区域,然后将这些特征通过机器学习分类器进行二分类,最后将所有的这些标识裂缝的图像拼接在一起,形成裂缝密度地图,确定裂缝并完成预测。
本发明结合了数字图像处理、机器学习和计算机视觉的相关经典算法,开发出了一个实用的混凝土裂缝自动检测和预测方法,尤其创造出的灰度空间多尺度特征组,该特征组大大提高了分类的准确率,使本发明即使是在路面状况十分复杂的情况下,十分细小的裂缝都可以检测出来,解决了现有技术中存在的数字图像处理对于裂缝图像对比度比较低,甚至于裂缝很细小,根本检测不到的问题;机器学习依赖于裂缝分割,一旦裂缝分割失败,提取的特征就是错误的;以及都不能对桥梁裂缝进行预测的问题;另外根据检测出的裂缝的区域,结合计算机视觉的图像拼接技术,构建裂缝密度地图,通过裂缝密度地图,结合先验知识,可以得到裂缝比较严重的区域,该区域预示着桥梁可能发生断裂或者发生危险事故,从而完成预测。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。