APP下载

基于深度学习的接触网顶紧螺栓状态智能检测

2022-01-07程敦诚吴福庆王昕钰牛英杰

铁道学报 2021年11期
关键词:螺母接触网螺栓

程敦诚,王 倩,吴福庆,王昕钰,牛英杰,叶 壮

(西南交通大学 电气工程学院,四川 成都 611756)

高速铁路接触网是高速铁路(以下简称“高铁”)牵引供电系统中的关键基础设备。在列车的长时间运行中,接触网零部件等具有动态磨损的设备大都工作在自然环境中且无备用,不可避免地会遭受弓网系统的机械振动和电气影响,是高铁牵引供电系统中的薄弱环节[1]。高铁接触网斜腕臂套筒双耳是弓网系统重要的承力部件,对于顶紧螺栓式套筒双耳,顶紧螺栓是其重要的紧固件,由于列车的高频振动等问题,会产生顶紧螺栓的松脱、脱落两种不良状态,从而降低腕臂的承力能力,增加事故发生率[2]。因此,对顶紧螺栓状态进行高效检测,及时对其不良状态进行预警,给出维修建议,对保障高铁牵引供电系统的稳定运行非常重要。

中国是世界高速铁路运营里程最长,运营速度最高,在建规模最大的国家。截至2020年底,中国高铁路线长度已超3.5万km,给出行带来便利的同时增加了检测的负荷和难度。人工巡检、利用高清图片线上人工判图等检测方式效率低下、需要大量人力。如何快速高效地实现铁路接触网零部件状态的智能检测已成为行业研究重点之一[3-4]。目前,接触网悬挂状态检测监测装置(4C)已在全国18个铁路局集团有限公司投入使用。为数据中心提供了海量的接触网图片,奠定了非接触式图像检测的基础[5]。

接触网零部件的状态检测可以分为定位和分类两步。随着深度学习的快速发展,卷积神经网络已成为接触网零部件定位中的主流算法。文献[6]通过Faster RCNN模型对接触网等电位线进行定位;文献[7]通过改进的SSD算法对接触网吊弦和绝缘子进行定位。

在对接触网零部件进行分类操作时,目前尚未得到鲁棒性很好的分类模型。分类时若直接利用图像分割,边缘检测等数字处理技术很容易产生错误的分割,对接触网零部件的状态进行误判断;分类时若直接利用深度学习的卷积分类模型对其不同状态进行分类,在训练过程中会出现严重的过拟合情况,训练误差远小于测试误差,无法达到实际应用的要求[8]。文献[9]通过生成对抗网络GANs(Generative Adversarial Networks)扩展了接触网开口销脱落状态的样本数量,之后,利用VGG16卷积分类模型实现开口销正常、脱落状态的检测;与文献[9]中的开口销检测不同,对于顶紧螺栓,需要定量判断薄螺母的移动距离来对不同状态进行定性检测,螺母松动产生的微小位移使得顶紧螺栓的松脱和脱落状态差别极小,所以仅仅扩展缺陷样本后进行分类还是不能取得准确的检测结果。

针对接触网零部件数据缺陷样本不足、状态变化特征粒度差别小等问题,语义分割[10]有望解决这些难题。目前,语义分割模型已经在安全带检测和铁轨路牌识别中得到了应用。文献[11]提出的安全带分割算法已经在公安监控领域实现了应用;文献[12]利用FCN语义分割模型实现了铁轨路牌的字符分割,满足了铁路局集团有限公司的实际需求。文献[13-14]利用语义分割分别实现了对接触网开口销和接触网定位环的状态检测。

本文在上述研究的基础上,结合接触网顶紧螺栓的结构特征,提出了SSD512定位算法和U-net8语义分割模型,基于SSD512和U-net8这两种深度学习算法设计了顶紧螺栓状态智能检测方法,并进行试验验证。

1 相关理论分析

1.1 SSD定位算法基本原理

单次多框检测器(Single Shot Multibox Detector,SSD)是一种基于多尺度检测的定位算法,它融合了Faster R-CNN的锚框思想和YOLO的回归思想,在定位准确率和效率上都具有优势[15]。训练过程中,通过对不同特征层上预设的Default Boxes进行回归和类别预测来实现定位和分类。SSD采用300×300大小的输入,在去除全连接层的基础网络VGG16[16]后添加多个卷积层,总共选取了6个不同尺度的特征层进行多尺度定位检测。

假设SSD算法用于定位的特征图有m个,则第k个特征层上预设的Default Boxes比例sk的计算式为

( 1 )

式中:smin通常设置为0.2;smax设置为0.9。计算出的sk即为第k个特征层上的Default Boxes的面积的开方值,每个特征层上都设有5个不同长宽比例的Default Boxes,长宽比ar∈[1,2,3,1/2,1/3],其中ar=1时,还增加了一种sk的计算方法为

( 2 )

( 3 )

如图1所示,假设在定位过程中产生了一个大小为4×4的特征层,取ar∈[1,2,1/2],则每个特征点可以生成4个Default Boxes用于匹配待定位部件,图中用红色框表示。

图1 Default Boxes的示意

1.2 U-net语义分割模型基本原理

语义分割是一种基于像素级别的分类模型,它基于像素对图片各部分进行分类标记。人工分类标记过的图片称为标签图片;语义分割模型保留了图片分类模型用于特征提取的卷积池化操作,去除了模型最后的全连接层,不仅实现了对图片特征的提取,还保留了输入图片的空间信息。

U-net[17]是一种语义分割所采用的优秀模型,具有典型的从端到端的编码-译码结构。训练过程中采用了图片弹性形变的方式进行数据增强。在模型的前半部分通过卷积池化处理对输入图片进行4次降采样和特征提取,对图片实现了16倍的降采样;后半部分通过4次上采样对图片进行细节的还原,恢复图片分辨率。模型的创新点在于将4个下采样阶段的不同特征层和上采样阶段的具有相同大小的特征层进行跨层连接,生成具有双倍通道的特征图,实现特征融合。充分地利用了原始输入图片的结构信息,帮助上采样阶段进行细节还原。

2 顶紧螺栓状态智能检测方法框架

本文设计的顶紧螺栓状态智能检测方法分包含三部分:顶紧螺栓的定位和截取;顶紧螺栓的语义分割;顶紧螺栓的状态检测。首先通过SSD512实现顶紧螺栓的快速定位和截取;之后通过U-net8对截取的顶紧螺栓图片进行处理,得到顶紧螺栓语义分割后的图片(语义图片),语义图片将顶紧螺栓的语义信息分为螺杆和薄螺母,分别用绿、蓝色块表示,通过判断语义图片的差别来判断顶紧螺栓的不同状态。系统的整体框架见图2。

图2 顶紧螺栓状态智能检测方法框架

3 顶紧螺栓状态智能检测方法及试验验证

3.1 顶紧螺栓的定位和截取

SSD的算法是在VOC2012(Visual Object Classes Challenge2012)数据集上进行训练和测试的,图片都在500×500像素左右。虽然4C检测车采集的接触网支撑装置腕臂结构图片像素值为6 600×4 400,远远大于VOC图片大小,但其中待定位的顶紧螺栓占全局像素还不足0.1%,根据国际光学工程学会(Society of Photo-Optical Instrumentation Engineers,SPIE)的定义,当待定位目标小于图像像素的 0.12%时即划为小目标,因此顶紧螺栓的定位是小目标定位。SSD算法对大目标定位效果很好,但对小目标的定位效果欠佳。根据式( 1 )~式( 3 )可以计算出SSD最底层用于定位小目标的特征层上的最小Default Boxes所占总体像素的值大于10%,难以对接触网顶紧螺栓等小目标进行匹配和定位。模型的结构和参数的设计不能直接用于接触网顶紧螺栓的定位。

3.1.1 SSD512定位算法设计

为了提高对顶紧螺栓等小目标的定位效果,基于1.1节所述的SSD基本原理,将网络的输入设计成512×512像素值,以此增加了各个用于检测的特征层像素值的大小;SSD的底层特征层映射到接触网零部件检测图片的像素范围较小,主要用于定位顶紧螺栓等小目标。为了实现小目标的定位,本文将底层的Default Boxes尺度设置的很小,smin设置为0.02,保证有多个底层特征层可以匹配定位到像素值较小的顶紧螺栓。随着输入的增大,用于检测的特征层变大,导致各特征层的感受野减小。对此,本文增加了一层用于检测的特征层,实现了在7个不同尺度的特征层上对顶紧螺栓的定位,增加了和小目标的匹配度。上述的设计也使得模型最后一层的特征层大小不变,可以在支撑装置腕臂结构图片中得到较大的像素映射范围,保证了模型对大目标的定位也不受影响。将根据顶紧螺栓特点设计的SSD算法命名为SSD512,模型结构见图3,其中输入图片的像素大小为512×512×1,第一个用于检测的特征层conv4-2的大小为64×64×512,各特征图的大小见图3。

图3 SSD512的结构

3.1.2 基于SSD512的顶紧螺栓的定位验证及分析

试验数据选取4C检测车在京广线采集的包含隧道内外等多种环境的德式一类接触网支撑装置腕臂结构图片,共3 410张,保证了试验数据的多样性。标签为包含位置信息的xml格式文件。其中,用2 900张图片和对应的xml文件作为训练集,410张图片作为验证集,剩下的100张图片作为测试集。在支撑装置腕臂结构图片组成的数据集上迭代1 000次,前800次学习率为10-5,后200次学习率设置为10-6。训练过程中,输入的腕臂结构图片先经过VGG16网络后进行了一系列的卷积池化操作,对顶紧螺栓进行了特征提取。之后将conv4-2、fc7等7个特征层上的Default Boxes与预设标签进行比对,并计算交并比IoU为

( 4 )

式中:G为螺栓在支撑装置腕臂结构图片中实际所处位置;D为SSD512算法特征层预测的该顶紧螺栓所处的位置,即众多Default Boxes中的一个;交并此指标表示G、D两者的重叠度。通过对该指标设置合理的阈值置信度,可以筛选掉绝大多数Default Boxes,SSD512中对该阈值设置为0.5。IoU符合要求的Default Boxes按从大到小的规则进行排序,留下前200个框,最后通过非最大值抑制算法(Non-Maximum Suppression,NMS)进一步筛选,得到最终的定位结果。

SSD512的损失函数为

( 5 )

式中:x为Default Boxes和实际标签是否匹配,匹配的话将进行损失函数计算;c为Default Boxes对顶紧螺栓定位结果的置信度;l和g分别为符合要求的Default Boxes坐标偏移和对应的顶紧螺栓实际所在位置;N为匹配到的Default Boxes的个数;Lconf(x,c)为位置预测损失函数;Lloc(x,l,g)为类别预测损失函数;α为加权系数,为了强调对小目标的定位效果,将α设置为2。总的损失函数由定位误差和分类误差的加权和组成。模型训练过程中采用的优化器的Adam优化器。SSD512训练过程中的损失值变化曲线见图4。

图4 SSD512训练过程的loss变化

由图4可见,当训练到600次时已能取得良好的收敛效果。其中测试集的平均损失值稳定在1.3,验证集的平均损失值在0.8,能达到很好的定位效果。为了验证SSD512算法的有效性和鲁棒性,对100张支撑装置腕臂结构图片进行测试试验,通过选择算法模型输入大小input、特征层层数d和最小Default Boxes比例smin三个主要参数来验证提出的SSD512算法定位的有效性。SSD采用文献[15]中的参数:Input=300,d=6,smin=0.2;模型1参数:Input=300,d=6,smin=0.02。SSD512的参数为Input=512,d=6,smin=0.02;模型2的参数为Input=512,d=7,smin=0.02。

在测试试验中增加了对平腕臂绝缘子的定位,对比稍大目标的定位效果。通过控制变量法对算法结构和参数设计的合理性进行验证。用ACC来对算法进行评估,准确率ACC表示算法定位的准确率,为定位到零部件的个数和实际零部件总数的比值。100张腕臂结构图片中有100个平腕臂绝缘子和400个顶紧螺栓。

对比试验的结果如表1所示。

表1 不同SSD算法参数的测试结果

由表1可见,对比表1中模型1和SSD试验的结果可以看出,对smin的缩小处理增加了可用于匹配顶紧螺栓等小目标的Default Boxes的个数,明显地增加了模型对小目标的定位效果;对比模型2和模型1以及SSD512和模型2的试验结果表明,增加模型的输入大小和用于检测的特征层的个数,也能提升定位准确率。

SSD512的定位效果见图5。

图5 SSD512的定位效果

3.2 顶紧螺栓的语义分割

基于SSD512定位到顶紧螺栓后,可以得到顶紧螺栓所在Default Boxes边框的四点坐标,并可以将其图片截取出来(顶紧螺栓图片)。考虑到定位过程中Default Boxes的偏移、保证顶紧螺栓截取的完整性,将提取边界适当放大,以96×96的像素大小截取出完整的顶紧螺栓部件,并将其边长归一化到224×224,用于保证语义分割的精度。

目前没有用于接触网零部件语义分割方面的公开数据集,参考VOC2012等语义分割数据集,随机选取250张顶紧螺栓正常状态图片、150张顶紧螺栓松脱状态图片和80张顶紧螺栓脱落状态图片,使用Python开源的LabelMe等软件对其进行标记,制作可用于接触网顶紧螺栓语义分割模型训练的标签图片,标记的标签图片见图6。

图6 顶紧螺栓图片和对应的标签图片

图6 展示了不同状态下的顶紧螺栓图片和其对应的标签图片。顶紧螺栓的薄螺母被标记为蓝色,螺杆标记为绿色。正常状态下,薄螺母紧贴接触网腕臂支架插口;松脱状态下,伴随顶紧螺栓的松动,薄螺母与接触网腕臂插口不再紧贴,具有一定的间距;脱落状态伴随着顶紧螺栓离开插口。

U-net采用弹性形变的数据增强方式可以减少标签图片标记的工作量,还可以增加模型的泛化能力,但是顶紧螺栓是刚性零部件,弹性形变的数据增强会产生不符合实际的顶紧螺栓图片;U-net对输入图片进行了切割和边缘镜像操作,输入的大小为572×572×1,输出的语义图片为388×388×2,和顶紧螺栓图片大小相差数倍;U-net为像素点的二分类模型,顶紧螺栓图片的语义分割是一个像素点三分类问题。所以,U-net的参数设计不能直接用于顶紧螺栓的语义分割,需要进行改进优化。

3.2.1 U-net8语义分割模型设计

为了增加模型训练速度,根据顶紧螺栓数据集的特点,基于1.2节所述U-net的基本原理对模型进行设计。训练过程中改变了数据增强的方法,对输入的顶紧螺栓原图和标签图片做了相同的随机翻转、偏移等处理;为了提高语义的丰富性和辨识度,便于在之后的检测过程中有效地将顶紧螺栓的不同状态区分开来,将模型输出的灰度语义图,设计为三通道的标准RGB图片格式,通过3个通道像素值的组合判断语义信息。同时,改变了模型的输入方式,降低了原始模型的输入大小,使得模型的输入输出在同一尺度224×224×3;将16倍降采样的U-net只进行了3次降采样,新设计的模型按采样倍率定义为U-net8和拥有更少参数的4倍降采样的U-net4,大大加快了训练时间。

U-net8具有对称的结构,U形结构左侧为降采样过程,对特征进行提取,经过3次降采样,特征层大小分别为112×112、56×56、28×28,特征层深度为128、256、512。右侧为像素的恢复过程,各层参数均在图7中进行了标注,3次上采样后模型最终输出的语义图片为224×224×3。U-net8的模型结构见图7。

图7 U-net8的结构

3.2.2 顶紧螺栓语义分割模型性能验证及分析

为了在所设计的U-net8和U-net4中选择适合于顶紧螺栓语义分割的模型,本文进行了对比试验。将340张截取的顶紧螺栓图片用于训练,140张组成验证集。语义分割试验阶段优化器采用Adam,学习率为0.000 1,采用IoU作为分割的准确度,对模型的分割效果进行评估,用交并比损失函数(1-IoU)加上图片的交叉熵损失函数作为U-net8的总体损失函数。

∑[Alog2B+(1-A)log2(1-B)]

( 6 )

式中:A为语义分割模型的标签图片,在模型训练过程帮助模型调参;B为训练好的模型在验证试验中输出的语义图片。两者的相似度反映了训练好的模型性能的好坏。对3种模型均在480张截取的顶紧螺栓图片和其对应的标签图片上面进行训练和验证,比较训练过程中loss和IoU的变化曲线以及测试时的分割结果。

训练过程中loss和IoU变化曲线见图8。由图8可见,对顶紧螺栓进行语义分割时,U-net8和U-net在训练过程都表现出很好的性能。U-net由于过多的参数导致前期训练较慢,U-net4则因为参数过少,导致IoU较低,loss最大。U-net8不仅能在分割精度上和U-net持平,训练过程中也收敛更快。最后训练得到的U-net8IoU稳定在0.85,可以得到很好的分割结果。因此,本文选择U-net8进行顶紧螺栓的语义分割。

图8 U-net8训练过程的loss和IoU变化

3.3 顶紧螺栓的状态检测

根据铁路行业关于支撑装置腕臂的相关标准,顶紧螺栓薄螺母的规格需要符合相关的国家标准[18],薄螺母的宽度和直径是统一的,可以由薄螺母和顶紧螺栓各部分的比例关系对顶紧螺栓的移动距离进行定量测量,进而对顶紧螺栓的不同状态进行检测。

训练好U-net8后,通过输入截取的顶紧螺栓图片来获得顶紧螺栓的语义图片。为了实现对顶紧螺栓各部分的对比、定量测量,需要将语义图片旋转至同一平面进行投影比较。利用Canny边缘检测等算法可以将语义图片旋转至相同平面。

边缘提取对比见图9。图9(b)为Canny算子提取的顶紧螺栓边缘特征,图9(c)为图9(a)经U-net8语义分割处理后得到的顶紧螺栓语义图片。图9(d)为U-net8处理后再进行Canny边缘检测所得的结果。薄螺母、螺杆部件的轮廓都能进行很好的提取,方便了后续的旋转操作。语义分割模型的引入为之后顶紧螺栓状态检测的可靠性提供了保证。

图9 边缘提取的对比

顶紧螺栓状态检测的具体步骤如下:

Step1语义图片蓝色、绿色像素的统计。根据图片中蓝色以及绿色连通域的有无判断顶紧螺栓的脱落状态。对语义信息中仅有黑色色块(仅有插口)的语义图片,判断为缺失状态。对顶紧螺栓脱落和其他状态对应的分割图片进行像素点统计时,发现紧螺栓脱落状态对应的分割图片的像素点小于100,其他状态对应的分割图片的像素点远远大于100。所以,可以将蓝色和绿色像素值均少于阈值100的语义图片判断为松脱状态。

Step2语义图片旋转至水平位置。如图10所示,可以通过确定语义图片中某一直线与水平面的夹角确定旋转角度将其旋转至水平位置。利用RGB三色像素值的明显区别,可以很方便地对语义图片中的特定颜色进行提取和处理。因此,可以对顶紧螺栓语义图片进行蓝色色块提取,利用薄螺母计算旋转角度。提取蓝色语义后,先通过Canny算子描绘出薄螺母边缘,结合Hough直线检测[19],获得薄螺母边缘线中长边与水平面的倾角,利用该倾角将图10(a)旋转至水平位置。

图10 旋转角度的测量

Step3语义图片的投影处理。如图11所示,先对顶紧螺栓语义图片进行绿色色块提取并进行二值化处理,得到螺杆区域。之后,将二值化图片进行像素值的水平投影,较短白色色块的投影长度即为薄螺母和插口的距离,两个白色色块之间的长度即为薄螺母的厚度。对投影图片中的白色色块进行分析,若只有一个白色色块,则证明顶紧螺栓处于正常的状态,若出现两个白色色块,则需要通过比例关系判断是否松脱。

图11 水平投影处理

Step4定量测量。如图12所示,图中标识的线段a为薄螺母和插口距离,b为薄螺母宽度,c为螺杆头部到薄螺母的长度,(a+b+c)表示螺杆突出的总长,通过b/(a+b+c)的比例关系和阈值的大小关系来确定顶紧螺栓是否松脱。顶紧螺栓在正常状态时,薄螺母和螺杆螺母长度之和的比例接近0.2。列车振动导致螺杆和螺母突出距离增大,b/(a+b+c)的比例会减小,通过比例减小的程度判断螺母的位置。试验表明,当b/(a+b+c)<0.185时,判断顶紧螺栓为松脱状态,需要对该不良状态进行预警。0.185能有效将顶紧螺栓两种不同状态的语义图片进行区分。

图12 间距的测量

4 顶紧螺栓状态智能检测方法对比验证及分析

基于前文给出的顶紧螺栓智能检测方法,采用TensorFlow-gpu的深度学习框架,试验环境NVIDIA GeForce RTX2060显卡,16 GB运行内存,CPU@2.9 GHz处理器,对方法的有效性进行验证。

对测试集中包含400个顶紧螺栓的100张支撑装置腕臂结构图片,通过SSD512进行定位,并对定位到的顶紧螺栓与其他方法进行对比试验,一共做了两组对比试验来验证本文所提方法的有效性:灰度像素统计图[2],DCGAN+VGG[9]。对比试验的结果如表2所示。

表2 不同模型下的测试结果对比

综合准确率表示的是定位准确率和状态识别准确率的乘积。分析表2试验数据可知:通过灰度像素统计图对顶紧螺栓状态进行检测时,顶紧螺栓图片灰度变化过小,对状态识别的结果影响较大。DCGAN+VGG能在一定程度上增加识别的准确率,却无法定量判断薄螺母的移动距离,导致状态的定性判断不准确。本文所提方法采用了基于深度学习的SSD512及U-net8,在对顶紧螺栓的状态进行检测时,利用其物理结构的特点,将其划分为不同的语义信息。能够判断出大部分顶紧螺栓的状态。

通过定量检测对松脱状态进行识别,可以在产生重大隐患前及时完成检修工作,防患于未然。这一点刚好契合铁路系统“超前诊断”的要求。在铁路系统数据中心“一杆一档”的数据存储模式下,可以依据不同时段同一零部件语义分割结果的变化情况来判断状态的变化。不仅可以记录、对比长度的变化,也可以依据不同时间点像素的比值来判断状态的变化,推广应用于接触网零部件覆冰状态检测等其他方面,具有良好的应用前景。

5 结束语

本文提出的基于深度学习实现顶紧螺栓状态智能检测的方法,实现了接触网顶紧螺栓的定位、语义分割和状态检测,通过将所设计的SSD512和U-net8相结合,有效地解决了缺陷样本不足带来的分类精度低、鲁棒性差的问题。同时对状态变化特征粒度小时的状态判定能够取得良好的效果。试验数据表明,本文提出的方法对接触网顶紧螺栓的智能检测具有良好的效果,为接触网零部件的智能检测提供了一种全新的思路。

猜你喜欢

螺母接触网螺栓
螺栓拧紧失效分析及对策研究
BIM技术在电气化铁路接触网中的应用研究
为开通打下基础!这条国际铁路完成接触网平推验收
带垫片的车轮螺母防松原理探究
外墙螺栓孔新型防水封堵技术研究
浅述如何做好高速铁路接触网施工监理工作
中老铁路两国同步架设电气化接触网第一线
“永不松动”的螺母
东京奥运会被螺栓“绊”住
杯沿“叠罗汉”