王志学,彭朝勇,罗 林,宋文伟
(西南交通大学 物理科学与技术学院,四川 成都 610031)
目前国内外针对列车车身安全检测的方法主要分为三类,分别是人工检测法、基于机器视觉的关键部件检测法和基于机器视觉的整体比对法[1]。人工检测方法效率低下,而且受检测人员状态影响较大。关键部件检测法则是针对机车运行起关键作用的部件进行检测,如吊杆、轴报箱、紧固螺栓和芯盘等。文献[2]利用小波变换技术检测紧固螺栓的安全状态;文献[3]研究出一套实时的螺栓检测系统,用于代替人工检测。同样,在文献[4-5]中,分别对紧固螺栓和制动蹄片这两种关键部件进行安全检测。这种检测方法只对关键部件进行检测,无法覆盖整个车体。整体比对法是以整个车体图像作为检测对象,利用结构相似性[6],将当前过车车体图像与历史过车车体图像(无异常的标准图)进行比对,从而检测出两次过车车体上的差异,然后将差异作为安全隐患向检测人员报警,检测人员再进行最后的异常判断。
虽然整体比对法可以对整辆列车进行监测,但是无法克服由水渍、油渍、标记等非危险差异引起的大量误报警,这严重降低了整体比对法的检测效率。在铁路运输高速发展的今天,为保障列车运行安全,适应繁重的检测任务,急需一种高效且精准的自动化检测方式,以替代传统的人工检测,能对差异进行自动识别。
近年来,深度学习[7]的方法得益于其强大的非线性表达能力,在图像处理领域得到了广泛的应用。相比于传统特征提取方法在复杂背景下难以提取有效特征的缺点,如SIFT[8-9]、SURF[10]和HOG[11]等,应用卷积神经网络的深度学习方法强大的特征提取能力使它在图像分类、识别领域取得了瞩目的成就。因此本文将深度学习的方法引入列车图像异常识别系统中。
调研文献发现,现在已经有部分研究将深度学习方法运用在铁路相关领域。文献[12]利用Faster R-CNN目标识别网络对高速铁路接触网承力索座进行了目标定位,然后检测承力索座上的裂纹信息,实现了对承力索座裂纹故障的可靠诊断。文献[13]提出一种级联Faster R-CNN网络用于检测高速铁路接触网支撑与悬挂装置中等电位线的散股故障。文献[14]建立了一个基于卷积神经网络的多故障判别模型,主要用于检测边框架螺栓和轴螺栓区域的一些故障。但是,以上研究都是针对列车车体关键部件的检测,无法覆盖整个车体。
基于以上原因,本文建立一个基于并联卷积神经网络[15]的列车车体异常检测模型,见图1。此模型包含两个CNNs结构,是一种并联模型。与传统分类任务不同的是,差异分类网络的输入为两幅图像,即历史图和当前图。神经网络首先需要检测出两幅图像的差异信息,然后进一步识别此差异信息是否存在安全隐患。根据调研所知,目前还没有将卷积神经网络运用在差异分类上,但是有些相似工作。在遥感信息处理领域,并联卷积神经网络被广泛地运用在了变化检测[16-18]上,通过输入两幅不同时期同一地点严格配准的遥感图,输出变化情况,其为一种图像分割任务,这和差异分类任务相比有较大的不同。另外,虽然差异分类只采用一个神经网络单阶段完成,但是网络内部却分为两步:差异信息检测和差异分类。同时,为了提升网络的性能,本文提出一种多形状训练方法,并且设计了一种加入距离度量限制项的损失函数。最后,在以上优化的基础上建立一个复合并联模型,进一步提升网络性能。
图1 并联模型
针对列车车体差异分类任务,考虑样本是当前图和历史图构成的图片对,首先建立一个并联网络模型,见图1。模型主要由两个结构相同的CNNs模型并联组成,两个CNNs分支分别接收当前图和历史图作为输入,经过一系列卷积池化操作后,输出两幅图的特征向量Fw,b(Curri)和Fw,b(Histi)。为了获得更好的分类结果,在两个CNNs分支的输出端,将两幅图的特征向量相减得到差分特征图fend,再送进全连接层和softmax层进行分类。值得注意的是,为了让两个CNNs分支能更好地提取图片对的差异信息,两个CNNs分支之间进行权值共享。这种权值共享的方式也保证了两个CNNs分支提取到的图像特征在特征空间中的分布不会有较大的差异。
为使此分类模型具有良好的性能,本文创新性地提出两种改进方式:①在训练中加入多形状训练方法;②改进损失函数,加入图片对的距离度量限制项。
在图1建立的并联卷积神经网络模型基础上,本文还创新性地建立了一种复合并联模型,见图2,此复合并联模型较图1所示的并联模型,增加了一个串联分支一,并联分支二与图1模型结构相同。串联分支一与并联分支二属于并联结构,而并联分支二内部也是一个并联结构,分支一与分支二共同构成了复合并联模型。为了组合两个分支的特征,在两个分支的输出端进行了特征拼接,即将分支一的融合特征和分支二的差分特征在通道维度上进行拼接,将拼接之后的特征输入全连接层和softmax层进行最后的分类。
图2 复合并联模型
首先,图片对在输入分支一之前被合成一幅二通道的图片,虽然二通道的图片在自然图像中不存在,但这里人为地将它们拼接起来。较分支二中两个并联CNNs独立提取两张图片的特征,分支一通过对组合成的二通道图片进行卷积池化操作,能够提取到两张图片的融合特征。即分支一提取到的特征是模型通过结合两张图片对应位置的信息而得到的。一方面,对于模型来说,可用于判断的特征更加丰富;另一方面,分支一提取的特征是建立在网络综合考量两张图片差异信息的基础之上的,而分支二提取到的特征是网络在两张图片上独立提取出来的,两种特征是互补的。考虑并联分支二两个CNNs之间权值共享,在提取特征的时候也会综合考量两个图片之间的信息,但更多地是为了避免两个CNNs提取到的特征在特征空间中的分布相差太大。因此,串联分支一提取的图片对之间的融合特征还是较并联分支二提取的更加丰富和全面。试验证明,这种模型进一步提升了网络的性能。
由于本文所采用的数据集中的图片形状是无规则的,即长宽比是任意的,所以差异分类网络也应该适应不同的形状。为了解决不同形状的问题,本研究提出了多形状训练方法。主要采用了5种不同的形状:90×180、180×90、128×128、90×90、180×180。对于90×180、180×90、128×128三种尺寸,它们有近似的像素点,所以计算量也大致相同。对于90×90、180×180两种尺度的加入,是因为考虑神经网络的感受野,即卷积神经网络每一层输出的特征图上的像素点在输入图片上映射的区域大小。在CNNs模型结构固定的情况下,其感受野也固定。因此,加入两种尺度的图片训练,希望模型在大尺度(180×180)下能够提取到图片对的小差异,在小尺度(90×90)下能够提取到图片对大的差异信息,即不同的尺度大小下,网络“注意”到的图片差异信息是不一样的。同时,为了使5种尺寸的输出向量可以转化为相同的长度以进行最后的分类,本模型在进行全连接前采用了全局平均池化。
在训练时,5种尺寸的形状交替进行训练。测试时,图像采用3种形状(90×180、180×90、128×128)最接近的一个形状变形,然后推理出差异的类别。通过这种方式,数据集在一定程度上得到了扩充,主要有两方面的优点:①由于样本数量的增加,网络性能得到了提升;②采用变形的策略有利于网络专注于变化信息,而不是背景类的类别信息。虽然在之前的一些工作中,如在RCNN[15]网络中,为防止网络失真,变形都是应该尽量避免的。但是差异分类任务不是去识别图像是什么,而是两幅图片之间的差异是什么类别。采用多形状训练策略,会使原始图像变形为多种形状,这样图片的背景信息会因为变形而失真,但是差异信息几乎没有变化。尤其是像污渍、亮度和异物这些没有固定特征的差异,即使图像更改了形状,背景失真了,但是上述差异依旧十分真实,见图3。这种策略会促使网络更好的学习差异信息。
图3 形状变化
为使模型针对差异分类任务有更好的分类效果,需要设计一个合适的损失函数。通过最小化损失函数,训练出一个能够准确提取图片对差异特征的CNNs参数模型Fw,b,其中下角w和b分别代表模型的权重和偏置参数。此参数模型提取到图片对的特征后,在特征空间中,正样本(有异常)对应的特征点之间的距离更加靠近,负样本(无异常)对应的特征点之间的距离更加远离,从而分离开了正负样本。
令Curri和Histi分别表示输入模型的第i对列车当前图和历史图,Fw,b(Curri)、Fw,b(Histi)表示模型输出的当前图和历史图的特征向量。
1.4.1 分类损失函数
采用交叉熵作为样本类别标签的预测,因此分类损失函数可以表示为
fend=abs[Fw,b(Curri)-Fw,b(Histi)]
( 1 )
( 2 )
因此,模型的分类损失表示为
( 3 )
1.4.2 距离损失函数
在距离损失函数中,模型需要学习优化的距离度量可以表示为Dw,b(Curri,Histi),它表示图像对特征向量之间的距离。本文主要采用余弦距离Dcos作为距离的衡量,Dcos∈[1,0]。
基于余弦距离的图片对特征向量之间的距离可以表示为
( 4 )
令
Dw,b(Curri,Histi)=Dcos(Curri,Histi)
( 5 )
则距离损失函数设置为
(1-yi)[1-Dw,b(Curri,Histi)]}
( 6 )
对式( 6 )的直观理解是:实际中,不论是有异常的正样本还是无异常的负样本,图片对之间的相似性都是介于(0,1)之间,只有完全相同的两幅图片,其相似性才为1。在此差异分类模型中,认为有异常的正样本是完全不相似的,其相似性为0;而无异常的负样本是完全一样的,相似性为1。这样,优化的目标就是令正样本的特征距离趋近于0,负样本的特征距离趋近于1,即
( 7 )
这样设置的好处是,使模型能够减少或者避免受光照、污渍、标记等伪报警差异的影响,更加专注于提取图片对中真正引起正报警的危险差异。同时,在优化损失函数后,正样本(有异常)对应的特征点之间的距离更近,负样本(无异常)对应的特征点之间的距离更远,正负样本在特征空间中被更好地分隔开来。
因此,模型训练的损失函数设置为
Loss=(1-λ)Lossclass(fend,y)+
λLossdis(Dw,b,y)
( 8 )
式中:λ为一个超参数,λ∈(0,1),用于权衡分类的损失和距离的损失,以让模型性能达到最优。
本文试验的数据集总共包括16 625对图片,其中正样本(正确报警异常)8 355对,负样本(伪报警异常)8 270对。随机挑选15 625对样本用于训练,1 000对样本用于测试。正样本主要包括因异物、丢失、松动造成的差异。这类差异会影响列车的运行安全,比如异物出现在动力装置上,会影响机车的正常运行。而负样本主要是由污渍、标记、亮度等引起的差异,这类差异是非异常的,因为它们不会对列车运行安全造成影响。样本集的部分实例见图4,样本集分配详情如表1所示。
图4 正负样本实例
表1 差异分类样本分配情况
在网络训练时,采用的是Adam优化器进行梯度下降。由于采用了反向传播算法,初始学习率被设置为0.01,衰减率被设置为0.99。除了第一卷积层外,在进行卷积操作前都会首先依次执行Batch Normalization(BN)算法和ReLU非线性激活。卷积神经网络的批大小为48,迭代次数为100 000次。为了避免过拟合,网络还采用了L2正则化。网络权值的初始化采用的是Xavier初始化器。所有试验都是基于TensorFlow深度学习框架编写,试验平台的GPU和CPU配置分别为Nvidia RTX2070 GPU和Intel i7-8700 CPU,试验结果都是6次重复性试验得出的平均值。损失函数权重λ在0到1之间以0.1为步长试验,如表2所示,最后确定在λ取值为0.1的时候模型性能最优,因此本文中所有试验都将损失函数权重λ设为0.1。所有图片在训练前都会进行归一化和随机的翻转。试验结果如表3所示。
表2 损失函数权重对模型的影响
表3 试验结果
如表3所示,试验逐一验证了优化策略的性能提升,本文中网络性能的提升由准确率、精确率、召回率和F1指标来评价,其中提升项使用F1综合评价指标衡量。从试验1、2可知,网络加入距离度量之后,虽然精确率有所下降,但准确率和召回率都有提升,因此综合评价指数F1由84.22%提升到87.51%,提升了3.29%。由试验1、3可知,加入3种尺寸(180×90、90×180、128×128)训练后,网络F1较未优化的试验1模型提升至90.42%,提升6.20%,其他3项指标也都有提升。由试验1、4可知,加入3种尺寸2种尺度,即5种尺寸训练之后,网络性能提升至91.35%,提升了7.13%,其他三项也都有提升;而且,由试验3、4可知,在3种尺寸的基础上加入2种尺度的训练,网络性能也有提升,本试验中网络F1指标从90.42%提升至91.35%,提升了0.93%,其他3项性能也都有所提升;这也验证了前面的猜想,即加入多尺度训练能够提升网络性能。最后,为了获得最优模型,将3种优化策略全都应用于网络,训练获得了F1指标为92.42%的性能,较未优化网络提升了8.20%。同时,准确率与召回率由85.10%、80.60%提升到至92.60%、90.20%。在复合并联模型试验中,模型提升规律同并联模型,最后复合并联模型的F1性能达到95.03%。而且,由试验1、6和5、10可以看到,复合并联模型的性能总体优于并联模型。
为进一步证明模型能够准确提取到差异信息,挑选了6对代表性的样本图片,将复合并联模型两个分支提取到的图片特征进行可视化,并与传统的LBP算法提取的特征进行比较,见图5。
图5 模型特征可视化
图5(a)、5(b)、5(c)是正样本图片对,图5(d)、5(e)、5(f)是负样本图片对。每组图片对中,第一行分别表示当前图和历史图的原始图片;第二、三行是复合模型中并联分支提取到的当前图和历史图的特征;最后一行前两张是复合模型中串联分支提取到的特征,后两张是利用LBP算法提取到的特征。由于深层网络提取的特征太抽象难以理解,这里展示的只是第一层卷积后的特征图中有代表性的10幅。
由图5可以看出,复合并联模型不仅能够提取基本的边缘信息,还可以检测到两幅图像之间的差异。首先,对于并联分支,它能够分别提取两幅图片的差异信息,图5(a)中第a2、a3行分别提取到了异物和背景的特征;图5(b)、图5(c)中,部件的转动被检测了出来;图5(d)中有污渍部分和无污渍部分的特征都能准确地提取。对于串联分支,由于输入是二通道图像,它可以很好地兼顾两幅图像之间的差异信息。如在a4、d4,差异信息异物和污渍被分割开来,e4中第2张对光照部分有较强的响应。同时,在与LBP算法提取到的特征进行对比时我们发现,虽然LBP算法也能够提取基本的边缘轮廓信息,但是对于污渍、光照,不能有效地提取到差异特征。如d4中第3、4张,污渍特征并没有被提取到,同样e4中第3、4张也没有提取到光照差异。可以看到,本复合模型中,并联部分能够独立提取两幅图像的差异信息,而串联部分综合考量两幅图像的差异信息,两部分提取的特征进行融合,从而提升了模型的性能。
针对列车车体的差异分类任务,本文建立了两种网络模型,分别是并联模型以及改进的复合并联模型。通过可视化卷积特征,发现并联部分能够独立提取到图片对的差异信息,而串联部分可以兼顾两张图片信息提取到差异信息,通过两部分特征的融合,提升了网络的性能。同时,为了提升差异分类网络的性能,本文提出了多形状训练方法以及加入距离度量的损失函数。试验结果表明,这两种优化方法都能够提升网络的分类性能。而且,本文建立的网络模型不仅具有较高的检测准确率,对光照、水渍和油渍等伪报警也具有良好的鲁棒性。
因此,本模型的提出,能够有效弥补人工判断差异效率低下、成本较高的不足,有一定的实际应用价值。