复杂场景下多类型路面病害分割方法
2024-01-15张在岩宋伟东陈兆雪
张在岩,宋伟东,陈兆雪
(1. 辽宁工程技术大学测绘与地理科学学院,辽宁 阜新 123000; 2. 黑龙江科技大学矿业工程学院,黑龙江 哈尔滨 150022)
“十三五”以来,我国累计投入养护公路的资金为1.29万亿元[1]。其中,实施预防养护135.6万km、修复养护165.2万km,实施公路安全生命防护工程116万km。路面病害的智能化检测是提升大规模路面养护科学决策水平的关键。目前,道路养护部门一般采用移动采集车获取路面车载电荷耦合器件(CCD)图像,进而通过人工目视检查的方法完成病害的勾画,该过程耗时、费力且主观性强[2]。因此,基于实测路面图像对大规模公路路面自动检测和定量评价,对于保证公路处于安全可用状态具有重要意义。
近年来,研究者基于CCD传感器获取的数字图像,从计算机视觉的角度对路面病害自动化检测开展了广泛研究。现阶段,路面病害提取的方法主要为基于数字图像和语义分割裂缝检测。前者在病害具有较好的连续性和较高的对比度的情况下,可以获得较高的病害检测精度。然而,受到环境、行车荷载和养护条件等多种因素的影响,基于数字图像裂缝检测技术与我国现阶段的发展并不适配。
伴随深度学习技术的快速发展,基于深度卷积神经网络(DCNNs)的路面裂缝的自动检测[3]逐渐成为研究热点。通常,基于深度学习的病害检测方法可分为3类,包括基于图像分类的方法、基于目标检测的方法和基于语义分割的方法[4-7],这些方法用于图像分类和目标检测。分割可以为广泛的应用提供更精确的几何目标描述,如病害几何特征量测、严重程度划分和路面条件定量评估等,这也是本文的研究重点。然而,受到环境、行车荷载和养护条件等多种因素的影响,自然场景下采集的CCD图像中的不同病害存在拓扑结构复杂、灰度特征差异大、与背景对比度低和受路面背景噪声干扰强的问题,现有的语义分割研究多集中在场景单一的裂缝分割,距离满足实际工程应用还有一段距离。问题为:①目前已公开可用于路面病害分割的数据集通常不超过500张[8-10],且大多数可用的路面破损语义分割的公开数据集多来源于高速公路和城市道路,场景较少,几乎所有的数据集都来源于沥青路面图像,因此其中的路面病害种类较少[11],这直接限制了复杂场景下多类型路面病害算法的研究。②现有模型如FCN在裂缝分割中存在背景和特征区域像素分布不平衡的问题,导致背景或负样本像素点大于裂缝像素点[12];U-Net模型对于裂缝检测时存在准确度不高、丢失细节信息等[13];SegNet模型难以精确区分裂缝和灌封裂缝等具有相似特征的沥青路面病害的问题[14]。
为了解决上述问题,本文首先收集并构建一套用于复杂场景下多类型路面病害二类语义分割的数据集,称为CPCD(complex pavement crack datasets),该数据集具有足够的规模和场景复杂度;以此为基础,基于HRNet[15]框架结构,提出一种顾及多尺度特征融合和注意力机制的公路路面多类型病害提取模型(CBAM-HRNet)。
1 复杂场景下路面病害分割数据集
1.1 数据集收集及标注
为解决数据问题,基于多场景、高分辨率的CCD图像,构建了一个用于路面病害分割任务的数据集(CPCD)。使用移动采集车辆获取数据集的原始图像 (如图1所示),后置acA4096面阵CCD相机,同时左右搭配两个疝灯以减少光强的影响,图像分辨率为3517×2193像素,单个像素为0.91 mm×0.91 mm。
图1 移动路面病害采集设备
收集辽宁省实测路面CCD图像共计9000张。首先,按照路面破损程度设定4个分组关键词:高质量沥青路面(HQA)、低质量沥青路面(LQA)、高质量水泥路面(HQCC)、低质量水泥路面(LQCC),手动筛选出4组合计7000张原始路面CCD图片;然后,利用Python开发了一个无损裁剪工具裁剪病害区域图像,按预先设定的7个病害类别:横向裂缝(HF)、纵向裂缝(ZF)、水泥裂缝(SC)、沥青龟网裂(JWL)、水泥破碎板(SP)、修补(XB)、坑槽/洞(LKC/SKD),从4组原始图像中裁剪样本图像;最后,根据每类病害所处场景的复杂性,获得6967张样本图像,其中含有3980 张病害样本图像和2997张带有干扰噪声的负样本图像(如图2(a)所示)。选择和裁剪策略类似于文献[6]的方法。大多数选定的含病害的图像只包含单个目标,能够获得丰富而高精度的结构和细节。
图2 CPCD数据集收集及病害样本分组分布
CPCD数据集由4个病害检测领域专家使用 Labelme软件对每张图像进行像素级精度手工标记(如图3所示)。平均每张图像的标记时间约为10 min,部分网状裂缝图像的标记时间长达1 h。图3(a)为复杂场景下7类病害及负样本的标注样例,有些标注的真值 (GT) 掩膜在视觉上接近图像抠图真值;图3(b)为数据集中与路面病害在灰度特征和纹理特征方面高度相似的干扰噪声,为负样本,如阴影、水渍或油渍,抛落物和路面附属物等,这些在实际病害检测任务中很常见,但由于种类繁杂或收集困难而被其他数据集忽略;图3(c)为CPCD数据集中病害类内结构的复杂性和多样性。
图3 CPCD数据集
1.2 数据集分析
图像复杂度采用图像信息熵(information entropy, IE)定量描述,IE可定量反应复杂场景中的目标识别或提取的困难程度[16]。公式为
(1)
式中,Pi表示灰度值为i的像素在图像中的占比,即从信息论的角度衡量图像中灰度分布的聚集特征所包含的信息量。图像中的信息熵越大,说明图像的复杂程度越高。
本文计算了现有公开数据集CFD[8]CRACK500[9]、GAPs384[9]、AigleRN[10]、CRACKtree[11]及本文数据集的IE均值和标准差,如图4所示。与其他公共数据集相比,计算的度量就平均IE而言,CPCD数据集具有最高的图像复杂度,更接近于实际应用场景。标准差对比结果也反映了本文数据集中图像的复杂度差异性最大。
图4 不同数据集图像复杂度对比结果
本文将CPCD中的6967张图像分成3个子集: CPCD-TR(53804)、CPCD-VD(587)和CPCD-TE(1000),用于训练、验证和测试。TR、 VD与TE中包含的类别总体一致。总体而言,ISTD-PDS7数据集是为满足复杂场景下的模型训练及性能评估所遇到的各类挑战性问题设计的。
2 原理与方法
2.1 HRNet概述
HRNet[15]最初是为人体姿态估计而设计的,其主要特点是采用高分辨率与低分辨率并联的方式,在保持最后的输出层高分辨率的同时,使预测结果更加准确。如图5(a)所示,HRNet主要包括4个stage部分,每个stage由蓝色框和黄色框构成。蓝色框1是对输入的原始channel maps进行并联,黄色框I是channel maps经过strided 3×3的卷积而输出的一个分支。使用strided 3×3卷积可以在进行学习的同时降低语义信息的损耗。stage2根据stage1输出的低分辨率和高分辨率进行并联,利用图5(b)的操作进行特征融合,输出另一个低分辨率分支,再送入stage3进行并联,以此类推进行操作,完成stage4。将各分辨率特征融合后进行特征层上采样,输出为原始特征层尺寸。将各分辨率的特征层进行融合,采用并联多个分辨率的分支进行信息交互,使得在维持高分辨率的同时,达到增强语义信息和精准位置信息的目的。
图5 HRNet网络结构
2.2 注意力机制模块-CBAM
如图6所示,CBAM(convolutional block attention module)是通道和空间注意力操作的合体,其实现可分为两部分。
图6 CBAM注意力机制模块
第1部分为CAM,对于输入特征F∈RH×W×C,同时经过全局平均池化和最大池化操作,得到不同的空间语义描述算子,两首者先通过一个共享感知机MLP;然后将两个通道注意力特征向量相加融合;最后经过激活函数Sigmoid生成一维通道注意力图MC,通道注意模块的操作过程为
MC(F)=σ(MLP(AvgPool(F))+
MLP(MaxPool(F))
(2)
式中,F为输入特征;MLP为多层感知机;σ为Sigmoid激活函数;AvgPool为全局平均池化;MaxPool为全局最大池化。其中MLP的权重由W0∈RC×C/r和W1∈RC×C/r共享。通道注意力集中在图像中什么级别的特征信息是更重要的。
MS(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))
(3)
2.3 本文方法CBAM-HRNet
通过引入注意力机制可以使输出信息更聚焦于更关键更有用的信息,减弱甚至消除无关信息的干扰,使模型更加注重边缘、细节的分割。故本文将HRNet与CBAM二者融合在一起。如图7所示,在特征层进行上采样的同时添加CBAM注意力机制,有效增加了上采样的准确率,从而保证了进行特征融合的输出层能够获得更丰富的语义信息。经过stage4后得到4个有效特征层,自上而下尺寸分别为128×128×32、60×60×64、30×30×128、15×15×256。首先对60×60×64的特征层进行1×1的卷积和BN操作,进而通过2倍Upsample后送入CBAM模块得到上采样后的输出f1;对30×30×128的特征层进行1×1的卷积和BN操作,进而通过4倍Upsample后送入CBAM模块得到上采样后的输出f2;对15×15×256的特征层进行1×1的卷积和BN操作,进而通过8倍Upsample后送入CBAM模块得到上采样后的输出f3。将经过上采样的特征层进行堆叠,之后再通过1×1的卷积核的卷积和激活函数进行特征融合,最后输出尺寸为480×480×3的病害特征图。
图7 CBAM-HRNet网络结构
3 试验与分析
3.1 试验细节设置
试验环境:硬件环境CPU 为Intel(R)Core(TM)i5-8300H CPU @2.30 GHz处理器;内存为16 GB;所有试验都是在单一的GeForce GTX 3060 (16 GB) GPU上进行的;编程框架为Python3.8+Pytorch1.7.1。参数设置:采取迁移学习的方法训练模型,以提高模型训练的性能,预训练权重来自各模型在VOC2012数据集上的训练结果。采用冻结(50 epoch)+解冻(100 epoch)的方式训练网络,以节省训练时间,其中冻结训练阶段批处理量大小设置为4,学习率设为10-4;解冻过程批处理量大小设置为2,学习率设为10-5。使用 AdamW优化器对模型训练过程进行优化,学习率为10-4。动量和衰减率分别设置为0.9和0。为了得到综合性的评价,运算复杂度用算法参数量Par(parameters)和GFLOPs(10 亿次/s浮点运算数)表示,推理效率用每秒传输帧数(frames per second, FPS)表示。所有模型的效率指标均在GeForce RTX 3090 GPU上计算完成。采用Precision、Recall、F1分数和mIoU进行分割模型的性能评价。Precision、Recall分别表示在所有预测都是正值的情况下,正值的样本所占的比重和在所有正样本中,预测正确的正样本的比例。F1为Precision和Recall的调和平均数。mIoU代表真实值与预测值之间的平均交并比,计算公式为
(4)
式中, TPk、FPk、FNk分别代表真阳性、假阳性、假阴性预测;n=2。
3.2 试验结果与分析
(1)定量对比分析。将CBAM-HRNet与U-Net[17]、PSPNet[18]、DeepLabv3+[19]及HRNet[15]进行比较,表1为所有模型在验证集和测试集上的总体性能。就模型属性计算指标而言,基于轻量级MobileNetV2的PSPNet具有最低参数量、最小的计算复杂度及最快的推理速度,但其F1分数与mIoU较本文模型分别低了4.39%和6.92%;与原始的HRNet相比,CBAM-HRNet算法复杂度、参数量仅提高了0.016和0.007 M,模型在测试集上的mIoU得分提高了1.47%。与其他模型相比,本文提出的CBAM-HRNet在4个评价指标上均取得了最具竞争力的性能。此外,由于HRNet并行连接,高分辨率到低分辨率卷积保持高分辨率表示,且通过重复跨并行卷积执行多尺度融合增强高分辨率表示。CPCD-TE上的测试结果明显优于其他3种特征图串联结构的模型,证明并联结构的网络更加适合对位置比较敏感的路面病害密集预测任务。
表1 各模型在CPCD验证和测试集的定量评价结果
(2)定性对比分析。图8为5种不同模型之间的定性比较结果,其中第1列(a)至(i)分别对应模糊、干燥、清晰、锐化、湿润、曝光、黑暗、污渍、杂物9种自然场景的实测路面图像,方框内的图像为需要重点关注的区域。由图8第3列预测结果可以看出,U-Net在裂缝病害的提取效果较好,但对于大面积坑槽的提取效果较差,在污渍和杂物存在的图像中,出现明显的假阳性预测,这与其较小的感受野有关;由图8第4至5列可以看出,仅采用金字塔池化模块(pyramid pooling module,PPM)和空洞卷积空间金字塔池化 (atrous spatial pyramid pooling,ASPP)模块聚合上下文信息的PSPNet和DeepLabV3+,由于采用了多尺度的池化和空洞卷积,导致大量空间信息的丢失和细小裂缝检测性能的显著下降;HRNet模型提取路面不同病害较连续,边界轮廓清晰,但也存在细小裂缝和边界不连续的问题,在场景(c)中因石子突起曝光,导致预测结果相差较大;而CBAM-HRNet模型提取病害边界轮廓清晰,病害提取连续,标签图像相近;在含有干扰噪声的无病害场景中,U-Net模型的抗假阳性预测能力较差,其他4个模型的抗假阳性预测能力较为良好;本文提出的CBAM-HRNet相比于HRNet和其他3种模型,在复杂场景中的分割结果更为连续、病害边缘更细化,模型的稳定性强,能有效降低模型的假阳性预测。
图8 路面病害和干扰物的分割结果比较
(3)模型泛化性验证。本文还额外验证了CBAM-HRNet在其他公开数据集上的泛化性,分别基于智能手机拍摄的CFD和CRACK500、基于面阵CCD相机拍摄的AigleRN,以及基于线阵CCD相机拍摄的GAPs384数据集。裂缝提取部分结果如图9所示。此外,本文方法未利用这4个数据集中的裂缝图像参与训练阶段。结果表明,相比于原始的HRNet,本文方法裂缝分割的完整度和精细化程度更好,说明本文检测方法能够提取大多数路面裂缝,模型具有较强的泛化性。
图9 CBAM-HRNet泛化性分析结果展示
4 结 语
为解决复杂场景下的多类型路面病害自动提取问题,促进病害智能分割算法工程化应用的发展,本文基于实测路面CCD图像构建了一个新的满足于多类型路面病害图像二类语义分割任务的数据集,即CPCD,这是国内目前路面病害语义分割任务中较大、具有挑战性的数据集。该数据集将会在:https://ciigis.lntu.edu.cn/发布,以推进复杂场景下公路路面病害精细分割的最先进算法。此外,本文提出融合注意力机制与高分辨率网络HRNet的新型网络结构CBAM-HRNet,可在确保输出高分辨率的前提下,使网络更专注于病害目标的特征提取,降低了假阳性预测。与其他算法相比,具备并联结构的CBAM-HRNet具有最佳的病害分割性能和稳定性,后续研究重点为平衡模型分割精度和推理速度。