结构裂缝自动化描绘及宽度精准测量方法与设备与流程

文档序号:15096646发布日期:2018-08-04 14:44阅读:457来源:国知局

本发明涉及结构检测与评估领域,特别是涉及一种基于数字图像处理的结构表面裂缝的检测方法与设备。



背景技术:

在土木工程结构领域,新材料、新结构的承载能力测试是最广为应用的一种实验方法。在结构承载能力测试中,除测量结构应变、变形等结构响应指标外,结构的裂缝发展是测量的一项重要内容,它和结构的承载能力之间具有明确的对应关系,而现阶段裂缝观测主要依靠人工来完成,需要在中断实验的情况下人工手动的去描绘裂缝、人为的使用裂缝测宽仪贴在结构表面读取裂缝宽度。另外,不管是结构定期检查、荷载试验还是实验室实验,裂缝状况都是主要指标之一,而依靠人工去勾画裂缝、人工的使用裂缝测宽仪读取裂缝宽度,不仅效率低下、费时费力影响实验进度,而且检测结果因人而异、误差较大。

近几年,基于数字图像处理的混凝土裂缝检测技术由于能够克服传统人工检测费时费力和检测精度不足的有点成为国内外裂缝检测技术的研究热点。常用的基于图像的裂缝识别方法有边缘检测、阈值分割等。例如,公开号CN 106651872A的专利文献,公开了基于Prewitt算子的路面裂缝识别方法及系统,以及公开号CN105719283的专利文献公开的一种基于Hessian矩阵多尺度滤波的路面裂缝图像检测方法,都是基于传统的图像处理算法进行的,而裂缝的背景和本身的特征具有相当程度的多变性和复杂性,传统算法识别出的特征很难判断是否为裂缝,并且传统算法往往需要较多的人为干预,自动化程度低。

自2006年,Hinton在《科学》上发表了一篇文章,掀起了深度学习的热潮,深度学习在图像识别方面取得了惊人的成功,深度学习也开始被应用到基于图像处理的裂缝识别中。在国外,Cha,Young-Jin等人已经将深度学习应用到基于图像处理的裂缝识别中,在国内,公开号为CN106910186A的专利文献,公开了一种基于CNN深度学习的桥梁裂缝检测定位方法,其缺点是采用的CNN模板只有16像素大小,难以满足图像中不同宽度裂缝的检测,并且没有能够输出精确到像素的裂缝二值化图像。公开号为CN107133960A的专利文献,公开了一种基于深度卷积神经网络的图像裂缝分割方法,利用卷积网络得到的特征图作为输入从而实现裂缝区域分割,其缺点像素块的大小会限制感知区域的大小,通常像素块的大小比整个图像大小要小很多,只能提取一些局部的特征,从而导致分类的性能受到限制,识别结果对图像中的细节敏感性差、检测裂缝边缘模糊难以满足精度要求,该方法在工程中实际应用还有一定难度。

同时,传统基于数字图像处理的裂缝宽度测量方法也存在较大的局限性,均是以两像素点之间距离来计算裂缝宽度。例如公开号为CN106018411A的专利文献,公开了一种裂缝宽度的测量方法及测量装置,利用图像中激光器射出光斑的大小来计算图像的解析度,利用两个像素点之间的距离乘以解析度得到裂缝宽度。公开号CN104089580A的专利文献,公开了一种基于智能手机实现的混凝土表面裂缝宽度测量仪及方法,利用人工标记的方法计算像素的解析度,利用两条边缘之间“数像素”得到的距离均值乘以解析度作为裂缝宽度。以往的“数像素”类型的裂缝宽度测量方法对于图像中较宽的裂缝往往是适用的,能够达到较好的效果,但是对于图像中的细微裂缝(小于5像素),识别的误差较大、难以满足测量精度要求。

总的来说,裂缝状况是结构定期检测、实验室实验等项目的重要检测指标,人工勾画裂缝的方法费时费力,并且测量裂缝宽度的误差较大。而基于图像处理的裂缝检测方面仍存在较大缺陷,具体为:(1)传统的基于图像处理的裂缝自动化勾画技术往往需要过多的人为的干涉,自动化程度低且无法有效区分开裂缝和噪声干扰,已有的基于深度学习的图像裂缝识别技术,已经取得了一定的成果,但仍然无法满足精确的裂缝自动勾画要求;(2)对于图像中的细微裂缝计算宽度误差较大,只能依靠牺牲视场大小来满足测量精度要求。



技术实现要素:

本发明正是针对现有技术中存在的技术问题,公开了一种结构裂缝自动化描绘及宽度精准测量方法与设备,其目的在于实现结构裂缝快速自动化自动描绘及裂缝宽度精准测量,能够实现高精确率、高准确率、高召回率的自动勾画出图像中的裂缝,并且能够同时准确的测量出图像中宽裂缝和小于5像素细微裂缝的宽度。

为了实现上述目的,本发明整体思路如下:

一种结构裂缝自动化描绘方法,所述描绘方法包括以下步骤,1)基于多尺度的深度学习的裂缝检测方法,用多个尺度的深度学习检测出图像中的裂缝范围,保障后续工作不遗漏裂缝信息;2)基于深度学习、中值滤波及Hessian矩阵线性增强的“整体-局部协同分割”裂缝初步提取方法,保障提取出结果中同时完整的包含图像中的宽裂缝、细微裂缝信息,保障检测结果的高召回率;3)基于深度学习、图像分割、图像重构的裂缝精细化检测方法,能够有效的剔除结果中的噪声干扰,保障检测结果的高准确率、高精确率。

作为本发明的一种改进,所述步骤1)多尺度深度学习检测裂缝方法,具体如下:

混凝土裂缝形态复杂多变,单一尺度的深度学习往往不能满足图像中不同宽度的裂缝的检测,用单一尺度的深度学习检测结果上进行分析容易遗漏图像中的裂缝信息。采用从大到小多个尺度的深度学习模型,先用大尺度的深度学习模型对整个图像进行扫描检测,再大尺度(224*224*3)深度学习模型确定裂缝范围的基础上,用小尺度(32*32*3)的深度学习模型对每个大尺度深度模型检测到裂缝的窗口进行扫描检测。

作为本发明的一种改进,所述对于大尺度的深度学习模型检测,由于模型输入为224*224*3图像,图像大小不会正好是224的整数倍数,缩放图像会导致图像中信息的丢失,所以扫描检测时,采用从四个直角往中心扩散的方式,每层窗口x、y方向错开112像素,在图像对称的x轴和y轴上为中心上,加密一层扫描窗口,保证能够部分重叠的扫描到整个图像,输出包含裂缝的范围;对于检测到的每个224*224大小包含裂缝的窗口,采用32*32*3的小尺度的深度学习模型,移动扫描检测每个224*224图像,在x、y方向依次错开16像素。

作为本发明的一种改进,所述在多尺度深度学习检测裂缝缩小范围的基础上,直接进行阈值分割仍然会造成细微裂缝信息的丢失。在多个尺度深度学习检测裂缝范围的基础上,采用中值滤波图像相减、基于尺度为1的Hessian矩阵线性增强与Otsu阈值分割相结合的方法实现裂缝初步提取,提取出的信息能够同时完整的包含图像中的宽裂缝、细微裂缝信息。

所述步骤2)中的“整体-局部协同分割”裂缝初步提取方法,具体方法如下:

21)在每个检测到裂缝的224*224大小窗口内,将原图转化为灰度图,用大尺度的中值滤波处理图像,与原图像相减,得到新的图像,对新的图像进行Otsu自适应阈值分割得到裂缝二值化图像img1;

22)用小尺度的中值滤波处理图像,并与原图相减,而后用基于Hessian矩阵的图像增强方法增强图像中的线性部分,图像I(x)的各点处的Hessian矩阵为计算各点Hessian矩阵的特征值为λ1、λ2,从而计算定义R(x)=λ12(x)为增强后的图像,取α=0.25。并在小尺度深度学习模型检测到裂缝的每个32*32大小的窗口内对增强后的图像进行Otsu自适应阈值分割,取并集后得到裂缝二值化图像img2;

23)将二值化图像img1和二值化图像img2取并集操作,得到这一块224*224大小的输出裂缝二值化图像;

24)第一步中所有检测到的包含裂缝的224*224大小窗口输出二值化图像结果取并集操作,得到整个图像的初步提取裂缝结果。

作为本发明的一种改进,所述步骤3)基于深度学习、图像分割、图像重构的裂缝精细化检测方法具体如下:

初步提取的裂缝二值化图像中会包含很多的噪音信息,利用提出的基于单像素裂缝骨架的图像分割方法对初步提取的裂缝图像进行两个层次的分割,利用图像重构方法结合深度学习对分割出的裂缝进行单因素分析,判断是否为裂缝,最终实现裂缝的精细化提取;

基于单像素骨架的图像分割方法,分为两个层次:首先按照连通性将骨架分割开来,分别提取出对应每个独立的连通域的裂缝二值化图像的部分,再利用单像素裂缝骨架统计的端点、节点信息进一步分割每个剩余连通域为独立的部分;第一层次的分割利用初始裂缝二值化图像的连通性就可以实现,

第二层次的分割具体方法如下:

①骨架上的像素点在其8邻域的像素点只有一个在骨架上,测定义为端点,其8邻域上有超过3个像素点在骨架上,定义为节点,每个独立的连通域骨架基础上,利用单像素上的端点、节点信息将上一层次输出二值化图像再次分割为独立的部分,作为这一层次的输出,对独立连通域的分割方法,包含以下几个操作:

②利用8邻域规则识别骨架上的端点和节点,骨架上只有端点、没有节点的情况,分割终止,直接输出初始裂缝二值化图像中对应的区域;

③从利用端点和节点的信息,删除此连通域上的节点得到独立的各段骨架,计算各段骨架的长度,设置阈值T=32;

④由于裂缝上的其他干扰,往往是以骨架分支的形式出现,所以对于分割出的每段骨架中包含原来骨架中的一个端点的,不考虑骨架的长度是否低于阈值,以节点为中心、画半径为10像素的圆,找到与相同节点其他分支骨架的交点,利用节点上的各分支的角平分线及初始裂缝二值化图像的轮廓确定骨架的区域,利用区域生长算法填充,分割出独立的裂缝二值化区域;

⑤对于长度大于阈值T,并且两端均是原骨架上的节点,以节点为中心、画半径为10像素的圆,找到与相同节点其他分支骨架的交点,利用节点上的角平分线及原二值化图像的轮廓确定骨架的区域,利用区域生长算法填充,分割出独立的裂缝二值化区域;

⑥如果提取骨架的长度小于阈值,确定骨架的中心,直接用截取该段骨架中心周围长宽为T的初始裂缝二值化图像作为分割出的图像。

利用图像重构方法结合深度学习对分割出的裂缝进行单因素分析,针对每一个分割出独立区域的精细化裂缝检测,就需要构造新的精细化检测图像,使其中既能包含独立分割出的裂缝信息又能剔除其他的干扰信息。

作为本发明的一种改进,所述步骤3)中构造精细化检测图像具体方法如下:

①得到初始裂缝二值化图像后,在原图像中把初始裂缝二值化图像对应的区域剔除;

②用初始裂缝二值化图像每个连通域周围像素三通道(RGB)值的平均值填充图像的剔除区域,并用中值滤波消除边缘,构造新图像;

③对于两个层次的基于单像素骨架的裂缝二值化图像分割出的图像,提取出二值化连通域,计算连通域的外接矩形长度;

④利用原图像和新图像以及连通域的外接矩形范围构造精细化检测图像,即在每个独立的分割出裂缝二值化图像区域内采用原图像的值,在分割出裂缝二值化图像区域范围外采用新图像的值,就得到构造的检测图像,具体规则如下:对于外接矩形长度小于等于32,在围绕中心32*32范围内,利用原图和新图像构造检测图像,缩放到224*224大小;外接矩形大于32小于96,围绕中心外接矩形长度范围内,构造新图像,缩放到224*224大小;外接矩形长度大于96小于224的,直接利用新图像和原图围绕中心构造224*224大小图像;外接矩形长度大于224的,围绕中心以外接矩形向外扩展224像素的范围内,构造检测图像。

得到针对分割出裂缝的构造检测图像,再次用深度学习检测,实现对分割出裂缝的单因素分析,从而达到精细化提取的目的。对应基于单像素骨架分割方法的两个层次,构造的检测图像也分为两个层次。利用深度学习扫描检测构造的精细化检测图像,具体方法如下:

①对于两个层次构造的图像,图像尺寸小于等于224*224*3大小的,将图像放大到224*224*3大小,利用深度学习模型进行检测,直接判断是否包含裂缝。

②对于构造检测图像尺寸大于224*224*3大小的,提取对应的裂缝骨架,构造等间距为32像素的x、y方向的网格,按照骨架与棋盘的交点位置为中心,对新图像进行扫描检测,注意剔除掉部分交点,使得每个交点之间的距离大于16像素。对检测结果进行统计,对于第一层次的构造图像,统计检测结果中包含裂缝的比例大于0.2则认为包含裂缝。对于第二层次构造的图像,统计检测结果中包含裂缝的比例大于0.8,则认为包含裂缝。

经过多尺度深度学习检测裂缝范围、初始裂缝二值化图像提取、裂缝精细化检测三个步骤后,就可以得到高精度、高准确率、高召回率的裂缝二值化图像。

一种基于单像素裂缝骨架和Zernike张焦距的裂缝宽度的精准测量方法:

传统计算裂缝宽度的方法是计算两个像素点之间距离的“数像素”的方法,对于5个像素以下宽度的裂缝计算效果较差,本发明针对图像中小于5像素的裂缝,提出了基于单像素骨架和Zernike正交矩的裂缝宽度计算方法。

基于单像素骨架和Zernike正交矩的裂缝宽度计算方法,利用单像素骨架来确定图像的旋转角度,将该点处图像旋转、对称、镜像为两个关于y坐标轴对称的图像,利用正交矩模板分别计算两个对称图像的2阶正交矩A20、4阶正交矩A40,利用式分别计算两个对称图像的宽度,并进行两次误差修正后,取平均值,作为该点处的裂缝宽度(单位:pixel),结合像素的解析度(mm/piexl)得到该点处裂缝的最终宽度。值得注意的是,本发明提出方法实际上计算的是图像上某点出正交矩模板范围内裂缝的平均宽度。

1)提取计算宽度点周围单像素裂缝骨架,确定图像旋转角度,截取围绕计算宽度点13*13像素范围内的图像,进行预处理1:得到图像的灰度图(0-1),用13*13的元素全部为1的矩阵与灰度图相减,使图中裂缝像素灰度值高,背景像素灰度值低,记录最大的灰度值MAX;

2)根据骨架方向,对图像进行旋转以旋转后裂缝的累积像素值最高一列(即最亮一列)为中心列,分别进行镜像操作,即可得到两幅对称的图像,并对两幅图像进行竖向的平滑滤波;

3)检查镜像后的图像是否符合计算的要求(假设线宽为5,最亮的为第2列,镜像后,其中一个图像不符合计算条件,需要进一步处理)。取中心列模板范围内灰度平均值为L,两边依次标记为L1、L2、L3、L4,设置三个条件:|L4-L3|/|L-L4|>=0.3,|L2-L4|/|L-L4|>=0.8,|L4-L3|>0.1*|L-L4|。如果三个条件都满足,则删除中心列及左侧一列,并进行记录Mark=2,否则Mark=0,预处理2:找到图像中心7*7范围内灰度最小值MIN,图像灰度减去这个值来构造新的图像;

4)用现有的M20、M40正交矩模板代替公式计算对应的正交矩,从而计算图像裂缝宽度;第一次误差修正:设置条件:L*L2/L1/L1>0.7,不考虑第一次误差修正,否则按照m=L1/L的值对照图8插值计算原理误差修正值;第二次误差修正:用计算图像中心列模板范围内灰度平均值与原图像灰度最大值MAX减去记录的灰度最小值MIN的商作为修正系数,修正之后加上mark值作为镜像图像最终裂缝宽度;取两幅镜像图像经过误差修正后的计算宽度的平均值为最终裂缝宽度。

一种实验室混凝土试件裂缝自动描绘及宽度测量设备:包括图像标定模块,图像采集模块,图像处理系统,相机支架,其中,图像处理系统中内嵌裂缝自动勾画算法模块、裂缝特征分析算法模块、计算结果存储模块及无线传输模块;

结构裂缝自动化描绘及宽度精准测量设备,能够实现对结构表面裂缝的快速自动化勾画,并准确测量裂缝宽度。

所述图像标定模块用于矫正相机姿势以及计算图像的解析度,在混凝土试件表面粘贴数个人工打印的已知尺寸的棋盘格;所述图像获取模块由单反相机构成,主要用于获取混凝土试件的高分辨率图像,为下一步图像处理做准备;所述图像处理模块,内嵌裂缝自动勾画算法模块、裂缝特征分析算法模块、计算结果存储模块及无线传输模块,其中无线传输模块用于把检测结果及原图像无线传输到用户端。

其中,裂缝自动勾画算法模块中包含:基于多尺度深度学习的裂缝范围检测,基于深度学习、中值滤波及Hessian矩阵线性增强的裂缝初步提取,基于深度学习、图像分割、图像重构的裂缝精细化检测三部分模块,能够对采集图像进行快速、高精确率、高准确率、高召回率的自动勾画,同时勾画出图像中的宽裂缝、细微裂缝信息。

裂缝特征分析算法模块用于计算裂缝宽度,包含本发明提出的基于单像素骨架和Zernike正交矩的裂缝宽度计算方法,对于图像中小于5像素的细微裂缝也能够达到较高的计算精度,计算精度明显优于传统算法。

相对于现有技术,本发明具有如下优点,1)本发明开发设备能够广泛应用于结构表面裂缝检测及实验室结构试验产生表面裂缝检测,仅用数秒时间即可输出精准的裂缝二值化图像并精确计算裂缝长度、宽度等特征;2)该方案能够实现结构表面裂缝的快速自动化精准勾画,本发明提出算法不需要人工干涉的调整阈值分割等系数,使用范围广,自动化程度更高。并且本发明输出的裂缝二值化图像能够尽可能的同时识别出图像中的宽裂缝和细微裂缝,能够高效高精度的剔除人工标志、环境污染等噪声的干扰,识别出裂缝二值化图像具有高精确度、高准确率、高召回率;3)该方案能够实现结构表面裂缝宽度的精准测量,本发明提出的裂缝宽度测量方法,尤其是对图像中小于5像素的细微裂缝,测量精度要明显高于传统的裂缝宽度测量方法,对于图像中5像素以下细微裂缝的宽度测量误差能控制在10%以内。同时,这意味着在达到同样的测量精度要求下,采用本发明提出方法比传统方法拥有大将近3倍的视场。

附图说明

图1是本发明中所述的结构裂缝自动化描绘及宽度精准测量方法与设备概念图;

图2是本发明所述的整体技术路线图;

图3是本发明所述的裂缝自动描绘方法图;

图4是本发明所述的“整体-局部协同分割”的初步提取裂缝方法图;

图5是本发明所述的精细化裂缝检测中的构造精细化检测图像方法图;

图6是本发明所述的基于单像素骨架和Zernike正交矩的图像细微裂缝宽度测量方法图;

图7是本发明所述的细微裂缝宽度测量中计算Zernike正交矩卷积模板;

图8是本发明所述的裂缝宽度测量中第一次误差修正:插值计算原理误差图;

图9是本发明所述的实施例中相机拍摄混凝土试件裂缝图像;

图10是本发明所述的利用深度学习(224*224*3)扫描检测裂缝范围结果图;

图11是本发明所述的初步提取裂缝二值化图像结果图;

图12是本发明所述的精细化提取裂缝二值化图像结果图;

图13是本发明所述的人工勾画裂缝二值化图像结果图;

图14是本发明所述的直接进行Otsu自适应阈值分割后检测结果图;

图15是本发明所述的基于Hessian矩阵的图像增强后的Otsu自适应阈值分割检测结果图;

图16是本发明所述的裂缝宽度测量结果图。

图17是本发明所述的不同方法细微裂缝宽度测量结果统计对比分析图。

具体实施方式:

为了加深对本发明的理解,下面结合附图对本实施例做详细的说明。

实施例1:一种结构裂缝自动化描绘方法,如图3所示,所述描绘方法包括以下步骤,1)基于多尺度的深度学习的裂缝检测方法,用多个尺度的深度学习检测出图像中的裂缝范围,保障后续工作不遗漏裂缝信息;2)基于深度学习、中值滤波及Hessian矩阵线性增强的“整体-局部协同分割”裂缝初步提取方法,保障提取出结果中同时完整的包含图像中的宽裂缝、细微裂缝信息,保障检测结果的高召回率;3)基于深度学习、图像分割、图像重构的裂缝精细化检测方法,能够有效的剔除结果中的噪声干扰,保障检测结果的高准确率、高精确率,所述步骤1)多尺度深度学习检测裂缝方法,具体如下:混凝土裂缝形态复杂多变,单一尺度的深度学习往往不能满足图像中不同宽度的裂缝的检测,用单一尺度的深度学习检测结果上进行分析容易遗漏图像中的裂缝信息。采用从大到小多个尺度的深度学习模型,先用大尺度的深度学习模型对整个图像进行扫描检测,再大尺度(224*224*3)深度学习模型确定裂缝范围的基础上,用小尺度(32*32*3)的深度学习模型对每个大尺度深度模型检测到裂缝的窗口进行扫描检测,所述对于大尺度的深度学习模型检测,由于模型输入为224*224*3图像,图像大小不会正好是224的整数倍数,缩放图像会导致图像中信息的丢失,所以扫描检测时,采用从四个直角往中心扩散的方式,每层窗口x、y方向错开112像素,在图像对称的x轴和y轴上为中心上,加密一层扫描窗口,保证能够部分重叠的扫描到整个图像,输出包含裂缝的范围;对于检测到的每个224*224大小包含裂缝的窗口,采用32*32*3的小尺度的深度学习模型,移动扫描检测每个224*224图像,在x、y方向依次错开16像素,所述在多尺度深度学习检测裂缝缩小范围的基础上,直接进行阈值分割仍然会造成细微裂缝信息的丢失。在多个尺度深度学习检测裂缝范围的基础上,采用中值滤波图像相减、基于尺度为1的Hessian矩阵线性增强与Otsu阈值分割相结合的方法实现裂缝初步提取,提取出的信息能够同时完整的包含图像中的宽裂缝、细微裂缝信息。

所述步骤2)中的“整体-局部协同分割”裂缝初步提取方法如图4所示,具体方法如下:

21)在每个检测到裂缝的224*224大小窗口内,将原图转化为灰度图,用大尺度的中值滤波处理图像,与原图像相减,得到新的图像,对新的图像进行Otsu自适应阈值分割得到裂缝二值化图像img1;

22)用小尺度的中值滤波处理图像,并与原图相减,而后用基于Hessian矩阵的图像增强方法增强图像中的线性部分,图像I(x)的各点处的Hessian矩阵为计算各点Hessian矩阵的特征值为λ1、λ2,从而计算定义R(x)=λ12(x)为增强后的图像,取α=0.25。并在小尺度深度学习模型检测到裂缝的每个32*32大小的窗口内对增强后的图像进行Otsu自适应阈值分割,取并集后得到裂缝二值化图像img2;

23)将二值化图像img1和二值化图像img2取并集操作,得到这一块224*224大小的输出裂缝二值化图像;

24)第一步中所有检测到的包含裂缝的224*224大小窗口输出二值化图像结果取并集操作,得到整个图像的初步提取裂缝结果。

作为本发明的一种改进,所述步骤3)基于深度学习、图像分割、图像重构的裂缝精细化检测方法具体如下:

初步提取的裂缝二值化图像中会包含很多的噪音信息,利用提出的基于单像素裂缝骨架的图像分割方法对初步提取的裂缝图像进行两个层次的分割,利用图像重构方法结合深度学习对分割出的裂缝进行单因素分析,判断是否为裂缝,最终实现裂缝的精细化提取;

基于单像素骨架的图像分割方法,分为两个层次:首先按照连通性将骨架分割开来,分别提取出对应每个独立的连通域的裂缝二值化图像的部分,再利用单像素裂缝骨架统计的端点、节点信息进一步分割每个剩余连通域为独立的部分;第一层次的分割利用初始裂缝二值化图像的连通性就可以实现,

第二层次的分割具体方法如下:

①骨架上的像素点在其8邻域的像素点只有一个在骨架上,测定义为端点,其8邻域上有超过3个像素点在骨架上,定义为节点,每个独立的连通域骨架基础上,利用单像素上的端点、节点信息将上一层次输出二值化图像再次分割为独立的部分,作为这一层次的输出,对独立连通域的分割方法,包含以下几个操作:

②利用8邻域规则识别骨架上的端点和节点,骨架上只有端点、没有节点的情况,分割终止,直接输出初始裂缝二值化图像中对应的区域;

③从利用端点和节点的信息,删除此连通域上的节点得到独立的各段骨架,计算各段骨架的长度,设置阈值T=32;

④由于裂缝上的其他干扰,往往是以骨架分支的形式出现,所以对于分割出的每段骨架中包含原来骨架中的一个端点的,不考虑骨架的长度是否低于阈值,以节点为中心、画半径为10像素的圆,找到与相同节点其他分支骨架的交点,利用节点上的各分支的角平分线及初始裂缝二值化图像的轮廓确定骨架的区域,利用区域生长算法填充,分割出独立的裂缝二值化区域;

⑤对于长度大于阈值T,并且两端均是原骨架上的节点,以节点为中心、画半径为10像素的圆,找到与相同节点其他分支骨架的交点,利用节点上的角平分线及原二值化图像的轮廓确定骨架的区域,利用区域生长算法填充,分割出独立的裂缝二值化区域;

⑥如果提取骨架的长度小于阈值,确定骨架的中心,直接用截取该段骨架中心周围长宽为T的初始裂缝二值化图像作为分割出的图像。

利用图像重构方法结合深度学习对分割出的裂缝进行单因素分析,针对每一个分割出独立区域的精细化裂缝检测,就需要构造新的精细化检测图像,使其中既能包含独立分割出的裂缝信息又能剔除其他的干扰信息。

所述步骤3)中构造精细化检测图像具体方法如下:

①得到初始裂缝二值化图像后,在原图像中把初始裂缝二值化图像对应的区域剔除;

②用初始裂缝二值化图像每个连通域周围像素三通道(RGB)值的平均值填充图像的剔除区域,并用中值滤波消除边缘,构造新图像;

③对于两个层次的基于单像素骨架的裂缝二值化图像分割出的图像,提取出二值化连通域,计算连通域的外接矩形长度;

④利用原图像和新图像以及连通域的外接矩形范围构造精细化检测图像,即在每个独立的分割出裂缝二值化图像区域内采用原图像的值,在分割出裂缝二值化图像区域范围外采用新图像的值,就得到构造的检测图像,具体规则如下:对于外接矩形长度小于等于32,在围绕中心32*32范围内,利用原图和新图像构造检测图像,缩放到224*224大小;外接矩形大于32小于96,围绕中心外接矩形长度范围内,构造新图像,缩放到224*224大小;外接矩形长度大于96小于224的,直接利用新图像和原图围绕中心构造224*224大小图像;外接矩形长度大于224的,围绕中心以外接矩形向外扩展224像素的范围内,构造检测图像。

得到针对分割出裂缝的构造检测图像,再次用深度学习检测,实现对分割出裂缝的单因素分析,从而达到精细化提取的目的。对应基于单像素骨架分割方法的两个层次,构造的检测图像也分为两个层次,构造精细化检测图像方法如图5所示。利用深度学习扫描检测构造的精细化检测图像,具体方法如下:

①对于两个层次构造的图像,图像尺寸小于等于224*224*3大小的,将图像放大到224*224*3大小,利用深度学习模型进行检测,直接判断是否包含裂缝。

②对于构造检测图像尺寸大于224*224*3大小的,提取对应的裂缝骨架,构造等间距为32像素的x、y方向的网格,按照骨架与棋盘的交点位置为中心,对新图像进行扫描检测,注意剔除掉部分交点,使得每个交点之间的距离大于16像素。对检测结果进行统计,对于第一层次的构造图像,统计检测结果中包含裂缝的比例大于0.2则认为包含裂缝。对于第二层次构造的图像,统计检测结果中包含裂缝的比例大于0.8,则认为包含裂缝。

经过多尺度深度学习检测裂缝范围、初始裂缝二值化图像提取、裂缝精细化检测三个步骤后,就可以得到高精度、高准确率、高召回率的裂缝二值化图像。

实施例2:一种基于单像素裂缝骨架和Zernike正交矩的裂缝宽度的精准测量方法,传统计算裂缝宽度的方法是计算两个像素点之间距离的“数像素”的方法,对于5个像素以下宽度的裂缝计算效果较差,本发明针对图像中小于5像素的裂缝,提出了基于单像素骨架和Zernike正交矩的裂缝宽度计算方法,如图6所示。

基于单像素骨架和Zernike正交矩的裂缝宽度计算方法,其特征在于:利用单像素骨架来确定图像的旋转角度,将该点处图像旋转、对称、镜像为两个关于y坐标轴对称的图像,利用正交矩模板分别计算两个对称图像的2阶正交矩A20、4阶正交矩A40,利用式分别计算两个对称图像的宽度,并进行两次误差修正后,取平均值,作为该点处的裂缝宽度(单位:pixel),结合像素的解析度(mm/pixel)得到该点处裂缝的最终宽度。值得注意的是,本发明提出方法实际上计算的是图像上某点出正交矩模板范围内裂缝的平均宽度。

1)提取计算宽度点周围单像素裂缝骨架,确定图像旋转角度,截取围绕计算宽度点13*13像素范围内的图像,进行预处理1:得到图像的灰度图(0-1),用13*13的元素全部为1的矩阵与灰度图相减,使图中裂缝像素灰度值高,背景像素灰度值低,记录最大的灰度值MAX;

2)根据骨架方向,对图像进行旋转以旋转后裂缝的累积灰度值最高一列(即最亮一列)为中心列,分别进行镜像操作,即可得到两幅对称的图像,并对两幅图像进行竖向的平滑滤波;

3)检查镜像后的图像是否符合计算的要求(假设线宽为5,最亮的为第2列,镜像后,其中一个图像不符合计算条件,需要进一步处理)。取中心列模板范围内灰度平均值为L,两边依次标记为L1、L2、L3、L4,设置三个条件:|L4-L3|/|L-L4|>=0.3,|L2-L4|/|L-L4|>=0.8,|L4-L3|>0.1*|L-L4|。如果三个条件都满足,则删除中心列及左侧一列,并进行记录Mark=2,否则Mark=0,预处理2:找到图像中心7*7范围内灰度最小值MIN,图像灰度减去这个值来构造新的图像;

4)用现有的M20、M40正交矩模板代替公式计算对应的正交矩,模板如图7所示,从而计算图像裂缝宽度;第一次误差修正:设置条件:L*L2/L1/L1>0.7,不考虑第一次误差修正,否则按照m=L1/L的值对照图8插值计算原理误差修正值;第二次误差修正:用计算图像中心列模板范围内灰度平均值与原图像灰度最大值MAX减去记录的灰度最小值MIN的商作为修正系数,修正之后加上mark值作为镜像图像最终裂缝宽度;取两幅镜像图像经过误差修正后的计算宽度的平均值为最终裂缝宽度。

实施例3:一种实验室混凝土试件裂缝自动描绘及宽度测量设备,如图1所示,包括图像标定模块1,图像采集模块2,图像处理系统3,相机支架4,其中,图像处理系统3中内嵌裂缝自动勾画算法模块、裂缝特征分析算法模块、计算结果存储模块及无线传输模块;

结构裂缝自动化描绘及宽度精准测量设备,能够实现对结构表面裂缝的快速自动化勾画,并准确测量裂缝宽度。

所述图像标定模块1用于矫正相机姿势以及计算图像的解析度,在混凝土试件表面粘贴数个人工打印的已知尺寸的棋盘格;所述图像获取模块2由单反相机构成,主要用于获取混凝土试件的高分辨率图像,为下一步图像处理做准备;所述图像处理模块3,内嵌裂缝自动勾画算法模块、裂缝特征分析算法模块、计算结果存储模块及无线传输模块,其中无线传输模块用于把检测结果及原图像无线传输到用户端。

其中,裂缝自动勾画算法模块中包含:基于多尺度深度学习的裂缝范围检测,基于深度学习、中值滤波及Hessian矩阵线性增强的裂缝初步提取,基于深度学习、图像分割、图像重构的裂缝精细化检测三部分模块,能够对采集图像进行快速、高精确率、高准确率、高召回率的自动勾画,同时勾画出图像中的宽裂缝、细微裂缝信息。

裂缝特征分析算法模块用于计算裂缝宽度,包含本发明提出的基于单像素骨架和Zernike正交矩的裂缝宽度计算方法,对于图像中小于5像素的细微裂缝也能够达到较高的计算精度,计算精度明显优于传统算法。

应用实施例1:

本采用的输入为224*224*3像素的大尺度深度学习模型采用公开的GoogLeNet模型,原网络的输出层为1000类,修改网络的输出层为2类即分为裂缝和非裂缝两种。采用迁移学习的策略,利用自己构建的224*224*3图像裂缝数据库,训练模型。本发明采用的输入为32*32*3像素的深度学习模型采用公开的ResNet 20模型,原网络的输出层为同样修改网络的输出层为2类即分为裂缝和非裂缝两种。采用迁移学习的策略,利用自己构建的32*32*3图像裂缝数据库,训练模型。

测试前,根据被测试混凝土试件面积大小,再其表面或者同一平面上粘贴人工打印的棋盘格,在本例子中选择棋盘格大小为4cm*4cm大小,每个格子边长1cm。利用贴好的棋盘格实现相机姿态的校准,调整相机姿态,使得利用Harris角点检测方法在图像上提取的棋盘格上各点在图像上能够保持为正方形。

设备安装完成后,对采集的每张图像进行一次完整的数据处理流程应当包括:深度学习模型扫描检测,大致确定图像中裂缝的范围;裂缝二值化图像的初步提取;裂缝二值化图像的精细化提取;输出各人工选取测点的宽度信息;保存原图像及输出的裂缝信息。

自动勾画出裂缝二值化图像:

步骤一、多个尺度深度学习确定裂缝范围:利用224*224*3像素输入的训练好的大尺度深度学习模型对采集图像进行移动窗口扫描检测,检测图像中是否有裂缝存在,并大致确定图像中裂缝的范围,进行标记;利用32*32*3像素输入的训练好的小尺度深度学习模型对步骤一中标记的每个224*224像素大小的窗口进行移动扫描,进行标记;

步骤二、初步提取裂缝:将三通道(RGB)原图像转化为灰度图,采用大尺度的中值滤波处理步骤一中标记的每个包含裂缝的224*224大小图像,与原图像相减后得到新的图像,对新的图像执行Otsu自适应阈值分割,得到裂缝二值化图像img1;在步骤二中每个标记的224*224像素大小图像范围内,采用小尺度的中值滤波并与原灰度图相减得到新的灰度图,而后对其进行尺度n=1的基于Hessian线性增强并得到增强后的图像,并在步骤三中每个标记的32*32窗口范围内对增强后的图像进行Otsu自适应阈值分割后取并集操作得到裂缝二值化图像img2。将所有裂缝二值化图像img1和裂缝二值化图像img2取并集操作,得到初始裂缝二值化图像;

步骤三、精细化提取裂缝:

将步骤二中得到的裂缝初始二值化图像进行图像细化操作,得到单像素宽的裂缝骨架,具体步骤如下:

(1)首先采用Zhang快速并行细化算法对初始裂缝二值化图像进行细化处理;

(2)上一步细化后的纹路并非单一像素,原因是由部分应该删除的点不满足Zhang细化算法删除条件,将这些点的8邻域点进行二进制编码,并转化为10进制,得到编号为65、5、20、80、13、97、22、208、67、88、52、133、141、54;

(3)按照目标点8邻域,旋转一圈顺序按照二进制编码,符合以上删除特征的编码就删除,保证输出目标的单像素性。

(4)利用8邻域规则识别骨架上的端点(8邻域有1个像素为1)及节点(8邻域有3、4个像素为1),保存节点位置;

(5)删除识别出的节点将裂缝骨架分割为段,对于每一段上,包含一个端点或者两个端点的分支,计算骨架的长度,小于20个像素的,认为是毛刺剔除掉。对于一个节点分支出两段骨架,并且两段到端点的长度均小于20像素的,保留较长的一段。

(6)利用识别出的节点将分段的骨架连接起来并消除孤立的点,得到单像素宽的裂缝骨架,并重新识别骨架的端点、节点信息。

得到单像素裂缝骨架后,首先按照连通性将骨架分割开来,分别提取出对应每个独立的连通域的裂缝二值化图像的部分,结合原图(RGB)构造检测图像,用深度学习再次检测这块连通域中是否包含裂缝,不包含则删除此连通域;

此后,剩余的连通域中都包含有裂缝信息,但是有的连通域可能是由裂缝和噪声共同构成的,利用单像素裂缝骨架统计的端点、节点信息,进一步分割每个剩余连通域为独立的部分,结合原图(RGB)构造检测图像,再次用深度学习模型检测分割出的部分是否包含裂缝信息,完成精细化检测,得到输出的裂缝二值化图像。

测量图像中某点的裂缝宽度:

步骤一:测量图像中某点的裂缝宽度,利用该点处单像素裂缝骨架来确定裂缝的法线方向。由于输出的裂缝二值化图像结果会受到初步提取裂缝中的中值滤波模板大小影响,利用输出的最终裂缝二值化图像的边缘与法线方向的交点,大致确定裂缝宽度L(单位:pixel)。在围绕测点中心5*L为边长的矩形范围内,进行模板大小为2*L的中值滤波,将滤波后图像于元图像相减,得到新的图像。利用Canny算子检测新图像的边缘与该点处法线的两个交点之间的距离确定该点处裂缝宽度(单位:pixel)。利用图像中已知尺寸的棋盘格所占的像素数计算图像像素的解析度,将裂缝宽度(单位:pixel)与像素解析度(mm/pixel)相乘得到裂缝宽度(单位:mm)。对于计算宽度结果大于5个像素宽度的认为满足精度要求。

步骤二:对于步骤一中计算宽度小于5个像素宽度的裂缝,按照提出的基于Zernike正交矩的裂缝宽度识别方法计算。

应用实施例2:

以某一破坏混凝土梁实验为例,根据本发明对该混凝土梁上裂缝进行自动描绘及宽度测量:

(1)实验准备

在混凝土表面粘贴棋盘格标志物,同时人工标记裂缝宽度测点位置。本实施例中,在混凝土表面粘贴多个棋盘格,在裂缝测宽点处做人工编号,增加算法的识别难度,如图9所示。利用支架固定相机,利用粘贴棋盘格矫正相机姿势,使相机能够正面拍摄混凝土梁表面,连接测试系统,实时计算实时分析。

(2)深度学习扫描检测

用训练好的224*224*3输入的大尺度深度学习模型扫描检测图像,对图9的输入图像进行检测,输出结果如图10所示。

(3)基于深度学习的初始裂缝二值化图像提取

对于上一步中检测到的每个224*224大小包含裂缝的窗口,采用32*32*3的小尺度深度学习模型,移动扫描检测每个224*224图像;用大尺度的中值滤波处理图像,与原图像相减,得到新的图像,对新的图像进行Otsu自适应阈值分割得到裂缝二值化图像img1;用小尺度的中值滤波处理图像,并与原图相减,而后用基于Hessian矩阵的图像增强方法增强图像中的线性部分,并在小尺度模型检测到裂缝的每个32*32大小的窗口内对增强后的图像进行Otsu自适应阈值分割,取并集后得到裂缝二值化图像img2;将二值化图像img1和二值化图像img2取并集操作,得到这一块224*224大小的输出裂缝二值化图像。重复上面步骤,第一步中所有检测到的包含裂缝的224*224大小窗口输出二值化图像结果取并集操作,得到整个图像的初步提取裂缝结果,如图11所示。

(4)基于深度学习的裂缝二值化图像精细化检测

上一步之后,首先提取裂缝二值化图像的单像素裂缝骨架,在此基础上对初始提取裂缝二值化图像进行两个层次的分割,在原图中剔除初始化裂缝区域,用每个连通域周围像素的均值来填充剔除的区域,构造新图像。利用单像素裂缝骨架分割裂缝二值化图像,结合原图与新图像构造相应的精细化检测图像,再次用训练好的深度学习模型检测是否为裂缝,并输出精细化检测结果,如图12所示。

人工勾画裂缝二值化图像如图13所示,与发明所提出方法输出裂缝二值化图像结果对比。将图像划分为等间距的25*25像素的方格,一共有38400个方格。对比每个方格内手动勾画与自动勾画裂缝的情况来统计检测的精度。

TP(True Positive):手动勾画和自动勾画裂缝都有裂缝的方格数量;

TN(True Negative):统计手动勾画、自动勾画裂缝都没有裂缝的方格数量;

FP(False Positive):统计手动勾画没有裂缝、自动勾画裂缝有裂缝的方格数量;

FN(False Negative):统计手动勾画有裂缝、自动勾画裂缝没有裂缝的方格数量;

设置三个指标:

准确率(accuracy)=(TP+TN)/(TP+FN+FP+TN)、精确率(precision)=TP/(TP+FP)、召回率(recall)=TP/(TP+FN)。

对提取裂缝结果进行分析,计算对应的accuracy为99.82%,precision为93.45%,recall为92.9%,本发明提出方法在复杂人工标志干扰下仍然能保持高准确率、高精确率、高召回率。

图14为直接进行Otsu自适应阈值分割后检测结果。

图15为在尺度n=8下,对原图像进行基于Hessian矩阵的图像增强后,在进行Otsu自适应阈值分割的检测结果。

对比传统方法,如图14和图15所示,可以看出本发明提出方法具有明显优势。

(5)裂缝宽度测量

该裂缝测宽点处单像素裂缝骨架来确定裂缝的法线方向,利用中输出的裂缝二值化图像的边缘与法线方向的交点,大致确定宽度L,在围绕测点中心5*L为边长的矩形范围内,进行模板大小为2*L的中值滤波,将滤波后图像于元图像相减,得到新的图像。利用Canny算子检测新图像的边缘与该点处法线的两个交点确定该点处裂缝宽度(单位:pixel)。大于5个像素宽度的认为满足精度要求,利用图像中的已知尺寸的棋盘格标定物来计算图像中像素的解析度,将裂缝宽度(单位:pixel)与像素解析度(mm/pixel)相乘得到裂缝宽度。对于计算宽度小于5个像素宽度的裂缝,按照提出的基于单像素骨架和Zerniek正交矩的裂缝宽度识别方法计算该点处宽度。

利用精度为0.0125mm的裂缝测宽仪人工检测裂缝宽度,与提出方法对比,对比结果如图16所示。

进一步验证本发明提出方法关于图像中细微裂缝宽度测量相对于传统的“计算两个交点之间距离”测量方法的优越性,以开裂混凝土梁为实验对象,用相机在不同距离上正面拍摄裂缝图像,共选出不同图像中小于5像素的裂缝计算宽度点248个,根据裂缝附近的棋盘格来计算裂缝位置的像素解析度,同时用裂缝测宽仪采集图像,手动勾画出裂缝测宽仪采集图像上的裂缝,计算对应长度范围内裂缝的平均宽度作为真值。

由于本发明提出方法实际上计算的是图像上某点处在正交矩模板范围内(7*7像素)的裂缝的平均宽度,所以对比以下12种工况提取出裂缝二值化图像对应正交矩模板范围内计算得到的平均宽度值。

工况一:转化为灰度图,对图像平滑处理后,直接进行Ostu阈值分割得到二值化图像,在该点处裂缝长度方向7*7像素范围内计算裂缝平均宽度;

工况二:转化为灰度图,对图像进行中值滤波,后与原灰度图相减,对相减后得到图像进行Ostu阈值分割得到二值化图像,在该点处裂缝长度方向7*7像素范围内计算裂缝平均宽度;

工况三~工况六:转化为灰度图,对图像进行中值滤波,后与原灰度图相减,对相减后得到图像分别进行尺度n=1、n=2、n=4、n=10的线性增强,增强后图像进行Ostu阈值分割得到二值化图像,在该点处裂缝长度方向7*7像素范围内计算裂缝平均宽度;

工况七:转化为灰度图,canny算子检测边缘,并进行图像闭运算操作,对得到二值化图像该点出裂缝长度方向7*7像素范围内计算裂缝平均宽度;

工况八:转化为灰度图,canny算子检测边缘,并进行图像闭运算操作,再减去canny算子提取边缘,对得到二值化图像该点出裂缝长度方向7*7像素范围内计算裂缝平均宽度;

工况九:对工况七和工况八的结果取平均值;

工况十:转化为灰度图,对图像进行中值滤波,后与原灰度图相减,对相减后图像进行canny算子检测边缘,并进行图像闭运算操作得到二值化图像,在该点处裂缝长度方向7*7像素范围内计算裂缝平均宽度;

工况十一:转化为灰度图,对图像进行中值滤波,后与原灰度图相减,对相减后图像进行canny算子检测边缘,并进行图像闭运算操作,再减去canny算子提取边缘,得到二值化图像,在该点处裂缝长度方向7*7像素范围内计算裂缝平均宽度;

工况十二:对工况十和工况十一的结果取平均值。

对不同方法计算的结果进行误差统计,结果如表1所示。

表1提出方法对比统计分析

其中,工况一和工况二都属于简单的阈值分割,归属于一类。工况三到工况六使用的是不同尺度的线性增强,归属为一类。工况八到工况十二均属于基于canny算子提取边缘后计算宽度的,归属为一类。分别拟合每一类别中表现最优异的一种工况的概率密度分布,与提出方法结果相对比,结果表明相对于传统类型的宽度测量方法,本发明提出方法对于细微裂缝宽度测量能够达到更高的精度,对比结果如图17所示。

综上,根据本发明提出的结构裂缝自动化描绘及宽度精准测量方法与设备完成了一个混凝土试件表面裂缝的裂缝定性定量分析,包含:(1)快速自动化的勾画出高精度裂缝二值化图像;(2)精确计算出裂缝宽度,并且对于图像中的细微裂缝测量相对于传统方法能够明显达到更高的精度。

需要说明的是上述实施例,并非用来限定本发明的保护范围,在上述技术方案的基础上所作出的等同变换或替代均落入本发明权利要求所保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1