A CNN-Based Defect Inspection Method for Catenary Split Pins in High-Speed Railway
基于CNN的高速铁路接触网开口销缺陷检测方法
//2022.6.17 17:18开始阅读笔记
A CNN-Based Defect Inspection Method for Catenary Split Pins in High-Speed Railway | IEEE Journals & Magazine | IEEE Xplore
本文提出了一种基于改进的深卷积神经网络(CNN)的三级SPs缺陷自动检测系统,称为PVANET++。利用PV-ANET++和Hough变换&Chan–Vese模型对F i r s t、s P s a r e进行了定位,然后将提出的三个准则应用于SPs缺陷检测。在PV-ANET++中,采用一种新的锚定机制为对象生成合适的候选框,并结合多个隐藏层特征构造有区别的超特征。
SPs相对较小,有两种类型:一种是A型、一种是B型。
A类型位于U形夹表面,dt_up,dt_down。B型SPs位于U形夹下方。CSD上SP和关节组件的位置如图1所示。SP的局部区域称为pin_区域,它们分为四类,如图2(a)所示。图2(b)–(d)分别显示了不同类型SPs的正常、严重松动和缺失状态。
CSDs采集示意图如下所示。
上述图3中的方法概述:
但是对于微小的SPs很难实现定位,同时为后续处理提供的适当定位框应包含整个对象目标。
对于缺陷检测,由于不同类型的部件有不同的缺陷,根据缺陷的特点提出了检测方法或准则。
接着作者提出了传统缺陷检测方法的不足之处:人工特征提取不能很好地描述一个对象,网络通常需要进行特定的训练。
PV ANET【24】具有区别性的功能,这归功于深度网络架构和来自中高层的串联功能。此外,在低层中应用串联的整流线性单元块以降低计算成本。这些特点使得PVANET能够准确、快速地进行目标定位。基于PVANET,我们提出了一个称为PVANET++的网络来实现SPs的本地化。可以从以下两个方面提高精度。
在本文中,我们应用深度CNN和Hough变换&Chan–Vese模型(HT&CVM)在局部SP区域进一步定位SP的某些特定部分,然后使用三个建议的标准来区分SP的状态。
我们将本文的贡献总结如下。
本文的其余部分组织如下。第二节概述了我们的检查方法。第三节描述了SP领域的本地化,并说明了我们的深度学习模型的表现及其改进。第四节介绍了所有类型SP的缺陷检测标准。第五节给出了评估我们的PV ANET++和几个最具竞争力的深度CNN性能的实验。随后对整个三阶段系统进行性能评估。最后,第六节得出了一些结论,并提出了进一步改进的建议。
由于在拍摄的6600×4400像素图像中,SP相对较小,如果直接处理原始图像,可以学习一些有用的特征或少量信息。因此,我们的方法包括三个阶段,如图4所示。我们将其描述如下。
为了将SP定位在适当的缺陷检测区域,先后使用了两个PV ANET+。第一个PVANET++用于定位三种关节组件,第二个用于进一步定位每个关节组件图像中的SP区域。
原始PV ANET【24】属于第一类深层CNN,在第一节中介绍。它由三个模块组成,即FEN、区域建议生成(RPG)和C&R。FEN学习称为超特征的鉴别特征,然后RPG通过对锚机制生成的初始框进行分类和回归来生成建议【兴趣区域(ROI)】。最后,通过对C&R中的建议进行分类和回归来实现本地化。为了在原始PVANET中获得更好的本地化性能,我们专注于在RPG中获得更高质量的建议,并在一个FEN中获得更具辨别力的特征表示。因此,在两个方面进行了一些改进。
1. 受超网[32]的启发,我们将低层特征conv2_ 3集成到FEN的超地图中,因为浅层地图具有相对高的分辨率,并且包含可能有助于使超特征更具区分性的自然信息。
2. 在RPG中,锚定非常重要,因为它们提供了最初的提案箱。尽管快速RCNN【21】和PVANET【24】中的锚定机制具有很强的泛化能力,但针对CSDs数据集的新锚定机制可能有助于提高提案质量。
1. PV ANET++的基本框架如图5所示。
1.1 特征提取网络:FEN包括16个卷积层(从conv1_ 1到conv5_ 4)和一个池层(pool1_ 1),可以在表1中找到更详细的FEN层规范。
第一阶段和第二阶段的输入图像分别设置为900×600和300×200。m×n输入图像通过卷积层或池层转发,并依次生成激活图。由于FEN的层次结构设计,我们推测感兴趣的信息不仅分布在高、中卷积层上,而且也分布在低卷积层上,因为低层特征地图具有相对高的分辨率,并且包含自然信息,这可能有助于更好地描述对象。因此,我们将conv2_ 3产生的浅层特征集成到拼接中,并构建了超特征,它将高度语义特征、中间但互补的特征和浅层但自然的信息结合在一起。
1.2 RPG(区域建议生成阶段):该模块为C&R提供了一些建议(ROI)。RPN是RPG的主要部分,它在超特征地图上操作一个3×3的空间滑动窗口。在每个滑动窗口位置,应用锚定机制生成建议的初始框,并将与超特征对应的框特征映射到向量。然后,将向量输入softmax层以估计概率(对象或背景),并将回归器层分别预测到地面真值的坐标偏移。我们选择概率得分排名列表上的前300个回归参考框作为建议。锚的纵横比和比例分别为对象提供初始长方体形状和大小。Faster R-CNN中的锚定机制在基准测试数据集中是有效的,其中对象具有各种形状和姿势。更丰富的纵横比和标度可能有助于产生更高质量的标书,但并非总是如此,这将在第五节中进行验证。如图6所示,原始PVANET锚定比为0.33、0.5、0.67、1.0、1.5、2.0和3.0,具有多个标度32、48、80、144、256和512。然而,本文中CSD组件区域的方框既不是极端的“细长高”也不是“短扁”,它们可能是方形的或在一定程度上扭曲。因此,减少了相邻比率之间的间隔,并给出了新的纵横比,如0.5、0.57、0.67、0.75、1.0、1.33、1.5、1.75和2.0。对于量表,它们被更新为32、48、80、112、144和192,这消除了两个不合适的极端情况,并使量表在中等范围内多样化。实际上,PVANET++中的RPN在每个滑动窗口位置应用了54个锚。从锚点调整的一些方案可能彼此高度重叠,但非最大值抑制(NMS)有助于减少此类冗余。
1.3 分类和回归:在本模块中预测提案的类别和位置。通过ROI池,将384个通道的超地图提案的特征汇集到一个6×6×384张量中,然后张量通过一系列完全连接的“4096”层−4096− 6.− [(k+1)+4(k+1)]“输出节点。“k+1”输出由softmax函数生成,它们具有概率分布(p 0,…,p k−1,p k),表示提案属于一个类别(共有k个类别)或背景的概率。“4(k+1)”输出由平滑函数生成,它们是相对于提案坐标的预测框偏移。对应于最大概率的类别标签和偏移量分配给测试方案。然后将NMS应用于所有预测,以减少冗余并生成最终预测框,其形式如下所示:
其中,Pconf是预测类别的置信度,(x1,y1,x2,y2)是预测框的坐标。
2.训练损失函数:PV ANET++通过多任务损失的随机梯度下降进行端到端训练,损失函数表示如下:
它结合了RPG中的损失和C&R中的检测损失。
注意:具体的RPN损失和最后的class regression损失函数的具体形式可以参考Faster RCNN论文。
前两个阶段的定位展示分别如图7(a)和(b)所示。第五节将详细介绍每个阶段大量图像的性能评估方案。
SPs的缺陷可根据严重程度分为不同的形式。然而,除了缺失状态外,这些形式之间没有严格的区别,因为SPs的放松是一个逐渐增长的过程。我们大致将三种状态定义为正常、松散和缺失,并将一些特定部分指定为头部、身体、尾部和虚拟尾部,如图8和9所示。对于缺陷检测,对pin_区域应用深度分类CNN可能是所有类型SP的潜在解决方案。然而,不同可能模式的缺陷SP样本数量很少。当使用有限的样本学习分类器时,可能会发生过度拟合,因为CNN在图像分类任务中的成功与大规模图像集有关。幸运的是,大多数SPs状态下,pin_areas中特定部分的分布是可以区分的,我们仍然可以利用深度CNN快速准确地定位A型SPs的特定部分。对于B型SPs,如图10(左)所示,由于SPs的旋转,HT&CVM块用于定位SPs零件。本地化后,根据本地化特定零件的分布情况,检测所有类型SPs的缺陷。
SPs在第二阶段生成的小pin_areas中很明显。对于A1型SPs,如图8所示,头部、身体、尾部和虚拟尾部的存在条件对于不同的状态是不同的。将存在条件与头部和身体之间的距离特性相结合,可以通过标准1区分每个状态,如表II所示。
在表II中,H、B、T和VT分别是局部零件头部、身体、尾部和虚拟尾部的缩写。d是头部和身体之间的距离,L是身体的对角线长度,如图8所示。α是一个重要的参数,它的值为1.4 empiricly。
对于A2型SPs,如图9所示,在某些情况下可能会发生部分遮挡。因此,我们使用标准2来区分每个状态模式,如表III所示。
提出的两个标准基于PV ANET++模型的高精度和召回率,如图16所示。我们使用第三节描述的PVANET++作为深度CNN模型来实现特定部件的定位,输入设置为160×160。类型A的本地化演示如图11所示。
如图10所示,B型SP可能绕其轴和螺栓旋转,并且我们的二维CSD图像上缺少一些重要的鉴别信息,这将导致复杂的状态。
为这种全面的缺陷检测提供统一的标准似乎不切实际。在本节中,使用Hough变换(HT)[33]将SPs零件和螺栓零件从前景中分离出来,然后使用Chan–V ese模型[34](CVM)获得分离零件的面积。最后,基于HT和CVM的结果,应用一个准则来检测可疑的缺失状态。步骤介绍如下。
步骤1:增强图像,然后将其设置为否定。
第二步:采用HT提取在一定角度范围内产生的前15个最大值[−5.5◦, 5.◦]. 将这15个最大值分为两组,如图12(a)所示,并将每组的平均长度ρa和角度θa作为相应的近似垂直直线。
步骤3:操作与步骤2相似,但角度范围设置为[70◦, 89.5◦] 对于近似水平线检测,仅提取一个最大值,如图12(b)所示。
步骤4:通过在步骤2和3中提取的三条直线将SPs零件和螺栓零件与前景分离。
步骤5:使用CVM提取分离的部分,并获得每个区域为S1、S2和S,如图12(c)所示,然后按照表IV中的准则3进行状态区分。
为了评估该方法的性能,在一个60公里长的铁路线上采集的数据集上进行了实验。我们将我们的PV-ANET++与最近几个具有竞争力的深度CNN在本地化方面进行了比较,并验证了整个三阶段系统的有效性。
1) 数据集:我们系统中使用的数据集包括约9210张35 540张SP的捕获图像,这些图像由特定检查车辆从两条60公里的高速铁路线上采集。我们在第1行中使用4630张图像进行训练,在第2行中使用4580张图像进行测试。不同阶段培训和测试集的图像编号如表5所示。对训练和测试集中SPs的具体状态事先手动检查并标记,如表6所示。
为了建立一个可直接用于深层CNN模型的数据集,我们使用MATLAB工具实现了一个GUI,以在训练集和测试集(仅用于评估)中对每个图像进行注释。在注释中,手动为每个对象指定一个矩形框、一个类别标记和一个状态标记。
2) 平台:本文实现的所有深度CNN的实验环境如下:深度学习框架Caffe【35】、Linux Ubuntu14.04、Intel Xeon CPU E3-1230 V2时钟频率为3.3 GHz、12 GB RAM和GTX1080Ti GPU,11 GB内存。
我们比较了八种深度CNN模型Faster RCNN【21】、Faster RCNN1、Faster RCNN2、R-FCN ResNet-101【23】、SSD【25】、PV ANET【24】、PV ANET+、PV ANET+。
由于Faster RCNN的框架类似于PVANET++,因此实现了Faster RCNN1和Faster RCNN2来研究锚机制变化的影响。各模型中的锚如表VII所示。
1) 培训流程:已实施的深层CNN中的培训参数设置相同。参数设置如下。
动量设置为0.9,权重衰减设置为0.0005,迭代总数为40000。接下来的两个阶段的集合与第一阶段相似,只是迭代总数被指定为30000,因为图像没有第一阶段复杂。倾斜率(LR)初始化为0.0001,然后在2000次迭代后将其变为0.001,以避免在开始时的短时间内不收敛。在第10000次、20000次和30000次(对于第一阶段)迭代中,通过乘以0.5将LR设置为更小。
我们在图中显示了PVANET++在第1-3阶段的训练过程。分别为13(a)–(c)。在图13(a)中,列车损失在第10000次和20000次迭代时减小,但在第30000次迭代时没有进一步减小。在图13(b)和(c)中,列车损失在第10000次迭代时减少,但在第200000次迭代时不会进一步减少。这表明,即使LR设置得更小,模型也无法了解更多信息,列车损耗也会收敛。因此,模型经过了良好的训练。其他七个比较深的CNN的训练过程与PV ANET++相似。
3)测试指数:根据预测的类别标签和与基本真值边界框的重叠,将训练模型生成的预测视为真阳性、假阳性或假阴性。当预测标签符合真值标签且预测边界框Bpre和地面真值边界框Bgt之间的重叠a0超过Lmin时,预测是正确的。
其中对于AP mAP Recall Precision指标的公式解释详见对应论文,这里不再赘述。
为了评估深度CNN的速度性能,我们将平均时间成本(ATC)定义为:
其中k是阶段指数,Tk是深度CNN在阶段k的总时间涂层,a n d Nk是阶段k的图像数。
3) 测试结果比较和讨论:在测试中,我们只接受与地面真值高度重叠的预测,因此,三个阶段的重叠阈值Lmin分别设置为0.7、0.74和0.78。各阶段试验模型的P-R曲线如图所示。14–16,其垂直坐标范围设置为[0.5 1.01],以便清晰观察。类的AP对应于P-R曲线下的面积,可以通过公式(8)计算。可以通过公式(9)计算所有类的映射。详细评价结果见表八。结果比较可从图中进行。14–16和表VIII。
1) 在第一阶段,图14中的P-R曲线表明,我们的PV ANET++和PV ANET+具有类似的性能。它们在U形夹和dt_down时表现最好,在dt_up时略差于SSD。将PV-ANET+与PV-ANET进行比较,我们发现锚定机制产生的改善是明显的,尤其是在dt_-up和dt_-down中。
2) 在后两个阶段中,PV ANET++在所有pin_区域、头部和身体上表现最佳。对于这两个阶段的PV ANET++的所有本地化,当召回达到0.95时,相应的精度也超过0.9或更高。这表明PV ANET++可以检测到大多数标记对象,并为标准提供可靠的输出。通过图中PV ANET++和PV ANET+之间的比较,可以观察到早期层特征conv2_ 3带来的改进。15和16。
3) 尾部的精度比头部和身体的精度差。这主要是由于虚尾的错误预测造成的。然而,我们仍然可以通过尾巴和虚拟尾巴相对于头部和身体的位置来区分它们。因此,我们可以利用这些错误预测来区分标准1和2中的缺陷,如第IV-A节所示。
4) 与快速RCNN相比,快速RCNN1具有更丰富的宽高比和尺度,但两种模型在各个阶段的映射都很接近。使用我们的锚机制的更快的RCNN2在第一阶段的性能要好于更快的RCNN和更快的RCNN1。因此,我们推测,锚机制改变带来的性能改善是基于良好的FEN。
5) 如表VIII所示,我们的PV ANET++和PV ANET+在大多数类中获得了最高的AP,并且PV ANET++在所有三个阶段都具有最高的mAP。此外,PV ANET++的A TC为0.666秒,比SSD慢0.042秒,仅比PVANET慢 0.008秒。看来这些改进并没有给我们的系统带来时间成本的增加。
表VIII中的评估结果表明,我们的PV ANET++在准确性方面优于其他比较深的CNN。我们使用该数据集进一步评估基于PV ANET++的整个三级系统的性能,结果如表IX所示。我们数据集中的缺陷样本数量如表VI所示,测试数据集中有69个松散缺陷样本和37个缺失缺陷样本。
如表IX所示,在评估期间跟踪所有阶段的缺陷样本。在第一阶段,定位所有缺失病例,定位两个SPs松动的关节组件失败。在第二阶段,定位所有缺陷pin_areas。在第三阶段,检测到所有缺失病例,但有三个松散病例被视为正常SPs,这可能是由于正常和中等松散状态相似所致。还评估了不同阶段和整个系统的运行速度(标准的时间成本可以忽略不计)。整个系统的每秒帧数为0.43,这是一种高速。整个系统速度很快,因为三级系统的大部分部分是由PV ANET++实现的。评估结果表明,该系统对SPs缺陷检测是有效的,并且具有相当的速度。
深度学习算法在许多领域显示出了巨大的能力。本文主要基于深度CNN实现SPs的有效自动缺陷检测。所提出的PVANET++在准确性上优于最近竞争的几个深度CNN,并且具有相当的速度。然而,为了在这一领域取得进一步进展,仍有几个问题需要考虑。
1. 对于B型SP,由于SP的旋转,其状态在我们的二维图像上非常复杂。一些潜在的松散病例无法判断。所提出的准则3可以检测到可疑失踪状态,但一些正常或松散的案件也可以被视为可疑失踪案件。因此,基于深度学习的三维检测可以尝试解决这个问题。
2. 可以判断正常和严重松动之间的更精细状态。因此,铁路人员可以针对这些潜在的松散病例采取措施,而不仅仅是针对严重松散和缺失病例。