张晓宇,李立明,柴晓冬,郑树彬,汪晨曦
(上海工程技术大学城市轨道交通学院,上海 201620)
铁路是国家重要基础设施、国民经济大动脉和大众化交通工具,对我国社会经济快速发展和国防起着不可替代的全局性支撑作用。我国高速铁路和高速列车技术研究建设经过了近20 年的发展历程,截至2021年底,全国铁路营业里程达到15万km以上,其中,高铁运营里程突破4万km。2021年新增高铁(快铁)通车里程约2 452 km,除贵阳环线外均为时速250 km及以上线路。长期的高速行驶会引起车辆振动,从而使钢轨顶面形成孔洞、擦伤和疤痕等各种缺陷[1]。这些缺陷不仅会影响钢轨顶面的外观,还会对钢轨的性能和安全性产生长期不利影响。因此,钢轨顶面缺陷检测是检测钢轨质量安全的重要环节。由于人工检测需耗费大量人力物力,而钢轨顶面的检测对在线检测精度和实时性要求又很高,故手工检测技术很难满足这种严格要求。视觉检测具有速度快、成本低、性能好等优点,典型的应用包括螺栓检测[2]、波纹检测[3]和裂缝检测[4]。
其中,针对灰度图像分布不均问题,张辉等[5]提出了基于改进MRF的钢轨表面缺陷自动分割方法。针对难以区分缺陷与钢轨表面其他区域的难题,LI等[6-7]设计了一种钢轨表面缺陷实时视觉检测系统,分别使用投影法和分层提取器得到缺陷对象,在一定程度上可将纵向背景信息与横向缺陷信息进行区分,但当钢轨表面背景过于复杂时,准确率有待提高。随着深度学习方法在视觉检测领域的应用与发展,越来越多的研究人员开始使用深度学习方法来检测钢轨表面缺陷,苏烨、金侠挺等[8-9]分别运用Faster R-CNN卷积神经网络和语义分割框架DeepLab v3识别钢轨表面缺陷,补偿和抑制了前景与背景的损失,但当缺陷区域较小时识别的效果不佳,容易被误判,该方法精度有待进一步提高。以上方法根据钢轨表面缺陷的一种或几种典型特征,比传统算法有所改进,但钢轨表面背景干扰复杂或缺陷对象较小时,效果不尽如人意,会出现缺陷边界模糊、缺陷区域分散的情况,且计算量较大。
针对其他检测方法存在的缺陷边界模糊及缺陷区域分散等问题,使用级联网络进行钢轨顶面缺陷检测。采用的RSDDs[10]数据集样本中主要缺陷类型是轧疤、腐蚀、划痕、孔洞、凹坑等,且缺陷的类型和位置是随机的。首先,采用图像垂直微分投影法,在无砟轨道图像中精确定位并分割出钢轨顶面区域;然后,使用级联网络(Encoder-Decoder Residual)模型[11],用于检测钢轨顶面的疤痕缺陷。其中,为更准确地提取特征,在第1个网络结构中加入了卷积注意力机制[12];为得到边界特征清晰的显著性图,在第2个网络中将一维滤波器[13]与空洞卷积[14]相结合。经过实验对比,可以发现本文使用的模型检测精度更高、鲁棒性更强、实时性更好。方法流程如图1所示。
图1 基于级联网络的钢轨顶面缺陷检测算法流程
在无砟轨道图像中包含轨枕、扣件、钢轨区域等多种部件,如图2(a)所示,非钢轨区域的图像信息会干扰后续缺陷检测,且直接对整个轨道图像进行缺陷识别会耗费大量的内存和时间[15]。为更好地检测出钢轨顶面的疤痕缺陷,先使用图像垂直微分投影法分割得到钢轨顶面区域。具体过程如表1所示。
表1 图像垂直微分投影法
经过垂直投影后得到的钢轨顶面区域图、垂直投影图、一阶导数投影图分别如图2(b)~图2(d)所示。
图2 钢轨顶面区域提取
金闳奇等[16]针对缺陷样本较少的问题,提出一种结合随机子空间和级联残差网络的缺陷检测方法,不仅能在一定程度上解决小样本问题,同时能获得较高的识别性能;针对缺陷种类多样、边界模糊等问题,方钧婷等[17]提出一种基于注意力机制的级联网络缺陷检测算法,对金属表面缺陷进行高质量分类和定位。针对轨道缺陷较小的特点,侯博文等[18]提出了一种基于深度残差网络的轨道结构病害识别算法,提高了检测效率。同样,针对钢轨顶面缺陷数据集样本有限、检测得到的钢轨缺陷边界不清晰以及钢轨顶面疤痕缺陷特征较小等特点,使用ResNet-34[19]为主干的级联网络进行特征提取和特征恢复。该检测算法流程如图3所示。
图3 钢轨顶面缺陷检测模型
在特征提取阶段,由于残差网络使用跳跃层进行连接,易于实现更深层次的网络,故使用ResNet-34[19]作为特征提取器的主干,相较于以往使用VGG-16[20]模型来提取不同分辨率特征图,残差网络可涵盖更多的缺陷对象信息,提高缺陷检测准确性的同时降低了模型的复杂度。特征提取阶段的模型如图4(a)所示。
图4 特征提取及特征恢复
如图4(a)所示,整个特征提取部分包含1个输入卷积层、4个残差注意力块和1个桥接模块。输入层有64个通道,卷积核大小为3×3,步长为1。
输入图像I∈H×W×C,其中,H、W、C分别为钢轨顶面图像的高度、宽度和通道数量。分别在6个层级上抽象出多尺度特征,表示为{fi,i=0,1,2,3,4,5},分辨率为[H/2i,W/2i]。陈庆文[21]提出一种基于深度聚类注意力机制的显著对象检测算法DCANet,可以更好地建立特征级别的像素上下文关联;孙美君[22]通过三线性全局注意力模块进一步细化浅层特征的空间位置信息,最终达到高效准确的自动化表面缺陷检测目的。于是,为有效降低训练误差,使得模型收敛速度更快,将轻量级卷积注意力模块(CBAM[23])嵌入ResNet-34的每个残差基本块中,以快速收敛形成残差注意力块,记为Res_cbam-i(i∈{1,2,3,4}),其结构如图5所示。具体来说,给定一个中间特征图F∈H×W×C,注意力机制模块会依次推断一维通道注意力图Mc∈C×1×1以及二维空间注意力图Ms∈1×H×W,整个注意过程可总结为
图5 残差注意力块
F′=Mc(F)⊗F,
F″=Ms(F′)⊗F′
(1)
式中,⊗为元素乘法。
为恢复先前多尺度特征中编码的疤痕缺陷对象显著性信息,在特征恢复阶段设计了信道加权块和残差解码器块两大模块,在提高检测效率,降低模型复杂度和维度的同时,又提高了跨渠道的信息交互能力。特征恢复阶段的模型如图4(b)所示。
2.2.1 信道加权块
由特征提取阶段直接提取出的疤痕缺陷特征图更多地聚焦于不显著的钢轨背景区域,主要原因是未充分考虑全局上下文信息,导致预测结果不正确。为解决这个问题,使用信道加权块来滤除背景噪声的干扰,使得模型更加关注疤痕缺陷对象区域及其边界,从而获得更有效的特征区域。信道加权块的输入是当前编码特征X和来自下一解码器级的输出特征Y的级联特征映射。为保持与X相同的分辨率,将特征Y进行2倍的上采样操作。信道加权模块结构如图6所示。形式上,信道加权块Z定义为
图6 信道加权块
(2)
式中,Cat为上采样-连接操作;G为全局池化层;fconv为特征融合的瓶颈结构;σ为sigmoid激活函数;⊗为元素乘法;⊕为逐元素求和运算。
2.2.2 残差解码器块
残差解码器块用来恢复在先前的多级特征中编码的疤痕缺陷对象信息。如图7所示,为增强模型的泛化能力,挖掘出更多潜在的疤痕缺陷特征信息,在两个3×3卷积层之间增加了通道随机混合[24]操作。通道随机混合不包含任何其他复杂的运算,可实现更高的检测效率,降低模型复杂度。此外,为实现降维的同时提高跨渠道的信息交互能力,增加了一个1×1卷积层。
图7 残差解码器块
对于输入的钢轨顶面图像,通过特征提取和恢复阶段获得6个维度的输出特征图。由于最后一个维度输出的特征图(图8中粗值图所示)具有更高的检测精度和更丰富的缺陷特征信息,将其作为边界精细化网络的输入,进一步优化粗值图中缺少的边界和区域细节。
图8 特征边界精细化阶段模型
如图8所示,边界精细化网络同样使用了编解码形式的网络结构,受到ANON[13]的启发,为有效地平衡细化性能和计算效率,将残差精细化结构与一维滤波器相结合。其中,为实现更深层的网络并减少计算量,使用最大池化层进行下采样;为匹配特征维数,使用双线性插值进行上采样。此外,为能够获得更大的感受野并提高准确性,使用空洞卷积[14](扩张率r=2,4)代替普通卷积。空洞卷积与普通卷积的对比如图9所示。与使用更大的卷积核相比,使用空洞卷积在计算成本和参数复杂度方面更合理有效。通过标识映射分支将输出与输入粗映射相加,然后将经sigmoid 激活函数映射后的精细化特征图作为模型最终输出。经过特征边界精细化处理前后的检测效果对比如图10所示。
图9 空洞卷积与普通卷积对比
图10 特征边界精细化前后检测效果对比
已有方法大多使用交叉熵作为训练损失,很难获得缺陷对象的全局信息,可能产生模糊的边界或不完整的检测结果。针对这一问题,在QIN等[25]工作的启发下,构造了一个融合损失函数来监督网络的训练过程,以便在缺陷边缘学习和获得更详细的显著性信息。
融合损失由3部分组成,包括二元交叉熵(BCE[26])损失、联合边界交点(边界IOU[27])损失和结构相似性(SSIM[28])损失。模型的总损失被定义为
(3)
BCE用来反映预测值和实际标签之间的概率分布差异。其定义为
(4)
BCE难以处理缺陷对象检测中常见的类不平衡问题,于是进一步采用边界IOU损失来惩罚不准确的分类,并增强区域一致性和边界响应,被定义为
Liou=1-
(5)
SSIM用来预测显著图和真实图像之间的结构相似性,被定义为
(6)
经过多次训练后,模型所得各损失值及总的损失值如表2所示。
表2 检测模型训练损失值
实验采用PyTorch作为深度学习框架,使用GPU加速训练过程,其使用的硬件配置为Intel(R)Xeon(R)Silver 4214 CPU @ 2.20 GHz处理器、64G运行内存、NVIDIA GeForce RTX 2080 Ti显卡;软件环境为Windows 10系统,Python 3.7;GPU加速器为CUDA10.1。使用检测模型的初始参数值设定如表3所示。
表3 检测模型初始参数值设定
将本文使用的检测模型与其他6种较为先进的基于深度学习检测方法进行了比较,包括BASNet[25]、PFANet[29]、PoolNet[30]、R2Net[31]、U2Net[32]以及SOD[33]。为公平比较,使用默认参数运行源代码或可执行文件,所有比较的模型均在相同的训练集上重新训练得到。
所使用的RSDDs[10]数据集样本中缺陷的主要类型是轧疤、腐蚀、划痕、孔洞、凹坑等,且缺陷的类型和位置是随机的。该数据集主要由从快速铁路和重载铁路捕获的二维灰度图像组成,包括2个子数据集:Ⅰ型和Ⅱ型。相较于Ⅰ型数据集,Ⅱ型数据集的背景更窄且更一致,但却包含了更复杂的缺陷。其中,选取160张(包括110张Ⅰ型、50张Ⅱ型)作为训练数据集;剩下的35张(包括18张Ⅰ型、17张Ⅱ型)作为测试训练集。
使用几个普遍认可的指标来评估各种检测方法的性能,包括精确召回率(PR[34])曲线、F测度曲线(F-measure[35])、平均绝对误差(MAE)[36]、ROC[37]及AUC[38]。所使用评价指标的参数定义如表4所示。
表4 评价指标参数定义
精确率(Precision)为检测出的钢轨顶面疤痕缺陷准确率,召回率(Recall)为在所有的疤痕缺陷中有多少被正确检测出来,其定义如下
(7)
(8)
ROC曲线横坐标为FPR(False Positive Rate),表示所有非疤痕缺陷中有多少被预测为疤痕缺陷;纵坐标为TPR(True Postive Rate),表示有多少真正的疤痕缺陷被预测出来。
(9)
(10)
F测度曲线被定义为精确率和召回率的加权调和平均值,用于综合评估特征图的质量。
(11)
式中,β2一般取值为0.3,相当于增大了Precision的重要性。每对P-R,都可以计算出1个Fβ,通常取最大的(或取均值)Fβ作为评价指标,记为maximumF-measure(或meanF-measure)。
将ROC曲线下的面积记为AUC(Area Under Curve),其取值范围为[0.5,1],其值越大代表该方法效果越好。
平均绝对误差用来测量归一化特征图S和真实值G之间的相异度,定义为
(12)
如图11所示,文中使用的模型获得了最佳检测结果,在各种挑战性的情况下,该结果与相应的标签真值图情况非常接近。具体来说,对于对比度低、前景杂乱的图像,以往大多数方法都错误地将一些背景区域视为缺陷对象,而本文所使用的模型可有效地消除背景噪声的干扰,不会出现过大的错误检测。当图像遭受复杂背景干扰时,大多数检测方法会产生模糊轮廓或分散显著斑块等不良结果。相比之下,本文所使用的模型有效地从复杂背景中识别出疤痕缺陷对象,并生成高对比度的疤痕缺陷特征图。最后,对于具有复杂对象边界和精细结构的图像,在所提出的边界精细化网络结构帮助下,能够精确地分割具有清晰边界的整个疤痕缺陷对象。以上结果证明了该模型的合理性和优越性。
图11 各种方法在Ⅰ型、Ⅱ型数据集下所得检测效果对比
为定量对比评估检测出的缺陷对象的质量,在表5及图12(a)~图12(c)中分别展示了本文所使用的模型相对于其他6种方法的性能,其中1~7分别代表本文方法、BASNet[26]、PFANet[30]、POOLNet[31]、R2Net[32]、U2Net[33]以及SOD[34]。可以看出,所提出的模型在MAE和AUC方面始终优于其他方法。特别是,本文使用模型的PR值在一个大的阈值范围内保持在90%以上。即使对于目前最好的SOD[34]方法,本文所使用的模型仍然具有很大优势。这些结果客观地验证了该模型的有效性和鲁棒性。
图12 多种方法进行钢轨顶面检测效果评价对比
表5 多种方法进行钢轨顶面检测效果评价对比值
本文方法在RSDDs[10]数据集上所得到的实验结果如表6所示,对于Ⅰ型和Ⅱ型钢轨顶面缺陷的检测精度分别达到了98.6%和96.4%;单张图像的检测速度分别为0.037 s和0.046 s。
表6 Ⅰ、Ⅱ型钢轨顶面缺陷检测结果
(1)研究提出一种基于级联网络的钢轨顶面缺陷检测方法。首先,通过使用图像垂直微分投影法较为准确地从无砟轨道图像中定位并分割出钢轨顶面区域,接着通过训练以ResNet-34[18]为主干的级联网络进行特征提取和特征恢复,获得钢轨顶面疤痕缺陷的特征细节信息,从而实现对钢轨顶面疤痕缺陷的检测。
(2)在特征提取阶段引入卷积注意力机制模块,在降低训练误差、提高收敛速度的同时提取出更加精确的钢轨顶面疤痕缺陷特征;采用信道加权模块与残差解码器模块相结合的方式进行缺陷特征恢复;在特征恢复后设计了一个边界精细化网络,以此得到边界清晰明确的缺陷特征图。此外,构造了一个融合损失函数来监督网络的训练过程,以便在缺陷边缘学习过程中获得更详细的显著性信息。
(3)通过多种方法对比,结果表明:本文方法有较高的检测效率,平均绝对误差仅为0.001 2,对于Ⅰ型和Ⅱ型钢轨顶面疤痕缺陷的检测精度分别达到了98.6%和96.4%,平均检测速度仅为0.041 s,为钢轨顶面缺陷检测提供了一种新的解决方案。