基于DeepLabv3+的轻量化路面裂缝检测模型
1 引言
裂缝作为常见的路面病害种类之一,对道路的性能、寿命及行车安全构成严重的潜在威胁。因此,及时、高效地检测路面裂缝并进行修复,对于保证交通运输质量、节约道路养护成本具有重要意义。早期的路面裂缝检测通过人工完成,费时费力、效率低,检测准确率依赖于专业检测人员的经验与知识。基于计算机视觉的路面裂缝自动检测方法可大幅度降低人力、时间成本,提高自动化水平。如何高效、准确、智能地检测路面裂缝已成为我国公路养护管理的热点问题[1]。
早期的路面裂缝自动检测方法主要基于数字图像处理技术,如边缘检测法[2]、阈值分割法[3]、小波变换法[4]及区域生长法[5]等。这类方法利用机器完成裂缝检测,提高检测效率的同时避免产生人为误差,促进了路面裂缝检测技术的进步。但这些方法对阴影、光照及路面污渍等环境因素较敏感,鲁棒性不足,在实际应用中具有较大的局限性。
随着计算机视觉与深度学习的发展,卷积神经网络(CNN)在目标检测[6-7]及图像分割[8-9]领域中体现出巨大的优越性。CNN应用于裂缝检测时,主要分为两类,一类是以YOLO、SSD和Faster RCNN等为代表的目标检测方法,这类方法通过矩形检测框标记裂缝位置,并注明裂缝类别。罗晖等[10]通过引入Focal损失函数,使用深度可分离卷积替代模型主干特征提取网络中的普通卷积,构建改进型YOLOv4轻量级神经网络模型,并借助迁移学习思想训练模型,在提高检测速度的同时检测准确率也有所提升。Hacıefendioğlu等[11]利用两阶段(two stage)检测网络模型Faster RCNN识别混凝土路面裂缝,并研究不同拍摄方式、光照和天气条件对模型检测效果的影响。孙朝云等[12]为提高SSD网络模型对路面裂缝分类和定位的准确率,在模型的特征提取结构中使用深度残差网络,且通过损失函数的收敛程度来优化模型中的超参数。基于目标检测的方法对形状简单、紧凑的裂缝有良好的效果,然而,对于复杂和狭小的裂缝,此类方法推理得到的矩形检测框面积过大,对裂缝的具体形状的检测不准确。此外,基于目标检测的方法只能确定裂缝的位置和相对大小,不能明确裂缝的形状、长度及宽度等详细信息,给道路精细化养护带来了困难。另一类方法是以fully convolutional network(FCN)、U-Net和DeepLabv3+等为代表的语义分割方法,这类方法对每个像素赋予合适的标签,实现图像端到端的像素级分类。彭磊等[13]对U-Net模型的网络层数进行超参数优化,其在CRACK500测试集上的精确率为62%,召回率为59%,F1值为61%。王保宪等[14]将U-Net++网络作为裂缝检测的主框架,通过融合更多的底层特征信息来提升检测精度。袁嘉豪等[15]对采用不同主干特征提取网络的DeepLabv3+模型进行对比实验,实验结果表明,该模型在裂缝检测中效果优异。李国燕等[16]通过空间注意力机制、视觉atrous spatial pyramid pooling(ASPP)模块和多特征融合机制构造MFC-DeepLabv3+模型,该模型检测的裂缝分割图像区域更完整,边缘更清晰。然而,为提高路面裂缝检测的准确率,语义分割模型的网络深度不断增加、复杂程度不断提高,致使模型存在参数量巨大、计算复杂、推理速度慢及不适宜部署到嵌入式系统的缺点,影响检测效率,不能应用在实时场合中。因此,在保证路面裂缝检测精度的前提下,如何减少语义分割模型参数量使其更加轻量化并提高其推理速度是当前研究亟须解决的问题。
鉴于DeepLabv3+模型在基于语义分割的裂缝检测中具有良好的准确性,本文在其基础上开展路面裂缝检测方法研究,旨在构建具有良好检测精度和满足实时检测要求的轻量化路面裂缝检测模型。
2 研究方法
路面裂缝检测本质上是一种二分类的语义分割问题,语义分割方法对图像中的每个像素都进行分类,即为每个像素都分配一个适当的语义标签。本研究基于DeepLabv3+构建轻量化路面裂缝检测模型,包括以下步骤:
1)数据预处理。收集路面裂缝图像构建数据集,对数据集图像进行裁剪操作后划分训练集、验证集以及测试集。
2)模型改进与训练。从模型轻量化、精度保证和参数设置等方面改进DeepLabv3+模型,使用训练集和验证集对改进后的模型进行训练,获得路面裂缝检测模型。
3)模型验证。利用测试集样本检验改进后的模型,并对检测结果进行评价。
3 数据来源与预处理
本实验图像取自公开裂缝数据集CRACK500[17],该数据集中的裂缝图像背景复杂,包含如阴影、光照变化和路面污渍等影响路面裂缝检测效果的干扰项,便于充分训练出泛化能力强的模型,是文献中常用的公开数据集。CRACK500数据集包括400张训练集、100张验证集以及200张测试集图像,分辨率均为2560 pixel×1440 pixel。为扩增图像数量,将每张图像无重叠地裁剪成16张大小相同的低分辨率图像,只保留包含超过1000个裂缝像素的图像。通过这种方式,获得1896张训练集、348张验证集和1124张测试集图像,分辨率均为640 pixel×360 pixel或360 pixel×640 pixel。最终将所有图像的分辨率均调整为512 pixel×512 pixel。
4 改进的DeepLabv3+模型
4.1 传统DeepLabv3+模型简介
DeepLabv3+是用于语义分割的典型模型之一,分为编码和解码两个部分。DeepLabv3+模型的特征图可视化结果如
在编码部分,输入特征图经Xception网络进行特征提取后,共获得5个大小分别为1/2、1/4、1/8、1/16、1/16的特征图,依次为
4.2 改进的DeepLabv3+模型结构设计
DeepLabv3+模型采用参数量大、网络层数多的Xception作为主干特征提取网络,虽提高了分割精度,但模型的复杂度增加,对内存空间的要求更高。基于此,提出一种基于DeepLabv3+的轻量级路面裂缝检测模型。首先,在传统DeepLabv3+模型上将MobileNetv3作为主干特征提取网络,大幅度减小模型参数量,降低内存占用,提高模型推理速度。其次,将ASPP模块中的普通卷积替换为Ghost卷积,进一步轻量化模型。为保证轻量级DeepLabv3+模型的分割精度,对其结构进行以下优化:1)在ASPP中引入条形池化模块(SPM);2)采用ECA注意力模块,并借助ECA设计浅层特征融合结构(SFF);3)构造混合损失函数。改进后的DeepLabv3+模型结构如
4.2.1 主干特征提取网络MobileNetv3
MobileNet是一种专注于嵌入式设备或移动端的轻量级卷积神经网络,有更准确、更高效的特点。MobileNetv3[18]是根据MobileNet改进的第3版,其网络结构主要分为3部分。第1部分采用1个3×3的卷积块完成特征提取;第2部分将得到的特征输入一系列block结构中,其由9个3×3和6个5×5的卷积块组成;最后1部分通过1个1×1卷积块对输出特征进行升维,再通过1个平局池化块将特征转为一维向量特征。
本实验使用MobileNetv3的前2个部分作为主干特征提取网络,具体网络结构如
表 1. MobileNetv3结构
Table 1. MobileNetv3 structure
|
4.2.2 Ghost卷积
图片通过卷积操作后,可获得诸多特征图,但存在特征图冗余的现象,即有些特征图相似性很高,Han等[19]将相似的特征图认为是彼此的Ghost,并设计了更轻量的Ghost卷积来代替普通卷积。Ghost卷积将普通卷积分为2部分,操作原理如
图 3. 普通卷积与Ghost卷积的对比。(a)普通卷积;(b)Ghost卷积
Fig. 3. Comparison of ordinary convolution and Ghost convolution. (a) Ordinary convolution; (b) Ghost convolution
4.2.3 条形池化模块
路面裂缝的结构呈带状分布,如
图 4. 普通池化、条形池化与对应标签。(a)普通池化;(b)条形池化;(c)对应标签
Fig. 4. Common pooling, strip pooling and corresponding label. (a) Common pooling; (b) strip pooling;(c) corresponding label
条形池化模块网络结构如
图 5. 条形池化模块网络结构示意图。(a)输入特征图;(b)(c)池化特征图;(d)(e)扩容特征图;(f)融合特征图;(g)输出特征图
Fig. 5. Schematic diagram of the network structure of the strip pooling module. (a) Input feature map; (b) (c) pooling feature maps;(d)(e) expand feature maps; (f) fusion feature map; (g) output feature map
在条形池化模块中,对输入尺寸为H×W的特征图,分别在水平和垂直空间维度上以1行或1列进行平均池化后得到1×W和H×1的特征图,如
4.2.4 ECA注意力模块
注意力机制可让卷积神经网络模型在处理图像时自适应地注意重要、有效的目标信息,提升模型性能。ECA[21]是一种新的捕捉局部跨通道交互信息的注意力模块,其高效且轻量。在1/16大小特征图及其4倍上采样与1/4大小特征图拼接后的位置加入ECA,增强模型特征提取能力。
传统DeepLabv3+模型在解码部分没有充分结合浅层特征图,提取的局部细节信息不够丰富,从而使整个模型的预测结果并不精确。为解决该问题,所提方法利用特征金字塔思想并借助ECA在应用1/4大小的特征图的基础上加入1/2大小的特征图,具体操作如
相同条件下未引入和引入浅层特征融合结构时模型浅层特征图的对比结果如
图 7. 浅层特征图可视化。(a)原图像;(b)原特征图;(c)引入浅层特征融合结构后的特征图
Fig. 7. Shallow feature map visual diagram. (a) Original image; (b) original feature map; (c) feature map after introducing shallow feature fusion structure
4.2.5 混合损失函数
训练数据集中的类别不平衡导致深度学习模型在训练过程中过分关注像素数量多的样本,阻碍模型精度的提升。
表 2. 训练集中各类别像素占总体像素的比值
Table 2. The ratio of each pixel in the training set to the total pixel
|
为此,构造一种结合二分类交叉熵损失(BCE)和Dice损失的混合损失函数。BCE是二分类任务中常用的损失函数,其在衡量标签与预测结果之间的相似性方面表现优异,因此,将BCE作为改进DeepLabv3+模型的损失函数之一。但该损失函数对类别不平衡问题较为敏感,会导致像素占比较多的类别出现过拟合,其表达式为
式中:
Dice损失适用于训练类别不平衡的分割模型,在类别不平衡的情况下可以达到更好的效果。但其对噪声敏感,可能会将边界信息忽略,致使边界分割不佳,其表达式为
为加快收敛,减少过拟合,
因此,混合BCE和Dice损失对模型中的损失进行计算:
混合损失函数可以解决裂缝图像中样本不均衡的问题,获得更精确的像素级检测效果,也能同时关注像素级别的分类准确率以及图像裂缝的分割效果,进而使模型更稳定训练。
5 模型的训练与测试
5.1 实验环境与模型训练
本实验在计算机上完成,利用Python及PyTorch框架来改进DeepLabv3+模型。实验环境如
表 3. 实验环境
Table 3. Experimental environment
|
为了提高模型的训练效率和性能,采用迁移学习的方法对模型进行训练。在模型的训练中,首先冻结主干特征提取网络层,以便将更多的计算资源用于训练后半部分的网络层,这个过程被称为冻结训练。训练一定代数后,解冻主干特征提取网络层,主干特征提取网络层的初始权重值采用MobileNetv3 PASAL VOC2012数据集上预训练好的模型参数,继续对整个网络进行训练,直至获得最终模型,即解冻训练。采用这种训练方式可以在有效保证权值的同时加快模型的收敛速度。
合理设定训练参数,是增强模型性能的重要手段。训练图像尺寸设为512 pixel×512 pixel,在使用预训练参数时,设置模型的迭代次数(epoch)为50次,批处理的训练集样本数量(batch size)为16。不使用预训练模型时,设置模型的迭代次数为100次,批处理的训练集样本数量为8。基础学习率(base learning rate)为0.0005,学习率采用余弦退火策略进行调节,基础学习率最小值设置为0.000005。优化器选用Adam梯度优化器,其超参数beta_1设置为0.9,beta_2设置为0.999。
5.2 评价指标
为客观评价训练所得模型对路面裂缝的检测效果,实验选取交并比(RIoU)、准确率(Rprecision)、召回率(Rrecall)、平均帧率(FPS)以及参数量(Params)作为评价指标。交并比、准确率和召回率评价指标计算公式分别为
式中:
交并比反映预测裂缝与实际裂缝的重合程度;准确率反映裂缝检测的可靠程度;召回率反映裂缝检测的完整程度;另外,平均帧率为模型1 s处理的图像数量,越高表示模型推理速度越快。参数量为评价模型体积的重要指标,越低表示模型的轻量化程度越高。
由于准确率和召回率是相互矛盾的,召回率高时,准确率偏低,为综合评价这两个指标,引入F1分数(
5.3 评价指标
5.3.1 消融实验
为验证将传统DeepLabv3+模型的主干特征提取网络Xception替换为轻量级的MobileNetv3、ASPP模块中的普通卷积改为Ghost卷积的必要性,以及采用条形池化模块、引入ECA注意力模块、设计浅层特征融合结构和构造混合损失函数操作的有效性,设置6组不同方案进行消融实验。实验结果如
表 4. 消融实验结果
Table 4. Results of ablation experiment
|
由
5.3.2 不同模型性能对比分析
为进一步验证改进DeepLabv3+模型的路面裂缝检测性能,将所提模型与FPHBN[17]、CNNs[22]和ACNet[23]模型进行比较。FPHBN是一种新颖的网络模型架构,其以特征金字塔的方式将上下文信息集成到低级特征中,用于路面裂缝检测,在不同数据集上均取得了较好的检测效果;CNNs作为有效的裂缝检测模型,其稳定且可在不复杂的体系结构中快速运行;ACNet是一种先进的基于注意力机制的裂缝检测模型,取得了理想的检测效果。
文献[23-24]中提供了FPHBN、CNNs和ACNet模型在CRACK500数据集上裂缝检测精度的实验结果,其训练及测试使用的数据集和预处理方式与本研究完全一致,对比结果如
表 5. 在CRACK500数据集上使用不同模型的测试结果比较
Table 5. Comparison of test results using different models on the CRACK500 dataset
|
采用与本研究相同的数据集和训练方法对经典的DeepLabv3+、M-PSPNet(主干网络为MobileNetv2)、R-PSPNet(主干网络为ResNet50)和U-Net模型进行训练,并与所提方法进行比较,对比结果见
表 6. 所提方法与不同语义分割模型的测试结果比较
Table 6. Comparison of test results between the proposed method and different semantic segmentation models
|
从
综上所述,所提方法能有效提升路面裂缝的检测精度,相较于经典的DeepLabv3+、M-PSPNet、R-PSPNet及U-Net模型有更高交并比和F1分数。虽然所提方法的参数量及平均帧率评价指标不及M-PSPNet模型,但其以57.21%的交并比、72.76%的F1分数、14.53 MB的参数量和47.18的平均帧率在保证路面裂缝检测精度的同时满足实时检测要求,取得最优的检测效果,且可有效避免阴影、光照变化和路面污渍等因素的干扰,有较强的鲁棒性。上述检测精度和速度的实验验证了所提方法的有效性。
5.3.3 不同模型检测裂缝的可视化效果对比
所提方法与不同语义分割模型的可视化效果如
图 8. 5种模型的可视化结果。(a)原图像;(b)ground truth;(c)传统DeepLabv3+;(d)M-PSPNet;(e)R-PSPNet;(f)U-Net;(g)所提方法
Fig. 8. Visualized results of 5 models. (a) Original images; (b) ground truth; (c) traditional DeepLabv3+; (d) M-PSPNet; (e) R-PSPNet; (f) U-Net; (g) proposed method
6 结论
检测路面裂缝是修复裂缝的前提,能有效预防裂缝向更严重病害发展,对提高路面的安全性及养护经济性具有重要意义。为实现快速、准确的路面裂缝自动检测,提出基于改进DeepLabv3+模型的路面裂缝自动检测方法,有效避免了路面阴影、污渍及其他因素的干扰,鲁棒性强。
在1124张相同测试集上以交并比和F1分数为判断依据,通过对比实验验证所提方法的有效性与可行性。较于传统DeepLabv3+模型,所提方法的交并比提高0.74百分点,F1分数提高0.58百分点,且以14.53 MB的参数量和47.18的平均帧率在保证路面裂缝检测精度的同时满足实时检测要求,取得最优的检测效果。
为更多地检出裂缝,防止漏检,所提方法在保证综合指标F1分数的前提下牺牲了一些准确率来换取更高的召回率。
下一步研究可从模型剪枝和知识蒸馏等方法入手,进一步优化检测模型的体积与精度,提升在不同环境状态下对路面裂缝检测的实时性与准确性。
[1] 马建, 赵祥模, 贺拴海, 等. 路面检测技术综述[J]. 交通运输工程学报, 2017, 17(5): 121-137.
Ma J, Zhao X M, He S H, et al. Review of pavement detection technology[J]. Journal of Traffic and Transportation Engineering, 2017, 17(5): 121-137.
[2] 王博, 王霞, 陈飞, 等. 航拍图像的路面裂缝识别[J]. 光学学报, 2017, 37(8): 0810004.
[3] LiP, WangC, LiS M, et al. Research on crack detection method of airport runway based on twice-threshold segmentation[C]∥2015 Fifth International Conference on Instrumentation and Measurement, Computer, Communication and Control (IMCCC), September 18-20, 2015, Qinhuangdao, China. New York: IEEE Press, 2016: 1716-1720.
[4] 李鹏, 赵芬芬, 杜敏. 基于双树复小波的直方图路面裂缝检测算法[J]. 安徽大学学报(自然科学版), 2018, 42(1): 38-44.
Li P, Zhao F F, Du M. The cracks detection algorithm of pavement based on histogram of dual-tree complex wavelet[J]. Journal of Anhui University (Natural Science Edition), 2018, 42(1): 38-44.
[5] 韩锟, 韩洪飞. 基于区域级和像素级特征的路面裂缝检测方法[J]. 铁道科学与工程学报, 2018, 15(5): 1178-1186.
Han K, Han H F. Pavement crack detection method based on region-level and pixel-level features[J]. Journal of Railway Science and Engineering, 2018, 15(5): 1178-1186.
[6] 赵菲, 邓英捷. 融合多异构滤波器的轻型弱小目标检测网络[J]. 光学学报, 2023, 43(9): 0915001.
[8] 陈兵, 贺晟, 刘坚, 等. 基于轻量化DeepLab v3+网络的焊缝结构光图像分割[J]. 中国激光, 2023, 50(8): 0802105.
[9] 高慧, 阎晓东, 张衡, 等. 基于Res2Net的多尺度遥感影像海陆分割方法[J]. 光学学报, 2022, 42(18): 1828004.
[10] 罗晖, 贾晨, 李健. 基于改进YOLOv4的公路路面病害检测算法[J]. 激光与光电子学进展, 2021, 58(14): 1410025.
[11] Hacıefendioğlu K, Başağa H B. Concrete road crack detection using deep learning-based faster R-CNN method[J]. Iranian Journal of Science and Technology, Transactions of Civil Engineering, 2022, 46(2): 1621-1633.
[12] 孙朝云, 马志丹, 李伟, 等. 基于深度卷积神经网络融合模型的路面裂缝识别方法[J]. 长安大学学报(自然科学版), 2020, 40(4): 1-13.
Sun Z Y, Ma Z D, Li W, et al. Pavement crack identification method based on deep convolutional neural network fusion model[J]. Journal of Chang’an University (Natural Science Edition), 2020, 40(4): 1-13.
[13] 彭磊, 张辉. 基于U-Net的道路缺陷检测[J]. 计算机科学, 2021, 48(S2): 616-619.
Peng L, Zhang H. U-Net for pavement crack detection[J]. Computer Science, 2021, 48(S2): 616-619.
[14] 王保宪, 白少雄, 赵维刚. 基于特征增强学习的路面裂缝病害视觉检测方法[J]. 铁道科学与工程学报, 2022, 19(7): 1927-1935.
Wang B X, Bai S X, Zhao W G. Pavement crack damage visual detection method based on feature reinforcement learning[J]. Journal of Railway Science and Engineering, 2022, 19(7): 1927-1935.
[15] 袁嘉豪, 张伟锋, 岳学军, 等. 多种主干网络下DeepLabv3+的混凝土梁裂缝语义分割研究[C]∥中国水利学会2021学术年会论文集第五分册. 北京: 中国水利学会, 2021: 160-164.
YuanJ H, ZhangW F, YueX J, et al. Semantic Segmentation of concrete beam cracks based on DeepLabv3+ in Multiple Backbone Networks [C]∥Chinese Hydraulic Society 2021 Annual Conference Proceedings Volume 5. Beijing: Chinese Hydraulic Society, 2021: 160-164.
[16] 李国燕, 梁家栋, 刘毅, 等. MFC-DeepLabV3+:一种多特征级联融合裂缝缺陷检测网络模型[J]. 铁道科学与工程学报, 2023, 20(4): 1370-1381.
Li G Y, Liang J D, Liu Y, et al. MFC-DeepLabV3+: a multi feature cascade fusion crack defect detection network model[J]. Journal of Railway Science and Engineering, 2023, 20(4): 1370-1381.
[17] 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.
[18] HowardA, SandlerM, ChenB, et al. Searching for MobileNetV3[C]∥2019 IEEE/CVF International Conference on Computer Vision (ICCV), October 27-November 2, 2019, Seoul, Republic of Korea. New York: IEEE Press, 2020: 1314-1324.
[19] HanK, WangY H, TianQ, et al. GhostNet: more features from cheap operations[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 13-19, 2020, Seattle, WA, USA. New York: IEEE Press, 2020: 1577-1586.
[20] HouQ B, ZhangL, ChengM M, et al. Strip pooling: rethinking spatial pooling for scene parsing[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 13-19, 2020, Seattle, WA, USA. New York: IEEE Press, 2020: 4002-4011.
[21] WangQ L, WuB G, ZhuP F, et al. ECA-net: efficient channel attention for deep convolutional neural networks[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 13-19, 2020, Seattle, WA, USA. New York: IEEE Press, 2020: 11531-11539.
[22] NguyenN T H, LeT H, PerryS, et al. Pavement crack detection using convolutional neural network[C]∥Proceedings of the 9th International Symposium on Information and Communication Technology, December 6-7, 2018, Danang City, Viet Nam. New York: ACM Press, 2018: 251-256.
[23] 曹锦纲, 杨国田, 杨锡运. 基于注意力机制的深度学习路面裂缝检测[J]. 计算机辅助设计与图形学学报, 2020, 32(8): 1324-1333.
Cao J G, Yang G T, Yang X Y. Pavement crack detection with deep learning based on attention mechanism[J]. Journal of Computer-Aided Design & Computer Graphics, 2020, 32(8): 1324-1333.
[24] Wang W J, Su C. Convolutional neural network-based pavement crack segmentation using pyramid attention network[J]. IEEE Access, 2020, 8: 206548-206558.
Article Outline
夏晓华, 苏建功, 王耀耀, 刘洋, 李明臻. 基于DeepLabv3+的轻量化路面裂缝检测模型[J]. 激光与光电子学进展, 2024, 61(8): 0812001. Xiaohua Xia, Jiangong Su, Yaoyao Wang, Yang Liu, Mingzhen Li. Lightweight Pavement Crack Detection Model Based on DeepLabv3+[J]. Laser & Optoelectronics Progress, 2024, 61(8): 0812001.