梅小云,顾桂梅*,陈 充,张存俊
(1.兰州交通大学 自动化与电气工程学院,兰州 730070;2.中国铁路兰州局集团有限公司,兰州 730030)
接触网常年处于户外,受自然环境影响极大,其部件容易出现异常,威胁高速铁路的正常运行.接触网吊弦作为接触悬挂中的重要部件之一,起着连接承力索和接触线的作用.由于长期受到车辆的机械振动,吊弦中的吊弦线夹极易发生螺母脱落和松动的故障,这会对铁路运行的安全构成风险.因此,对吊弦线夹进行状态识别,及时排除安全隐患,这对高速铁路的正常运行是很有必要的.
近些年来,随着高速铁路供电安全检测监测系统(6C)的投入使用,对接触网零部件的故障诊断方法逐渐趋于智能化.不少学者针对接触网零部件的缺陷检测进行了研究,现阶段接触网部件的缺陷识别方法主要有手动提取特征和用卷积神经网络自动提取特征两大类.文献[1]利用图像的HOG特征训练SVM分类器,实现旋转双耳的定位,利用二维Gabor小波变换对耳片的断裂进行识别;文献[2]利用SIFT算法和改进RANSAC算法定位双耳部位,然后将其分割出来,用竖直方向像素灰度值来判断旋转双耳销钉的工作状态;文献[3]提出了一种利用加速度信号来判别吊弦是否断裂的方法.上述方法虽然可以实现接触网零部件的缺陷识别,但手动提取的特征基于经验假设,在对海量数据进行分析时具有局限性.随着深度学习的发展,卷积神经网络能自动提取特征的特性为接触网部件的缺陷识别提供了新思路.文献[4]在Faster R-CNN算法中加入注意力机制模块实现接触网紧固件的定位,然后用全卷积孪生网络实现接触网的异常检测;文献[5]提出用改进的胶囊网络和CV模型完成吊弦的故障识别和定位;文献[6]采用Faster R-CNN先定位线夹,然后再切割出吊弦区域,对切割出的吊弦小图像用图像处理和深度学习相结合的方式进行处理,检出吊弦的缺陷.Faster R-CNN作为当前广泛使用的目标检测算法,将其用在接触网吊弦缺陷检测任务中时,由于零部件体积偏小,缺陷样本较少,难以训练得到精确度较高的缺陷识别模型.
为解决把Faster R-CNN算法直接用于吊弦线夹缺陷检测任务中导致的精确度不高的问题,本文提出了将吊弦线夹的缺陷检测任务分为定位和缺陷分类两个步骤.吊弦线夹定位以Faster R-CNN为主干模型,用ResNet-101网络替换原始的VGG16网络作为特征提取网络,可以提取到更深层次的特征信息,还可以解决梯度消失的问题;并在特征提取网络中,加入特征金字塔网络(feature pyramid networks,FPN),将低层特征和高层特征进行融合,使特征图包含更丰富的语义信息,利于目标的识别;并用K-means聚类算法对区域生成网络(region proposal network,RPN)中的锚框进行自适应调整,使其更适合于吊弦线夹的尺寸,该部分的输出为吊弦线夹的定位结果;由于接触网吊弦线夹在整张图片中非常小,为了能够准确地对吊弦线夹进行故障检测,缺陷分类部分对定位结果进行裁剪,然后输入到加入SENet结构的Inception-ResNet-V2网络中进行训练,使其完成缺陷分类任务.完整的吊弦线夹状态识别框架如图1所示.图1中,1×1、3×3表示的是卷积操作,×2表示2倍上采样,⊕表示相加,Conv1~Conv5表示的是ResNet-101网络的5个卷积块,P2~P5是经FPN特征金字塔融合后的特征.
图1 整体识别框架
吊弦线夹定位以Faster R-CNN为主干模型,用ResNet-101网络替换原始的特征提取网络,使提取的特征包含更丰富的信息,并且将FPN加入到特征提取网络中,提高吊弦线夹小目标的定位精度.同时利用聚类算法对RPN中的锚框进行自适应调整,使其适用于吊弦线夹.
本文用ResNet-101网络替换原始的VGG16作为特征提取网络,以便提取到鲁棒性更高的特征,解决梯度消失和梯度爆炸的问题[7].为了解决吊弦线夹较小,不易识别的问题,把FPN结构引入到特征提取网络中,将高维特征和低维特征进行融合,增强特征图的语义信息,以利于小目标吊弦线夹的识别.
RPN作为Faster R-CNN算法中的核心部分,判断区域里是否包含待识别的目标要依赖于预设的多种尺寸和不同长宽比的锚框[8].原始算法里的锚框针对的是VOC2007数据集,大小有1282、2562、5122三种,长宽比例有1∶1、1∶2、2∶1三种,这样的锚框对于尺寸较小的吊弦线夹来说,锚框的设置并不是那么合适,会影响候选区域的生成,从而影响目标的识别精度.因此,本文在吊弦线夹的识别中,根据线夹标注文件的信息,用K-means算法进行聚类,重新调整锚框尺寸,大小设置为{162,322,482,642,1282},长宽比为{0.7,1,2,3,5}.
由于吊弦线夹比较小,为了便于缺陷分类任务,将定位出的吊弦线夹从原图中裁剪出来,作为缺陷分类部分的输入.由于吊弦线夹缺陷样本较少,用神经网络进行学习时,接收到的标签数据有限[9],这将导致网络不能获取足够的信息来对吊弦线夹的状态进行分类.为了使提取到的特征能够更好地指导后面的分类,本文将SENet(squeeze-and-excitation networks,SENet)注意力机制网络加入到在图像分类中表现较好的Inception-ResNet-V2网络中,实现吊弦线夹的缺陷识别[10].吊弦线夹的运行状态分为螺母正常、缺失和松脱3种类别,如图2所示.引入该结构后,网络模型可以自动学习每个特征通道的重要程度,并且更多地关注与目标相关的特征通道,而弱化与目标不相关的特征通道,把它运用到吊弦线夹的状态分类网络中,可以使提取的特征更有利于状态的分类,提高对吊弦线夹状态分类的准确度.
图2 吊弦线夹螺母状态类别
注意力机制是机器模仿人类大脑对信息的处理过程,把注意力集中放在需要的信息上,选出关键信息,而忽略其他不重要的信息,把它应用到深度卷积网络中,可以实现自动选择图像中的感兴趣部分区域.本文采用的SENet网络结构图[11]如图3所示.图3中,X表示输入的特征图,X′表示经过挤压-激励操作更新后输出的特征图,W、H、M分别表示特征图的宽、高和通道数,r为缩放参数,在文中设置为16.SENet网络注重的是通道特征,能够嵌入到任意的原始网络中,通过挤压-激励的方式增强特征提取层的感受野,提升卷积神经网络的性能.
图3 SENet结构图
SENet的核心思想是根据网络训练的损失值去学习特征权重,使得有效的特征通道权重增大,无效或效果较小的特征通道权重减小,用这种方式训练模型使其达到更好的效果.它的核心操作是挤压(squeeze)和激励(excitation)两大操作[12],主要包括以下3个步骤:
1)挤压操作是对提取到的特征图进行全局平均池化,在空间维度上对特征进行压缩,将W×H×M的特征图压缩为1×1×M,压缩后的特征图具有全局感受野,使感受野尺寸较小的低层网络也可以利用全局信息[13].这个过程由公式(1)转换得到.特征图X=[x1,x2,…,xc],通过挤压操作得到Fsq,其表达式为
(1)
2)将压缩后的特征图送入两个全连接层以建立通道间的相关性.把经过两个全连接层的输出特征用Sigmoid函数激活,得到每个通道对应的权重信息S=[s1,s2,…,sc],这就是激励操作,如式(2)所示.
S=Sigmoid(F2(ReLU(F1Fsq))),
(2)
(3)
Inception-ResNet-V2网络[14]是Google团队2016年发布的卷积神经网络.ResNet-V2结构在加深网络的同时,能够避免产生梯度爆炸的问题;Inception模块可以在同一层上获得稀疏或非稀疏的特征,将两者结合起来,可以取得更好的效果.Inception-ResNet-V2的网络结构[15]如图4所示.
图4 Inception-ResNet-V2网络结构
Inception-ResNet-V2网络主要包含Stem、Inception-ResNet、Reduction等部分,其中:Inception-ResNet-A、Inception-ResNet-B、Inception-ResNet-C为网络的特征提取模块.在Inception结构中使用了可分离卷积,将7×7和3×3较大的卷积核分解为7×1、1×7、3×1、1×3较小的卷积核,降低了计算的复杂性,加快了网络的运行速度[16].该网络的输入为299×299×3的RGB图像,经过中间各层运算,最终得到的特征图是一个1×1 792维的特征向量.SoftMax分类器以1 792维的向量作为输入,输出向量的维度与类别数相同.本文对吊弦线夹图像做螺母正常、松脱、缺失分类,即类别数为3.
SENet创造性的使用衡量各通道权重的方式来提高分类正确率,因此本文提出将SENet结构嵌入到Inception-ResNet网络中,对特征图的权重进行标定.图5(a)为没有添加SENet的Inception-ResNet模块,图5(b)为引入了SENet的SE-Inception-ResNet模块.
图5 改进的Inception-ResNet结构图
本文将SENet分别与每五个Inception-ResNet中的最后一个Inception-ResNet相结合,SENet通过压缩操作增大特征提取层的感受野,调整各通道信息的权重,对各通道信息赋予不同的权值,根据权值大小对通道信息进行筛选,降低干扰信息的影响,得到表达能力更强的特征图.Inception结构中的可分离卷积降低网络的复杂性,提高网络的训练速度.ResNet残差结构提取深层次特征的同时能够有效避免产生梯度爆炸的问题.将经过SENet的特征图和通过Inception-ResNet模块的特征图进行融合叠加,提升网络的效果,并尽可能的减少由计算量增加带来的负担.改进后网络的结构图如图6所示.
图6 SE-Inception-ResNet-V2网络结构图
本仿真平台在Windows10系统环境下基于Tensorflow深度学习框架中搭建,GPU使用NVIDIA GeForce GTX 1650 Ti,内存为8 GByte.仿真分为定位实验仿真和缺陷分类两个部分.定位部分的原始数据集为1 000张接触网吊弦图片,把数据经过旋转、平移、镜像等操作,将图片扩充为3 584张,按7∶3划分为训练集和测试集;吊弦线夹缺陷分类的数据集为从定位结果中裁剪出来的600张有效图片,经数据扩充变为1 792张,按5∶1划分为训练集和测试集.
完成本文的缺陷识别分类任务,需要训练2个网络模型:
1)基于改进Faster R-CNN的吊弦线夹定位模型,训练的初始参数设置为:批量尺寸(batch size)为256,学习率为0.001,动量为0.9,权重衰减为0.000 5,最大迭代次数为4万次;
2)基于SE-Inception-ResNet-V2结构的吊弦线夹状态分类模型,训练的初始参数设置为:批量尺寸(batch size)为256,学习率为0.001,动量为0.9,权重衰减为0.000 5,迭代周期设置为200,每个迭代周期训练一遍数据集.
3.2.1 定位实验分析
按照第1节所述吊弦线夹的定位方法训练网络模型,为了验证改进算法的有效性,将改进前后的定位效果图进行对比,原始算法吊弦线夹的定位效果如图7(a)所示,改进后的效果图如图7(b)所示.
图7中方框圈住的部分是定位到的吊弦线夹,“dxj”是标签,后面的数字代表的是该方框中的目标为吊弦线夹的置信度.由图7(a)可以看出:原始算法对于下部分没有其他部件干扰的吊弦线夹,均以0.95左右的准确度进行有效的识别;对于上部分线夹,由于受到载流环的干扰,出现漏检现象.从图7(b)可以看出:改进后的算法将图7(a)(1),(2)中漏检的上部线夹检测出来,图7(a)(3)中吊弦线夹的识别概率也从0.95提高到0.97左右.这可以从改进的两个角度进行分析:一是从特征图角度来说,因为ResNet-101相比于原始算法中的VGG16网络,网络层次更深,可以提取到更多的目标信息,并且由于加入残差网络,可以有效解决梯度消失的问题,提高检测的准确率;FPN结构也将低层的细节信息和高层的语义信息进行融合,使网络提取的特征图包含更多的吊弦线夹的信息.二是用聚类产生的自适应锚框尺寸比例代替原始的由人工经验设置的锚框尺寸,对于尺寸较小的吊弦线夹来说也是有益的.由此说明:本文算法对吊弦线夹的定位效果较好,能够以97%左右的概率识别出图中的吊弦线夹.为了进一步验证本文算法对吊弦线夹的定位效果,将该算法与未改进和只加入FPN的算法进行对比,用平均精度[17]作为评价算法性能的指标.对比结果见表1.
表1 平均精度对比结果
由表1可以看出:加入FPN特征金字塔后,平均精度提升了5.2%;紧接着再用K-means对锚框进行优化,平均精度达到了96.4%,证明本文的改进是有效的,定位性能要优于其他两者.
3.2.2 缺陷分类实验
将三种不同类型的吊弦线夹打上标签,输入到引进SENet的Inception-ResNet-V2分类网络中进行训练,保存模型并进行测试,测试的部分结果如图8所示.
图8 测试结果图
本文用“loss”代表吊弦线夹螺母缺失状态,用“0”来表示;“loosen”代表吊弦线夹螺母松脱状态,用“1”来表示;“ZC”代表吊弦线夹螺母正常状态,用“2”来表示,图8为部分图片的测试结果.从图8中可以看出:输入的前面3张图片的预测结果和实际情况一致,最后一张出现了偏差,输入的是吊弦线夹螺母松脱图片,预测的是正常状态,这是因为螺母的小幅度松脱和正常状态差别不是特别大,因此出现了误分类的情况,而对差别较大的吊弦线夹螺母正常和缺失两种状态可以准确地进行分类.
为验证本文算法的有效性,在相同的实验环境下,采用同系列的Inception V3网络和未加入SENet的Inception-Resnet-V2网络作对比实验,经过不同网络结构训练后的测试效果见表2.实验中使用准确率(ACC)作为模型好坏的评价指标[18],准确率越高,表明模型的预测结果和实际情况越相近,模型的效果越好.ACC的表达式如式(4)所示.
(4)
其中:N表示测试集中的所有吊弦线夹的图像数目;Nr表示将吊弦线夹状态正确分类的数目.
从表2中可以看出:从平均准确率来看,Inception V3网络和Inception ResNet-V2网络模型相比,虽然同样具有Inception模块的多通道卷积,但Inception ResNet-V2网络中的残差模块增加了网络的深度,分类的准确率从92.87%提升到93.67%;在Inception ResNet-V2网络中添加SENet后,三种螺母状态的平均分类准确率达到了96.61%,与未加入SENet相比,准确率提升了2.94%.SENet模块的作用机理模仿的是人类大脑对于某一事物的专注程度,与传统的Inception-ResNet-V2卷积神经网络相比﹐本文加入SENet的改进方法能够对提取到的特征进行加权﹐降低较弱特征参数的影响,增加较强特征的权重,以此来提高特征图的表达能力,增强对吊弦线夹螺母三种状态的分类能力,可以使网络更好地指导吊弦线夹的状态分类.从三种螺母状态的准确率来看:三种网络模型对螺母缺失和正常两种状态的分类准确率较高,而对螺母松脱这一状态的准确率差于其他两者,这是因为螺母松脱的状态和正常状态的差异不明显,导致螺母松脱故障的准确率低于另两种状态.
表2 不同模型的识别准确率
本文对接触网吊弦线夹的状态识别进行了研究,提出了基于深度学习的吊弦线夹缺陷识别分类方法.将缺陷识别任务分为目标定位和缺陷分类两个步骤:用改进的Faster R-CNN模型实现吊弦线夹的定位;在缺陷分类过程中,将SENet结构嵌入到Inception-ResNet-V2网络中,对提取的特征进行加权,更多的关注与目标相关的特征通道,降低无关参数的影响,提高吊弦线夹缺陷分类的准确率.仿真结果表明:本文方法可以实现吊弦线夹的高精度定位;在吊弦线夹的状态分类中,对吊弦线夹正常、螺母缺失、螺母松脱三种状态的平均分类准确率达到了96.61%,表现出了较高的可靠性.本文所提出的缺陷识别方法为接触网其他零部件的故障识别问题提供了一些参考,具有一定的现实意义.