APP下载

基于深度特征金字塔的路面病害检测

2022-12-11刘宁钟寇金桥

计算机技术与发展 2022年12期
关键词:注意力病害路面

张 伟,刘宁钟,寇金桥

(1.南京航空航天大学 计算机科学与技术学院,江苏 南京 211106;2.北京计算机技术及应用研究所 方舟重点实验室,北京 100854)

0 引 言

道路基础设施是中国一项重要的公共资产,也是国家整个交通系统的基本组成部分。截至2021年初,中国高速公路运行长度约十六万公里,稳居全球首位[1],而到了2035年,中国的农村公路更要全面做到乡镇通的三级公路,总计里程数能够超过五百万公里,这就要求道路养护当局提供必要的支持和强有力的工具,以准确实时地应对道路状况问题[2]。传统的道路检查以日常检查和年度检查相结合,在日常检测中,以人工巡查为主,然而现场目视检查是劳动密集型的。对于年度检查,由权威机构牵头,采用专用设备和人员进行操作检测,但是这种检测过程成本极高[3-4]。因此基于图像的道路表面病害识别深受研究人员的青睐[5],早期研究侧重于传统的图像处理技术,这一类方法主要是利用路面病害像素和路面背景像素的差异[6-8]。一些研究人员也将机器学习方法与图像处理技术相结合,可以进一步提高表面病害检测的鲁棒性和通用性[9]。

近年来,卷积神经网络已经证明它们可以在复杂的图像上表现稳定,因为它们可以从输入图像中挖掘出更具有代表性的特征[10],所以越来越多的研究人员尝试使用深度神经网络来检测道路表面的病害。分类网络可以在只包含一种预定义病害类型的图像中获得相当高的准确性[11]。分割神经网络在病害的量化上具有明显优势,因为其检测粒度是像素级别的[12-13]。使用基于目标检测的方法对道路表面病害进行检测并分类是更好的选择,因为目标检测数据集的标注与制作更加简单高效,且这些方法可以提供实例级别的病害检测[14]。

在目标检测网络的前馈推理过程中,考虑到模型的速度和大小,必须对原始输入图像和后续特征图像进行降采样。然而,采集到路面图像中的路面病害本身目标信号就较弱,一些小裂缝可能只有少数像素,因此,随着网络深度的增加,不可避免地会造成信息的持续损失。在以往的目标检测研究中,研究者倾向于使用更深层次的特征图,因为这些特征在经过大量神经网络层的提取后,具有丰富的语义信息。然而这样的特征选择却忽略了一定的空间信息,尤其对于道路表面病害来说,这种信息忽略可能是致命的,因为原始图像中一条明显的裂缝,随着网络深度的加深,可能不再为深层网络所见。特征金字塔网络(Feature Pyramid Network,FPN)让目标检测模型也关注到了浅层特征,并将特征图的各个层次进行了融合,空间信息和语义信息进一步得到了提升[15]。因此将FPN引入到道路表面病害的目标检测网络中,可以为整个网络提供更多的空间信息。此外,在使用深度神经网络处理图像时,原始图像以及后续特征图是三个维度的,空间信息仅仅利用了二维的信息,因此通道信息也是不能被忽略的。与此同时,如何更好地利用FPN所生成的多层次特征图并提取出更有用的信息也是该文的研究重点。

1 相关工作

1.1 FPN

2017年,Lin等人提出了特征金字塔网络FPN,金字塔的构建包括自下而上的路径、自上而下的路径和横向连接。图1显示了构建FPN的过程。对于最高层次的特征图,其包含的细节信息较为粗糙,将该特征图的空间分辨率向上采样2倍。然后,通过对应元素直接相加的方式,将上采样后的特征图与相应的自下向上的特征图通过横向连接融合。重复此过程,直到最大分辨率的最底层特征图。最后,在每个融合后的特征图上加上一个3×3的卷积,生成最终的输出特征图,这可以减小融合后的混叠效果。最后一层输出特征图P6是通过P5上采样生成的。FPN是一种可以用于多尺度目标检测的实用且准确的解决方案,在两阶段目标检测模型Faster R-CNN[16]上集成FPN并取得显著的效果之后,FPN成为许多新目标检测器和模型的基础。

图1 FPN的网络结构

对于两阶段目标检测模型来说,FPN不仅是生成候选目标的特征来源,也是最终输出预测目标的特征来源。目前的两阶段检测模型大多使用ROI特征提取器,该特征提取器根据候选区域生成网络(Region Proposal Network,RPN)生成的候选边界框来选择主干网生成的特征区域。引入FPN以后,特征提取不再直接操作于主干网特征,而是操作于由FPN生成的特征金字塔上。对于ROI特征提取器来说,会将每个ROI映射到FPN的某一个单层次特征图,然后进行池化等操作。公式1就是最基本的映射规则,将宽度为w、高度为h的ROI分配到特征金字塔的第k层。以Faster R-CNN为例,在未使用FPN之前,仅在C4阶段的单尺度特征图上运行目标检测与分类,因此k0一般设置为4。而公式1同时也说明如果某个ROI的尺度较小(例如,224的一半),那么该ROI会被映射到一个更低层次的特征图(例如,k=3),而该特征图刚好也包含更多的细节信息,这也表明了公式1设计得比较合理,因此该映射规则一直被使用。

(1)

1.2 通道注意力

最经典的通道注意力架构单元是挤压和激发块(Squeeze and Excitation,SE)[17]。图2显示了通道注意力机制的挤压和激励过程。第一步挤压是通过全局平均池化将形状为W×H×C全局特征图压缩成1×1×C形状的通道描述符,以此来收集全局空间信息。第二步是激励,将第一步中聚集的信息,通过FC-ReLU-FC变换来重新学习通道之间的权重分布,并引入一个超参数r来限制复杂性,然后用一个sigmoid激活函数作为一个简单的门控机制输出一个注意力向量。注意力向量最终通过相乘的方式来重新调整原始特征图的输入通道。

图2 SE通道注意力机制结构单元

1.3 路面病害目标检测

在Maeda等人的研究中,开发了分别以MobileNet和Inceptionv2为主干网的SSD检测模型,用来检测8类道路表面病害,同时公布了公共道路损伤数据集2018(Road Damage Dataset 2018,RDD2018)[18]。Wang等人在该RDD2018上使用Faster R-CNN来检测和分类受损的道路。Kluger为了解决道路损坏检测和分类问题,应用Faster R-CNN、RetinaNet、随机森林与神经网络以及集成学习的方法。

2 模型与方法

FPN是一种等价于从不同图像分辨率提取特征的体系结构,它已经被大量实验证明具有维持空间信息的有效能力。该文进一步考虑通道特征对于路面病害表征的有效性。长久以来,通道特征注意力的发展一直集中在语义分割和图像分类任务上,在目标检测领域应用了更多的空间注意力机制,这是因为对于目标检测的直观感受上,空间信息更重要。而对于路面病害检测来说,经过主干网的一系列卷积处理,然后通过FPN生成特征金字塔,每两个层次的特征图之间的分辨率相差2倍,即使分辨率最高的特征图,仍然只有输入图像的四分之一大小。然而,图像中的道路病害,如裂缝,本身可能只有几个像素,因此,随着网络深度的增加,一条明显的裂缝可能不再为深层网络所见。笔者认为此时增加空间注意力并不是最佳选择,因为卷积本身就是一种广义的空间注意力模块,因此将重点放到特征图的通道维度,如图3所示,对FPN的每一层输出图都使用一个SE进行通道矫正。在以往的模型中集成SE时,都是将SE加到主干网的某一些堆叠块后面,比如残差块,该文开创性地将通道注意力机制应用到颈部网络,集成方式只是简单的串联,使模型具有松耦合的特性,简单高效,并且几乎不增加模型的复杂度。

图3 FPN与通道注意力的集成

集成了通道注意力的特征金字塔,分别从通道维度和空间维度增强了模型对于路面病害的表征能力,并生成了多层次特征图,然后由特征提取器根据ROI选择特征层次进行特征提取。在传统的FPN中只考虑了单层次特征图提取的方法,这存在一些信息相关的问题。公式2可以表示为RPN中的回归子网对锚框的修正,x是在特征金字塔上输入的某一层次的特征图,w*是要学习的回归权重参数(*表示x,y,w和h,对应锚框的平移变换和尺度缩放),d*(x)是网络的输出,用来修正候选锚框。可以看出,这里可能存在特征没有对齐的问题,如果特征图x来源于第i层,候选锚框P1位于来自特征金字塔的第i层,然后候选锚框P1经过RPN的第一次修正后变为P2,在头部网络进行第二次修正时,公式1将P2映射到FPN的第j层,如果i≠j,那么该ROI经过两次修正后很明显存在依赖的特征基础不一致。

d*(x)=w*x

(2)

在过往的研究中都指出,在设计路面病害的检测模型时,如何利用好低层次的特征是非常重要的,高层次的特征融合可能会造成冗余的干扰信息[19]。受此启发,提出了一种自下而上的ROI路面病害特征提取器,将其命名为RDROIE(Road Disease ROI Extractor)。图4显示了这一提取框架。k是通过公式1计算而来,认为由公式1计算出来的第k层次是某个尺度病害的理想特征层次,具有较好的语义特征,然而由于道路病害的细微性,在卷积下采样的过程中,特征信息损失严重,因此选择k层及k层以下的ROI特征进行融合。首先是ROI池化模块,它是一个对非规则ROI执行最大池化以获得固定大小表示的模块,ROIAlign是现阶段最流行的池化操作,它通过将原始特征图上的ROI划分为相等的网格,并在每个网格内使用双线性插值来缩小矩形特征图区域。经过ROIAlign池化模块生成ROI特征都具有相同的形状,随后是一个预处理模块,其目的是对池化后的区域进行初步细化。该文使用了一个5×5卷积层,然后使用一个求和操作,聚合来自每个层次分支的单个ROI特征。在最终返回聚合特征之前应用了一个额外的细化步骤,这一步应该允许网络学习全局特征,加强最终ROI特征的信息能力。该文选择应用空间注意力层,这一层的主要目标是消除无用信息。

我的第三个男朋友,叫罗思平。其实,我和他之间,也没有发生什么,但我依然坚称他是我男朋友。我喜欢将那些与我有过千丝万屡联系的男孩或者男人,统称为男朋友,无论我们之间的关系是微妙抑或明朗。罗思平是我所在打工小食店的常客,三十岁左右,喜欢刁着烟,隔一阵子用食指轻轻地将燃过的烟灰弹去。他总是一脸的忧郁。

图4 路面病害ROI提取框架

3 实 验

3.1 实验细节

对于路面病害检测来说,准确检测到病害的重要性是高于检测速度的,而两阶段模型在准确率上大多时候是优于一阶段模型的,因此采用两阶段的检测模型作为基线模型,选取了带有FPN的Faster R-CNN,图5展示了所使用的路面检测框架。

图5 路面病害检测模型

该文将改进后的特征金字塔网络在两个数据集进行了验证,一个是RDD2018,图像来自日本的7个地方(Ichihara,Chiba,Nagakute,Sumida,Muroran,Adachi和Numazu),共9 053张图像样本,有7 240张和1 813张图像被分别用作训练样本和测试样本。该数据集包含8个不同的道路病害类别,分别是纵向裂缝(D00),纵向接缝(D01),横向裂缝(D10),横向接缝(D11),龟裂(D20),车辙、露骨、坑槽和分裂归为一类的D40,人行道模糊(D43)和白线模糊(D44)。一个是笔者自己制作的沥青路面病害数据集,包含2 297张图像,随机选择了其中2 072张用于训练,225张用于验证,共六种病害,分别是纵向裂缝(Type1),横向裂缝(Type2)、灌封修补(Type3)、块状修补(Type4)、坑槽(Type5)和块状裂缝(Type6)。图6分别给出了两个数据集中的图像示例,(a)是文中的沥青路面病害数据集的示例,(b)是RDD2018中的示例。在训练期间,对于自己制作的数据集,用于训练和测试的图像原始大小为4 000×3 000的高分辨率图像,如果直接使用原始分辨率的图像作为训练输入,需要大量的GPU内存以及训练时间,造成模型训练和优化困难。针对这种情况,将图像大小调整为1 333×800,这是最常用的目标检测图像输入分辨率,既可以保持病害在图像中的完整性,也可以减少在训练阶段对硬件的需求。尽管如此,由于使用的是一块GTX 1080 Ti 11 GB GPU,批量大小不能设置得太大,但是对于批量归一化来说,小批量会使批量统计的估计不准确,所以在训练过程中固定BN层的参数,不更新它们。在将每个图像馈送到网络之前,对其进行了随机水平翻转,随机概率为0.5,然后将输入图像的RGB通道上的均值和标准差值进行归一化。在后续的模型比较中,与之比较的所有模型都不是来自原始论文的实现,但它们是在相同的环境上进行训练并测试,除了提出的改进的FPN模块外,其余都使用相同的配置,因此该文使用MMDetection作为基础工具箱来开发文中方法。

图6 路面病害图像示例

3.2 实验结果

采用基于IOU的方法来匹配预测边界框与真实标注(Ground Truth,GT)边界框,从而判断定位是否准确,如果IOU≥0.5,则认为该检测边界框是TP。如果IOU<0.5,则认为该检测边界框是FP。由于目标检测中不涉及真阴性(TN)这一概念,因此评估指标主要是基于TP、FP和FN的精确率P和召回率R,分别定义为:

(3)

(4)

在此基础上使用F1分数来评价检测结果,F1分数定义如下:

(5)

将Faster R-CNN ResNet-50 with FPN作为基线结果,然后在此基础上引入提出的集成通道注意力的特征金字塔和改进的ROI特征提取器。表1显示了在逐渐引入提出的方法后,模型在沥青路面病害数据集和RDD2018测试集上的F1分数变化。

表1 每个启发式方法在测试集上的F1分数

表2 不同模型的F1分数对比

在验证了提出的模型改进方法的有效性后,与其他的流行的目标检测模型在ARSDD测试集进行了比较。从表2中可以看出,两阶段模型Faster R-CNN和所提模型在结果上明显好于一阶段模型SSD、YOLOv4、RetinaNet和FCOS,这说明了两阶段目标检测在现阶段的路面病害检测中的应用应该是更有效的。FCOS是近期比较热门的一个目标检测模型,该模型实现了无候选边界框的创新思路,在诸如COCO等公开数据集上的表现好于许多基于锚框的目标检测算法。从表2可以看出,该模型在两个数据集的F1分数都明显优于其余的模型。

3.3 结果分析

图7显示了文中模型的在两个数据集上正确的检测结果,图7(a)检测到了一些沥青路面数据集中的横向裂缝。同理,图7(b)检测到了一些龟裂(D20)。裂缝作为路面上最常见的病害,对其进行精准检测是十分重要的,无论是图7(a)近处的裂缝,还是图7(b)中远端的裂缝,基于改进后的特征金字塔网络模型都能够有效地检测到。

图7 模型的检测结果可视化

4 结束语

道路路面的损坏会影响道路正常运行,如果放任不管,会使得整条道路持续恶化,该文使用基于目标检测的方法来检测道路表面病害。由于路面病害目标具有特征信号微弱的特点,首先介绍了FPN以及特征提取器,然后阐述了目标检测中通道注意力机制,在此基础上,介绍了针对路面病害检测所提出的两个方法,一个是将通道注意力机制集成到多层次特征图上,增强网络的语义表征能力。第二个方法是对特征提取器进行了重新设计,让路面病害的ROI不再仅仅只依赖于某一层次的特征图,而是融合了更多低层次的特征图信息。接着采用基于Faster R-CNN在RDD2018和沥青路面病害上分别进行了实验,结果表明带来了显著的提升,同时分别在提出的数据集以及公共数据集与其他模型进行了对比和验证,结果表明该模型都优于其他的模型。

猜你喜欢

注意力病害路面
早春养羊需防六大病害
让注意力“飞”回来
小麦常见三种病害咋防治
葡萄病害周年防治历
果树休眠期咋防病害
用艺术修补路面
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
一款透水路面养护车
BFRP连续配筋复合式路面配筋设计