基于SSD的轨道扣件快速弹条状态检测*

2021-09-15 08:35张泽宁郑树彬李立明
计算机与数字工程 2021年8期
关键词:扣件先验钢轨

张泽宁 郑树彬 李立明

(上海工程技术大学城市轨道交通学院 上海 201600)

1 引言

轨道扣件作为连接钢轨与轨枕的重要部分,其是否处于工作状态会直接影响钢轨与轨枕的连接强度进而影响列车行车安全。轨道扣件状态巡检更是铁路工务部门对铁路线路日常维护的重要工作。在传统轨道扣件检测算法中,张雯柏等[1]提出改进的Sobel算子结合二值化形态学的轨道扣件分割算法。边缘特征和形态学分割对亮度十分敏感;DOU Yunguan等提出首先运用模板匹配算法根据轨道的几何关系来定位扣件,然后采用最近邻分类器判断扣件是完整状态还是丢失状态。模板匹配需要消耗大量计算资源无法做到实时检测,同时极易遭受干扰而致使匹配失败。其他利用浅层特征进行扣件定位的方法,如HOG(histogram of oriented gradient)特征[2]、纹理特征[3]、SIFT特征[4]都非常容易受到光照和对比度等因素影响,并且需要根据不同特征进行不同的预处理,难以广泛使用。

目前,随着计算机视觉、深度学习等领域的不断发展,图像中更深层次的特征被广泛应用,愈来愈多优秀的目标检测算法随之出现。在轨道交通行业,利用抗干扰能力更强、适应性更广、准确率更高的深度学习目标检测算法来辅助人工巡检已是重点研究方向。在计算机视觉和深度学习如火如荼的发展中主要出现了两类目标检测算法,即two stage目标检测算法和one stage目标检测算法。前者主要思路是先通过启发式方法或者卷积神经网络(Convolutional Neural Networks,CNN)在图片中产生大量稀疏的候选区域(region proposals),再将每个候选区域送入多层CNN中进行分类和回归[5];后者不需要生成候选区域,直接将图片送入CNN,根据特征图以不同尺度和宽高比对图片进行密集抽样,再利用CNN提取特征后进行分类和回归。现阶段SSD作为优秀的one stage算法在voc2007数据集中目标检测的准确率和速率(77%mAP/46FPS)均领先two stage算法中性能较好Faster R-CNN算法(73%mAp/7FPS)[6]。

本文充分利用SSD算法优势,结合轨道扣件快速弹条状态检测任务的特点,优化先验框尺度和宽高比,并且使用迁移学习的方法提高了训练速度和检测精度。最终能够准确识别轨道扣件快速弹条和钢轨表面的具体位置,为轨道扣件快速弹条状态检测提出一种新方法。

2 SSD算法特点与网络结构

SSD算法使用多层神网络提取一系列不同尺度的特征图,利用不同宽高比的先验框对全图各子区域进行分类和回归。其在VGG-16基础上删除dropout层和全连接层并增加更多卷积层以获得不同大小的特征图。保存经过卷积层Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Conv11_2所得到的六个特征图,将其作为物体类别和位置坐标预测的基础。在SSD算法中不同大小的特征图负责检测的物体大小不同,较大的特征图中包含更多细节特征,适合检测较小的物体,较小的特征图有更大的感受野,适合检测较大的物体[7]。SSD优于其他深度学习目标检测算法的原因就在于SSD算法为不同大小的特征图设置不同尺度和宽高比的先验框(同一个特征图中每个单位的先验框数量相同)[8]。使得不同尺度和宽高比的先验框能够囊括更多大小各异的物体。

对于尺度,其遵循线性递增的规则,即随着特征图大小的降低,先验框尺度线性增加:

其中,m指特征图数量,sk指先验框尺度相对于输入图片的比例,而smin和smax分别表示该比例的最小值和最大值(取0.2和0.9)。一般情况下将第一个先验框尺度比例设置为s1=smin/2=0.1。

图1 SSD网络整体结构

3 SSD目标检测模型建立

3.1 先验框解码与编码

进一步,根据损失函数计算l与g的综合损失,利用梯度下降的方法更新卷积层参数权重[11]。在训练过程中,对于图片中每一个已经标注的真实框找到与其交并比(Intersection-over-Union,IoU)大于0.5的先验框。将这些先验框所对应的边界框作为正样本,而没有与之匹配的边界框则与背景匹配,将这些边界框作为负样本[12]。由于图片中标注的真实框一般仅有几个而负样本数量非常多,为解决正负样本不平衡的问题,以正负样本1∶3的比例筛选负样本中背景置信度较高的边界框[13]。

3.2 损失函数选择

SSD算法需要对物体的类别和位置坐标进行预测,因此其损失函数由类别置信度损失(confidence loss,conf)和位置坐标损失(locatization loss,loc)两部分加权而成[14]。在本文中类别置信度损失采用softmax损失函数进行计算,而位置坐标损失由smoothL1损失函数获得,两者的权重相同取权重系数α=1。总体损失函数可表达为

其中,x表示输入,c表示边界框中物体类别的得分值,l表示边界框的编码值,g表示真实框,N表示正负样本整体个数。

3.2.1 类别置信度损失

特别地,SSD算法将图片的背景定义为特殊的类别,若边界框置信度最高的一项为背景类,那么该边界框没有检测到目标物体。

3.2.2 位置坐标损失

在位置坐标损失中,边界框位置预测其实是一个回归问题,通常回归问题可以使用L2(平方)损失函数。但是本网络层次较深,多次迭代容易产生梯度消失现象,而且L2损失函数对离群点十分敏感,对较大的损失惩罚很高。L1(绝对)损失函数没有上述问题,不过L1损失函数在0点不可导,反向传播计算梯度的时候容易出现无法求导的问题。因此,本文结合L2损失函数和L1损失函数的优点选用smoothL1函数作为位置坐标损失函数。

smoothL1函数在自变量x∈(-1,1)时为平方函数,其他位置为绝对函数,函数图像如图2所示。

图2 s moot hL1函数

在使用smoothL1作为损失函数时,第i个预测框与第j个真实框关于类别p的位置坐标损失可表示为

4 基于SSD扣件快速弹条模型训练

快速弹条轨道扣件系统作为新扣件产品,代表着铁路扣件技术的最新水平和发展方向,已经被广泛应用于德国、法国、日本、澳大利亚及北美等国家的铁路上。目前在我国合武、石太等客运专线均铺设了这样的轨道扣件系统[16]。

根据石太客运专线现场CCD线阵相机采集到的图片如图3所示,左侧快速弹条在水平方向上向左弹出,其与钢轨的水平距离较远未扣紧钢轨,存在安全隐患;右侧快速弹条扣紧钢轨处于正常状态,不存在安全隐患。实验使用1336张石太客运专线现场轨道扣件图片作为实验原始数据,其中有32张图片中存在快速弹条未扣紧的情况。

图3 石太客运专线现场图片

4.1 数据集构建

SSD目标检测需要大量数据作为支持,同时为了使网络具有更强的泛化能力,参考常用的数据增强与扩展方法,对原始图片进行随机水平翻转,随机尺度变换,随机对比度和亮度调整,使得最终数据量达到原始数据量的5倍[17]。之后,将所有图片转换成300像素×300像素图片。使用labelImg程序标注扣件快速弹条区域和钢轨区域。生成包含图片名称、物体位置、物体类别等信息的xml文件。最终,取数据集中80%的图片作为训练集进行训练。

4.2 参数与超参数设置

考虑到轨道扣件快速弹条状态检测任务的一致性和特定性,有针对性的设置SSD网络参数与超参数显得尤为重要。由于待检测的对象只有扣件、钢轨、背景,同时原始的图片大小统一,待检测对象的形状、大小固定不变,仅有钢轨与轨道扣件快速弹条的相对位置发生变化。在使用先验框进行密集抽样时,可以有针对性地设置先验框的尺度和宽高比,减少生成先验框的数量,提高运行速度。同时,更少的先验框可以大大减少负样本数量,改善传统SSD模型中正负样本极不平静的问题,有利于提高模型精度。

4.3 应用迁移学习进行模型训练

模型训练分为两个阶段进行,第一阶段使用VGG16预训练权重参数作为SSD算法的初始化权重参数。虽然VGG16预训练权重参数所使用的物体类别和数量与本实验不同,但相比初始化形成的随机权重参数,预训练权重参数能使模型更快收敛减少过拟合现象的发生,大大节省了算力和训练时间;第二阶段使用本网络对预训练网络参数进行微调训练,设置迭代次数为5000次,批数据量设置为32。使用均方根反向传播(Root Mean Square Prop,RMSProp)[18]优化算法进行优化。

5 实验结果与分析

实验使用GPU为GTX1080ti,tensorflow-gpu版本为1.13.1,CUDA版本为10.0并配置cuDNN 7.4。实验采用优化后的先验框参数,配合迁移学习的方法对模型进行训练。同时,以传统SSD网络作为对比实验。两种方法均在本文构建的数据集上进行训练,随着迭代次数增加损失值变化如图4所示。

图4 损失值随迭代次数变化情况

由于传统SSD算法训练5000次时损失值仍高于2,识别率仅为54.8%,损失值还在下降过程中,因此继续训练至20000次后损失值稳定在0.33附近。本文算法训练5000次时已经稳定,识别结果如图5所示。能以较高的准确率识别定位到快速弹条和钢轨的具体位置,取得了很好的识别效果。

图5 本文算法识别结果

在交叉验证集上使用训练好的模型参数对两种方法进行验证,识别结果如表1所示。

表1 检测准确率与速率

实验结果表明,本文方法即使用了迁移学习并优化网络参数的SSD算法在迭代5000次时损失值趋近0.16,识别率达到95.2%。而没有使用迁移学习的传统SSD算法在迭代5000次时模型还没有收敛,直到迭代20000次时损失值稳定在0.33附近,此时识别率为87.1%。

进一步,使用本文算法的识别结果,根据扣件快速弹条与钢轨的相对位置距离,以本次实验的300×300像素图片为依据。在水平方向上,处于扣紧状态的快速弹条识别框的中心坐标与轨道识别框的中心坐标之差小于78像素,换言之水平方向上两者中心距离大于78像素的快速弹条被认为处于未扣紧状态。对于准确定位的快速弹条和钢轨,依据此相对位置可以完全准确地判断出快速弹条的状态。

本文使用迁移学习方法,利用已经训练好的其他模型参数作为训练初始化参数,在此基础上使用现场轨道扣件数据集进行再训练,大大减少了训练时间、节约算力,提高了识别精度。除此之外,本文根据待检测的快速弹条和钢轨形状调整先验框尺度和宽高比,减少了负样本数量,使先验框更容易拟合到待检测物体,相比传统SSD算法有更高的检测准确率和速率。

6 结语

本文以传统SSD目标检测算法为基础,在轨道扣件快速弹条检测项目上对一千余张现场实际照片进行分析。结合轨道扣件快速弹条的形态特点,提出基于SSD的轨道扣件快速弹条状态检测方法。该方法通过调整先验框尺度和宽高比使之能够更好地框选待检测物体。同时运用迁移学习的方法对数据集进行训练,有效地提高了训练速度和检测准确度。在准确定位快速弹条与钢轨的位置坐标后,通过设定两者在水平方向上的距离阈值可以准确检测出快速弹条是否处于扣紧状态。未来会将此方法运用到实际扣件检测系统中,并对其进一步完善。

猜你喜欢
扣件先验钢轨
康德定言命令的演绎是一种先验演绎吗?——论纯粹知性与实践理性在先天原则证成方面之异同
基于暗通道先验的单幅图像去雾算法研究与实现
钢轨预打磨在地铁线路中的运用相关阐述
先验想象力在范畴先验演绎中的定位研究
五叔
火车道上为什么铺碎石
先验的风
两种钢轨表面伤损在线整修技术方案的对比探讨