李 傲 葛永新 刘慧君 杨春华 周修庄
1 (重庆大学大数据与软件学院 重庆 401331)
2 (重庆城市管理职业学院智能工程学院 重庆 401331)
3 (重庆大学计算机学院 重庆 400044)
4 (北京邮电大学人工智能学院 北京 100876)
公路交通不仅关系到一个国家和地区的经济命脉,同时对人民生活水平的提高也发挥着无法替代的作用.我国公路多为沥青路面,由于其自身空隙大、温度稳定性差、耐衰老性差等缺点,极易造成裂纹、疏松等病害[1],这些路面病害严重影响了公路的承载力、运输力、客货运的行车安全以及公路使用年限.因此,对路面病害快速准确的有效检测是公路运输安全的重要保障.
传统人工检测方法严重依赖检测人员的主观判断,存在漏检错检率高、效率低、检测成本高昂等问题,难以满足精确、高效、低成本的路面多类别病害检测需求[2-3].
随着计算机视觉技术的不断发展,利用其对路面病害进行自动化检测在技术上逐渐成熟可行.借助计算机视觉技术实现路面病害自动化检测软件系统的流程遵循一般的软件工程开发流程[4].本文的主要工作集中在路面病害检测算法的设计与验证.可信路面病害自动化检测软件系统中对于算法设计与验证部分提出了明确的需求,即构建具备良好泛化性和鲁棒性的路面病害多分类检测模型.
基于计算机视觉技术的路面病害检测算法在流程上可分为特征提取、阈值分类2 部分,依据特征提取模式和分类阈值设定方式上的不同可以分为传统方法、基于机器学习的方法和基于深度学习的方法.传统方法主要依靠人工提取图像特征并设定分类阈值,比如Amhaz 等人[5]提取病害图像的光照强度和几何学特征用于病害分类,受限于人工提取图像特征和设定分类阈值的方式,传统方法无法有效处理复杂环境路况下的病害分类任务,导致在大规模数据下的检测准确率偏低.Koch 等人[6]在路面病害检测任务中利用机器学习方法自动设定分类阈值;后续研究者Kapela 等人[7]则使用支持向量机得到分类阈值;也有研究者尝试改进贝叶斯分类器[8]或AdaBoost 分类器[9]获取分类阈值.基于机器学习的方法虽然通过学习来获取设定分类阈值,但依旧无法摆脱人工提取图像特征的困境,难以实现复杂路况下路面病害的高效检测.而深度学习技术借助卷积神经网络(convolutional neural network,CNN)能够学习到丰富、多层次的图像特征表示,并通过全卷积或全连接的方式对图像特征进行自动分类检测,整个过程无需人工介入,因此越来越多地被用于路面病害检测.Gopalakrishnan 等人[10]利用预训练的VGG-16 网络可以高效地检测出路面是否含有裂缝;Li 等人[11]和Cha 等人[12]对主流网络模型进行修改和微调也能够准确地检测出路面是否包含病害;Tang 等人[13]提出一种迭代优化的网络模型,进一步提高了路面病害二分类的准确率.利用模型自动学习来提取图像特征和设置分类阈值的深度学习技术成为主流的研究算法,其对路面病害的分类准确率远高于传统方法和机器学习.
目前主流的CNN 网络多采用224×224 或256×256等低分辨率图像作为输入,实际应用场景中为提高图像采集效率和图像质量,所采集的路面图像分辨率往往为3 692×2 147 甚至更高,无法将实际场景中采集到的路面图像直接输入到现有的预训练网络中.对此,目前主要有3 种解决办法.第1 种处理方式是修改现有网络并重新训练,使得原始图像可以直接输入到修改后的网络中,但这种方式会引入大量无意义计算,提高网络训练成本、降低推理速率,鲜有研究者尝试这种处理方式.第2 种处理办法是将原始图像分块,例如Tang 等人[13]和Huang 等人[14]将原始图像进行分块,使用分块后的图像训练网络.但是这种分块方法存在3 个问题:1)图像的每一块缺乏用于网络训练的监督标签;2)每一块独立输入网络未考虑到各块之间的联系,丢失整体结构信息;3)仍将图像全部像素输入网络,整体计算量没有降低.其中第3 种也是目前主流的处理方法,即对原始图像直接进行下采样.传统的下采样算法如最近邻、双线性插值等,依据采样前后像素点数目的比值计算像素信息丢失率,通常会损失超过95%的像素信息,前景病害信息和无关背景信息均同等程度受损,且受噪声与背景变化影响较大.Talebi 等人[15]为了尽可能保留原始图像中所有细节信息,提出了一种可学习的下采样器,其采样率在0.25~1 之间.但病害像素在原始图像中的分布呈连续集中状态且占比低,如图1所示,无选择地保留全部细节信息意味着同等对待无关背景区域,缺乏对前景病害区域的关注,无法有效解决路面病害检测任务中的痛点问题.
图1 CQU-BPMDD 中的路面病害图像Fig.1 Pavement distress images in CQU-BPMDD
快速有效地设计性能高效的网络模型既可以平衡高分辨率图像与CNN 的输入限制,又能自适应感知并保留病害区域信息.可视化解释方法通过对CNN 的工作原理以及决策过程的解释性分析[16],更好地辅助选择和设计网络模型.以往的研究中可视化解释方法通常是作为一种事后的解释方法[13-14],用于模型效果的补充验证.可视化解释方法同样可以作为事前的分析方法服务于模型的设计,从而可以更好地构建可信路面病害检测网络模型.
基于以上研究,本文借助于可视化解释方法设计了一种即插即用的图像内容自适应感知模块(adaptive perception module,APM)来替换现有预处理算法,该模块自适应感知并保留病害区域相关信息,显著提升高分辨图像下的路面病害分类准确率.本文的主要贡献有3 个方面:
1) 借助于可视化解释方法设计了图像内容APM.APM 借助残差模块获取更为丰富的特征表示,利用卷积注意力模块(convolutional block attention module,CBAM)[17]来感知激活病害区域的特征信息,过滤无效的背景信息,获取低分辨率下包含丰富病害区域信息的图像数据.
2) 以联合学习的方式对APM 进行训练,APM可以即插即用地嵌入到现有骨干网络(Backbone)之前.无需额外的监督信息与设计独立的损失函数,即可实现端到端的路面病害检测模型训练,从而降低整体的训练成本.
3) 在最新公开的数据集CQU-BPMDD[18]上的实验表明本文提出的APM 相比于现有预处理算法能够有效地保留病害区域的特征信息,路面病害检测准确率提升明显.在数据集CQU-BPDD[13]上的实验及可视化分析表明APM 具备良好的泛化性与鲁棒性.
目前已有较多的工作将卷积神经网络等深度学习技术应用到路面病害检测任务,相较传统模型取得了较大提升[19].依据数据集提供的标注信息的粒度不同,可以将这些方法分为2 类:像素级别的分类检测和图像级别的分类检测.
像素级别的分类检测需要为路面图像中的每一个像素点分配类别标签,也称为语义分割.目前主流的研究方法主要将其他领域的语义分割模型迁移到当前任务中.Jenkins 等人[20]迁移U-Net 模型实现病害区域分割.Yang 等人[21]利用融合特征金字塔模型的CNN 架构来实现病害区域的分割.Liu 等人[22]和Zhang等人[23]在编解码结构中加入注意力机制分别提出了FPCNet 和DeepCrack,同时,Xiang 等人[24]在金字塔特征结构的基础上融合注意力机制进行病害区域分割.此外,全卷积网络也常常被用于像素分割[25].但像素级别分类需要准确的像素级别的标注信息来训练,实际场景中往往缺乏像素级别的标注信息.
图像级别的分类检测主要判断图像中是否包含路面病害.Zhang 等人[26]和Tang 等人[13]利用图像分块的思想,将不同的原始图像分割成多个重叠子区域,通过对子区域的检测来判断原始图像是否包含路面病害.Krizhevsky 等人[27]自行设计CNN 模型探索网络深度和分类准确率之间的关系.主流的研究主要集中在对路面有无病害的二分类检测,由于缺乏多分类数据集,目前对路面病害多分类检测的研究较少.
主流的CNN 网络多采用224×224 或256×256 等低分辨率图像作为输入,但实际场景中采集到的图像分辨率取决于具体的采集设备,并不一定严格满足CNN 的输入限制条件,这种情况下需要利用图像缩放技术来对原始图像进行缩放.
传统图像缩放算法如最近邻、双线性或双三次插值技术,依据一定的计算规则来得到目标图像的像素值,这些算法不需要监督信息,具有计算量小、计算速度快等优势,使其成为深度学习中图像预处理阶段最为常用的缩放办法.但传统的缩放算法并没有考虑到图像中不同目标内容在缩放过程中的重要程度,无法依据具体的图像内容数据进行变化,仅仅是无差别处理无关背景及病害区域前景,在路面病害自动化检测的软件系统中应用有限.
Talebi 等人[15]基于CNN 提出了一种可学习的下采样算法,在缩放过程中关注图像的整体细节信息,保留图像更多的细节信息从而优化网络性能.CNN虽然可以通过学习获取图像特征语义表示,但是并未考虑感知图像中与具体任务紧密相关的信息.
CNN 模型的可解释性问题,也称为深度可视化问题.依据计算过程,可以将深度可视化方法分为2大类.一类通过正向计算直接可视化CNN 网络每一层的卷积核参数以及输出的特征图;另一类通过反向计算,将高维特征反向到CNN 的每一层卷积,可以观察特征图对应原图的区域,从而了解CNN 从原图中学习到的具体特征信息.
最早的深度可视化工作通过正向过程可视化卷积核参数[28],CNN 的浅层卷积主要关注于图像中边缘、条纹以及颜色信息.Zeiler 等人[29]则是对正向过程中各卷积层输出的特征图进行可视化,分析不同通道对于输入图像的差异性响应.Zeiler 等人[30]同时对卷积核参数与特征图进行可视化分析,揭示不同的CNN 网络结构激发映射并且揭示出其对输入变形的不变性.这种通过正向计算的可视化不仅需要分析大量的卷积核参数,同时必须选择充足的样本进行特征提取,而CNN 网络中存在很多冗余,导致可视化中存在较多的无效工作.
另一类可视化借助于反向计算,经典方法有反卷积[31]和梯度反向传播.Zeiler 等人[32]通过反卷积来对图像特征进行重建,分析输入图像中的哪些信息被保留在CNN 提取的特征中.Zhou 等人[33]提出类激活映射(class activation mapping,CAM)可视化方法,使用全卷积层替换神经网络末端的全连接层,并将输出层的权重反向投影至卷积层特征,能有效定位图像中有助于分类任务的关键区域,但是CAM 需要对模型进行修改.Grad-CAM[34]应运而生,用梯度的全局平均来计算特征图对应的权重,最后加权求和并叠加至原始输入,有效定位图像中有助于分类任务的关键区域,无需修改原始模型也无需重新训练网络,成为目前深度可视化问题中主流的选择.本文选择Grad-CAM 作为可视化解释的技术手段,辅助APM 模块的设计及效果验证.
在路面病害检测任务中,大多数研究者追求模型在特定测试集上的高准确率,可视化解释手段作为一种事后的补充证明,是事后解释性的一种手段.本文则是考虑利用可视化解释方法来理解分析CNN的工作原理以及决策过程,进而更好地选择和设计网络.
本节主要关注内容感知的路面病害图像检测模型的设计,并借助于可解释性方法构建APM 模型.
本文的总体框架结构如图2 所示,整体结构由APM 模块和分类骨干网络(Backbone)两部分组成,APM 和Backbone 采用联合学习的方式进行训练.
图2 路面病害检测模型整体框架Fig.2 Overall framework of pavement distress detection model
APM 中残差模块的数目可以依据实际场景进行调整,APM 末端添加动态平均池化操作,将APM 的输出池化为Backbone 所需的大小,实现即插即用地嵌入到现有任意Backbone 之前.
APM 有2 个功能:一是降低输入数据的分辨率;二是自适应感知病害区域相关信息.
本文通过调整卷积操作的参数来降低输入数据的分辨率.卷积操作的计算逻辑如式(1)所示,其中,Hin,Win分别表示输入图像的高度和宽度;Hout,Wout分别表示输出图像的高度和宽度;padding表示图像边界填充方式;dilation表示卷积膨胀系数;kernel_size表示卷积核大小;stride表示卷积步长.设置padding=0,dilation=0,stride=2,将输出图像的Hout,Wout分别转换为输入图像Hin,Win的1/2,从而达到下采样的效果.
注意力机制可以促使模型聚焦于目标区域,过滤无关背景区域,增强图像的特征表示,本文借助注意力机制自适应感知路面病害区域.
图2 中,ConvBlock1 和ConvBlock2 获取原始图像的低维特征表示,为了在原始图像上获取更大的有效感受野[30],ConvBlock1 采用13×13 的卷积核,设置卷积步长为2,将输入的2 148×3 692 图像调整为1 069×1841,ConvBlock2 则进一步提高通道数至32.之后利用多个改进残差块(residual block)获取更为丰富的特征表示的同时进一步降低特征的长度和宽度.基于CBAM 对图像特征进行聚焦,然后通过ConvBlock3和ConvBlock4 来降低通道数,还原采样图像,从而在降低图像分辨率的同时感知保留病害区域相关信息.
2.2.1 改进残差模块
从集成学习角度分析,残差网络可看作是一系列路径集合组装而成的集成模型,不同的路径包含了不同的网络层子集[35].本文借助残差组合低维特征,获取更为丰富的图像特征表示.残差模块的一般结构如图3(a)所示,为了同时实现下采样功能,本文在图3(a)的基础上增加下采样操作,如图3(b)所示.
图3 残差模块Fig.3 Residual module
APM 可以添加多个残差块,每个残差块将输入图像变为原来的1/2,本文取n=2,通过2 层改进残差结构将特征维度从32×1 069×1 841 调整为32×267×460.残差结构的计算过程表示为式(2):
其中Fin表示残差块的输入,Conv表示卷积操作,下标表示卷积核尺寸,BN表示批规范化(batch normalization), δ表示LeakyReLU 激活函数,S ample(Fin)则表示对输入进行下采样操作,本文中S ample选择双立方插值算法.
2.2.2 CBAM 模块
CBAM 模块包含通道注意力和空间注意力2 个子模块,具体结构如图4 所示.通道注意力模块的目的是激活更有用的通道特征.考虑到不同路面病害的边缘特征不同,且提取的特征图中的每个通道代表一种特征模式,把卷积核看作模式检测器,不同卷积核能够检测出不同的特征模式,筛选出对边缘信息敏感的卷积核,即可提取对应的通道特征.空间注意力模块对病害相关区域的空间位置进行感知聚焦,专注于病害相关的空间位置.
图4 卷积注意力模块Fig.4 Convolutional block attention module
通道注意力对输入Fin进行最大池化和平均池化分别保留突出前景及整体信息,得到2 个维度为1×1×32 的通道描述矩阵,将矩阵输入到共享的2 层感知机(multi-layer perception,MLP)中,MLP 的第1层神经元个数为4,激活函数为ReLu,第2 层神经元个数为32.将得到的2 个特征相加后经过sigmoid 激活函数得到最终的通道权重系数Mc,Mc(Fin)×Fin表示经过通道注意力机制处理后的特征.计算过程由式(3)表示:
其中, δ为sigmoid 激活函数,MLP 表示多层感知机,AvgPool和MaxPool分别表示平均池化和最大池化.
空间注意力关注病害区域的空间位置.与通道注意力相似,输入特征Fin的维度为32×267×460,分别进行通道维度的最大池化和平均池化,得到2 个维度为1×267×460 的空间位置描述矩阵.将2 个空间描述矩阵拼接,经过7×7 的卷积和sigmoid 激活,得到维度为1×267×460 的空间权重系数Ms,Ms(Fin)×Fin表示经过空间注意力机制处理后的特征.计算过程由式(4)表示:
为了实现端到端的模型训练,采用联合学习的方式对APM 进行训练,考虑本文模型的最终目标是得到最优的路面病害分类结果,无需额外针对APM设计任何损失函数或添加正则化约束,只需整体利用分类损失进行反向传播即可实现对于APM 的训练.本文后续实验均采用联合学习的方式完成对APM 的训练.
本文采用多分类任务中最为常用的交叉熵损失函数,具体计算过程分2 步:第1 步对网络输出进行softmax 操作得到对于每个类别的预测概率值,表示为式(5),其中yout表示网络的预测输出,K为网络检测的病害类别总数(本文中K=3),softmax 操作将网络的输入映射到一个概率分布维度;第2 步对第1 步的结果取负对数似然即为最终的交叉熵损失函数,其中ytrue为0-1 编码的真实标签,如式(6)所示.
通过可视化对APM 决策过程的作用机制进行可解释性分析,度量APM 对于图像内容的感知区域和感知强度,从而验证APM 的有效性.
APM 作为CNN 技术的一种应用,目前存在多种基于可视化的可解释性方法来洞察CNN 的内部卷积计算过程.从可视化的角度来看,目前主要存在3 种可视化模式:特征可视化、卷积核参数可视化、类激活图映射可视化.相比于其他2 种可视化技术,类激活图映射可视化通过热力图直观地了解到图像中哪些部分对模型最终的输出结果起决定性作用,同时也可以粗略地定位出图像中物体的位置.在众多类激活图映射可视化范式的方法中,Grad-CAM 无需修改模型结构和重新训练模型,适用于不同任务以及多种结构的CNN 模型,因此,本文选择Grad-CAM 对APM 进行可解释性分析和可视化.
要得到APM 的对图像内容感知后的输出效果图,只需要计算APM 中每层输出的特征图以及对应权重,最后将所有的特征图加权求和后叠加在输入图像上得到APM 的类激活图.对于特征图直接取APM 中每层卷积的输出即可,对于特征图的权重需要通过反向传播计算目标层所输出的各个特征图对于预测值的梯度,将梯度全局平均池化后得到特征图的权重,整个计算过程可以表示为式(7):
然后,将APM 中的所有特征图进行加权求和,并通过ReLu激活函数保证输出激活图中所有数值非负,从而消除与类c无关的干扰,得到最终的梯度加权类激活图,计算公式为式(8).将得到梯度加权类激活图与原始输入图像进行叠加,获得APM 的类激活图.
其中,K表示特征图的个数.
同样,可以利用Grad-CAM 获取骨干网络的类激活图来辅助分析选择最优的骨干网络.
本文使用来自Liu 等人[18]提出的CQU-BPMDD 路面病害数据集,该数据集包含11 819 张分辨率为2 148×3 692 的中国南方地区高速路面的病害图像,包含横向裂纹、纵向裂纹以及修补3 种病害类别,随机选择其中90%的数据作为训练集,10%的数据作为测试集,具体的数据集分布和划分如图5 所示.
图5 CQU-BPMDD 数据集数据分布Fig.5 Data distribution of CQU-BPMDD dataset
APM 基于开源深度学习框架Pytorch 实现,采用在ImageNet 上预训练权重的Backbone,选择组合优化器RangerLars , 组合了RAdam[36], LookAhead[37],LARS[38],训练时学习率为0.005,批训练样本个数为16,最大训练迭代次数为100,APM 最后一层的动态池化的池化大小依据Backbone 进行调整.
路面病害分类任务中,可选择的评估指标有精确率(Precision)、召回率(Recall)和F1 值.本文选择F1 值作为评估指标.F1 值的计算借助于精确率和召回率.精确率关注模型在预测结果中为真的准确率,表示在结果为真的时候的模型的可信度,计算公式为式(9).召回率衡量模型对实际正例的判别能力,表示在当前类别的所有预测结果为正例中真实正例所占比重,计算公式为式(10).式(9)(10)中,TP表示被正确划分为正例的个数;FP表示被错误划分为正例的个数;FN表示被错误划分为负例的个数;TN表示被正确划分为负例的个数.F1 值是对精确率和召回率的一个调和平均, 计算公式为式(11).
采用准确率(Acc)来评估模型的整体性能,计算公式如式(12)所示:
为了能够设计出有效的APM 模块,首先利用可视化解释方法来分析不同的结构模型的感知激活效果,验证设计思路有效性的同时辅助模型的选择和设计.结合可视化的模型决策效果和最终整体路面病害分类的准确率来选择最优的网络结构.
选择Efficientnetv2_B2 作为Backbone,利用Grad-CAM 来计算获取激活图,依次尝试图6 中的APM_Conv, APM_Res, APM_CBAM 来分析大卷积核、下采样残差、卷积注意力机制的感知激活效果.借助于联合学习的方式实现端到端的模型训练.
图6 APM_Conv, APM_Res, APM_CBAM, APM 的详细结构Fig.6 The detail structures of APM_Conv, APM_Res, APM_CBAM, APM
获取APM_Conv, APM_Res, APM_CBAM, APM的感知效果如图7 所示.图7(a)为原始高分辨路面输入图像;图7(b)表示APM_Conv 的感知激活效果,可以看出APM_Conv 此时是对图像整体内容的弱感知激活,说明大卷积核能够有效扩大感受野,但是并不能有效地感知激活前景病害区域.APM_Res 的激活效果如7(c)所示,残差结构也只是获取更为丰富的特征表示,也无法有效地感知激活前景病害区域.加入CBAM 模块后,APM_CBAM 对路面图像的感知效果如图7(d)所示,可以看出路面病害区域在一定程度上被感知激活,与无关背景信息存在较为明显的差距,也进一步说明了注意力机制可以有效感知图片中的前景信息.APM 感知效果如图7(e)所示,可以看到前景病害区域被明显的感知激活,在这4 种不同结构的APM 模块中,APM 感知激活效果最好.
图7 APM_Conv, APM_Res, APM_CBAM, APM 的路面病害区域的自适应感知Fig.7 Adaptive perception of pavement distress region of APM_Conv, APM_Res, APM_CBAM, APM
利用可视化解释方法辅助设计和选择出内容自适应感知效果明显的APM,并且其内部决策过程具备良好的可解释性.大卷积核卷积和下采样残差结构可以快速降低输入图像尺寸的同时,获取丰富的语义表示;注意力机制能够有效地自适应感知图像中前景病害区域.
可视化解释方法可以为模型的设计提供直观视觉效果分析,路面病害检测准确率可以定量评估模型的实际效果.在CQU-BPMDD 数据集下APM_Conv,APM_Res, APM_CBAM, APM 的分类检测结果对比如图8 所示,其中Baseline 采用传统双线性插值下采样算法.
从图8 可以看出,APM_Conv 仅利用卷积操作缩放图像,在当前任务上相比于Baseline 准确率提升约2.5 个百分点,从整体网络结构来看相当于增加了网络深度,有一定的效果提升.APM_Res 利用残差模块组合低维特征,准确率相比于Baseline 提升约2 个百分点,表明利用残差组合低维特征虽可以产生更为丰富的特征表示,但组合特征同样也包括无关背景特征,提升效果与APM_Conv 相近.APM_CBAM 通过卷积注意力聚焦路面病害区域相关的通道特征和空间特征,准确率相比于Baseline 提升约2.8 个百分点,浅层特征无法充分表征原始路面图像语音信息,导致CBAM 不能有效聚焦路面病害区域特征,提升效果与APM_Conv, APM_Res 相当.APM 整体准确率最高达0.844 7,比Baseline 准确率高约8 个百分点,对于纵向裂纹、横向裂纹以及修补3 种病害类别的F1 值分别提升约9 个百分点、9 个百分点和6 个百分点,说明本文对APM 设计思路的正确性.
结合可视化解释方法对APM 决策过程直观的分析效果以及在分类检测中准确率等定量评估指标上的有效提升,选择APM 作为最合理有效的结构.
下采样算法分别选择双线性插值(bilinear)、双立方插值(bicubic)和Lanczos 插值3 种传统方法以及Talebi 等人[15]提出的可学习Resizer 作为对比;选择ResNet[39], Vit[40], RepVGG[41], Efficientnetv2_B2[42]分别作为Backbone 进行实验,对于APM 和Resizer 方法,均采用同样的联合学习策略显现端到端的模型训练,实验结果如表1 所示.
Table 1 Comparison of Experimental Results of Different Preprocessing Algorithms and Models表1 不同处理算法与模型实验结果对比
从表1 可以得出,传统的采样预处理算法在采样过程中同等对待无关背景区域和病害相关区域,缩放图像分辨后,病害区域相关信息的占比并没有提升,甚至有所降低,导致检测准确率在所有采样预处理算法中最低.Talebi 等人[15]提出的Resizer 倾向于尽可能保留整体的细节,缺乏对路面病害相关的信息的聚焦,保留更多的整体细节信息虽在一定程度上有助于保留更多的模式信息,但同时也保留了无关背景的细节信息,因此相比于传统采样预处理算法准确率虽有一定提升,也仅只有2 个百分点左右.本文提出APM 利用注意力机制自适应感知保留病害区域相关信息,在降低原始的图像尺寸的同时可以感知到与任务紧密相关的路面病害相关区域信息,相比传统下采样算法准确率提升约8 个百分点,相比于Talebi 等人[15]提出的Resizer 准确率最高提升约5 个百分点.
除了分类检测的实验结果定量分析,同样可以借助于可视化的方式来分析对比传统下采样算法、Resizer[15]以及APM 的感知激活效果,具体效果如图9所示.当采用传统的图像缩放算法比如双立方插值时,激活效果如图9(a)所示,可以看出,传统的下采样算法缩放图像后,几乎丢失了右侧细小裂纹的全部信息,激活了过多的无关背景信息,这也进一步解释了传统下采样算法分类检测性能最差的原因.Resizer 的性能提升相比于传统的下采样算法有明显的提升,对其作用结果的可视化如图9(b)所示.图9(b)相比于本文提出APM 的感知效果图9(c),虽在一定程度上可以感知激活病害区域,但同时激活了更多的无关背景信息,这也恰好说明了无选择地保留全部细节信息会在当前任务中引入过多无关背景噪声干扰,影响最终的检测效果.
图9 APM 模块对路面病害区域的自适应感知Fig.9 Adaptive perception of pavement distress region by APM module
图10 对比了传统下采样算法在4 种不同的Backbone 下的模型复杂度与分类准确率.其中B2 表示Efficientnetv2_B2,B2, Vit, ResNet, RepVGG 均采用传统的双线性差值下采样算法.同时也对比了Resizer[15]和APM 在采用B2 作为Backbone 下的整体复杂度与准确率.在采用传统的下采样方法时,随着Backbone复杂度的上升,准确率没有随之线性提升,甚至有所降低,表明在当前路面病害分类检测任务中对于更深层次的图像语义信息的依赖并不明显,过大过深的模型可能存在过拟合问题.Resizer 相比APM,模型参数量增加了0.05×106,且计算复杂度FLOPs(floating point operations)增加了21.9 GFLOPs,整体准确率反而降低了7 个百分点左右,这也进一步说明了同等对待背景与前景信息,缺乏对前景病害区域的关注无法有效地提升路面病害分类检测准确率.
图10 模型复杂度和准确率之间的对比Fig.10 Comparison between model complexity and accuracy
结合表1 和图10 可以看出,在最优的Backbone下,APM 相比于传统的双线性插值、双立方插值和Lanczos 插值下采样算法,准确率分别提升7.8 个百分点、7.5 个百分点、7.4 个百分点;相比于Talebi 等人[15]提出的可学习的Resizer 准确率提升5.41 个百分点.此外,相比于传统下采样算法,APM 的模型参数仅增加了0.05×106,相比于Resizer 模型参数反而减少了0.05×106.APM 在仅增加少量模型参数的成本下,整体的病害分类准确率提升显著.
为了验证本文提出APM 模块的泛化性与鲁棒性,本文选择图像分辨率为1 200×900 的公开数据CQU-BPDD[12]进行跨数据集的鲁棒性与泛化性验证实验,CQU-BPDD 共包含了7 种病害类别,其中训练集共有图片5 140 张,测试集共有图片11 589 张.考虑到CQU-BPDD 中图像分辨率为1 200×900,为了避免过度缩放,将APM 中残差块的数目n设置为1,其余设置保持与训练超参数不变,且同样选择联合学习的策略无需额外的人工成本实现对APM 端到端的模型训练.为了与CQU-BPDD 数据集的SOTA(stateof-the-art)结果进行对比,选择Top-1Acc和对应的F1 值作为评估指标,实验结果对比如表2 所示.从表2 可以看出,当使用Efficientnetv2_B2 作为Backbone时,APM 相比于传统下采样算法在Top-1Acc上提升2.3 个百分点,但是相比于Resizer[15]的Top-1Acc提升不足1 个百分点.为了探究APM 效果提升微弱的原因,在使用APM 时,随机选择样本对模型的类激活图进行可视化展示,如图11 所示.
Table 2 Comparison of Experimental Results of Different Algorithms on CQU-BPDD Dataset表2 在CQU-BPDD 数据集上不同算法的实验结果对比
图11 CQU-BPDD 数据集上不同Backbone 对路面病害区域的激活效果对比Fig.11 Comparison of perception of pavement distress region of different Backbone on CQU-BPDD dataset
图11(a)(d)为原路面病害图像,当Backbone 为Efficientnetv2_B2 时,最终的激活效果图如图11(b)(e)所示.可以看出激活效果并不明显,对于CQU-BPDD数据集,其图像采集环境、光照条件更为复杂,同时存在积水、落叶等干扰因素,Efficientnetv2_B2 模型较小,容量有限,可能存在欠拟合问题.
考虑WSPLIN-IP[14]选择Efficientnet_B3 作为特征提取器,本文同样选择Efficientnet_B3 作为Backbone.从表2 可以看出,更换Backbone 后,APM 的Top-1Acc相比于传统的下采样算法提升约6 个百分点,相比于Resize[14]提升约4 个百分点.类激活可视化如图11所示,可以看出,更换Backbone 为Efficientnet_B3,APM模块自适应感知区域更为准确和突出.在CQU-BPDD数据集上的表现说明了APM 具有良好的泛化性与鲁棒性.
但是对比于CQU-BPDD 上的SOTA 结果,APM 比WSPLIN-IP[14]低约0.36 个百分点,WSPLIN-IP[14]采用分块的思想,对分块后的图像进行是否为病害块的二分类,除了分块策略,WSPLIN-IP[14]同时将图像金字塔结构输入到特征提取网络中来获取原始图像的多尺度特征,考虑到病害图像块的数目远小于无病害图像块的数目,利用稀疏采样来加入先验知识.相比于APM,WSPLIN-IP[14]额外借助了图像多尺度和先验知识,但是其最终的分类准确率也仅仅只提升了0.36 个百分点.
本文针对高分辨率图像中病害区域占比低情形下的路面病害检测,借助于可视化解释方法,设计了一种可解释性高分辨图像内容自适应感知模块(APM),用于构建基于视觉的路面病害自动化检测软件系统.具体而言,APM 通过大卷积核获取高分辨图像下更大的感受野,利用残差模块组合低维图像特征,借助卷积注意力机制来自适应感知激活路面病害区域相关的特征,从而在降低输入图像尺寸的同时感知激活病害区域相关信息;采用联合学习的方式将APM 与现有的骨干网络进行端到端的联合训练,无需额外的监督信息与损失函数,降低APM的训练成本,实现APM 即插即用地嵌入到任意Backbone 之前.实验证明,本文所提出的APM 可以有效感知路面病害区域信息,显著提高了路面病害检测的准确率.APM 设计及决策过程的可视化分析实验,说明本文借助可视化解释方法辅助APM 设计思路的有效性的同时APM 具备良好的解释性.在不同数据集上的实验结果表明,APM 具备良好的泛化性和鲁棒性.
作者贡献声明:李傲负责实验设计和实现以及论文撰写;葛永新、刘慧君负责实验指导以及论文撰写指导;杨春华负责可视化实验实现;周修庄负责论文撰写指导.