基于注意力融合的三维探地雷达道路病害检测
2022-10-01韩海航莫佳笛周春鹏王洋洋2顾静军
韩海航,莫佳笛,周春鹏,王洋洋2,,于 智,顾静军
(1.浙江省交通运输科学研究院 道路工程研究所,浙江 杭州 310039;2.浙江大学 工程师学院,浙江 杭州 310015;3.浙江大学 计算机学院 浙江省服务机器人重点实验室,浙江 杭州 310027)
0 引 言
及时发现并识别道路存在的病害问题对于延长道路使用年限和确保车辆安全行驶至关重要[1]。为此,研究人员必须定期检查和评估道路性能,并使用宏观和微观的分析方法来对材料进行分析[2]。由于采集到的道路雷达数据量大而病害问题难以分辨,使得传统的道路病害人工检测方法效率低下且耗时费力,故实现一个能高效精准的自动化检测算法来替代人工检测是目前道路雷达病害检测领域的研究重点。
本文以交通道路检测领域中的三维探地雷达图谱数据为研究对象,其主要任务为应用机器视觉方法进行道路病害类别的自动识别。因此,其中核心问题是能否有效地识别出雷达数据其俯视图(水平断面)和主视图(垂直断面)中的病害特征信息。根据道路探测经验可得,主视图利于发现空洞问题,而俯视图利于发现层间脱空、裂缝问题,所以传统方案采用两个分类器解决各自的问题。其主要存在的问题为:仅使用单视图信息训练单视图上的分类器,多视图数据无法得到充分利用。然而,本文发现俯视图的特征是有利于发现空洞问题;主视图特征也对发现层间脱空、裂缝问题有帮助,因此应该采用将两种视图进行融合的方式来充分利用三维探地雷达多视图数据,从而提高道路病害分类的准确率。
1 研究背景
相较于传统机器学习需要针对数据进行大量的特征工程,深度学习因其能够自动提取特征同时又具有极其优异的性能,而在近些年得到了快速发展,被广泛应用于图像分类、目标检测等领域。何凯明等提出了一种在网络层的输入和输出之间添加恒等映射的残差网络(ResNet)[3]以解决较高的网络层数对模型效果的负面影响,使深度模型的层数能够进一步提高。为了解决在残差网络中对特征重用逐渐减少的问题,Sergey等增加了残差块的宽度,提出了Wide ResNet[4]。为了确保获取网络中各层之间的最大信息流,Gao等通过级联来连接不同层的特征替换了传统的通过求和来连接各网络层,提出了DenseNet[5]网络结构。
另外,由于在雷达图谱中道路受损病害特征难以区别于普通正常路基,非常依赖于专家的经验知识,近些年深度学习方法逐渐被引入到道路领域中以规避复杂的特征工程[6]。由于使用不同传感器可采集到不同的道路结构病害信息,道路病害检测方法可根据其所用设备技术、呈现形式与数据特征进行划分。Pauly等使用手机拍摄的图片数据提出了基于卷积神经网络的裂缝识别,但其分类较为单一且受环境因素影响较大[7]。而后,为了克服不同采集环境以及拍摄设备差异带来的影响,Cha等引入滑动窗口实现自动裂缝分类,提高了模型的鲁棒性[8]。针对三维沥青路表图像信息,Zhang等提出了基于卷积神经网络的像素级自动裂缝识别网络CrackNet[9]。针对探地雷达采集到的二维图谱数据,沙爱民等利用3个卷积神经网络模型实现了路表病害识别、裂缝特征提取以及坑槽特征提取[10]。然后,为了实现自动化道路路基病害识别,沙爱民等建立了包含两个卷积神经网络的级联卷积神经网络,分别用于识别高、低分辨率的探地雷达图谱[11]。然而,上述方法都是基于单输入的二维图像信息进行实现的,不适用于目前常见的三维探地雷达收集到的多视图数据信息,目前针对更复杂的三维路基病害暂无好的自动解决方案[2]。同时,深度学习算法模型通常包含着大量需要训练的参数,需要大量带标注的样本数据来对网络参数值进行更新,才能达到较高准确率。但由于道路雷达图谱数据的缺乏标注,道路工程领域的研究受到了很大的限制[12]。因此在样本数量较小的情况下充分利用信息从而进行道路病害的准确识别也是目前急需解决的问题。
本文主要研究对象为交通道路检测领域中的三维探地雷达图谱数据。三维探地雷达相较于其它二维检测手段能更为准确地检测出道路内部隐藏的病害信息,因此被广泛应用于高速公路、市政道路[13]的道路状态检测。其收集到的数据呈多视图显示,结合水平断面(俯视图)和沿行进方向的垂直断面(主视图)分析单视图上所呈现的病害特征信息即可判断道路所属病害类别,以主视图为主、俯视图为辅的传统病害类别决策器如图1所示。根据俯视图和主视图的病害特征,道路病害可以分为3类:空洞、层间脱空和裂缝。
图1 道路病害类别判别流程
为了解决传统算法流程(如图2(a)所示)存在的问题,本文提出了一种可利用三维探地雷达多视图数据的双塔网络模型,将视图特征融合和自注意力机制相结合,实现道路病害的端到端检测与识别,其整体结构如图2(b)所示。首先,以DenseNet为基础改进网络结构,提出了基于双视图的双塔模型,将俯、主视图两种图像信息分别作为输入在单视图上训练特征提取器,用于提高网络对于不同视图中病害特征的表达能力。其中,为了进一步提高特征表达能力,在病害特征提取的过程中,应用通道间的注意力机制提取通道间权重关系,抑制无用通道信息。然后,针对每个样本信息,运用注意力机制学习视图间的权重关系,选取对当前病害类别判断更关键的信息,减少对与类别决策无关的信息的关注。同时,为了增强模型预测的稳定性以及减少输出的方差,引入多头注意力机制。最后,将两个视图特征图进行带权融合,经过多层感知机和Softmax归一化操作后,输出道路病害类别预测结果。实验结果表明,在三维探地雷达多视图数据上,本文模型对于道路病害分类的准确率较高且稳定性较好。由于人工标注雷达图谱数据较为复杂而且道路病害问题在实际道路中所占比重较小,病害样本数量不足。为了进一步提升病害分类精度,使用数据增强的方法扩充样本数量。
图2 算法流程
2 基于注意力融合的多视图病害分类
三维探地雷达主要采用步进频率技术对道路进行检测,以获得针对不同深度的最佳分辨率,最终呈现出多视图信息[13]。为了更好提取其呈现的沿行进方向的垂直断面(主视图)与水平断面(俯视图)这两个视图中的重要特征信息从而充分利用数据,也能从一定程度上缓解可用样本数量少带来的过拟合问题,本文提出了针对三维探地雷达多视图数据的基于注意力融合的双塔模型(Dual-AttFusioNet)。下面将从4个部分对本文算法进行介绍:端到端的双塔模型、通道间的自注意力机制、视图间的注意力机制,以及道路病害类别预测模块。
2.1 端到端双塔模型
利用单一视图信息可识别出二维空间信息下的病害特征,然后同时结合俯、主视图两种视图信息即可判断道路病害类别,如图1流程所示。然而,只使用单一视图存在无法充分利用雷达图谱数据的弊端。因此,首先采用3D探地雷达采集到的双视图数据作为输入,在两个视图上分别训练两个特征提取器,然后融合双视图特征进行端到端的道路病害分类,如图3所示。其中,对单视图信息进行特征提取时,使用通道间自注意力机制来学习通道间权重分布;利用视图间注意力机制针对每个样本学习俯、主视图的重要程度,从而进行加权相加的特征融合。
图3 本文算法框架
本文使用DenseNet-121网络作为基础网络结构,来提取每个视图的信息。两个视图上呈现的病害特征信息差异较大,为了针对单视图进行更好的特征表达,在单个视图上训练单独的特征提取器,且两个特征提取器不进行参数共享。单视图特征提取器的网络结构如表1所示,主要包含4个最大化利用特征的密集块(Dense Block),用于降维的过渡层(Transition Layer),以及融合双视图特征图的表征层。其中,密集块包含多次卷积操作并引入卷积核为1×1的卷积操作提高运算效率。过渡层采用卷积、通道间自注意力机制、池化等操作降低通道数,减小图片尺寸。表征层由通道间自注意力机制、全局平均池化、双视图特征融合、全连接、Softmax等操作组成,最终输出道路病害预测结果。
为了更好提取每个视图中的病害特征信息,同时抑制无用信息(例如图像噪声等)在模型中的表达,本文在DenseNet网络各block之间的过渡层(Transition Layer)和最终分类层中引入通道间的注意力机制来学习通道间的权重分布,如表1所示。随后,再次结合注意力机制用于实现双视图特征的带权融合。最终,在双塔模型的分类层中联合双视图特征图进行道路病害分类。将上述两种注意力机制应用于雷达图谱数据的具体方式将在2.2节与2.3节中介绍,病害类别预测模块将在2.4节中介绍。
表1 改进后的DenseNet-121网络结构
2.2 通道间注意力机制
三维探地雷达采集到的雷达图谱数据中不仅包含病害特征,还存在其它噪声对病害识别产生影响,如:硬件设备、干扰信号等[14]。为了减少特征提取器对其它无关信息的关注,而更多关注于提取雷达图谱数据中的利于病害分类的道路特征信息,因此本文采用通道间自注意力机制(channel-wised attention)来学习不同通道间的权重大小,并将学习到的通道特征中重要程度分布去对原始特征见校准,以体现不同通道的重要性。
若给定某个视图,将特征提取过程的中间特征图U∈RC×H×W作为输入,整个通道间自注意力过程可以表示为
(1)
图4 基于Inception的Squeeze-and-Excitation(SE)结构
首先,SE模块对输入特征图进行Squeeze操作,使用全局平均池化(global average pooling)操作将单个通道上的全部空间特征编码为一个基于通道关系的全局特征向量v∈RC。 若给定空间维度为C×H×W的输入特征图U,将其对应的第c个特征图记为uc,通过Squeeze操作后,通道间全局特征v的第c个元素可表示为
(2)
M=σ(W2ReLU(W1v))
(3)
(4)
由于SE结构简单参数设定少、计算量较小,且可添加到不同网络结构中,因此本文将SE模块添加到DenseNet的过渡层(Transition Layer)以及分类层中,如图5所示,以提高网络对于道路病害信息的表达能力,同时抑制无用特征。
图5 SE-DenseNet模块
2.3 视图间注意力机制
从图1中可以看出,不同病害类别对于主视图与俯视图的信息所偏重程度也是不同的,例如:空洞病害更多的是需要依赖主视图呈现高亮的病害信息进行可判断,而裂缝问题则需要同时依赖主视图呈现双曲线且俯视图呈现长条状的两种病害信息才可判断。因此,在进行特征融合时,为了给不同样本赋予不同融合权重值,首先使用视图间注意力机制,即元素间注意力(element-wised attention)学习到不同视图的重要性,增强重要视图的权重值,减小不重要视图的权重值[16],得到每个样本关于视图间融合的权重值。随后,根据计算得出的俯、主视图权重值对俯、主视图进行带权相加,实现对两个视图特征的自适应带权融合。双视图特征融合过程如图6所示。
图6 视图间注意力特征融合
若给定分别在俯视图、主视图上提取到的特征图分别为A∈RN×d和B∈RN×d,N表示批处理大小(batch size)。利用带权相加进行视图融合的完整过程可表示为
F=αA+βB
(5)
式中:F∈RN×d表示融合两种视图后的特征,对于视图间的注意力权重值α,β∈RN由视图注意力机制得出,其具体的计算过程如下
(6)
(7)
(8)
(9)
(10)
式中:⊕表示为张量拼接操作。引入多头注意力机制后得到的视图融合特征图维度增加到原注意力机制维度的k倍。
2.4 病害类别预测
(11)
(12)
其中,权重值Whid,Wout与偏差值bhid,bout是MLP中的参数,通过模型训练得到。
(13)
式中:L表示训练集, #C表示样本类别数量。在训练过程中,利用上述的交叉熵损失函数进行反向梯度传播,来更新双塔模型中所有的可学习参数,包括特征提取器,注意力机制等等。
3 实验结果及分析
3.1 多视图雷达图谱数据集
为了验证提出的双塔模型的有效性和准确率,本文对该模型进行了大量的实验。首先,在实验中所采用的道路图像数据来源于在浙江省城市道路中使用3D探地雷达采集的结果,采集到的原始数据中,每一例道路样本包含两张图像数据,分别为320×320像素的主视图灰度图像和320×230像素的俯视图灰度图像。
表2 俯视图与主视图的道路病害特征统计
图7 预处理后道路病害类型的效果
表3 道路雷达数据类别统计
3.2 实验设置
本文的实验采用Pytorch框架,使用的GPU是一块RTX 3090,运行环境为Python3.8。所有实验的批处理大小设置均为32,实验轮数(epoch)设置为80轮,并且使用自适应矩估计(Adam)优化器对参数进行优化。实验中只使用训练集进行参数更新,同时取在验证集上效果最好的模型,报告其在测试集上的准确度(Accuracy)平均值、标准差。相同实验设置重复10次。因为不同类别样本数量差异较大,也计算了加权平均查全率(Recall)以及加权平均F1分数评价模型。若给定预测为正类的正样本TP,预测为负类的负样本TN,预测为正类的负样本FP,预测为负类的正样本FN,单次实验各评价指标计算方式如下
(14)
(15)
(16)
(17)
实验中进行了对比方法的设置。对于方案一,分别使用6层简单卷积神经网络(CNN-6)、残差网络(ResNet18)、DenseNet121作为分类器与本文的双塔模型(Dual-AttFusioNet)进行对比,其主要过程如图2(a)所示,单独训练两个分类器,根据两个分类器的输出得到最终的病害预测类别。对于方案二,分别采用CNN-6、ResNet、DenseNet作为特征提取器,其主要过程如图2(b)所示。同时考虑不同特征融合方式,使用特征拼接(Concatenate)、相加(Add)以及残差门控融合(text image residual gating,TIRG融合)[18]等融合方法进行对比实验。其中,方案二中所有模型均在两个视图上训练两个非共享参数的特征提取器来提取单视图上的病害特征信息。另外,将TIRG融合方法引入到道路病害识别时,需要指定一类视图作为主要信息,并且将另一类作为辅助信息。因此,实验中分别测试了将主、俯视图作为主要视图的两种不同方案设置,分别记为TIRG-主视图和TIRG-俯视图。TIRG融合中也可以使用卷积神经网络(CNN)代替中间多层感知机进行视图上的特征融合,将该变种记为TIRG-CNN。
3.3 原始数据实验结果
上述所有的方案在真实数据上的实验结果汇总见表4。
从表4中可知,在同一测试集下,相较于在不同视图训练不同分类器的分步预测方法(方案一),使用不同融合方式的端到端预测方法(方案二)由于能够充分利用两种视图数据,总体上性能有着较大的提升。例如,在方案二中使用简单的CNN-拼接方案的各项指标是优于方案一中的所有对比方法,包括使用DenseNet121的分类器。更进一步,本文所提出的基于注意力融合的双塔模型(Dual-AttFusioNet)在方案二中的取得了最高的性能,在原始数据集上分类精度达到94.62%,相较于以DenseNet为基础结构的分步预测方法准确度提升约8.67%,同时Dual-AttFusioNet的输出稳定性也较好,分类准确率对应的方差最低。相对于方案二的其它对比方案,由于Dual-AttFusioNet采用了多种注意力机制,包括了特征提取时的通道间注意力和特征融合时的视图间注意力,其能更好地提取样本数据中重要的病害特征信息以及针对每个样本数据实现针对性的融合,达到了加强融合的效果,因此本文模型在病害分类任务上的各项指标都是较优的。该结果说明了本文方案的有效性。
表4 原始数据对比实验结果
3.4 数据增强与结果
上述的实验是在原始的雷达道路数据上进行的测试,但从表2的数据统计中可以发现,原始数据集的总体样本数量是较少的,这对于训练深度学习模型是不利的。另外类别分布是非常不均匀的,例如,在俯视图中,标签为1的暗斑数据集的数量为129张,而标签为2的亮斑数据的数量仅为46张,标签1和标签2的数量远小于其它类型的数据,数据不均衡导致模型更倾向于输出类别多的标签并影响训练的准确性。
为了解决真实数据中存在带标注样本少以及病害类别分布不均衡问题,进一步提高模型的表现,本文在原始数据集的基础上同时进行数据增强处理和上采样处理。由于俯视图类别较多且病害特征分布更为不均衡,因此首先依据俯视图类别分布对数据进行上采样操作,使得俯视图中每个类别分布均衡,然后其对应的主视图数据也相应进行上采样操作。经过上采样的操作后,再使用数据增强操作进行扩充。测试多种数据增强方式后,最终选取亮度变换与翻转操作对均衡后的数据集进行3倍扩充。最终得到了经过上采样和数据增强后的道路雷达数据集,其俯视图的统计分布情况见表5。
表5 针对俯视图数据增强道路病害数据
将上述经过处理后的雷达数据(简称增强数据)重新对本文的模型进行测试采用训练集训练模型,同时也对比了表4中的方法。各种方法在增强数据集上的测试实验结果汇总见表6。
表6 增强数据对比实验结果
从表6中可以发现,在增强数据集上,方案二总体上相对于方案一依然具有较大的优势。同时,较为深层的神经网络模型效果对比原始数据集提升明显,准确率与稳定性均有所提升,其原因是增强数据在一定程度上缓解了训练样本少和样本不均衡问题。本文所提出的Dual-AttFusioNet模型依然取得了最优的性能,在增强数据集上效果进一步提升,准确率达到95.78%,查全率为95.87%,F1-score为95.78%,精度相较于原始数据提升1.16%。该结果进一步说明了方案的有效性。
3.5 消融实验
为了验证本文提出的Dual-AttFusioNet模型中各模块的作用和存在的必要性,进行了关于模型的消融实验,分别对Dual-AttFusioNet模型中的模块进行去除。进行验证的模块包括通道间注意力(SEnet)、视图间注意力融合(Attfusion)、深度特征提取器(DenseNet)、非共享参数视图特征提取(Separate Encoder)。本次实验在原始道路数据集上进行测试,其它实验设置与之前保持一致。其中,为了验证通道间注意力机制的有效性,移除特征提取时采用的通道间注意力机制;为了验证视图间注意力机制的有效性,变更视图融合时采用的视图间注意力机制为简单相加融合方式;为了验证深度特征提取器,变更特征提取器DenseNet121为ResNet18;为了验证非共享参数视图特征提取,使用两个共享网络参数权重的特征提取进行实验。消融实验结果如图8所示,横坐标表示原始Dual-AttFusioNet模型中被去除的模块,纵坐标表示在测试集上的分类准确率。从结果中可以看出,原始Dual-AttFusioNet模型的性能是最好的,去除掉模型中任何的模块都会对分类性能产生影响。
图8 消融实验结果
3.6 参数分析
为了验证模型中超参数对于最终病害分类效果的影响,本文在原始数据集上进行参数敏感性分析,主要的参数包括Dropout系数与L2正则权重衰退系数(weight decay)。将Dropout系数设为0,0.1,…,0.5进行6组对比实验,测试其对于模型准确度的影响,每组进行10次重复实验并取平均,结果见表7。随着Dropout系数的增加,模型性能整体呈下降趋势,先缓慢下降而后快速下降。实验结果表明,本文提出的模型对于Dropout参数较为敏感,训练过程中删去的特征越多,模型的精度越差。
表7 Dropout实验结果
为了测试权重衰退系数对于模型准确度的影响,将衰退系数分别设置设为0,1e-06,…,1e-02,即每次变化一个数量级进行6组对比实验。每组进行10次重复实验,实验结果取平均值,结果见表8。从总体上来看,随着衰退系数的变化,模型性能整体变化不大,说明对于权重衰退系数不敏感。当衰退系数取值为1e-03时,模型的分类准确率最佳。
表8 衰退系数实验结果
4 结束语
本文在三维探地雷达收集到的多视图雷达图谱数据集上,针对道路病害类别预测任务,提出了同时利用两种视图的端到端深度注意力双塔模型。首先,针对两种视图信息训练分别两个不同参数的特征提取器,可提高网络对于单一视图的表征能力。并且在特征提取时引入通道间注意力机制学习通道间权重关系,进一步提高网络的特征表达能力。最后,再次利用注意力机制逐元素学习融合两个视图时的权重关系,增强重要视图的权重值,提高预测精度。实验结果表明,本文算法在雷达图谱数据集上取得较优的预测效果,预测精度高于基于病害识别流程分布预测约8%。通道间与视图间的两次注意力机制的应用可有效提高模型对于道路病害信息的表征能力,减少特征信息的丢失,提高图像信息处理的准确性。未来,计划从数据、模型两个方面对本文算法进行改进。现有雷达图谱数据集中带标注的样本数量较小,考虑使用基于深度学习的数据增强方法来扩增数据。同时可使用小样本学习对目前的模型进行增强,如:小样本度量学习、元学习等。