孙玉龙, 钱增志, 曾帅康, 康伟德, 李 胤, 姜佳岐, 朱炳科
(1.中铁建设集团有限公司, 北京 100043;2.北京工业大学 城市建设学部, 北京 100124;3.中国铁建建筑工业化工程实验室, 北京 100043;4.中国科学院自动化研究所, 北京 100190)
交通行业围绕加快建设交通强国总体目标,努力打造安全便捷、智慧绿色、经济高效的道路网,全面提升道路运行效率和服务水平,实现路网更高质量、更高效率、更好水平的发展[1-2]。 随着道路网络的逐步完善,迫切需要通过加强养护维持既有道路的通行能力、技术状况和服务水平。 路面病害检测[3]作为道路养护的重要一环,是决定道路养护质量的关键因素。 目前,路面病害检测主要采用传统的基于人工视觉检测的路面病害识别方法,存在以下几个方面的不足:① 人工识别效率低,对于细小破损识别率低。 ② 人工识别不可避免在一些边缘问题上存在主观性强、工作量大等问题,且具有一定的不确定性。 ③ 工作精细度差、人力资源消耗高。自动化的路面病害检测可以有效降低成本、提高效率。
自动化路面病害检测[4-6]存在2 方面的挑战:一方面,缺乏大规模的路面数据,难以训练一个覆盖多种路面病害的路面病害分割模型;另一方面,路面病害难以识别,以往的病害识别算法难以识别细小病害,且难以对病害类别进行准确分类。 路面图像病害识别需要实现像素级别的分类,即图像语义分割[7-9]。 从大量的复杂路面背景中识别出细小的路面病害,并区分不同类别的病害,需要模型特征在具备较强的细节表达能力的同时,也要具备较强的语义判别能力。 为解决以上问题,本文采集了一个大规模的路面病害数据集,提出了一个高精度的路面病害分割方法。
本文针对某交通基础设施的路面,采集了一个大规模的路面病害数据集,该数据根据路面病害行业标准进行像素级别的类别标注,具有专业性、多样性和精细性等特点,为路面病害识别和智能化路面质量分析提供了强有力的数据支持。 另一方面,根据采集到的路面图像数据,提出了一个基于大型卷积核模型和自监督预训练的路面质量分析方法,该方法分为2 个子模块:一个是基于重参数化大型卷积核的U 型网络结构;另一个是针对全卷积编码器和全卷积解码器构建了自监督预训练框架。 其中,基于重参数化大型卷积核的U 型网络结构针对路面病害识别任务需要较大感受野的性质,在传统的U 型网络结构基础上,采用了大型卷积核实现扩张特征感受野的目的,为了缓解大型卷积核难以训练的问题,采用了重参数化技术来加速模型的收敛速度。 此外,为了提高模型的泛化性能和特征表达能力,本文针对U 型结构的全卷积编码器和全卷积解码器构建了自监督预训练框架,使用图像修补作为模型的自监督预训练代理任务,提高模型的预训练特征的表达能力和收敛速度,进而实现高精度的智能路面病害识别。
本文通过实验验证了基于重参数化大型卷积核的U 型网络结构和自监督预训练框架的有效性,并针对我国某交通基础设施的路面进行智能化路面质量分析,将本文提出的路面病害识别算法应用到该交通基础设施的日常巡检任务中,实现了路面养护降本增效。
本文通过在巡检车上安装路面图像采集装置的方式采集路面图像数据,如图1 所示,路面图像采集装置由高亮工业补光光源和工业相机镜头组成。 巡检车可以通过人工驾驶进行路面图像数据采集,也可以通过无人驾驶进行全自动的路面图像数据采集[10-11]。 通过对某交通基础设施的路面数据进行采集和标注,得到了一个大型的路面病害分割数据集。
图1 路面图像采集装置实物Fig.1 Road image collecting system
本文根据巡检车采集到的数据进行标注,标注类别按照《公路技术状况评定标准》(JTG 5210—2018)[12]和《军用机场水泥混凝土道面性能检测评价体系优化》[13]进行定义,并根据实际采集到的路面病害类别进行适当调整,去除无病害图像的类别以后,归纳出6 个病害类别:板块碎裂、板块断裂、板块剥落、表面裂缝、补丁、填缝料损坏。
本文共标注了3 539 张高清路面图像,图像分辨率都是6 400 pixel×8 192 pixel,标注图像分布如图2 所示。 一部分图像包含多种病害类别,有3 205 张路面图像不包含任何病害类别,334 张路面图像存在路面病害,大部分病害图像存在板块断裂类型的病害,路面图像病害分布是一个典型的长尾分布。随机按照8 ∶2的比例将路面图像数据集分为训练集和测试集,训练集包含2 831 张图像,测试集包含708 张图像,训练集图像和标注标签用于训练路面病害分割模型,测试集用于测试模型对于路面病害分割的性能。 图3 展示了本文标注的几个路面病害标注样例。 值得注意的是,本文采集的路面病害数据集是首个包含了多个路面病害的高分辨率图像分割数据集,该数据集能够为路面质量评估提供数据基础,并为像素级别的路面病害识别提供新的研究方向和思路。
图2 路面病害标注图像分布Fig.2 Distribution of annotated road damage images
图3 路面病害标注图例Fig.3 Examples of annotated road damage
针对路面病害细长、占据像素面积较小的特点,本文采用如图4 所示的U 型网络结构[7]。 输入一张路面图像,经过一系列卷积和下采样操作,提取具有大感受野、丰富语义特征的深层特征。 为了得到细节信息较为丰富的特征,采用对称的上采样结构,并使用横向连接将编码器结构特征和解码器结构特征进行拼接,恢复路面图像细节特征。 模型输出与原图像分辨率一致的特征图,用于预测路面图像分割结果。
图4 U 型网络结构Fig.4 UNet architecture
在U 型网络结构中,常用3×3 的卷积尺寸,如图5(a)所示,可以获得较好的局部特征,且计算量较小。 通过堆叠一系列卷积,可以逐渐扩大图像感受野,实现路面病害分割。 然而,此种卷积存在感受野过小、缺乏大范围信息的问题,导致了这种小卷积核的卷积难以获得较好的路面病害分割性能。 因此,采用大型卷积核提高模型特征的感受野大小[14],如图5(b)所示。 本文采用尺寸为21×21 的大型卷积核进行特征提取。 大型卷积核能够获取更大的特征图感受野,感知更大范围的语义信息,从而提高模型对于细长路面病害的识别能力,提高模型的预测精度。 然而,大型卷积核往往存在收敛速度慢、难以训练和计算复杂度高等问题。 因此,进一步采用重参数化[15]大型卷积核来提升模型的性能,如图5(c)所示。 本文通过3 个不同的卷积分支进行特征提取,分别是21×5,5×21,5×5 大小的卷积核,最后将3 个分支的特征进行相加融合,获取不同感受野大小的特征,即多尺度特征融合。 通过重参数化技术,能够加速模型训练的收敛速度,提高大型卷积核的可训练性,同时降低卷积的计算复杂度,在提高模型性能的同时降低计算量。 由于具备多种不同尺寸大小的卷积特征,模型能够感知多种尺寸的感受野,进而提升模型对于不同尺寸病害的预测能力。将U 型网络结构中的所有卷积操作替换成重参数化大型卷积操作,提高模型对于路面病害的识别准确率。
图5 3 种不同的卷积核示意Fig.5 Three convolutional kernels
深度网络模型往往需要使用大规模数据进行模型预训练,为了提高模型的泛化性能和特征表达能力,本文针对U 型结构的全卷积编码器和全卷积解码器构建了自监督预训练框架,如图6 所示。 全卷积编码器-解码器自监督预训练方法对输入图像进行随机掩码操作,本文参照FCMAE(Fully Convolutional Masked Autoencoder)[16]随机掩盖60%的像素,使用图像修补作为模型的自监督预训练代理任务,模型输出原始没有掩盖的图像,进而提高预训练模型对于图像的表达能力和收敛速度。 在模型编码器阶段,为了提高模型预测难度,避免跳跃连接产生额外的辅助信息,本文采用稀疏卷积操作[17]进行特征提取。 值得注意的是,稀疏卷积操作仅用于预训练阶段,在模型微调和测试阶段,将稀疏卷积操作替换回普通的卷积操作。 此外,本文同时对U 型结构的解码器部分进行预训练,解码器采用的是卷积解码器,更加注重细节特征的表达能力。 通过对整个模型结构的预训练,模型能够快速迁移到路面病害识别场景,进而提升泛化能力和在测试场景中的表达能力。 另一方面,使用像素级别的预测能够增强模型对于密集预测任务的性能,即能够提升模型对于路面病害分割的性能。
图6 全卷积编码器-解码器自监督预训练方法示意Fig.6 Self-supervised pre-training for fully convolutional encoder-decoder model
本文根据《公路技术状况评定标准》 (JTG 5210—2018),使用路面损坏状况指数PCI(Pavement Surface Condition Index)进行路面质量评估,PCI 计算如下:
式中,DR(Pavement Distress Ratio)是路面破损率,为各种损坏的折合损坏面积之和与路面调查面积之百分比;a0为DR 系数,沥青路面采用15. 00,水泥混凝土路面采用 10.66;a1为DR 指数,沥青路面采用0.412,水泥混凝土路面采用0. 461;Ai为第i类路面破损的累计面积(m2);A为路面检测或调查面积(m2);wi为第i类路面破损的权重或换算系数,如表1 所示;i为路面损坏类型;i0为路面损坏类型总数。
表1 道路病害换算系数Tab.1 Weights of road damage
本文主要在2 个数据集上进行实验验证:一个是本文采集到的路面图像数据集;另一个是目前公开常用的路面裂缝分割数据集——Crack500 数据集[18]。
Crack500 数据集是常用的路面裂缝分割数据集之一,该数据集包含500 张路面高清图像,所有图像尺寸为2 000 pixel×150 pixel。 该数据将每个图像裁剪为16 个非重叠区域,仅保留包含裂纹像素个数大于1 000 的图像切块,将这些选定的图像切块分为3 部分:1 896 张训练图像,348 张验证图像,以及1 124 张测试图像。 模型使用Crack500 数据集与其他性能优越的分割方法进行性能对比。
评价指标使用准确率(Precision)、 召回率(Recall)和F1 得分进行模型性能评估,定义如下:
式中,TP(True Positives)为预测为特定类别且预测正确的像素个数;FP(False Positives)为预测为特定路面病害类别但预测错误的像素个数;FN(False Negatives)为标注为病害类别但是没有检测出来的像素个数。 每个评价指标针对特定的病害类别进行评估,最后将所有类别的评价指标取平均值获得最终的评价指标。
为了能够尽可能保留原始图像信息和保证计算机能够充分计算,本文采用将原始图像切块的方式进行模型训练和推理。 训练时,对图像进行随机放缩,放缩因子在0.5~1.5 随机选择,然后对放缩图像进行切块,切块大小为固定的1 024 pixel×1 024 pixel,同时采用随机颜色抖动和随机图像翻转、随机亮度抖动、随机几何旋转等数据扩增策略进行模型训练。优化方法采用AdamW,初始学习率为10-4,beta 因子为(0.9,0.999)。 预训练阶段,本文采用ImageNet 数据集进行预训练,为了保证对比公平,采用FCMAE相同的预训练策略。 测试时,本文采用固定切块的方式进行推理,切块大小为固定的1 024 pixel×1 024 pixel,切块步长为672 pixel,重叠区域的预测概率通过取重叠切块平均值的方式获得。
3.3.1 消融实验
本文对3 种不同的卷积核性能进行对比,如表2 所示。 可以看出,常用的3×3 卷积核由于局部感受野过小,3 项指标都比较差。 使用大型卷积核进行改进以后,模型性能会有较大幅度的提升,F1得分相比3×3 卷积提升了3.5%。 使用重参数化大型卷积核后,模型性能会有进一步提升,相比3×3卷积核提升了4.91%。
表2 3 种不同卷积核性能对比Tab.2 Performance comparison of three convolutional kernels单位:%
本文对比了4 种不同的预训练方法,性能对比如表3 所示。 可以看出,不使用任何模型预,仅在目标数据集上面进行训练,模型性能非常差,这是因为数据量过少导致模型难以获得具有区分性的特征。使用ImageNet 进行有监督的预训练后,模型性能获得较大的提升,F1 得分提升19. 43%,模型能够从ImageNet 获取较好的预训练效果。 采用FCMAE 对模型进行自监督预训练,F1 得分能够提升至93.44%,证明了自监督预训练方式对于路面病害识别的有效性。 使用本文提出的方法,对U 型结构的编码器和解码器进行自监督预训练,模型性能能够比FCMAE 进一步提升,F1 得分能够提升1.03%。
表3 不同的预训练方法性能对比Tab.3 Performance comparison of different pre-training methods 单位:%
3.3.2 对比实验
将本文方法与其他性能优越的语义分割方法在交通基础设施道面数据集上面进行性能对比,如表4 所 示。 相 比 于 DeepLabv3 +[19], UperNet[20],UNet[7],nnUNet[21]等性能优越的语义分割方法,本文获得了最好的结果,证明了本文方法的有效性。
表4 不同的分割方法在道面数据集上的性能对比Tab.4 Performance comparison of different segmentation methods on airport road dataset单位:%
本文方法与其他性能优越裂缝分割方法在Crack500 数据集上面的性能对比如表5 所示。 可以看出,相比于BARNet[22],FFEDN[23],DMANet[24]分割方法,本文方法在Crack500 数据集上得到了最好的模型性能,证明了本文方法的有效性。
表5 不同的裂缝分割方法在Crack500 数据集上的性能对比Tab.5 Performance comparison of different crack segmentation methods on Crack500 dataset单位:%
3.3.3 预测结果可视化
图7 展示了几个本文方法的实验效果可视化结果。 可以看出,与标注结果相比,本文方法能够有效分割不同的路面病害,与测试集的标注结果保持一致性。 本文方法能够较好地进行路面病害分割。
图7 本文方法实验效果可视化图Fig.7 Visualized experiment results of the proposed method
3.3.4 实际应用
将本文搭建的路面数据采集巡检车和算法应用到某交通基础设施的日常巡检任务中,使用PCI 进行路面质量评估,得到某交通基础设施的PCI 值为96.32%。 该交通基础设施日常人工巡检、计算得到的实际PCI 值为96. 73%,自动巡检路面质量分析结果与人工巡检路面质量分析结果较为一致。 进一步,对某交通基础设施进行5 次重复巡检,巡检得到的PCI 值为96.32%,96.44%,96.37%,96.26%,96.53%,均与人工计算得到的PCI 结果一致,可以证明本文方法对于实际巡检应用具有重要的现实意义和有效性。
本文提出了一个基于大型卷积核模型和自监督预训练的路面质量分析方法。 首先,使用巡检车在道路或场地进行路面数据采集,获取了一个大型的多病害类别路面图像数据集。 然后,使用基于重参数化大型卷积核的U 型网络对路面图像数据进行逐像素的病害识别,利用大感受野实现高精度的路面病害分割。 为了进一步提升模型的特征表达能力,本文针对U 型结构的全卷积编码器和全卷积解码器构建了自监督预训练框架,使用图像修补作为模型的自监督预训练代理任务。 最后,根据提出的路面病害识别方法,对巡检车获取得到的数据进行实时分析,并应用到某交通基础设施的日常路面养护应用中,巡检结束后输出该交通基础设施路面的质量评估报告,实现路面养护降本增效。