CN115240070A - 一种裂缝检测方法 - Google Patents
一种裂缝检测方法 Download PDFInfo
- Publication number
- CN115240070A CN115240070A CN202210897361.5A CN202210897361A CN115240070A CN 115240070 A CN115240070 A CN 115240070A CN 202210897361 A CN202210897361 A CN 202210897361A CN 115240070 A CN115240070 A CN 115240070A
- Authority
- CN
- China
- Prior art keywords
- crack
- deeplabv3
- network
- semantic segmentation
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本申请属于混凝土结构裂缝检测技术领域,公开了一种裂缝检测方法。通过获取裂缝图像,按比例划分为训练集、验证集和测试集;基于DeepLabv3+网络模型搭建DeepLabv3+(N‑S)语义分割模型;使用训练集和验证集中的裂缝图像对DeepLabv3+(N‑S)语义分割模型进行训练,调整模型参数,得到训练好的DeepLabv3+(N‑S)语义分割模型;将测试集中的裂缝图像输入训练好的DeepLabv3+(N‑S)语义分割模型中得到二值掩膜图像,输入裂缝参数计算模块计算裂缝参数,根据所述裂缝参数判断裂缝严重程度。构建的语义分割模型的训练参数少,提高裂缝分割精度,降低了裂缝参数计算误差。
Description
技术领域
本申请涉及混凝土结构裂缝检测技术领域,尤其涉及一种裂缝检测方法。
背景技术
及时对混凝土进行识别检测,计算裂缝的各项参数,判断裂缝参数是否已经达到工程建筑危害的危险值,能够有效的减少工程灾害的发生,并实现科学有效的工程建筑维护,对工程建筑的安全运行具有重要的实际意义。对于裂缝检测,传统的建筑物混凝土检测主要通过接触式千分表引伸仪、倾斜仪、自动判读显微镜、裂缝测量卡等间接测量并人工读取裂缝宽度,人工读数的误差问题始终存在,且受到检测时气流、温度等环境因素影响较难保证检测的准确度。随着人工智能与图像处理技术的蓬勃发展以及硬件设备的升级换代,混凝土裂缝检测的自动化水平不断提高,大量国内外研究人员基于深度学习语义分割模型开展裂缝识别技术的研究,涌现出了如FCN、U-net、DeepLabv3+等语义分割模型应用在裂缝分割上的研究。目前基于深度神经网络的裂缝分割模型存在着训练参数多,裂缝边缘分割粗糙,分割精度不足,分割精度不足进一步导致对裂缝的参数计算误差较大的问题。
发明内容
为此,本申请的实施例提供了一种裂缝检测方法,构建的裂缝语义分割模型训练参数少,提高长距离依赖,裂缝边界分割精度更高,进一步降低裂缝参数计算误差,具体技术方案内容如下:
获取裂缝图像,按比例将所述裂缝图像划分为训练集、验证集和测试集;
基于DeepLabv3+网络模型搭建DeepLabv3+(N-S)语义分割模型,其中DeepLabv3+(N-S)语义分割模型包括编码器和解码器,所述编码器包括改进的主干网络ResNet101-S,空间金字塔池化模块ASPP和Non-local block注意力机制模块,其中所述编码器的输出端连接所述解码器的输入端,所述改进的主干网络ResNet101-S的输出端连接所述Non-localblock注意力机制模块的输入端,所述Non-local block注意力机制模块的输出端连接空间金字塔池化模块ASPP的输入端;
使用所述训练集和验证集中的裂缝图像对所述DeepLabv3+(N-S)语义分割模型进行训练,调整模型网络参数,得到训练好的DeepLabv3+(N-S)语义分割模型;
将所述测试集中的裂缝图像输入所述训练好的DeepLabv3+(N-S)语义分割模型中,输出所述裂缝图像的二值掩膜图像,将所述二值掩膜图像输入裂缝参数计算模块计算裂缝参数,根据所述裂缝参数判断裂缝严重程度。
在本申请一较佳的示例中可以进一步设置为,所述将所述二值掩膜图像输入裂缝参数计算模块计算裂缝参数的步骤包括:
使用骨架提取算法来提取所述二值掩膜图像中裂缝的中轴线,选取所述中轴线上的第一像素点以及裂缝边缘上与所述第一像素点对应的第二像素点,计算所述第一像素点和第二像素点的欧式距离,得到裂缝在第一像素点处的裂缝像素宽度。
在本申请一较佳的示例中可以进一步设置为,所述基于DeepLabv3+网络模型搭建DeepLabv3+(N-S)深度语义分割模型的步骤包括:
修改DeepLabv3+网络模型的主干网络ResNet101的前端卷积核和修改Bottleneck瓶颈单元的残差结构,得到改进的主干网络ResNet101-S,构建改进主干网络的DeepLabv3+网络模型,在所述改进主干网络的DeepLabv3+网络模型中嵌入Non-local block注意力机制模块,得到DeepLabv3+(N-S)语义分割模型。
在本申请一较佳的示例中可以进一步设置为,所述修改DeepLabv3+网络模型的主干网络ResNet101的前端卷积核的步骤包括:
使用3个3×3的卷积核替换所述主干网络ResNet101的7×7的前端卷积核,并在所述第一个3×3卷积核和第二个3×3卷积核之间以及第二个3×3卷积核和第三个3×3卷积核之间均插入ReLU激活函数。
在本申请一较佳的示例中可以进一步设置为,所述修改Bottleneck瓶颈单元的残差结构的步骤包括:
将所述Bottleneck瓶颈单元的残差结构中的3×3卷积结构替换成一个1×3和一个3×1的卷积结构。
在本申请一较佳的示例中可以进一步设置为,所述在所述改进主干网络的DeepLabv3+网络模型中嵌入Non-local block注意力机制模块的步骤包括,将所述Non-local block注意力机制模块嵌入到所述改进的主干网络ResNet101-S的输出端和空间金字塔池化模块ASPP模块的输入端之间以及主干网络ResNet101-S的输出端与解码器的输入端之间。
在本申请一较佳的示例中可以进一步设置为,所述获取裂缝图像,按比例将所述裂缝图像划分为训练集、验证集和测试集的步骤之后还包括:
对所述训练集、验证集和测试集中的每张裂缝图像进行轮廓标注,得到每张裂缝图像中的裂缝的标注值,用于对所述DeepLabv3+(N-S)语义分割模型进行训练。
在本申请一较佳的示例中可以进一步设置为,还包括:
将所述训练集中的裂缝图像输入所述DeepLabv3+(N-S)语义分割模型中进行训练,得出裂缝的预测值;根据所述预测值和所述标注值计算出损失值,根据损失值调整所述DeepLabv3+(N-S)语义分割模型的网络参数,直到验证集验证后的损失值精度达到预设条件,固定所述DeepLabv3+(N-S)语义分割模型的网络参数,得到训练好的DeepLabv3+(N-S)语义分割模型。
在本申请一较佳的示例中可以进一步设置为,根据所述预测值和标注值计算出损失值的步骤包括:
利用引入L2正则化项的交叉熵损失函数计算损失值,其中交叉熵损失函数的公式为:
在本申请一较佳的示例中可以进一步设置为,所述根据损失值调整所述DeepLabv3+(N-S)语义分割模型的网络参数的步骤包括:参数更新策略为随机梯度下降法,学习率设定为0.01,动量参数设定为0.9,学习率衰减值设定为0.0005。
综上所述,与现有技术相比,本申请实施例提供的技术方案带来的有益效果至少包括:
通过修改DeepLabv3+模型的主干网络ResNet101的前端卷积核以及Bottleneck瓶颈单元的残差结构,增加了网络层数,提高模型的非线性表达能力,并且改进的模型参数更少,减少了拟合现象的发生;提高进一步嵌入Non-local block注意力机制模块,构建DeepLabv3+(N-S)语义分割模型加强了空间距离信息依赖,加强了裂缝分割时裂缝主体内各像素点之间的联系,DeepLabv3+(N-S)语义分割模型具有更好的分割性能,降低了裂缝参数计算的误差,提高裂缝参数计算的精度。
附图说明
图1为本申请一实施例提供的裂缝检测与参数计算的方法流程图;
图2为本申请一实施例提供的主干网络ResNet101修改前后的前端卷积结构示意图;
图3为本申请一实施例提供的主干网络ResNet101修改前后的瓶颈单元结构示意图;
图4为本申请一实施例提供的Non-local block注意力机制模块的结构示意图;
图5为本申请一实施例提供的DeepLabv3+(N-S)语义分割模型的网络结构示意图;
图6为本申请一实施例提供的基于不同语义分割模型计算的最大裂缝宽度的相对误差示意图。
具体实施方式
本具体实施例仅仅是对本申请的解释,其并不是对本申请的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本申请的权利要求范围内都受到专利法的保护。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
下面结合说明书附图对本申请实施例作进一步详细描述。
在本申请的一个实施例中,提供一种裂缝检测方法,如图1所示,主要步骤描述如下:
S10:获取裂缝图像,按比例将所述裂缝图像划分为训练集、验证集和测试集;
优选的,对训练集、验证集和测试集中的每张裂缝图像进行轮廓标注,得到每张裂缝图像中的裂缝的标注值。
本实施例中,选择拍摄荷载实验后开裂的混凝土梁试件作为自制裂缝图像数据集,为了提高网络模型的鲁棒性,选择了包含不同光照条件、阴影、笔迹、背景、杂物、拍摄角度等场景拍摄图像,得到48张分辨率为3648×2736的混凝土梁图像;进一步使用滑动窗口分割法,将图像分割成20736张分辨率为152×152的图像,分割后的图像在长度、宽度、走向上均具有充分的多样性,经过数据清洗去除模糊、畸变、失真的图像后得到13194张图像,经过进一步筛选获取含有裂缝的裂缝图像4568张,按8:1:1的比例将裂缝图像随机划分成训练集、验证集和测试集。
使用labelme标注软件对训练集、验证集和测试集中的每张裂缝图像进行轮廓标注,具体的,对裂缝图像中裂缝像素及非裂缝像素进行标记,得到每张裂缝图像中的裂缝的标注值。在标注时保持尽可能留有裂缝长度、宽度信息的原则,以确保在像素分类上精度。
S20:基于DeepLabv3+网络模型搭建DeepLabv3+(N-S)语义分割模型;
优选的,修改DeepLabv3+网络模型的主干网络ResNet101的前端卷积核和修改Bottleneck瓶颈单元的残差结构,构建改进的主干网络ResNet101-S,得到改进主干网络的DeepLabv3+网络模型,在改进主干网络的DeepLabv3+网络模型中嵌入Non-local block注意力机制模块,得到DeepLabv3+(N-S)语义分割模型。
其中,DeepLabv3+网络模型包括编码器和解码器,编码器包括主干网络ResNet101和空间金字塔池化模块ASPP。基于DeepLabv3+网络模型搭建的DeepLabv3+(N-S)语义分割模型包括编码器和解码器,编码器包括改进的主干网络ResNet101-S,空间金字塔池化模块ASPP和Non-local block注意力机制模块。其中编码器的输出端连接解码器的输入端;改进的主干网络ResNet101-S的输出端连接Non-local block注意力机制模块的输入端,Non-local block注意力机制模块的输出端连接空间金字塔池化模块ASPP的输入端。
优选的,使用3个3×3的卷积核替换主干网络ResNet101的7×7的前端卷积核,并在第一个3×3卷积核和第二个3×3卷积核之间以及第二个3×3卷积核和第三个3×3卷积核之间均插入ReLU激活函数。
需要进行说明的是,DeepLabv3+的主干网络ResNet101是基于Bottleneck结构搭建的101层残差网络,网络前端具有一个64通道,步长为2的7×7卷积核,大卷积核会导致模型参数变多,层数变少,不利于网络传递非线性特征。如图2所示,其中(a)为原主干网络ResNet101的前端卷积结构,(b)为修改后的前端卷积结构。本申请使用3个3×3的卷积核替换主干网络ResNet101中的7×7的前端卷积核,并在第一个3×3的卷积核的输出端和第二个3×3的卷积核输入端之间插入ReLU激活函数,以及在第二个3×3的卷积核的输出端和第三个3×3的卷积核输入端之间插入ReLU激活函数。ReLU激活函数是激活函数的一种,其会使部分输出为0,造成网络的稀疏性,减少参数之间的依存关系,可以减少过拟合问题的出现,其中,ReLU激活函数的公式为:f(x)=max(0,x)。
优选的,将Bottleneck瓶颈单元的残差结构中的3×3卷积结构替换成一个1×3和一个3×1的卷积结构。
需要进行说明的是,Bottleneck瓶颈单元是基于残差结构设计的单元,主要用于搭建更深的残差网络,如ResNet50,ResNet101,ResNet152等,其与浅层ResNet残差单元不同的是在每一层Bottleneck的输入之后与输出之前都会加上一个1×1的卷积层用于增加或减少通道数,改变矩阵维度,来解决某些层数输入和输出尺寸不同的问题。为提高模型性能,本申请将原Bottleneck瓶颈单元中的3×3卷积核替换为一个1×3卷积核和一个3×1卷积核的卷积结构,得到改进的主干网络ResNet101-S,如图3所示,其中w为输入的通道数,经过一个1×3卷积核和一个3×1卷积核的卷积与经过一次3×3卷积核的卷积感受野及输出大小是相同的。改进的主干网络ResNet101-S的网络层数增加了,可以提高模型的非线性表达能力,并且改进的模型参数更少,能减少过拟合现象的发生。
优选的,将Non-local block注意力机制模块嵌入到改进的主干网络ResNet101-S的输出端和空间金字塔池化模块ASPP模块的输入端之间以及主干网络ResNet101-S的输出端与解码器的输入端之间。
需要进行说明的是,注意力机制被应用在图像处理领域中,本质是模仿人类对整个视觉范围内某一物体会更加关注的行为。在图像特征矩阵中,空间位置上对每个像素点之间依赖的全局信息的获取对语义分割的结构具有较强的导向作用,Non-local block注意力机制能很好的解决远距离信息来回传递的问题。如图4所示,从Non-local block注意力机制模块的网络结构图中可以看到,该模块将输入矩阵C×H×W分别通过C/2×1×1的卷积操作进行g(x)、θ(x)、φ(x)三种不同的线性映射,得到三个不同的特征矩阵C/2×H×Wv、C/2×H×Wk、C/2×H×Wq,并分别将其拉成C/2×HWv、C/2×HWk、C/2×HWq三个向量;对θ(x)输出的C/2×HWk转置得到HWk×C/2,再与φ(x)输出的C/2×HWq相乘得到相似度矩阵HWq×HWk;接着将相似度矩阵HWq×HWk经过softmax(归一化指数函数)操作得到的结果与g(x)输出的矩阵C/2×HWv相乘便得到维度为C/2×H×W的特征矩阵,进而通过C×1×1的卷积操作恢复维度得到经过Non-local block注意力机制模块加强了空间距离信息依赖的特征矩阵;最后与输入矩阵C×H×W求和,得到最后的输出特征图z。
本申请将Non-local block注意力机制模块嵌入到改进的主干网络ResNet101-S的输出端和空间金字塔池化模块ASPP的输入端之间以及改进的主干网络ResNet101-S的输出端和解码器之间,得到DeepLabv3+(N-S)语义分割模型,如图5所示。Non-local block注意力机制模块加强了空间距离信息依赖,加强了裂缝分割时裂缝主体内各像素点之间的联系。
具体的,DeepLabv3+(N-S)语义分割模型的主体由编码器Encoder和解码器Decoder组成,编码器Encoder包括改进的主干网络ResNet101-S,Non-local block注意力机制模块和空间金字塔池化模块ASPP。在编码器Encoder模块内,输入裂缝图像的特征矩阵经过改进的主干网络ResNet101-S得到高级特征图,经过Non-local block注意力机制模块提高长距离信息依赖,使用空间金字塔池化模块ASPP对高级特征图依次进行1×1的卷积操作,扩张率分别为6、12、18的3×3空洞卷积操作以及池化操作,最终经过1×1的卷积操作提取语义信息;在解码器Decoder模块内,由编码器Encoder模块的改进的主干网络ResNet101-S输出的低级特征图经过Non-local block注意力机制模块后再进行1×1的卷积操作得到裂缝边界细节信息,再与上层经过双线性上采样4倍得到的特征图拼接,经过3×3的卷积操作后再进行一次双线性上采样4倍得到裂缝图像的特征值。
S30:使用所述训练集和验证集中的裂缝图像对所述DeepLabv3+(N-S)语义分割模型进行训练,调整模型网络参数,得到训练好的DeepLabv3+(N-S)语义分割模型;
其中,网络参数是用来确定模型的一些参数,包括学习速率、迭代次数、层数、每层神经元的个数、批大小以及损失函数中各部分的权值等。
优选的,将训练集中的裂缝图像输入DeepLabv3+(N-S)语义分割模型中进行训练,得出该裂缝图像中裂缝的预测值;根据预测值和标注值计算出损失值,根据损失值调整DeepLabv3+(N-S)语义分割模型的网络参数,直到验证集验证后损失值得到预设条件,固定DeepLabv3+(N-S)语义分割模型的网络参数,得到训练好的DeepLabv3+(N-S)语义分割模型。
优选的,参数更新策略为随机梯度下降法,学习率设定为0.01,动量参数设定为0.9,学习率衰减值设定为0.0005。
为防止DeepLabv3+(N-S)语义分割模型在训练过程中陷入局部最优点,优化策略选用SGD(Stochastic Gradient Descent)随机梯度下降法,随机梯度下降法主要使用在根据损失值和学习率更新模型网络参数,网络参数的更新基于梯度下降法,每一轮迭代只随机选用一个样本计算梯度,可以减少计算量,并跳出比较差的解。其中,学习率设定为0.01,动量参数设定为0.9,学习率衰减值设定为0.0005,网络设置450个训练次数(epoch),训练批处理大小设定为8,每训练10个epoch记录一次检查点;学习策略采用Poly学习策略,Poly学习策略主要在训练过程中调整学习率的一种指数策略,能根据设置的幂指数在每次迭代中动态调整学习率,使网络模型更好的收敛。其中,幂指数设定为0.9,学习率下限设定为0.0001。
优选的,模型训练利用引入L2正则化项的交叉熵损失函数计算损失值,引入L2正则化项可以防止过拟合,同时可以加快模型收敛,避免出现梯度弥散现象。引入L2正则化项的交叉熵损失函数的公式为:
具体的,设置好各项训练网络参数后,在终端输入运行train.py程序的指令,程序开始将训练集中的裂缝图像输入DeepLabv3+(N-S)语义分割模型网络,并开始在语义分割模型网络的各个模块中正向传导,最终得到裂缝图像的预测值,然后根据裂缝图像的预测值与该裂缝图像事先标注好的标注值来利用交叉熵损失函数来计算损失值,根据损失值计算出的梯度与学习率调整更新模型的网络参数,当训练集中的裂缝图像都训练一遍,完成一个训练次数epoch,紧接着将验证集中的裂缝图像输入DeepLabv3+(N-S)语义分割模型网络得到预测值,并计算损失值;当进行450个epoch,训练程序会停止,程序会选择验证集验证后的损失值精度达到预设条件的一次模型作为最终的结果,固定DeepLabv3+(N-S)语义分割模型的网络参数,得到训练好的DeepLabv3+(N-S)语义分割模型。
S40:将所述测试集中的裂缝图像输入所述训练好的DeepLabv3+(N-S)语义分割模型中,输出所述裂缝图像的二值掩膜图像,将所述二值掩膜图像输入裂缝参数计算模块计算裂缝参数,根据所述裂缝参数判断裂缝严重程度。
将测试集中的裂缝图像输入训练好的DeepLabv3+(N-S)语义分割模型中,得到该裂缝图像对应的二值掩膜图像,将二值掩膜图像输入裂缝参数计算模块,裂缝参数计算模块基于骨架提取算法来计算裂缝的长度和宽度参数。骨架提取算法也称为二值图像细化法,该算法可以将一个连通区域细化为一个像素的宽度,提取目标在图像上的中心像素轮廓,用于特征提取及目标拓扑表示。
具体的,提取二值掩膜图像中的裂缝骨架使用skimage库中的medial_axis函数来抓取二值掩膜图像中裂缝的中轴线,在中轴线上选取第一像素点Pi(x,y),以及在裂缝边缘上提取与之对应的第二像素点Pj(x,y),第二像素点Pj(x,y)为提取裂缝中轴线时用于计算的与第一像素点Pi(x,y)对应的像素点。计算第一像素点Pi(x,y)和第二像素点Pj(x,y)的欧式距离,这是裂缝中轴线到裂缝边缘的距离,取第一像素点Pi(x,y)和第二像素点Pj(x,y)的欧式距离的两倍再减去1个像素点,得到裂缝在第一像素点Pi(x,y)上的裂缝像素宽度
同理于上述方式,可以计算得到裂缝中轴线上的其他像素点的裂缝像素宽度;得到裂缝中轴线上所有像素点的像素宽度,即可以得到裂缝的最大裂缝像素宽度Wmax,最小裂缝像素宽度Wmin以及平均裂缝像素宽度Wm。
裂缝的像素面积S可通过裂缝中轴线上所有像素点的像素宽度之和得出,
S的计算公式为:
根据得到的裂缝宽度、长度、面积等裂缝参数,可以判断裂缝的严重程度。
进一步的,以上计算得到的都是裂缝图像中裂缝的像素参数,若要得到裂缝的实际参数,需要根据拍摄裂缝图像的相机参数来计算像素点的实际尺寸Lr,Lr的计算公式为:
实际尺寸与像素参数相乘则可得到裂缝的实际参数。
下面将结合一个具体实施例对基于本申请构建的DeepLabv3+(N-S)语义分割模型与传统解决方案进行对比评估本方案的裂缝测量性能,主要从模型运算速度、模型参数量和准确度方面进行分析。模型运算速度,主要使用模型预测单张分辨率为152×152图片的执行耗时Et(Execution time)衡量;准确度方面主要使用像素准确率PA(PixelAccuracy)、类像素准确率CPA(Class Pixel Accuracy)、平均像素准确率mPA(mean PixelAccuracy)作为综合性评价指标,交并比IoU(Intersection over Union,)则是语义分割领域的经典评价指标,与平均交并比mIoU(mean Intersection over Union)共同作为像素分类性能评价指标。
像素准确率PA表示分类正确的像素点数在所有的像素点中的比例,类像素准确率CPA需计算某一类分类正确的像素点数在该类所有像素点数的比例,平均像素准确率mPA则是计算每一类像素准确率再累加求其均值,以上指标均越接近1则表示模型分类准确度越高。交并比IoU指的是某一类像素点的预测值和真实标注值的交集与并集之比,平均交并比mIoU则由计算每一类交并比后求和再平均得出,越接近1则表示模型分类性能越好。
像素准确率PA的计算公式为:
类像素准确率CPA的计算公式为:
平均像素准确率mPA的计算公式为:
其中,Pii表示真实为i类预测为i类的像素点总数,即真阳性(TP);Pjj表示真实为j类却预测为i类的像素点总数,即假阳性(FP);CPAi表示第i类的类像素准确率。
交并比IoU的计算公式为:
平均交并比mIoU的计算公式为:
其中,Pji表示真实为j类被预测成j类的像素点总数,即真阴性(TN);IoUi表示第i类的交并比。
如表1所示,给出了本申请中构建的DeepLabv3+(N-S)语义分割模型与其他语义分割模型在在相同的数据集与训练条件下,对裂缝分割性能的对比分析。DeepLabv3+(N-S)语义分割模型较原DeepLabv3+(ResNet101)语义分割模型在各项性能上均提升明显,其中平均像素准确率mPA提升了2.12%,平均交并比mIoU提升了2.54%,交并比IoU达到了63.65%,较原DeepLabv3+(ResNet101)语义分割模型提高了2.81%。对比基于其他主干网络构建的DeepLabv3+,如DeepLabv3+(MobileNetv3),DeepLabv3+(MobileNetv2),DeepLabv3+(HRNet48),DeepLabv3+(ResNet50),优势较为明显。这表明嵌入的Non-localblock注意力机制模块加强了裂缝像素之间的长距离依赖,从而提升了裂缝分割的精度。
从模型参数数量来看,经过改进的主干网络的模型DeepLabv3+(ResNet101-S)较原模型DeepLabv3+(ResNet101)的参数量减少,表明改进的主干网络参数更少,可以提高模型的非线性表达能力。尽管加入Non-local block注意力机制模块后的DeepLabv3+(N-S)模型较DeepLabv3+(ResNet101-S)模型的参数量有所增加,但仍低于原DeepLabv3+(ResNet101)模型。
表1
以最大裂缝宽度的计算为例来验证本申请中裂缝参数计算方法的有效性。如表2所示,给出了基于DeepLabv3+(N-S)模型计算得到的裂缝参数评估结果。在拍摄裂缝图像的相机镜头与拍摄物体的真实距离均为50cm的情况下的对10条裂缝样本的裂缝参数计算,绝对误差都在0.4mm内,相对误差在13%以内。如表3和图6所示,可以看到使用DeepLabv3+(N-S)模型与DeepLabv3+模型输出的二值掩膜图像来计算最大裂缝宽度,DeepLabv3+(N-S)模型平均相对误差与最大相对误差分别为8.7%、12.3%,较DeepLabv3+模型都降低,提高了裂缝参数计算的精度。
表2
表3
本申请对DeepLabv3+模型的主干网络ResNet101的前端卷积核以及Bottleneck瓶颈单元的残差结构,使用了多个小卷积核代替大卷积核,非对称卷积核代替对称卷积核,增加了主干网络ResNet101的网络层数,增加了模型的非线性表达能力,进一步嵌入Non-local block注意力机制模块,加强了空间距离信息依赖,加强了裂缝分割时裂缝主体内各像素点之间的联系,DeepLabv3+(N-S)语义分割模型具有更好的分割性能,降低了裂缝参数计算的误差,提高裂缝参数计算的精度。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将本申请所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
Claims (10)
1.一种裂缝检测方法,其特征在于,所述方法包括:
获取裂缝图像,按比例将所述裂缝图像划分为训练集、验证集和测试集;
基于DeepLabv3+网络模型搭建DeepLabv3+(N-S)语义分割模型,其中DeepLabv3+(N-S)语义分割模型包括编码器和解码器,所述编码器包括改进的主干网络ResNet101-S,空间金字塔池化模块ASPP和Non-local block注意力机制模块,其中所述编码器的输出端连接所述解码器的输入端,所述改进的主干网络ResNet101-S的输出端连接所述Non-local block注意力机制模块的输入端,所述Non-localblock注意力机制模块的输出端连接空间金字塔池化模块ASPP的输入端;
使用所述训练集和验证集中的裂缝图像对所述DeepLabv3+(N-S)语义分割模型进行训练,调整模型网络参数,得到训练好的DeepLabv3+(N-S)语义分割模型;
将所述测试集中的裂缝图像输入所述训练好的DeepLabv3+(N-S)语义分割模型中,输出所述裂缝图像的二值掩膜图像,将所述二值掩膜图像输入裂缝参数计算模块计算裂缝参数,根据所述裂缝参数判断裂缝严重程度。
2.根据权利要求1所述的裂缝检测方法,其特征在于,所述将所述二值掩膜图像输入裂缝参数计算模块计算裂缝参数的步骤包括:
使用骨架提取算法来提取所述二值掩膜图像中裂缝的中轴线,选取所述中轴线上的第一像素点以及裂缝边缘上与所述第一像素点对应的第二像素点,计算所述第一像素点和第二像素点的欧式距离,得到裂缝在第一像素点处的裂缝像素宽度。
3.根据权利要求1所述的裂缝检测方法,其特征在于,所述基于DeepLabv3+网络模型搭建DeepLabv3+(N-S)深度语义分割模型的步骤包括:
修改DeepLabv3+网络模型的主干网络ResNet101的前端卷积核和修改Bottleneck瓶颈单元的残差结构,得到改进的主干网络ResNet101-S,构建改进主干网络的DeepLabv3+网络模型,在所述改进主干网络的DeepLabv3+网络模型中嵌入Non-localblock注意力机制模块,得到DeepLabv3+(N-S)语义分割模型。
4.根据权利要求3所述的裂缝检测方法,其特征在于,所述修改DeepLabv3+网络模型的主干网络ResNet101的前端卷积核的步骤包括:
使用3个3×3的卷积核替换所述主干网络ResNet101的7×7的前端卷积核,并在第一个3×3卷积核和第二个3×3卷积核之间以及第二个3×3卷积核和第三个3×3卷积核之间均插入ReLU激活函数。
5.根据权利要求3所述的裂缝检测方法,其特征在于,所述修改Bottleneck瓶颈单元的残差结构的步骤包括:
将所述Bottleneck瓶颈单元的残差结构中的3×3卷积结构替换成一个1×3和一个3×1的卷积结构。
6.根据权利要求3所述的裂缝检测方法,其特征在于,所述在所述改进主干网络的DeepLabv3+网络模型中嵌入Non-local block注意力机制模块的步骤包括:
将所述Non-localblock注意力机制模块嵌入到所述改进的主干网络ResNet101-S的输出端和空间金字塔池化模块ASPP模块的输入端之间以及主干网络ResNet101-S的输出端与解码器的输入端之间。
7.根据权利要求1所述的裂缝检测方法,其特征在于,所述获取裂缝图像,按比例将所述裂缝图像划分为训练集、验证集和测试集的步骤之后还包括:
对所述训练集、验证集和测试集中的每张裂缝图像进行轮廓标注,得到每张裂缝图像中的裂缝的标注值,用于对所述DeepLabv3+(N-S)语义分割模型进行训练。
8.根据权利要求7所述的裂缝检测方法,其特征在于,还包括:
将所述训练集中的裂缝图像输入所述DeepLabv3+(N-S)语义分割模型中进行训练,得出裂缝的预测值;根据所述预测值和所述标注值计算出损失值,根据损失值调整所述DeepLabv3+(N-S)语义分割模型的网络参数,直到验证集验证后的损失值精度达到预设条件,固定所述DeepLabv3+(N-S)语义分割模型的网络参数,得到训练好的DeepLabv3+(N-S)语义分割模型。
10.根据权利要求8所述的裂缝检测方法,其特征在于,所述根据损失值调整所述DeepLabv3+(N-S)语义分割模型的网络参数的步骤包括:
网络参数调整策略为随机梯度下降法,学习率设定为0.01,动量参数设定为0.9,学习率衰减值设定为0.0005。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210897361.5A CN115240070A (zh) | 2022-07-28 | 2022-07-28 | 一种裂缝检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210897361.5A CN115240070A (zh) | 2022-07-28 | 2022-07-28 | 一种裂缝检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115240070A true CN115240070A (zh) | 2022-10-25 |
Family
ID=83677051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210897361.5A Pending CN115240070A (zh) | 2022-07-28 | 2022-07-28 | 一种裂缝检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115240070A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117132896A (zh) * | 2023-10-23 | 2023-11-28 | 深圳英飞拓科技股份有限公司 | 一种建筑物开裂的检测与识别方法 |
-
2022
- 2022-07-28 CN CN202210897361.5A patent/CN115240070A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117132896A (zh) * | 2023-10-23 | 2023-11-28 | 深圳英飞拓科技股份有限公司 | 一种建筑物开裂的检测与识别方法 |
CN117132896B (zh) * | 2023-10-23 | 2024-05-14 | 深圳英飞拓科技股份有限公司 | 一种建筑物开裂的检测与识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114663346A (zh) | 一种基于改进YOLOv5网络的带钢表面缺陷检测方法 | |
CN111681240A (zh) | 一种基于YOLO v3与注意力机制的桥梁表面裂痕检测方法 | |
CN111950453A (zh) | 一种基于选择性注意力机制的任意形状文本识别方法 | |
CN111833322B (zh) | 一种基于改进YOLOv3的垃圾多目标检测方法 | |
CN111680705B (zh) | 适于目标检测的mb-ssd方法和mb-ssd特征提取网络 | |
CN116012291A (zh) | 工业零件图像缺陷检测方法及系统、电子设备和存储介质 | |
CN110415260B (zh) | 基于字典与bp神经网络的烟雾图像分割与识别方法 | |
CN113239865B (zh) | 基于深度学习的车道线检测方法 | |
CN111144425B (zh) | 检测拍屏图片的方法、装置、电子设备及存储介质 | |
CN112348762A (zh) | 一种基于多尺度融合生成对抗网络的单幅图像去雨方法 | |
CN117876383B (zh) | 一种基于yolov5l的公路表面条状裂缝检测方法 | |
CN115829942A (zh) | 基于非负性约束稀疏自编码器的电子电路缺陷检测方法 | |
CN115240070A (zh) | 一种裂缝检测方法 | |
CN115937518A (zh) | 一种基于多源图像融合的路面病害识别方法及系统 | |
CN116434087B (zh) | 基于goa-svm协同算法与无人机的混凝土裂缝识别方法及装置 | |
CN117541535A (zh) | 一种基于深度卷积神经网络的输电线路巡检图像检测方法 | |
CN117173154A (zh) | 玻璃瓶的在线图像检测系统及其方法 | |
CN116740572A (zh) | 一种基于改进yolox的海上船舰目标检测方法和系统 | |
CN116912144A (zh) | 一种基于大律算法与通道注意力机制的数据增强方法 | |
CN114821098A (zh) | 一种基于灰度梯度融合特征及cnn的高速路面破损检测算法 | |
CN118351316B (zh) | 一种基于深度学习的桥梁拉索表观缺陷分割方法 | |
CN116523767B (zh) | 一种结合雾浓度分类的图像去雾方法及系统 | |
CN115346185A (zh) | 一种山区城市雨天自动驾驶车道线检测方法 | |
CN118470493A (zh) | 一种基于深度强化学习的图像识别方法及系统 | |
CN117541842A (zh) | 反光条检测方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |