基于改进U-net的大坝表面混凝土裂缝图像分割方法

2024-05-14 19:20赵普谷艳昌张大伟吴云星
人民长江 2024年4期
关键词:深度学习

赵普 谷艳昌 张大伟 吴云星

摘要:大坝表面混凝土裂缝的检测与识别对大坝安全具有重要意义,为此开展了基于深度学习方法的混凝土裂缝织别方法研究。针对裂缝图像具有复杂拓扑结构和正负样本不平衡等特点,在典型U-net中嵌入了ASPP和CBAM优化模块,同时以Dice+BCE混合损失函数代替了单一交叉熵损失函数。结果表明:所创建的改进U-net在自制实例大坝裂缝图像数据集上表现优异,交并比IoU和F1分数分别为47.05%和62.99%,对比典型U-net分别提高了5.41%和5.19%,对比PSPNet分别提高了3.05%和3.31%。改进的U-net在裂缝分割任务中像素分类更精确,多尺度信息更丰富,具有良好的泛化能力和鲁棒性,可为大坝混凝土结构表面裂缝检测与识别提供更优的手段。

关键词:混凝土裂缝检测; 深度学习; 语义分割; U-net模型优化; 大坝安全

中图法分类号: TV698.1

文献标志码: A

DOI:10.16232/j.cnki.1001-4179.2024.04.033

0引 言

混凝土结构是水工建筑物的重要组成部分,由于混凝土抗拉强度低,受收缩徐变、外界温度变化、地基变形等内外因素的共同影响[1],在施工和运行阶段往往不可避免地产生各种型式的裂缝。如果不及时对裂缝进行判别和修复,随着裂缝持续发展,会使结构承载力降低,耐久度下降甚至出现渗漏等问题[2]。因此,定期检测和评估混凝土结构表面裂缝及其危害,对工程安全具有重要意義。

开展大坝混凝土结构裂缝检测与识别,是当前研究的热点和难点问题。早期裂缝检测以人工方式为主,存在工作强度大、效率低、安全性差等缺点。而较先进的无损检测方法例如超声波法、红外热成像法、断层扫描法[1]等,受仪器限制,也无法应用于大范围检测。随着计算机技术和数字图像处理技术的发展,以数字图像为基础的裂缝检测方法(如阈值分割、边缘检测和渗流模型等)展现出了高精度、非接触式和便捷直观等优势[3]。如王波等[4]设计的一种机器人廊道巡检系统中就搭载了裂缝检测模块,通过高斯背景建模和边缘检测算法自动提取裂缝轮廓进行分析;马嘉文[5]针对大坝裂缝图像噪声干扰问题,通过小波变换、阈值滤波等一系列算法处理,实现了良好的去噪效果。然而这些方法在实际应用中存在一些明显的缺陷:① 这类算法通常基于图像的底层特征,如颜色、边缘、纹理等进行分割,对光影、复杂纹理细节等噪声很敏感,难以保证裂缝提取质量;② 当裂纹宽度变化显著或与图像背景之间对比度低时,极易导致裂纹中断或消失;③ 接缝噪声前后处理程序复杂,需要大量人工参数调整,致使自动化检测的实现十分困难[6]。

深度学习方法的出现使裂缝检测技术水平迈上一个新的台阶。它的基本思想是利用多层非线性结构对数据样本进行特征学习,从而实现对数据信息的预测或分类等任务。与传统数字图像处理方法相比,深度学习可以自适应地学习和优化模型,不需要设定过多参数,并且能从图像数据中挖掘到深层特征,可以有效应对噪声干扰。在裂缝检测任务中,通过深度学习方法可以提取和融合不同背景尺寸和不同级别的特征图,显著提高裂缝检测的效率和准确性[7]。

基于深度学习的语义分割是一种将类别标签分配到图像每个像素上的方法[8],通过给裂缝和背景分别贴上正和负的标签,输出二值分割结果图,可实现混凝土表面裂缝缺陷检测。U-net是语义分割领域中的典型模型之一,最先由Ronneberger等[9]提出,因其独特的“U”型对称结构得名,起初被用于医学图像分割,得益于其优异的性能,后逐渐被应用于各种分割任务。Liu等[10]首次将U-net用于混凝土裂缝检测,相比于Cha等[11]提出的DCNN(深度卷积网络),具有更好的鲁棒性、更高的效率和识别精度。在裂缝检测应用方面,国内也有不少学者对U-net进行优化调整,取得了良好效果。瞿中等[12]在U-net网络的每个池化层后都进行一次上采样操作,将其与池化之前的卷积层进行融合,最大程度提取了原始图像细节信息和全局信息,通过与传统渗流模型在混凝土路面裂缝的检测对比,证实其具有更优效果。常惠等[13]在U-net网络中引入残差模块,加强特征传播,减少信息损失,然后引入注意力机制SE模块,增强对关键区域信息的提取,在铁路隧道裂缝数据集上达到了较高的精度和较短的运行耗时。曹锦纲等[14]也在U-net中引入了一种注意力机制AFM模块,以充分利用全局信息和增加对不同尺度裂缝的鲁棒性,所创建的ACNet在公共裂缝数据集CFD和CRACK500上,比典型U-net和传统图像处理方法裂缝定位更精确、细节更丰富。以上学者均在U-net典型网络结构上做了改进,但主要针对网络的特征提取能力,而较少关注裂缝图像本身特点。本文从裂缝的形状和分布特点出发,引入针对大坝裂缝特征提取的优化模块,拟对典型U-net网络结构进行改进研究,以期实现更优的裂缝图像分割方法,拓延大坝裂缝检测与识别技术理论。

1改进U-net

1.1典型U-net

典型U-net结构如图1所示。网络可分为左右两部分,左边部分为编码器(Encoder),对输入图像用卷积和池化层的堆叠进行4次下采样提取图像特征;右边为解码器(Decoder),对特征图进行4次上采样,每次都与左侧的特征图采取拼接(Concatenate)操作进行特征融合,最后输出分割结果。U-net可实现像素级的图像分割任务,且独特的网络结构使其可以在数据集量较小的条件下依然表现良好,是目前十分常用的人工智能图像分割算法。

1.2裂缝图像特点

与常见语义分割数据集相比,裂缝图像具有以下几个特点,通常也是分割任务中的难点:

(1) 裂缝形状曲折多变。裂缝图像复杂多变,具有不同的拓扑结构和宽度,而标准卷积只能获取单一上下文信息,无法有效同时提取细纹和宽缝特征[15],即缺乏多尺度特征提取能力。

(2) 裂缝往往贯穿整张图片。传统U-net采用3×3卷积核,感受野较小,导致全局信息提取能力不足。

(3) 前景与背景像素严重不平衡。前景像素,也就是裂缝本身的像素点,只占整张图像的一小部分,若使用传统的交叉熵损失函数(Cross Entropy Loss),会导致背景渐变主导[16],忽略较小的裂缝特征。

针对以上裂缝图像特点以及典型U-net在特征提取方面的不足之处等,本文提出引进空间金字塔空洞卷积(Atrous Spatial Pyramid Pooling,ASPP)模块和混合注意力(Convolutional Block Attention Module,CBAM)机制以加强和丰富特征提取,使用Dice Loss加交叉熵的混合损失函数以应对前景背景像素样本失衡的问题。

1.3ASPP模块

ASPP意为空洞空间卷积金字塔池化或多孔空间金字塔池化,是空洞(Atrous)卷积和空间金字塔池化(Spatial Pyramid Pooling)[17]的结合。空洞卷积是在标准卷积的基础上引进了一个膨胀率(Dilation Rate)[18],图片中相邻的像素点往往存在信息冗余,故而空洞卷积具备两个优势:一是扩大感受野,二是能够捕获多尺度信息。由于空洞卷积得到的某一层的结果中,邻近的像素是从相互独立的子集中卷积得到的,相互之间缺少依赖,因此也存在局部信息丢失和远距离信息缺少相关性的不足。

ASPP一开始在DeepLabv2[19]中提出,模块结构如图2所示。其以空间金字塔池化为框架,对于给定的输入以不同膨胀率的空洞卷积并行采样,扩大通道数,然后再通过1×1的卷积将通道数降低到预期的值,即以多个比例捕捉了图像上下文信息,提取了多尺度特征。

1.4CBAM模块

CBAM[20]是轻量级的卷积注意力模块,结合了通道注意力(Channel Attention Module,CAM)和空间注意力(Spatial Attention Module,SAM)。通道注意力让网络关注图像内容,而空间注意力则关注图像中物体的位置。在卷积过程中,给定任意一个中间特征图,CBAM将注意力沿特征图的通道和空间两个独立的维度进行映射,然后将注意力乘以特征映射,对输入特征图进行自适应特征细化。

1.5混合损失函数

损失函数(Loss Function)用来衡量预测与实际的差距程度,在模型训练过程中起监督作用。裂缝分割属于二分类问题,可采用二分类交叉熵(Binary Cross Entropy,BCE)损失函数,定义如下:

Dice Loss求交形式可以理解為mask掩码操作,固定大小的正样本区域计算的loss不会随着图片大小而变,训练更倾向于挖掘前景区域信息,而交叉熵会公平处理正负样本,这在正样本占比较小时是十分不利的。但使用单一的Dice损失函数有时会导致梯度发生很大变化,使训练出现较大波动[8]。因此,本文采用“BCE+Dice”混合损失函数,可以在保证训练稳定的条件下,很好地处理正负样本不平衡的问题。

1.6改进U-net网络结构

1.6.1数据集选择

大坝裂缝相较于常见的道路和建筑缺陷裂缝,通常宽度更细、形态更多变,并且与水压力和温度等因素密切相关,可能涉及较高的安全风险。因此,大坝裂缝检测的关键在于全面、准确地识别到已有的裂缝,不放过任何细微的、不起眼的部位。

Kaggle是全球最大的公开在线数据科学竞赛平台,包含各种内容和形式的数据集。从该平台筛选出一个与大坝裂缝十分接近的数据集,总共288组大小为512×512的RGB混凝土表面裂缝图像和对应的二值标签图,其中包含许多裂纹宽度小、形态变化多样的图像样本,部分示例样本如图4所示。通过该数据集对网络进行优化测试,可以保证在将优化后的网络模型应用于实例数据集时的有效性。

1.6.2确认网络结构

理论上ASPP和CBAM模块可以放在网络中的任一层,将两个模块以不同的数量及其组合嵌入U-net主干网络,通过所选数据集对网络进行初步训练,根据训练过程中Dice得分和Loss值变化衡量网络性能。Dice得分最高、Loss最小为最佳网络结构。

最终确定改进U-net网络结构如图5所示,在编码层的每个初始卷积后衔接一个ASPP模块,以增强特征提取的能力;由ASPP产生的特征图,除了进行下采样操作,还通过跳跃连接与对应解码层的特征图相融合,这样做是为了同时保留低阶和高阶特征,即保持尺度多样性;在编码层与解码层的过渡位置添加CBAM注意力模块,以关注重点部位而忽略多余的背景。

2模型训练

2.1数据准备

2.1.1数据增强

数据增强的目的是让有限的数据产生更多信息,以增加训练样本数量和多样性,提高模型鲁棒性和泛化能力。本文将原数据集平均分为两组,每组分别以不同的参数进行翻转、旋转、颜色抖动、对比度增强和亮度增强的操作,对样本数量进行扩充。部分增强数据示例如图6所示。

2.1.2数据划分

进行数据增强后的样本数量变为原来的6倍,一共1 728组样本和标签。在网络训练之前,将总数据的10%划分为验证集,在训练过程中实时计算Dice得分以衡量训练效果,同时防止过拟合。此外,另选30张未参与训练且具有代表性的裂缝图片作为测试集,以检验模型的鲁棒性和泛化能力。

2.2参数设置

运行环境为RTX2060GPU(6G),基于Python 3.9和开源深度学习框架Pytorch。设置Batch Size(批大小,即每次输入的图像张数)为1,Epoch(总数据的迭代轮数)为5,初始学习率为0.001,采用RMSProp优化器加速梯度下降并自适应调整学习率,上采样步骤使用计算速度相对较快的双线性插值取代转置卷积。

2.3训练结果

分别对加入了ASPP与CBAM优化模块和未加入模块的模型进行训练。训练过程中Dice得分、loss及学习率变化对比如图7~9所示,曲线均通过指数平均移动法(Exponential Moving Average,EMA)进行平滑处理。

从图7可以看出,几乎在整个训练过程中,改进U-net的Dice得分始终大于原始模型,从第4 000步开始Dice稳定在0.82左右,最终为0.836。图8为loss曲线,由于采用组合损失函数,loss无较大差异,在0.1左右上下波动。图9中,改进U-net学习率下降更快,表明模型特征提取能力更强,参数更新速度大于典型网络结构。

3模型评价

3.1评价指标

对于二分类问题,样本有正负两个类别,因此模型的预测结果和真实标签的组合有4种tp,fp,fn和tn,如表1所列。分别表示:实际为正样本预测为正样本,实际为负样本预测为正样本,實际为正样本预测为负样本,实际为负样本预测为负样本。

事实上,F1等效于Dice Coefficient。以上指标取值均在0~1之间,越接近1表明模型性能越好,其中IoU和F1为二分类语义分割中最常用的指标,能综合反映模型整体的分割效果和精度。

3.2消融试验

为验证本文所提出改进策略对模型性能提升的有效性,每次只引入一种优化方法,在原数据集和测试集上分别训练和测试模型,通过与典型U-net的比较对该方法进行评价。引入ASPP和CBAM对网络训练过程中的Dice影响曲线以及使用不同损失函数对Dice的影响如图10所示,每种优化模型在测试集的分割精度指标统计见表2。

从图10可以看出,加入ASPP的网络Dice系数稳定后为83.54%,CBAM为82.46%,相比原始网络的81.59%分别提高约2%和1%,证实加入优化模块可在一定程度上提升网络性能。在图11中,单一的损失函数在训练前期Dice波动较大,而使用混合损失函数可以明显提升网络训练稳定性。

从表2分析得知,各个改进方法对网络性能都有一定的提升效果。其中,改进后的模型在测试集上的IoU和F1均大于典型U-net。此外,通过数据增强扩充数据集也使模型的分割精度得到了提升,IoU和F1分别提高0.62%和1.2%。

3.3对照试验

为了评估改进U-net在不同方法中的优越性,本文选取了阈值分割方法和PSPNet(Pyramid Scene Parsing Network)作为对照组,通过在测试集上的分割效果对比表明深度学习方法和传统数字处理方法之间以及不同深度学习方法之间的差异性。

(1) 阈值分割。

阈值分割是一种简单常见的图像分割方法,该方法基于一个或多个阈值将图像像素划分为两个或多个组,使其在同一组中具有相似的灰度值。由于阈值分割易受图片噪声影响,阈值设置太高会导致分割结果噪点太多,而太低又不能完整体现裂缝形态,故人工为每一张测试图像调整最优阈值。

(2) PSPNet。

PSPNet同样是一种用于图像语义分割的深度学习神经网络模型[22]。该模型最大的特点在于采用了金字塔池化(Pyramid Pooling)结构,可以有效地捕获不同尺度的语义信息,从而提高分割精度。对PSPNet使用相同的数据集进行训练,基本训练参数如下:

主干特征提取网络,Mobilenet;Max Epoch,16;Batch Size,2;Loss Function,Dice;初始学习率,5×10-4;梯度优化器,Adam。

3.4评价结果

阈值分割、PSPNet、典型U-net以及改进U-net 4种方法在测试集的分割效果对比如图12所示。

由图12分析得知:在裂缝图片无阴影、噪声较少时,阈值分割方法具有不错的表现,如第5组,但当出现阴影和其他干扰时,分割图中出现较多噪点,如第3组右上角,且阈值分割由于参数固定无法同时保证粗纹和细支的完整性;PSPNet相比阈值分割效果有明显提升,很好地抑制了噪声,裂缝整体形态较完整,但细节刻画能力不足,且存在较多断点;典型U-net与PSPNet无较大差别,同样存在较多断点,并且由于U-net感受野较小,存在裂缝末端未识别的现象,如第3组;改进U-net对比前几组效果提升显著,不仅解决了噪声、断点和未识别的问题,同时细节刻画更完整,多尺度信息更丰富。

对测试集通过4种方法生成的分割图分别计算P、R、A、IoU和F1并求算术平均值,统计结果见表3。由于裂缝标签图本身存在一定误差,使得某些指标数值偏小,但从对比结果来看,PSPNet和U-net总体表现相近,各项指标均大于阈值分割,其中U-net准确率P提升9.01%,PSPNet召回率R提升10.17%,表明深度学习方法比传统图像处理算法定位更准确,抗噪声能力更强;改进U-net对比阈值分割有十分显著的提升,IoU和F1分别提高12.62%和12.01%,而对比PSPNet,IoU和F1分别提高5.53%和5.21%,表明改进U-net无论是相较于传统数字图像算法还是在同类深度学习算法间都体现了明显的优势。

4实例应用

为了验证改进U-net在实际工程应用中的性能,笔者制作了大坝工程裂缝数据集。数据来自一座土石坝和一座混凝土坝各个部位,如上游护坡、坝顶道路、溢洪道等不同程度的裂缝照片。初始的31张照片经过固定大小的裁剪后生成93张512×512的图片,用python第三方库labelme对照片中的裂缝进行手动标签绘制,生成93组裂缝图片和对应的mask标签,其中68组用数据增强方法生成408组训练数据,另外的25组用于模型测试。实例工程数据集样本示例如图13所示。

對408组样本进行模型训练,网络结构和参数设置与2.2节中相同。由于实例数据集样本数量较少,故采用迁移学习的方法,加载上文中训练好的模型初始权值和阈值,可使得网络训练收敛速度更快,并且能在一定程度上提升模型整体的泛化性能。

对25组测试图片分别用阈值分割、PSPNet、典型U-net和改进U-net做测试,分割图对比结果如图14所示。从第2~4组中可以看出,在裂纹较细、路径曲折的条件下,阈值分割和典型U-net均有模糊和中断的现象,且在第5组中典型U-net存在较多噪点;PSPNet在抗噪方面表现出良好的性能,在第5组中消除了大部分噪点,但仍然存在断点和消失的问题;改进U-net分割效果更清晰,保持了裂纹完整性,细节捕捉更全面,综合性能优于其他模型。

4种方法分割精度指标统计见表4,基本趋势与3.4节中一致。以IoU和F1为依据,分割精度排序为阈值分割<典型U-net

5结 论

本文针对混凝土结构裂缝图像特点以及典型U-net在特征提取上的不足之处,将ASPP和CBAM模块嵌入U-net主干网络中,加强和丰富了网络的特征提取能力;并用Dice+BCE的混合损失函数取代单一交叉熵损失函数,在训练稳定的条件下解决了由正负样本不平衡导致的训练效果差的问题,创建了改进的U-net混凝土裂缝图像分割识别方法。

通过自制大坝工程裂缝图像数据集对多种分割方法进行了测试,在阈值分割、PSPNet、典型U-net以及改进U-net这4种方法中,改进U-net综合性能最优,IoU和F1分别为47.05%和62.99%,对比典型U-net分别提高5.41%和5.19%,对比PSPNet分别提高3.05%和3.31%。改进U-net在裂缝图像分割任务中,像素分类更精确,多尺度信息更丰富,可在干扰条件下实现混凝土表面裂缝的有效分割与识别,拓延了裂缝检测识别技术和理论发展,对监控和评估大坝混凝土结构安全具有重要实际意义。

参考文献:

[1]温作林.基于深度学习的混凝土裂缝识别[D].杭州:浙江大学,2019.

[2]武维毓,房国忠,魏樱,等.基于数值仿真的大坝坝顶裂缝成因及危害性分析[J].人民长江,2020,51(增2):270-274.

[3]杨松,邵龙潭,郭晓霞,等.基于骨架和分形的混凝土裂缝图像识别算法[J].仪器仪表学报,2012,33(8):1850-1855.

[4]王波,赵远,刘喜泉,等.智能巡检机器人在大坝廊道运维中的应用[J].人民长江,2022,53(7):227-231.

[5]马嘉文.基于图像处理的大坝裂缝检测算法研究[D].哈尔滨:哈尔滨工程大学,2019.

[6]TANG T Z,ALLEN A,ZHANG L L,et al.Pixel-level pavement crack segmentation with encoder-decoder network[J].Measurement,2021,184:109914.

[7]KHERADMANDI N,MEHRANFAR V.A critical review and comparative study on image segmentation-based techniques for pavement crack detection[J].Construction and Building Materials,2022,321:126162.

[8]KNIG J,JENKINS M D,BARRIE P,et al.A convolutional neural network for pavement surface crack segmentation using residual connections and attention gating[C]∥2019 IEEE International Conference on Image Processing(ICIP),2019:1460-1464.

[9]RONNEBERGER O,FISCHER P,BROX T.U-net:convolutional networks for biomedical image segmentation[C]∥Medical Image Computing and Computer-Assisted Intervention:18th International Conference,2015.

[10]LIUZ 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.

[11]CHAY J,CHOI W,BUYUKOZTURK O.Deep learning-based crack damage detection using convolution neural networks[J].Computet-Aided Civil and Infrastructure Engineering,2017(8):1-18.

[12]瞿中,谢钇.基于全U网络的混凝土路面裂缝检测算法[J].计算机科学,2021,48(4):187-191.

[13]常惠,饶志强,赵玉林,等.基于改进U-Net网络的隧道裂缝分割算法研究[J].计算机工程与应用,2021,57(22):215-222.

[14]曹锦纲,杨国田,杨锡运.基于注意力机制的深度学习路面裂缝检测[J].计算机辅助设计与图形学学报,2020,32(8):1324-1333.

[15]FAN Z,LI C,CHEN Y,et al.Automatic crack detection on road pavements using encoder-decoder architecture[J].Materials,2020,13(13):2960-2982.

[16]张林,张雪利,路霖,等.基于残差U-Net网络的染色体图像分割方法[J].重庆邮电大学学报(自然科学版),2022,34(2):208-215.

[17]HE K,ZHANG X,REN S,et al.Spatial pyramid pooling in deep convolutional networks for visual recognition[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(9):1904-1916.

[18]许征波,杨煜俊.基于多任务深度学习的快速人像自动抠图[J].武汉大学学报(工学版),2020,53(8):740-745.

[19]CHEN L C,PAPANDREOU G,KOKKINOS I,et al.Deeplab:semantic image segmentation with deep convolutional nets,atrous convolution,and fully connected CRFs[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2018,40(4):834-848.

[20]WOO S,PARK J,LEE J Y,et al.CBAM:convolutional block attention module[C]∥ECCV,2018:3-19.

[21]MILLETARI F,NAVAB N,AHMADI S A.V-Net:fully convolutional neural networks for volumetric medical image segmentation[C] ∥2016 Fourth International Conference on 3D Vision (3DV).IEEE,2016:565-571.

[22]ZHAO H,SHI J,QI X,et al.Pyramid scene parsing network[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2017:2881-2890.

(編辑:郑 毅)

猜你喜欢
深度学习
从合坐走向合学:浅议新学习模式的构建
面向大数据远程开放实验平台构建研究
基于自动智能分类器的图书馆乱架图书检测
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究