基于改进DeeplabV3+和迁移学习的桥梁裂缝检测

时间:2023-09-27 17:22:05 来源:网友投稿

赵雪冰,王俊杰

中国海洋大学 工程学院,山东 青岛 266100

公路桥梁在当前的交通运输体系中占有重要的地位。对公路桥梁的检测和评价不充分,会造成许多安全隐患。裂缝是评价公路桥梁安全可靠度的重要指标。起初,细小的裂缝不会产生明显的损伤,裂缝在外力作用下会逐渐恶化。同时,空气中的水分会通过钢筋混凝土中的裂缝腐蚀,缩短和降低结构的寿命和强度。因此,裂缝检测对桥梁结构的维护、安全防护和降损具有重要的实际应用价值。裂缝检测的任务不仅是检测已经形成的明显的网状或块状裂缝,还要检测细小的裂缝。基于人工的裂缝检测方法,不仅费时费力,还存在诸多不安全因素。面对大面积桥梁评估时,该方法可操作性差,维护成本和人工成本高。

随着科学技术的发展,许多基于视觉的方法[1-3]逐渐取代了耗时、费力、主观人工检测。同时,结合无人机获取的图像[4],使桥梁裂缝检测过程更加方便和高效。如目标检测方法能够快速确定裂缝的位置,张诗慧等[5]使用RetinaNet算法对高铁无砟轨道表面裂缝进行检测,能够更好地满足实际应用的需要。然而由于裂缝通常是不规则的、细长的和连续的。目标检测方法不能准确地描述裂缝的整个区域,且目标检测方法不能提供裂缝检测所需的形状信息。而语义分割方法可以对目标进行分割,常用的方法有U-Net[6]、SegNet[7]和DeeplabV3+[8],它们的共同特点是编码-解码结构。常惠等人[9]在U-Net模型中添加SE模块,来提升重要特征,抑制无用特征。Liu等[10]在U-Net模型中插入scSE块,证明了scSE块可以提高模型的分割精度。Chen等[11]提出的改进SegNet在裂缝检测能力方面具有较强的泛化能力,并借助迁移学习方法,模型可以在训练过程中快速收敛。Chen等[12]提出了一种基于DeeplabV3+的弱夹层检测和量化方法,证明DeeplabV3+具有较强的分割能力,不易受到背景噪声的干扰。袁嘉豪等[13]基于DeeplabV3+模型,选择多种主干网络进行对比实验,验证模型在裂缝检测中有较好的检测性能。Wang等[14]基于DeeplabV3+模型进行隧道裂缝检测,通过弱监督网络进行数据集标注,降低标注成本。因此,本文将DeeplabV3+模型应用于桥梁裂缝检测,为了使模型能够重点关注像素之间的关系,将注意力机制融入DeeplabV3+中,提高模型的鲁棒性。

此外,通过语义分割方法检测裂缝,需要大量的像素级标签,标注过程耗时耗力。且桥梁裂缝样本获取较困难,由于通常要获取桥面板上部、底部和桥梁侧面裂缝图像,而桥梁底部裂缝受到光照影响,获取的裂缝图像不清晰,导致样本获取的数量较少,从而出现小样本的困境。迁移学习[15]方法能够将从源域学习到的低级特征迁移到目标域,在小规模数据集上使用迁移学习的方法训练网络模型可以获得很好的效果,能够解决数据集不足的问题。

本文创新点有以下两点:首先,基于DeeplabV3+模型进行桥梁裂缝检测,为提高模型对裂缝特征上下文的联系能力,引入ECA注意力模块和scSE注意力模块重点关注裂缝的关键部分,改善模型在小样本上检测效果差的问题;
其次,通过迁移学习的训练方法,在建立小样本桥梁裂缝数据集上进行特征提取,解决小样本对网络性能的影响。实验结果表明:本文所提模型适用于桥梁裂缝检测小样本的情形,减少样本标注的时间成本,提高模型鲁棒性。

DeeplabV3+模型凭借自身良好的准确性能和计算效率,被广泛应用于桥梁裂缝的检测任务中。DeeplabV3+模型主要由编码器和解码器两部分组成,整体网络结构如图1所示。

图1 DeeplabV3+模型网络结构Fig.1 Structure of DeeplabV3+model

编码器包含骨干网络和空洞空间金字塔池化(atrous spatial pyramid pooling,ASPP)模块两部分,骨干网络采用Xception[16]进行特征提取,输入图像通过骨干网络进行下采样后生成高级语义特征图。ASPP模块用于获取输入特征图的多尺度信息,该模块应用了空洞卷积,通过用不同空洞率高效、准确地提取多尺度信息。该模块包含一个尺寸为1×1的卷积和三个尺寸为3×3的空洞卷积,当输入特征图的空间分辨率与输出的空间分辨率的比值,即输出步长为16时,三个空洞卷积的空洞率分别为6、12、18,另外采用全局平均池化得到图片级别特征,最后将五种特征进行通道维拼接,充分融合多尺度信息。

在解码器结构中,首先采用双线性插值对编码器输出的特征图通过4倍上采样,然后将具有相同空间分辨率的低层特征进行级联。由于低层特征包含更多的空间信息,低层特征与高层特征的融合提高了分割性能,同时应用1×1卷积减少底层特征的通道数量。最后,使用一些3×3卷积来优化特征后,使用双线性插值的4倍上采样来产生预测结果。

为生成细粒度的语义分割,改进DeeplabV3+依然采用编码-解码结构。由于裂缝分割任务主要涉及裂缝和背景两个标签,语义信息相对简单,因此选择更容易优化的ResNet-50[17]替代Xception作为骨干网络。另外,裂缝分割任务更加关注裂缝的颜色和位置等细节特征,对小裂缝也需要较好的分割效果。因此,为增加模型对裂缝细粒度特征的感知,增强对小目标的检测效果,同时解决小样本数据集上的检测效果差的问题,提高对上下文的联系能力,对模型进行以下优化:(1)在ResNet-50中引入ECA模块;
(2)在解码器结构中的批处理规范化层和ReLu层之间引入scSE模块;
(3)基于迁移学习方法与改进的DeeplabV3+模型相融合。改进后的模型如图2所示。

图2 改进DeeplabV3+模型网络结构Fig.2 Structure of improve DeeplabV3+model

2.1 引入高效通道注意力(ECA)模块

DeeplabV3+模型通过ASPP模块能够获得多尺度信息,但是通过对各维度特征进行简单拼接,无法获取丰富的上下文信息,对于裂缝这种小目标特征提取是不足的。因此在编码器结构中加入高效通道注意力(ECA)模块[18],以提高上下文的联系能力。ECA模块是对SENet模块[19]的改进,有效避免了降维产生的让通道和维度权值之间没有直接联系的弊端。如图3所示,ECA模块主要由三部分组成。首先,通过全局平均池化生成大小为1×1×C的特征图;
其次,根据公式(1)计算自适应的卷积核尺寸:

图3 ECA注意力模块的结构示意图Fig.3 Structure of ECA attention module

其中γ和b分别为2和1。最后,将卷积核尺寸应用到一维卷积中,得到每个通道的权值。该模块通过一维卷积可以在保持性能的同时降低模型的复杂度,增加通道之间的信息交互,避免降维,有效地学习通道信息。

2.2 引入scSE注意力模块

桥梁裂缝检测任务对裂缝的边缘特征和位置特征等细节信息关注度较高,且某些裂缝与背景差异不明显,需要增强显著性特征,抑制无用特征。因此,在解码器结构中的批处理规范化层和ReLu层之间引入scSE注意力模块[20]。如图4所示,scSE注意力模块包括基于通道注意机制的空间挤压和通道激励(cSE)注意力模块和基于空间注意机制的通道挤压和空间激励(sSE)注意力模块。cSE注意力模块的计算过程是输入特性映射F=[f1,f2,…,fC]生成一个Z向量(1×1×C)后通过全局平均池化,然后经过全连接层和ReLU层,再次通过全连接层,最后通过Sigmoid层得到激活值,它可以代表重要的渠道而忽略不重要的渠道。过程可表示为公式(2):

图4 scSE注意力模块示意图Fig.4 Structure of scSE attention module

sSE注意力模块的计算过程是输入特征映射F=[f1,1,f1,2,…,fi,j,…,fH,W]通过卷积Wsq×F生成q向量,然后通过sigmoid层得到激活值。过程可表示为公式(3):

2.3 迁移学习方法

在进行模型训练时,由于实验平台配置的限制,批次大小只能设置为2或4。当进行批量归一化[21]操作时,批次大小设置较小会导致模型错误率很大[22]。本文采用的迁移学习训练方法能够解决目标桥梁裂缝数据集少,且批次大小较小(批次大小为4)的问题。迁移学习的过程如图5所示。第一阶段在PASCAL VOC数据集上初始化模型参数。第二阶段不仅冻结ResNet-50的批量归一层,而且冻结ASPP模块和解码器结构的批量归一层,进行特征迁移期间批量归一化层不更新,能够减少模型错误率并保证迁移效果。同时,通过在ALL_CRACK数据集上训练,对预先训练好的模型参数进行微调。最后阶段,在目标桥梁裂缝数据集上再次执行第二阶段操作。

图5 迁移学习方法训练过程Fig.5 Transfer learning method training process

通过迁移学习,本阶段产生了两种数据集,分别为供迁移学习使用的源域数据集和目标域数据集。源域数据集中包含两个数据集,一个为Pascal VOC公共数据集,用于初始化模型参数;
另一个图像选取自公共裂缝数据集[23-27],共2 524幅图像,其中包含分辨率为227×227的2 020幅图像和448×448的504幅图像,用于迁移裂缝的通用特征。为了保证迁移效果能够达到预期的效果,本数据集包含了建筑物和道路场景中的各种裂缝,如图6所示,这些裂缝的分布、形状、宽度和大小都不同。裂缝标注工具采用Labelme[28],对图像中裂缝的目标类型、点坐标、裂缝图像的宽和高等信息进行标注,Labelme的标注流程及注释可视化如图7所示。本研究中数据集格式为PASCAL VOC数据集格式,最后只需要用Python程序将Json注释文件转换PASCAL VOC数据集格式,其中背景像素用0表示,裂缝像素用1表示。此数据集名为ALL_CRACK数据集。

图6 源域桥梁裂缝样本Fig.6 Bridge crack sample in Source area

图7 Labelme标注流程及注释可视化Fig.7 Labelme annotation process and annotation visualization

目标域数据集来源于Original_Crack_DataSet_1024_1024[29],主要是公路桥梁裂缝图像,样本实例如图8所示。为了提高训练速度和减少权重,将分辨率为1 024×1 024的图像裁剪为448×448大小,随机选取510张图像。注释方法与第一个数据集的方法类似。训练集、验证集和测试集以大约6∶2∶2的比例随机划分,训练集包括306张图片,验证集包括102张图片,测试集包括102张图片。

图8 目标域桥梁裂缝样本Fig.8 Bridge crack sample in target area

第三部分数据集用于研究迁移学习对样本标注成本的影响。将本文源域和目标域中的裂缝数据集进行整合,将源域的2 524张裂缝数据集加到目标域数据集中的训练集中,组成一份包含3 034张图片的数据集。训练集包括2 830张图片,验证集包括102张图片,测试集包括102张图片。

为了定量地证明本文所提方法的有效性,将改进DeeplabV3+模型与典型语义分割模型的训练与测试结果进行对比。实验平台软硬件信息如表1所示。

表1 实验平台配置Table 1 Experimental platform configuration

4.1 评价指标

为了准确地评估该方法的分割性能,需要考虑推理时间和精度。推理时间被认为是语义分割的重要指标之一,因为在模型部署后的推理阶段,知道测试模型所需的时间是有意义的。通过有效评估设备与模型之间的匹配关系,为模型在各种场景下的应用提供有效信息。

在精度方面,采用平均交并比(MIoU)代替传统的机器学习分类任务的评估标准,如召回率和F1值。MIoU通常被用作语义分割的标准度量。符号的象征意义定义如下:假设n+1类数据集的数量(从0到n,其中0通常代表背景类别)和Pij代表所有像素数量中属于i类别,但是被预测为j类别的个数。同样,Pii和Pji有相似的含义。

本文中类别只有背景和裂缝两类,其中0表示背景类别,1表示裂缝类别。如图9所示,IoU为真值与预测值的交集与并集之比,可表示为公式(4):

图9 预测值与真值关系图Fig.9 Relationship between predicted value and true value

MIoU表示两类IoU值之和,再取其平均值,可表示为公式(5):

4.2 损失函数

由于本文只涉及两种类别,因此训练模型采用的是二分类交叉熵损失函数,该损失函数收敛较快,能够描述真实结果的概率分布与预测结果概率分布之间的差异,损失值越小,模型错误率越小。损失函数公式如公式(6)所示:

式中,y为标签中对应像素x的真实值,a表示网络的预测值,n为图像中的像素总数。

4.3 训练细节

所有模型的超参数如表2所示,DeeplabV3+模型采用二分类交叉熵损失函数,U-Net模型采用Lovasz损失函数来比较模型预测值与真实值的概率分布。随着模型的训练,绘制各模型在图像验证过程中的MIoU度量值,比较各模型的性能。

表2 模型的超参数Table 2 Model hyperparameters

4.4 不同模型的消融实验

将本文改进的模型与典型语义分割模型U-Net、SegNet进行对比,五种模型均用ResNet-50作为主干网络提取裂缝特征,实验的精度和推理时间指标见表3。本文提出的模型精度指标均高于其他三种网络,其MIoU较SegNet、U-Net、DeeplabV3+模型分别提高了9.04、6.75、3个百分点。计算效率略低于其他模型。

表3 不同模型的检测性能Table 3 Detection results of different models

4.5 改进DeeplabV3+的消融实验

首先,应用ResNet101[17]、MobilenetV2[30]、Xception[16]替代DeeplabV3+骨干网络进行消融实验。为了说明模型精度和推理时间之间的权衡,图10比较了各种模型的精度和推理时间。以ResNet-50作为骨干网络时,DeeplabV3+分割准确率最高。当采用MobilenetV2作为编码器架构时,参数个数较少,训练和推理速度最快,但精度略低于DeeplabV3+(ResNet-50)。

图10 各种语义分割模型检测结果Fig.10 Detection results of various semantic segmentation models

另一方面,通过在DeeplabV3+(ResNet-50)中添加注意力模块进行消融实验。实验结果表明,注意力模块的添加并没有降低模型的推理速度。图11展示了注意力模块提高模型精度的效果。如果只在模型中加入ECA或scSE模块,模型的精度会略有提高或降低。但添加两个模块后,模型的分割精度提高了0.5个百分点。

图11 是否添加注意力模块检测结果Fig.11 Detection results whether adding attention module

4.6 运用迁移学习的消融实验

为了展示迁移学习方法带来的提升效果,同时突出本文提出的迁移学习训练得到的模型良好性能,进行了对比实验。模型的性能总结如图12所示,所有模型的MIoU值在训练过程的前10个阶段快速增长,在训练过程的后期平稳收敛。使用迁移学习方法训练后比原始DeeplabV3+(ResNet-50)模型的准确率提高了2.5个百分点。此外,应用迁移学习方法后,在较短的训练时间内可以达到较高的准确性。综上所述,实验结果表明,迁移学习方法可以提高DeeplabV3+模型的分割精度。

图12 DeeplabV3+和迁移学习的检测性能Fig.12 Detection of DeeplabV3+and transfer learning

本文通过消融实验来寻找一种最适合该检测任务的迁移学习方法。通过比较两种迁移学习策略。实验结果如表4所示,当源任务向目标任务迁移更多相似的知识时,目标任务训练的模型会有更高的性能。此外,迁移学习在两个不同数据集上的精度比在一个数据集上略有提高。综合考虑了推理时间和准确性的评价指标,本文提出的方法在推理时间小幅度减少的情况下,准确性显著提高。

表4 不同迁移学习阶段的检测结果Table 4 Detection of different transfer learning stages

4.7 检测结果可视化分析

除了基于精度和推理时间的性能评估之外,在测试集上评估可视化的分割结果也是有必要的。在本研究中,测试集图片用来测试模型的分割效果。在预测结果中选取了不同裂缝分布走向的预测结果来分析本文方法裂缝检测的效果。从图13的预测结果可以看出,U-Net和DeeplabV3+两种模型对裂缝都有很好的分割效果,特别是对宽度较大、特征明显的裂缝。然而,这两个模型受背景噪声的影响较大,如图13中前三行都存在误检的情况,把周围孔洞识别为裂缝,并且图13中后三行增加了冗余的裂缝信息。因此,这两种模型在裂缝场景中对背景的鲁棒性较差。在原有的DeeplabV3+模型中加入注意力模块进行改进后,误检的情况在一定程度有所改善,但分割结果仍然达不到满意的结果。在运用迁移学习训练改进的Deeplabv3+后,迁移了更多其他类型裂缝的特征。图13中裂缝边缘的细节分割效果得到了很大的改善,预测的裂缝结果与真值非常吻合。该模型几乎不受背景的影响,没有明显的多余裂缝信息,具有较强的鲁棒性。因此,本文提出的桥梁裂缝检测方法是可行的。

图13 不同方法的裂缝预测结果对比Fig.13 Comparison of fracture prediction results of different methods

4.8 迁移学习训练方法的影响分析

前面的部分研究了本文提出的裂缝检测方法在分割性能方面的有效性,本节定量分析迁移学习降低的标注成本。通过是否应用迁移学习进行DeeplabV3+模型训练实验,如表5所示,为达到检测精度相近,未使用迁移学习训练模型则需要近十倍的训练集数量。因此,应用迁移学习训练可以节省大量标注样本的工作量。

表5 训练模型所需的样本对比Table 5 Comparison of samples required for training model

同时,在实际检测裂缝项目中,收集场景中的510张图片可能仍然比较困难,使用不同数量的训练样本作为迁移学习中目标域数据集中的训练集进行实验,以此试图在应用迁移学习训练改进的DeeplabV3+模型时,估计出最低的样本要求,并且提供一个参考标准。实验结果如图14所示,训练样本越少,迁移学习方法的效果就越明显,虽然随着训练样本数量的增多,但是精度的差距越来越小。当训练样本数超过200张时,模型的分割精度增长趋势较小,分割精度在93.26%到93.3%区间;
当训练样本小于100张时,分割精度为93%,精度有稍微的降低,但是训练样本数量能减少一半。因此,建议训练样本数量为100到200张,训练样本最小数量为100张。

图14 训练样本与精度之间的关系Fig.14 Relationship between training samples and accuracy

本文提出了一种使用迁移学习训练改进DeeplabV3+模型检测桥梁裂缝的方法。该方法使用空间注意力模块和通道注意力模块分别捕获裂缝图像中空间和通道的全局依赖关系,以提高DeeplabV3+模型的鲁棒性,进而通过迁移学习的训练方法以实现在小样本数据集上获取更高的精度,进而降低标注成本,提高工作效率。消融实验结果表明,注意力模块能有效捕捉上下文信息,提高模型的性能,能达到91.34%的MIoU,提高0.5个百分点的精度。通过迁移学习方法训练改进的DeeplabV3+模型,分割精度达到了93.3%,较原始的DeeplabV3+提高了3个百分点。此外,该方法受背景噪声或类不平衡的影响较小,具有较好的鲁棒性。本文提出的方法在提高模型性能的同时,解决了小样本训练的问题和像素级标注成本高问题。相比直接训练模型,在标注成本上可以节省10倍的时间,大幅提高工作效率;
另外实验结果显示应用迁移学习方法训练改进的DeeplabV3+模型需要100到200张训练样本即可获得较高的检测效果。在将来,一方面对模型进行进一步优化,提高模型对裂缝边缘和细小裂缝的分割能力,提高模型的泛化能力。另一方面,为了提高在各种实际场景中的泛化能力,将更多受光照、遮挡等因素影响的图像将扩展到当前的数据集。

猜你喜欢注意力精度桥梁让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09分析误差提精度中学生数理化·八年级物理人教版(2019年12期)2019-05-21手拉手 共搭爱的桥梁湖南教育·A版(2019年4期)2019-05-10句子也需要桥梁小学生学习指导(低年级)(2019年4期)2019-04-22基于DSPIC33F微处理器的采集精度的提高电子制作(2018年11期)2018-08-04“扬眼”APP:让注意力“变现”传媒评论(2017年3期)2017-06-13高性能砼在桥梁中的应用山东工业技术(2016年15期)2016-12-01A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21GPS/GLONASS/BDS组合PPP精度分析测绘科学与工程(2016年5期)2016-04-17改进的Goldschmidt双精度浮点除法器电子设计工程(2015年3期)2015-02-27

推荐访问:裂缝 迁移 桥梁