基于YOLOv3算法的轨道扣件自动定位与检测

2020-09-27 01:19刘奇锋许贵阳白堂博
铁道建筑 2020年9期
关键词:扣件预设边界

刘奇锋 许贵阳 白堂博

(1.北京建筑大学机电与车辆工程学院,北京 100044;2.北京建筑大学城市轨道交通车辆服役性能保障北京市重点实验室,北京 100044)

轨道扣件的功能是将钢轨固定,使钢轨保持轨道间距,同时避免钢轨相对于轨枕的纵横向移动[1-2]。常用轨道扣件的紧固件分为六角螺栓和挂钩螺栓2 种。在轨道巡检过程中,常见的轨道扣件异常状况包括扣件移位、扣件部分断裂、扣件丢失等,是列车正常运行的巨大隐患。

过去,由专门检测人员采用人工巡检的方式进行轨道扣件日常检查,需要逐个进行排查,存在许多缺点,如效率低下、工人对异常情况和潜在危险程度估计不准确等。目前,高速列车技术日益成熟,车速不断提高,对巡线的自动化与检测的智能化要求也越来越高。随着图像处理与深度学习等人工智能技术的迅猛发展,铁路部门出于缩减人工检测成本、提高运营安全等方面的考虑,在铁路巡检中越来越多地使用了自动铁路巡检装备及配套的图像处理技术[3-4]。

近年来,我国的轨道检测多采用将具有计算机视觉和图像处理技术的巡线设备安装在轨检车中,对轨道进行全自动检测。自动巡检过程中,对轨道进行拍摄,采集轨道图像,再基于神经网络或其他人工智能技术对轨道图像进行处理,实现对扣件状态的自动检测。这一方法摆脱了传统检测中依赖巡道工进行现场检测和维修的状况,成为扣件检测的新趋势[5]。

本文提出一种基于YOLOv3深度学习算法的扣件定位与检测的方法。该方法使用轨检小车采集轨道图像,通过YOLOv3网络进行训练与学习,达到自动识别轨道图像中扣件状态的效果[6],并将其检测效果与人工检测的情况进行对比。

1 检测算法

1.1 深度学习算法简介

传统的目标检测技术利用检测窗口在图片上滑动来搜索检测目标。其技术优化主要表现为检测窗口的选择、特征的设计、分类器的设计等。检测速度慢,检测精度也不能保证。

随着深度学习算法在计算机视觉领域的应用,基于深度学习算法的目标检测技术得到迅猛发展。目前主要分为2大发展方向:①Two-Stage目标检测算法,例如 Faster RCNN(Region Convolutional Neural Network)[7],R-FCN(Region-Based Fully Convolutional Networks)[8],FPN(Feature Pyramid Networks)[9]。首先将图像的前景和背景进行分类及边界框回归,在待检测目标可接受的召回率的前提下,候选窗口的数量可以控制在几千或几百个。再根据之前的输出窗口进行分析,而不是像传统的检测方法那样对整个图像的每个区域进行分析。②One-Stage 目标检测算法,例如YOLO(You Only Look Once)系列算法[10-12]、SSD(Single Shot Multibox Detector)算法[12]。这类算法是将图像进行栅格化处理,直接定位检测目标的中心点,在指定栅格上使用不同层级、不同长宽比密集采样生成检测锚框,来直接进行分类和回归分析。与Two-Stage算法相比,One-Stage算法检测速度更快,能满足对物体进行实时检测的要求,但目标识别精度相对较低。在实际应用中,往往要求在精度不太低的情况下满足实时动态检测,所以One-Stage目标检测算法使用范围更广。YOLOv3算法借鉴了其他算法的长处,既保持了One-Stage目标检测算法的检测速度,又具有较高的目标检测精度。

1.2 YOLOv3 算法

相比之前的YOLO 系列算法,YOLOv3 算法主要在下列3部分进行了改进:

1)采用新的特征提取网络。使用Darknet-53替换YOLOv2使用的Darknet-19[13],在满足检测实时性的同时具有更高的准确率。Darknet-53是一个53层的卷积网络,YOLOv3 使用该卷积网络的前52 层,所以整个YOLOv3 的结构里面没有池化层和全连接层,有助于防止由池化导致的低级特征丢失。

2)利用多尺度特征对图像进行检测。YOLOv3 算法采用3 个不同尺寸预测对象,这3 个不同尺寸来自不同层级的卷积层输出。该方法借鉴了Feature Pyramid Network 的思想:由于卷积层每隔几层,Feature Mapping 的宽和高就会减少而通道数会增加,随着网络层次的加深,特征映射组成的形状类似于金字塔,将不同层级的特征映射转换为最终的输出有助于提升模型在对象不同尺度大小上的表现,也就是提高模型从小目标到大目标的综合检测能力。

3)对象分类用Logistic 函数取代Softmax 函数。之前的YOLO 系列算法,在分类模型中进行最后的输出前使用Softmax函数求出每个类别的概率,各类别是互斥的。YOLOv3 算法的每个类别概率单独用逻辑回归函数即Sigmoid 函数计算得出,所以各类别不必是互斥的,一个对象可以被预测出多个类别。

2 YOLOv3算法模型适应性改进

YOLOv3 算法使用的特征提取网络Darknet-53 网络采用全卷积结构,如图1所示。

利用YOLOv3 算法模型输入图片后,使用双三次插值法对输入对象进行放缩,在图像放缩过程中进行以灰色为背景的贴图操作,即把放缩的图片贴在416×416 的灰色背景图上,使算法模型输入的对象大小一致,均为416×416。算法实现过程中有5 次下采样,每次均使用步长为2 的卷积。因此,特征提取网络的最大步幅为25。特征提取后,在YOLOv3 算法模型网络中对生成的特征图进行上采样、Route 等操作,达到分尺度采样的目的;分别在32 倍、16 倍、8 倍降采样时进行检测,得到 13×13,26×26,52×52 这 3 个层次的输出特征图。利用前面的低层特征,使后面的高层能够使用细粒度(Fine Grained)特征和更多的语义信息。最后1 个尺寸输出使用前2 个尺寸计算的特征映射,使最后的尺寸输出也能使用细粒度特征。

图1 Darknet⁃53网络

对应不同层次的特征图,模型对图片的视野感受也不同。在最小的13×13 特征图(输出的第1 层次)上有最大的感受视野,应使用较大的预设边界框,适于检测较大面积的对象;中等的26×26特征图(输出的第2 层次)提供中等感受视野,应使用中等预设边界框,适于检测中等面积的对象;较大的52×52特征图(输出的第3层次)提供最小的感受视野,应使用较小的预设边界框,适于检测较小面积的对象。

相比轨道整体,扣件图片占据视野较小,模型训练与检测结果不太理想,须对YOLOv3 算法模型进行适应性改进。在Darknet-53 的基础上加1 个步长为2的卷积核,同时添加 4 组残差组件,由 4 组 1×1 和 3×3卷积构成,每组输入均由前面所有组的输出经过通道拼接而获得。将输入图片进行缩放处理,变成大小为512×512 的图片。经过6 次步长为2 的卷积核下采样后,模型形成 8×8,16×16,32×32,64×64 这4 个层次的特征图,增大了模型的感受视野,强化了对大物体检测的影响,提高了图片处理效果。

3 试验验证

3.1 数据集建立

利用某新型轨道巡检仪进行数据采集。该轨道巡检仪由电动巡检小车和轨道状态巡检系统2部分组成,其中巡检系统可以动态采集轨道表面数据,覆盖整个轨道结构表面,采集到的高清轨面图像像素分辨率最高可达0.3 mm,并具有海量图像数据实时压缩存储及显示加速功能。

对采集到的15 320 张铁路轨面图片进行预处理,选出其中的扣件信息并根据扣件状态将其分为4 类:扣件正常(zc)、扣件丢失(ds)、扣件断裂(dl)、扣件移位(yw)。

采用Labeling 软件对图像样本数据进行处理,将需要确定的对象(正常扣件)使用方框标注出来,将得到的标注信息生成.xml文件,得到感兴趣区域(Region of Interest,ROI),从而生成扣件图像的训练集和验证集数据,见图2。其中标注信息包括标注框左上角横坐标Xmin、左上角纵坐标Ymin、右下角横坐标Xmax、右下角纵坐标Ymax、标注物体种类C。

图2 数据集制作

3.2 预设边界框的选取与预测

对于YOLOv3 模型,选取适合的预设边界框的参数不仅关系到其训练的收敛速度,而且对于目标的检测精度也会有影响。本文对扣件目标框采用K-means聚类的方法来确定先验框参数。

根据K-means 算法的思想,将所有点作为1 个簇,将该簇一分为二,再选择能最大程度降低聚类代价函数(即误差平方和)的簇并将其划分为2 个簇,或采用选取最大的簇等其他选择方法,得出最优的聚类结果来计算平方误差和(Sum of the Squared Error)。平方误差和SSE的计算公式为

式中:K为簇的个数;wi为权重;yi为第i个簇的中心点(质心);y*表示该簇所有点的平均值。

依次进行下去,直到簇的数目等于用户给定的数目K为止。本文进行4 个尺度的特征图分析,每个层次赋予3 个预设边界框。因此将K设成12,得到数据的12组预设边界框分别为:(86,116),(96,170),(98,154),(100,161),(102,172),(102,134),(104,148),(106,165),(106,157),(113,131),(119,133),(127,145)。

而后,模型对图片进行栅格化处理,在扣件中心预设3 个预测边界框,然后将预测出来的边界框的宽和高分别与预设边界框的宽和高绑定,这样无论开始时预测边界框输出的宽和高是多少,经过转化后都是与预设边界框的宽和高相关。经过多次惩罚训练后,就可以对相应的边界框进行预测。

利用Sigmoid 函数将预测偏移量缩放到0 到1 之间,使预设边界框的中心坐标固定在一个栅格中,加快网络收敛。实际输出的边界框参数为

式中:bx和by分别为最终预测输出目标边界框的中心横、纵坐标;tx和ty分别为网络预测的边界框中心在横、纵坐标方向上的偏移量;σ为 Sigmoid 函数;cx和cy分别为特征图上预设边界框中心的横、纵坐标值(即扣件中心栅格左上角与特征图的相对位置信息);bw和bh分别为转换后预测边界框的实际宽和高,即最终预测输出目标边界框的宽和高;tw和th分别为宽和高的缩放比值;pw和ph分别为特征图上预设边界框的宽和高。

将试验所用的扣件图像作为特征图进行边界框预测,如图3所示。

图3 预测相对位置

3.3 结果分析

将采集到的20 000 张有砟和无砟轨道图片(其中包括预先挑选的负样本数据)作为测试数据集,使用训练好的模型对其进行检测分析。与人工检测结果对比,检出率(检测出的负样本数目占总体负样本数目的百分比)为91.5%,误报率(将正样本错误标注为负样本的数目占整体数据的百分比)为0.5%。选取部分有砟轨道和无砟轨道的扣件目标识别图像(图4、图5),分析得出扣件识别结果,见表1。

本试验预设的扣件状态种类的阈值(扣件种类判断置信度的最低值)为0.8。当网络判断扣件的种类置信度超过0.8时,认为它是相应种类,否则不识别此扣件状态。分析测试结果可知,此试验训练模型已初步具备对轨道扣件进行定位识别的能力,同时将正常或者异常状态进行标注,并将异常状态的图片进行汇总,再进行定点监测,可以减少巡线工作量,提高铁路轨道的巡线检测效率。

图4 部分有砟轨道扣件目标识别图像

图5 部分无砟轨道目标识别图像

表1 YOLOv3算法扣件识别结果

4 结语

本文研究了基于深度学习算法的轨道扣件自动定位与异常状态检测,利用检测速度相对较快且具有高目标检测精度的YOLOv3算法对轨道扣件进行自动检测,满足了快速准确识别扣件的需求,减少了人工检测的工作量,具有一定的实际意义。

试验过程中也暴露出一些问题,主要是轨道扣件负样本相对于正常扣件的数量较少,不能达到很好的训练效果,容易出现过拟合现象。因此,在后续工作中可进行如下改进:①继续使用轨道检测小车采集更多的轨道图像,找寻更多的负样本数据;②通过对抗生成网络来进行训练,自动生成异常状态扣件图像,如扣件移位、扣件断裂、扣件丢失等,达到一定的负样本训练数目,从而更加准确地检测轨道扣件状态。

猜你喜欢
扣件预设边界
城市轨道交通横向挡肩式高性能减振扣件技术研究及应用
守住你的边界
拓展阅读的边界
也谈语文课堂教学的预设与生成
基于区域特征的缺陷扣件视觉检测
探索太阳系的边界
试论预设语言-言语表征
科隆蛋扣件力学特性分析
意大利边界穿越之家
基于图像处理的潘得路快速弹条扣件状态识别