摘要
针对主流深度学习裂缝分割算法消耗大量计算资源、传统图像处理方法检测精度低、丢失裂缝特征等问题,为了实现对混凝土裂缝的实时检测和在像素级水平上分割裂缝,提出一种基于轻量级卷积神经络M-Unet的裂缝语义分割模型,首先对MobileNet_V2轻量网络进行改进,修剪其网络结构并优化激活函数,再用改进的MobileNet_V2替换U-Net参数量巨大的编码器部分,以实现模型的轻量化并提升裂缝的分割效果。构建包含5 160张裂缝图像的SegCracks数据集对提出方法进行验证,试验结果表明:优化后的M-Unet裂缝分割效果优于U-Net、FCN8和SegNet等主流分割网络和传统图像处理技术,获得的IoU_Score为96.10%,F1_Score为97.99%。与改进前U-Net相比,M-Unet权重文件大小减少了7%,迭代一轮时间和预测时间分别缩短了63.3%和68.6%,IoU_Score和F1_Score分别提升了5.79%和3.14%,并且在不同开源数据集上的交叉验证效果良好。表明提出的网络具有精度高、鲁棒性好和泛化能力强等优点。
在混凝土自身材料特性影响及多重因素作用下,混凝土结构服役期间会不可避免地产生裂缝。裂缝是混凝土结构病害的一种初期表现,若初期裂缝得不到即时修补,在外力的作用下,裂缝的长度、宽度、深度会不断地增加,使得混凝土构件的有效截面面积减小,承载力降低,继而可能会导致事故的发
深度学习(Deep Learning,DL)算法具有强大的特征提取能力,早期受限于计算机硬件设备的性能而没有得到普遍的应
上述网络模型均取得了较好的裂缝分割效果,但所需的计算量大、缺乏对裂缝分割速度的考虑,在裂缝检测量巨大和设备计算资源有限的前提下,难以满足裂缝检测实时性的要求。提出一种结合改进的MobileNet_V2轻量网络和U-Net网络的裂缝语义分割模型M-Unet,利用改进的MobileNet_V2网络替换U-Net网络的下采样部分,减少参数量,达到网络轻量化的效果,并设置多组对比实验以验证方法的有效性。
图像采集于已投入使用的包括桥梁、挡土墙、大坝和隧道等各种混凝土结构,经过一周的采集,共计采集到1 226张分辨率为4 032×3 024的三通道RGB原始混凝土裂缝图像。为了让网络学习到更多不同背景噪声条件下的裂缝特征,反映混凝土结构在服役期间所处的真实环境,采集到的裂缝图像包含了不同时间段、不同光照条件、不同污渍情况、不同清晰度等情况的图像,采集到的部分裂缝图像如

图1 混凝土裂缝图像
Fig. 1 Image of concrete cracks
(a) 傍晚 (b) 阴影 (c) 污渍 (d) 模糊
从1 226张裂缝图像中挑选出250张效果较好的裂缝图像,利用语义分割标注软件Labelme对250张裂缝图像进行标注,标注过程如

图2 混凝土裂缝标注过程
Fig. 2 Labeling process of concrete cracks
对标注后的裂缝图像进行切分,将每一张裂缝图像切分成分辨率大小为512×512的不重叠区域,并从中剔除缺乏裂缝特征的图像。使用Labelme标注的图像会生成记录标注过程中关键点位置信息的json文件,但json文件并不能作为裂缝语义分割网络训练所需的直接数据,为了将其用于训练,通过编写的Python脚本将json文件中的位置信息转换为可直接训练的掩码位图GroundTruth图像,

图3 已标注的裂缝图像
Fig. 3 Labeled crack images
对标注好的裂缝图像进行数据增强,使用数据扩增工具Augmentor对裂缝数据集扩增操作,如旋转、放大、扭曲等,最终得到5 160张带有掩码位图的裂缝图像,将数据集命名为SegCracks,将SegCracks按7∶2∶1划分成训练集、验证集和测试集。
MobileNet_V
一是对网络结构层进行修剪,减少线性瓶颈结构bottleneck的重复次数,以减少网络复杂度并且进一步轻量化模型,改进后的MobileNet_V2网络结构如
输入 | 操作 | 扩展率t | 特征矩阵深度c | 重复次数n | 步距s |
---|---|---|---|---|---|
22 | Conv2d | 32 | 1 | 2 | |
11 | Bottleneck | 1 | 16 | 1 | 1 |
11 | Bottleneck | 6 | 24 | 2 | 2 |
5 | Bottleneck | 6 | 32 | 2 | 2 |
2 | Bottleneck | 6 | 64 | 3 | 2 |
1 | Bottleneck | 6 | 96 | 2 | 1 |
1 | Bottleneck | 6 | 160 | 2 | 2 |
| Bottleneck | 6 | 320 | 1 | 1 |
| Conv2d×1 | 1 280 | 1 | 1 | |
| Avgpool7×7 | 1 | |||
1×1×1 280 | Conv2d1×1 | 1 000 |
二是优化了原始网络的激活函数。激活函数是神经网络处理非线性问题的关键,在MobileNet_V2网络中使用的是ReLU6激活函数,函数图像如
(1) |
式中:α为偏移量,默认值为0.01。

(a) ReLU6

(b) LeakeyReLU
图4 原激活函数和改进的激活函数
Fig. 4 Original and improved activation function
U-Ne

图5 U-Net网络结构
Fig. 5 Network structure of U-Net
U-Net网络的下采样部分通常是参数量很大的VGG16网络,在裂缝分割任务中会消耗大量的计算资源,难以满足在实际工程应用中的实时性要求。轻量级卷积神经网络MobileNet_V2的模型参数量仅为VGG16网络的1/41,为了进一步降低对设备性能的要求和提高裂缝语义分割速度,对U-Net网络进行优化,采用改进后MobileNet_V2网络替换U-Net网络的下采样部分,以实现模型的轻量化、减少计算复杂度并提高裂缝的语义分割效果,将优化后的轻量级语义分割网络命名为M-Unet。
实验硬件环境为第10代英特尔处理器i7-10700,32 GB的运行内存,NVIDIA GeForce RTX 2060显卡,显存为6 GB。软件环境为64位Windows 10操作系统,使用高级程序设计语言Python,在深度学习框架Pytorch下运行。
实验使用的数据集为SegCracks数据集,经过超参数的调优,最终选取批量大小为4、Adam自适应学习率优化器和指数衰减学习率的组合。共设置4组实验:第1组实验为对比3种损失函数,选取1种最适用于裂缝语义分割任务的损失函数;第2组实验是对提出的M-Unet网络进行迭代训练,通过多种指标对网络的性能进行分析;第3组实验是将M-Unet网络与3种主流的深度学习语义分割网络和传统图像处理方法的裂缝分割结果进行对比分析,以验证提出方法的有效性;第4组实验是为验证网络的泛化能力,在CF
通常情况下,单一的准确率评判标准不一定能全面反映网络的裂缝分割效果,为更加全面准确地评估网络性能而引入混淆矩阵。混淆矩阵是一种可视化工具,其中每一行表示网络预测值,每一列表示真实值,通过将网络的预测结果和真实结果放在同一个表中,混淆矩阵能清楚地表示出每个类别识别正确和错误的数量,如
混淆矩阵 | 真实值 | ||
---|---|---|---|
裂缝 | 背景 | ||
预测值 | 裂缝 | TP | FP |
背景 | FN | TN |
由混淆矩阵可以定义裂缝语义分割网络的重要评价指标,包括交并比(IoU)、精确率(Precision)、召回率(Recall)和F1_Score,其值越高,表示网络的裂缝语义分割越好、综合性能越优,计算公式如式(2)~
(2) |
(3) |
(4) |
(5) |
式中:TP、FP、FN分别为
损失函数用于衡量预测值和真实值之间的误差,其决定了网络的训练方法,在网络训练优化过程中起指导性作用,可通过损失函数的反馈来调整和改进模型的权重系数。第1组实验是对比语义分割领域常用的Dice Loss、BCE Loss和BCEWithLogits Loss损失函数的性能,在其余参数相同的情况下,经过10轮的迭代,3种损失函数的训练集损失曲线如

图6 训练集损失曲线
Fig. 6 Loss curves of training set

图7 验证集损失曲线
Fig. 7 Loss curves of verification set
采用构建的SegCracks数据集对搭建的M-Unet网络进行训练,经过50次迭代后,网络损失值变化曲线如

图8 损失值变化曲线
Fig. 8 Variation curves of loss value

图9 IoU_Score变化曲线
Fig. 9 Variation curves of IoU_Score

图10 F1_Score变化曲线
Fig. 10 Variation curves of F1_Score
数据集 | Loss | IoU_Score/% | F1_Score/% |
---|---|---|---|
训练集 | 0.134 9 | 97.34 | 98.65 |
验证集 | 0.200 7 | 96.10 | 97.99 |
将搭建的M-Unet网络与U-Net、FCN8和SegNet主流语义分割网络模型进行对比分析,采用建立的数据集进行训练,经过50次迭代后4种网络的评价指标如
网络 | 数据集 | Loss | IoU_Score/% | F1_Score/% | 预测速度/(s/张) |
---|---|---|---|---|---|
FCN8 | 训练集 | 0.378 5 | 90.79 | 95.14 | 1.577 |
验证集 | 0.563 5 | 87.10 | 93.05 | ||
SegNet | 训练集 | 0.160 5 | 94.05 | 96.92 | 0.482 |
验证集 | 0.317 5 | 89.56 | 94.43 | ||
U-Net | 训练集 | 0.158 1 | 94.40 | 97.10 | 0.672 |
验证集 | 0.315 6 | 90.31 | 94.85 | ||
M-Unet | 训练集 | 0.134 9 | 97.34 | 98.65 | 0.211 |
验证集 | 0.200 7 | 96.10 | 97.99 |

图11 权重文件大小及迭代时间
Fig. 11 Weight file size and iteration time
由
除与几种主流深度学习语义分割网络进行对比外,还将传统图像处理方法中基于Prewitt算子、Canny算子、Sobel算子3种边缘检测方

图12 不同方法语义分割结果
Fig. 12 Semantic segmentation results of different methods
为进一步验证网络的性能,在CFD、CRACK500和GAPS384三个开源数据集上进行交叉验证。3个数据集上包含多种不同背景,不同噪声和不同形态特征的裂缝,契合混凝土结构服役运营期间所处的实际环境。M-Unet网络在3种不同数据集上的模型评价指标如
数据集 | IoU_Score/% | F1_Score/% |
---|---|---|
CFD | 98.94 | 99.49 |
CRACK500 | 97.20 | 98.58 |
GAPS384 | 98.90 | 99.04 |
针对混凝土结构裂缝检测量大、噪声干扰多和检测时间较长等问题,提出M-Unet轻量级裂缝语义分割网络,实现了对混凝土裂缝图像在像素级上的分类,并进行多组对比实验,得出以下结论:
1)构建包含5 160张裂缝图像的SegCracks数据集,并基于此训练集对M-Unet网络迭代优化,优化后的M-Unet网络获得IoU_Score为96.10%,F1_Score为97.99%,对裂缝的分割效果优于主流语义分割网络U-Net、FCN8和SegNet,且在保持高检测精度的同时大幅降低模型权重文件体量和减少裂缝分割时间。
2)M-Unet通过将改进MobileNet_V2轻量级网络替换U-Net的编码器部分,与原始U-Net相比,在实现模型轻量化的同时提高裂缝的分割精度,使得权重文件大小减少了7%,迭代一轮时间缩短63.3%,预测时间缩短68.6%,在验证集上获得的IoU_Score和F1_Score分别提升5.79%和3.14%,证明了改进方法的有效性。
3)与传统的图像处理方法相比,提出的M-Unet网络对混凝土裂缝语义分割具有更强的抗噪性,且裂缝分割结果连续性好,边缘清晰,很好地契合了裂缝的实际走向和形状。
4)将M-Unet网络在CFD、CRACK500和GAPS384三个开源数据集上进行交叉验证,获得的IoU_Score均达到了97%以上,F1_Score均达到了98%以上,表明搭建的网络具有精度高、鲁棒性好和泛化能力强等优点。
参考文献
LI Y, ZHANG J H, GUAN Z G, et al. Experimental study on the correlation between crack width and crack depth of RC beams [J]. Materials, 2021, 14(20): 5950. [百度学术]
舒江鹏, 李俊, 马亥波, 等. 基于特征金字塔网络的超大尺寸图像裂缝识别检测方法[J]. 土木与环境工程学报(中英文), 2022, 44(3): 29-36. [百度学术]
SHU J P, LI J, MA H B, et al. Crack detection method based on feature pyramid network for super large-scale images [J]. Journal of Civil and Environmental Engineering, 2022, 44(3): 29-36. (in Chinese) [百度学术]
DONG J X, LIU J H, WANG N N, et al. Intelligent segmentation and measurement model for asphalt road cracks based on modified mask R-CNN algorithm [J]. Computer Modeling in Engineering & Sciences, 2021, 128(2): 541-564. [百度学术]
ZHANG L X, SHEN J K, ZHU B J. A research on an improved Unet-based concrete crack detection algorithm [J]. Structural Health Monitoring, 2020, 20(4): 1864-1879. [百度学术]
ZHAO Z Q, ZHENG P, XU S T, et al. Object detection with deep learning: A review [J]. IEEE Transactions on Neural Networks and Learning Systems, 2019, 30(11): 3212-3232. [百度学术]
CHA Y J, CHOI W, SUH G, et al. Autonomous structural visual inspection using region-based deep learning for detecting multiple damage types [J]. Computer-Aided Civil and Infrastructure Engineering, 2018, 33(9): 731-747. [百度学术]
胡文魁, 邓晖, 付志旭, 等. 基于全卷积神经网络的桥梁裂缝分割和测量方法[J]. 工业建筑, 2022, 52(4): 192-201, 218. [百度学术]
HU W K, DENG H, FU Z X, et al. Bridge crack segmentation and measurement method based on full convolutional neural network [J]. Industrial Construction, 2022, 52(4): 192-201, 218. (in Chinese) [百度学术]
李良福, 马卫飞, 李丽, 等. 基于深度学习的桥梁裂缝检测算法研究[J]. 自动化学报, 2019, 45(9): 1727-1742. [百度学术]
LI L F, MA W F, LI L, et al. Research on detection algorithm for bridge cracks based on deep learning [J]. Acta Automatica Sinica, 2019, 45(9): 1727-1742. (in Chinese) [百度学术]
LIU Z Q, CAO Y W, WANG Y Z, et al. Computer vision-based concrete crack detection using U-net fully convolutional networks [J]. Automation in Construction, 2019, 104: 129-139. [百度学术]
REN Y P, HUANG J S, HONG Z Y, et al. Image-based concrete crack detection in tunnels using deep fully convolutional networks [J]. Construction and Building Materials, 2020, 234: 117367. [百度学术]
XUE Y D, LI Y C. A fast detection method via region-based fully convolutional neural networks for shield tunnel lining defects [J]. Computer-Aided Civil and Infrastructure Engineering, 2018, 33(8): 638-654. [百度学术]
王森, 伍星, 张印辉, 等. 基于深度学习的全卷积网络图像裂纹检测[J]. 计算机辅助设计与图形学学报, 2018, 30(5): 859-867. [百度学术]
WANG S, WU X, ZHANG Y H, et al. Image crack detection with fully convolutional network based on deep learning [J]. Journal of Computer-Aided Design & Computer Graphics, 2018, 30(5): 859-867. (in Chinese) [百度学术]
SANDLER M, HOWARD A, ZHU M L, et al. MobileNetV2: Inverted residuals and linear bottlenecks [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, UT, USA. IEEE, 2018: 4510-4520. [百度学术]
朱苏雅, 杜建超, 李云松, 等. 采用U-Net卷积网络的桥梁裂缝检测方法[J]. 西安电子科技大学学报, 2019, 46(4): 35-42. [百度学术]
ZHU S Y, DU J C, LI Y S, et al. Method for bridge crack detection based on the U-Net convolutional networks [J]. Journal of Xidian University, 2019, 46(4): 35-42. (in Chinese) [百度学术]
LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42(2): 318-327. [百度学术]
YANG F, ZHANG L, YU S J, et al. Feature pyramid and hierarchical boosting network for pavement crack detection [J]. IEEE Transactions on Intelligent Transportation Systems, 2020, 21(4): 1525-1535. [百度学术]
EISENBACH M, STRICKER R, SEICHTER D, et al. How to get pavement distress detection ready for deep learning? A systematic approach [C]//2017 International Joint Conference on Neural Networks (IJCNN). Anchorage, AK, USA. IEEE, 2017: 2039-2047. [百度学术]
DORAFSHAN S, THOMAS R J, MAGUIRE M. Comparison of deep convolutional neural networks and edge detectors for image-based crack detection in concrete [J]. Construction and Building Materials, 2018, 186: 1031-1045. [百度学术]
CHEN X L, LI J, HUANG S W, et al. An automatic concrete crack-detection method fusing point clouds and images based on improved otsu's algorithm [J]. Sensors, 2021, 21(5): 1581. [百度学术]