基于机器视觉的多线路钢轨扣件缺损检测方法

2019-08-19 10:24:04刘俊博黄雅平王胜春赵鑫欣张兴园
中国铁道科学 2019年4期
关键词:扣件钢轨卷积

刘俊博,黄雅平,王胜春,赵鑫欣,邹 琪,张兴园

(1.北京交通大学 交通数据分析与挖掘北京市重点实验室,北京 100044;2.中国铁道科学研究院集团有限公司 基础设施检测研究所,北京 100081)

通讯作者:黄雅平(1974—),女,内蒙古赤峰人,教授,博士研究生导师。E-mail: yphuang@bjtu.edu.cn

随着我国铁路运营里程的飞速增长,如何有效地保障铁路运营安全已成为铁路养护工作中的关键问题。扣件是连接钢轨和道床的重要轨道组件,钢轨的振动和环境温差等因素会使扣件损坏,导致钢轨移位,甚至造成列车脱轨等严重安全事故。近年来,基于机器视觉技术的检测方法凭借其高效、可靠、成本低等特点,受到学术界和工业界的广泛关注。国内外学者提出了许多基于机器视觉的检测方法,用于钢轨磨损状态检测[1-4]、接触网缺陷状态检测[5]、钢轨塞钉状态检测[6]和钢轨扣件缺损检测[7]等任务。

基于机器视觉的钢轨扣件缺损检测系统是通过安装在检测列车底部的高速线阵相机获取轨道图像;然后,利用扣件区域定位模块精确地定位扣件区域;最后,通过扣件缺损识别模块来识别扣件缺损状态。对于扣件区域定位,现有的方法是先检测钢轨、枕木和扣件的边缘、角点等几何特征[8],再利用轨道组件的位置分布定位扣件区域。然而,这些初级图像特征的抗干扰性较差,而且此类方法大多是针对特定的道床类型设计,无法应用到多线路钢轨扣件检测任务中,存在推广性较差的问题。

对于扣件的缺损识别,现有方法可分为有监督和无监督2类。有监督的扣件识别方法采用小波变换(Wavelet Transform,WT)[9]、独立成分分析(Independent Component Analysis,ICA)[10]等手工设计的特征表示扣件区域,再利用多层感知机(Multi-Layer Perceptron,MLP)[11]、隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)[12]、AdaBoosting[13]、Viola-Jones[14]、贝叶斯压缩感知(Bayesian Compression Sensing,BCS)[15]等分类方法识别扣件缺损。无监督的扣件识别方法使用梯度方向直方图(Histogram of Oriented Gradient,HOG)[16]或局部二值模式(Local Binary Pattern,LBP)[17]特征表示扣件区域,再利用模板匹配的方法识别扣件缺损。然而,在进行多线路检测时,有监督的扣件识别方法需要在每条铁路线路上重新采集和标注大量的扣件样本用于训练,训练过程非常耗时、费力;无监督的扣件识别方法虽然不需要训练,但性能略低。

本文首先提出了一种基于在线学习策略的扣件区域定位算法,用于定位扣件区域,并自动地采集和标注大量扣件样本,然后利用自动标注的扣件样本预训练扣件缺损识别算法学习扣件图像的深度特征,最后利用迁移学习的思想将预训练模型迁移到多条线路中使用。试验表明,该方法可以满足多线路钢轨扣件的检测需求,具有较大的理论意义和实用价值。

1 基于在线学习策略的扣件区域定位算法

扣件区域定位是指从原始的轨道图像中精确地定位并提取扣件区域。现有的扣件区域定位方法多基于边缘特征和互信息相关性,即先检测钢轨和枕木的边缘特征,再利用它们的位置关系确定扣件区域。然而,进行多线路检测时,道床类型和扣件类型不是固定的1种类型,这将导致定位性能下降。图1展示了不同线路的道床类型和扣件类型。

图1 不同线路的道床类型和扣件类型

针对当前的扣件定位方法无法进行多线路检测的问题,提出了一种基于在线学习策略的扣件区域定位算法。

1)扣件区域定位

原始的轨道图像中包含5条先验信息:①每帧轨道图像只包含1条钢轨;②钢轨垂直于图像的x轴;③钢轨宽度是固定的像素值;④扣件区域在钢轨两侧固定宽度的范围内;⑤每帧轨道图像至少包含6个扣件区域。

基于以上信息,首先利用基于直线线段检测器(Line Segment Detector,LSD)的钢轨边界定位方法[18],快速地定位钢轨位置,减少扣件候选区域的范围;然后,采用滑动窗口法在扣件候选区域内提取子窗口,并计算子窗口HOG特征与扣件模板HOG特征的相似度;最后,选择相似度最高的子窗口作为最优扣件区域,根据轨道组件的位置分布和扣件区域的对称性推断其他扣件区域。

采用轨道状态巡检系统[19]获取轨道图像,每帧轨道图像的尺寸为(800×1 230)像素,每个扣件区域的尺寸为(90×100)像素,钢轨宽度为60像素,扣件区域的横向间隔为55~65像素,纵向间隔为275~315像素。扣件区域定位算法的示意图如图2所示。图中:红色虚线表示检测到的钢轨边界,绿色虚线的区域为扣件候选区域,绿色矩形框为选择的最优扣件区域,蓝色虚线框包围的黄色矩形框为推断出的扣件区域。

图2 扣件区域定位算法示意图

2)在线学习策略

在线学习策略用于动态地更新扣件模板库。具体而言,扣件模板库被分为在线库和离线库,离线库包含人工复检的扣件模板,该库不会在检测过程中更新,而在线库在检测过程中将先利用K近邻(K-Nearest Neighbor,K-NN)算法对检测到的扣件区域进行相似度计算,再根据更新规则进行动态更新。

由于在线学习策略基于1个先验知识,即相邻帧的轨道图像,其光照条件、轨旁环境和扣件类型不会发生太剧烈的变化。所以,规定在线模板库的更新规则如下:① 将钢轨两侧相似度最高的扣件区域添加到在线模板库中的正常扣件区域队列的尾部;②在钢轨两侧的非扣件区域随机抓取2个背景区域,添加到在线模板库中的背景区域队列尾部;③如果在线模板库中某一队列的长度大于预设阈值N,则删除该队列头部的模板。

根据更新规则,队列头部的模板来源于间隔较远的轨道图像,队列尾部新插入的模板则来源于较近时间段获取的轨道图像。因此,队列头部模板的光照条件、轨旁环境和扣件类型可能与当前帧轨道图像相差较大。当模板队列的长度超过预设阈值N时,优先删除队列头部的模板。该策略可保证在线模板库自适应当前帧轨道图像的光照条件、轨旁环境和扣件类型,提升扣件区域定位算法的精确性。

3)自动样本标注

当前有监督扣件缺损识别方法在训练过程中需要大量的训练样本,然而在实际应用中手动地收集和标注扣件训练样本非常的耗时和费力。因此,提出自动样本标注方法,利用在线模板库对定位得到的扣件区域进行预分类,构建大型扣件训练数据集,用于预训练扣件缺损识别算法。

自动样本标注的详细流程如图3所示。在扣件区域定位阶段,为了提高定位效率,只使用模板库中的正常模板和背景模板,但在自动样本标注阶段,需要使用正常、损坏和丢失3种扣件模板计算扣件区域的分类得分,最后将分类得分高于阈值λ的扣件区域作为训练样本。

图3 自动样本标注流程

K-NN算法常用的分类依据是投票法。然而在钢轨扣件缺损检测任务中,有缺损的扣件数量很少,导致正常的扣件模板数量与有缺损的扣件模板数量是不平衡的,并且还会有错误标记的噪声模板,影响了K-NN算法的分类性能。因此,设计了1个权重函数,为

(1)

其中,

此权重函数计算输入扣件区域图像x与每个类别扣件模板的平均巴氏系数来度量相似性,既可以处理不同类别的扣件模板数量的不平衡问题,也降低了K-NN算法对噪声扣件模板的敏感性,可在一定程度上提升分类精度。

与以往的有监督扣件缺损识别方法相比,自动样本标注方法避免了人工操作,提升了扣件缺损检测系统的自动化程度,更具有实用性。需要注意的是,使用此方法自动标注的扣件样本可能会出现少量错误标注。

2 基于深度卷积神经网络的扣件缺损识别算法

深度卷积神经网络已经广泛应用于图像识别、目标跟踪等任务,并取得了巨大的突破。相较于传统的图像分类方法,深度卷积神经网络从仿生学的角度出发,使用多个层次的卷积层模拟人脑神经系统中的层次结构,经过多次迭代学习后,能够学习提取到更有判别力的特征,有效地提升图像识别的性能。

使用深度卷积神经网络进行图像分类任务时,需要输入大量的训练样本。然而,在多线路扣件检测任务中,手动地为每条线路标注大量的扣件样本非常耗费人力和物力,不具有可实践性。本文方法可自动地标注大量扣件样本,用于预训练深度卷积神经网络。然后,针对每条待检测线路,只需用少量的待检测线路的扣件样本对预训练模型进行微调,即可达到较好的分类性能。在实际的检测任务中,也可自动地收集线路中的扣件样本对扣件缺损识别模型定期地进行微调,以抵御由于天气、季节的变化造成的环境差异(例如,雨、雪天气)导致的模型分类性能退化,使得扣件缺损识别模型可以在此线路上达到更好的分类性能。

1)网络结构设计

以AlexNet[20]模型为基础,针对扣件区域图像的特点设计扣件缺损识别算法的网络结构。由于扣件区域图像的尺寸较小,图像内容相对单一,删除AlexNet模型的前2个卷积层,并降低全连接层的神经元个数,以提升网络的计算速度。同时,为保持图像特征的感受野尺寸不变,增加卷积层中卷积核的尺寸。扣件缺损识别算法的网络结构如图4所示。图中:每个卷积层的卷积核尺寸为(7×7)像素,步长为1,3个卷积层的卷积核个数分别为128,256和512个;池化操作的方式选择取最大值,窗口尺寸为(2×2)像素,步长为2;第1和第2个全连接层有1 024个神经节点,用于将卷积层提取的图像特征在高维空间进行表达;最后1个全连接层有3个神经节点,分别表示扣件区域图像分类的类别,即正常、损坏和丢失。

图4 扣件缺损识别算法网络结构(单位:像素)

此外,每个卷积层和全连接层后都使用修正线性单元(Rectified Linear Unit,ReLU)作为激活函数,有助于加速网络的收敛。在第1和第2个全连接层后使用了随机失活(DropOut)策略,可有效地防止网络过拟合。在设计的扣件缺损识别算法网络结构中没有使用局部响应归一化(Local Response Normalization,LRN)层,因为LRN层对网络性能的提升很小,但是增加了额外的内存开销和计算成本[21]。

2)数据增强方法

深度卷积神经网络需要大量的训练样本,且每类训练样本的数量应大致平衡。然而,在扣件缺损检测任务中,有缺损的扣件数量远远低于正常扣件的数量,不利于深度卷积神经网络的训练。因此,提出样本随机排序策略来减小样本数量失衡对识别性能的影响。样本随机排序策略分为5个步骤,具体如下。

步骤1 根据样本标签对训练数据集排序;

步骤2 找到样本数量最多的类别,记录其样本数量为M;

步骤3 为每个类别都创建1个长度为M的编号列表,并进行随机排序;

步骤4 遍历读取每个类别编号列表中的编号m,并与此类别的总数取余,得到1个索引值,根据此索引值找到对应的图像,添加到图像列表L中;

步骤5 合并所有类别的图像列表L,并进行随机排序,将此图像列表作为网络的输入。

为了防止大量重复样本造成网络模型过拟合,在网络的数据输入层对每个有缺损扣件样本添加高斯噪声,并随机选择高斯参数,从而减少训练数据的重复。此方法计算开销小,增加噪声后的图像不需要存储到硬盘。在试验中,均值的取值范围是[-2,2],标准差的取值范围是[0,1],高斯系数的取值范围是[16,64]。

3 试验验证

扣件缺损检测系统采用C++开发,使用Opencv3.0,CUDA8.0,Caffe[22]等工具库,计算服务器采用2个Intel E5-2630v4型CPU和1个NVIDIA Tesla k40c型GPU计算卡。

1)多线路钢轨扣件数据集

由于在铁路检测任务中没有公开的钢轨扣件数据集,试验所用的钢轨扣件数据全部采集自真实铁路线路,并进行了人工标注。数据集包含2个部分:①扣件区域定位试验数据。此部分试验数据只标注了扣件区域的位置,用于测试扣件区域定位算法的性能和自动收集扣件样本。②扣件缺损识别试验数据。此部分试验数据标注了扣件的分类标签,用于微调和测试扣件缺损识别算法的性能。钢轨扣件数据集包含多种常见的扣件类型,可根据扣件形状分为钩型、螺母型和α型。此外,在有砟铁路线路的扣件数据中,主体部分被道砟覆盖的扣件区域被标注为损坏扣件。各铁路线路中钢轨扣件试验数据的详细信息见表1和表2。

表1 扣件区域定位试验数据详细信息

表2 扣件缺损识别试验数据详细信息

2)扣件区域定位

扣件区域定位试验采用检测率作为评价指标,并设置交并比(Intersection over Union,IoU)阈值为0.9,以保证扣件区域定位的有效性。

试验采用了2种试验方案:方案1是使用模板库的离线部分;方案2是使用本文方法,即添加在线模板库。在线模板库的最大队列长度设置为300个,2种试验方案的离线模板库相同,即包含20张扣件区域模板图像和20张非扣件区域模板图像,近邻模板数量K设置为19张。

表3 采用不同方案得到的扣件区域定位试验检测率/%

各线路的测试结果见表3。从表3可以看出:方案1的平均检测率低于方案2;方案1对各个线路的检测率有较大的幅度的变动,而方案2对各个线路的检测率基本都达到了99%以上,表明本文的扣件区域定位算法具有较高的可靠性和良好的多线路适应能力。

为了测试在线模板库的最大队列长度对扣件区域定位结果的影响,将近邻模板数量K固定为19张,并使用检测率和检测速度作为评价指标,检测速度以每秒帧数为单位。试验采用1#铁路线路的数据,试验结果见表4。

表4 不同队列长度下检测结果

从表4可以看出:随着在线模板库最大队列长度的增加,检测率也随之增加,但是变化幅度并不大,同时,也导致了检测速度不断下降,影响系统的运行效率;总体来说,在本文方法中,增加在线模板库的最大队列长度有助于提升检测率,但也会降低检测速度,进而影响系统效率。在实际应用时,可根据需求灵活调整。

为了测试近邻模板数量对扣件区域定位结果的影响,将在线模板库的最大队列长度设置为300个,然后取不同的K值进行试验。试验采用1#铁路线路的数据,试验结果见表5。

表5 不同K值下的检测结果

从表5可以看出:使用更大的K值会对扣件区域定位算法的检测率有一定的帮助,但是并没有大幅度的改善,而且会带来系统效率上的损失。

3)扣件缺损识别

扣件缺损识别试验采用精确率、召回率和F1分数3个指标评价算法的可靠性。

首先,使用自动样本标注方法在1#,2#,3#和4#线路数据上自动地采集训练样本,最终采集到正常扣件55 686个、损坏扣件1 596个、丢失扣件1 080个。然后,结合本文的样本随机排序策略对采集的扣件样本集进行数据增强,用于预训练扣件缺损识别算法。最后,再分别使用5#,6#和7#线路的扣件数据微调预训练的网络模型。为了试验的公平性,在对每条铁路线路微调时均使用相同数量的样本,即正常、损坏和丢失的扣件样本图像各2 000张,剩余扣件样本图像用于测试算法性能。

网络模型采用随机梯度下降(Stochastic Gradieot Descent,SGD)算法进行训练,输入样本批量大小为128个,动量设置为0.9,权重衰减值为0.000 5,DropOut比例设置为0.5。训练周期为20个时期(epochs),初始学习率设置为10-4,每训练5个epochs后,学习率下降10倍。试验结果见表6。

表6 扣件缺损识别多线路试验结果

从表6可以看出:7#线路的测试结果稍优于5#和6#线路的测试结果,这是由于7#线路中只存在1种类型的扣件,而5#和6#线路中存在2种类型的扣件;扣件缺损识别算法只使用了少量的训练样本就达到了较为可靠的性能,表明本文的扣件缺损识别算法具有良好的多线路适应能力。

为了证明扣件缺损识别算法的优势,使用了5种试验方案进行对比试验,测试数据均采用7#线路数据。方案1是利用模板库的离线部分结合K-NN算法识别扣件缺损。方案2是增加了在线模板库,再使用K-NN算法识别扣件缺损。方案3是本文提出的自动样本标注方法,即在方案2的基础上,增加了分类权重函数。这3种方案的优势在于不需要训练分类模型。方案4是直接使用预训练的网络模型进行扣件缺损识别,不使用7#线路数据进行微调。方案5是使用7#线路数据微调预训练的网络模型。试验结果见表7。

表7 扣件缺损识别对比试验结果

从表7可以看出:方案4和方案5的综合性能远远高于其他方案,显著地提高了扣件缺损检测系统的可靠性,并且,使用待检测线路的扣件样本进行微调可以有效地提升扣件缺损识别算法在此线路上的识别性能。此外,本文提出的自动样本标注方法在识别性能上优于仅使用离线模板库的方法。方案2没有使用本文提出的权重函数,在线模板库中的正常扣件模板数量远远大于有缺损扣件模板数量,导致识别性能较差,这符合本文的预期。本文的自动样本标注方法虽然不适合作为最终的分类器,但其识别精确率较高,并且无需经过训练,非常适合用于自动地标注扣件样本。

4)图像特征对比

对于图像识别问题,提取具有判别力的图像特征是非常重要的。试验选取以往方法中常用的HOG和LBP特征与基于深度卷积神经网络的扣件缺损识别算法提取的图像特征进行比较,结果见表8。

从表8可以看出:传统的HOG和LBP方法虽然可以用作描述钢轨扣件,但所提取的图像特征较为粗糙,包含了大量的背景元素;而基于深度卷积神经网络的扣件缺损识别算法提取的图像特征则集中于描述钢轨扣件,忽略了图像背景元素的特征。显然,本文基于深度卷积神经网络的扣件缺损识别算法提取的图像特征更具有判别力,且对图像光照条件的变化不敏感。

表8 不同方法提取的图像特征对比

4 结 语

本文提出了1种基于机器视觉的多线路钢轨扣件缺损检测方法,可用于多线路检测任务。基于在线学习策略的扣件区域定位算法,不仅增强了扣件区域定位模块的可靠性和多线路适应能力,而且可以自动地采集和标注扣件样本。基于深度卷积神经网络的扣件缺损识别算法,提升了扣件缺损识别模块的可靠性,并利用微调技术提升了网络模型的多线路适应能力。试验结果表明,本文方法具有较高的可靠性和良好的多线路适应能力,其表现优于之前的扣件缺损检测方法,对于多线路钢轨扣件缺损检测任务具有很强的实用价值和理论意义。

猜你喜欢
扣件钢轨卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
科隆蛋扣件力学特性分析
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
一种改进的LBP特征实现铁路扣件识别
基于傅里叶域卷积表示的目标跟踪算法
钢轨焊后双中频感应加热工艺研究
非均布荷载下扣件式脚手架的随机缺陷稳定分析
高速铁路钢轨疲劳过程的超声非线性系数表征
国内外高速铁路钢轨性能对比研究
谐振式浮轨扣件的安装工艺