钢轨扣件检测技术研究
2019-06-27林菲杨子明李永光吴宽崔霆锐
林菲,杨子明,李永光,吴宽,崔霆锐
(1. 北京神州同正科技有限公司,北京 100083;2. 北京交通大学,北京 100044;3. 北京地铁运营有限公司,北京 100088)
0 引言
轨道交通的快速发展对运输安全提出了更加严格的要求,钢轨和扣件的健康状态是保证轨道交通安全稳定运行的关键。由于振动冲击和自然因素等影响,轨道线路容易出现扣件断裂、脱扣等情况,导致轨道产生松动、变形等问题,在列车通过产生的强大冲击力下,会逐渐产生位移和倒塌。因此,对扣件缺失、破损或部分磨损的及时检测至关重要。目前,扣件的健康状态主要由人员定期沿着轨道线路进行检查,这种方式耗时长、成本高。因此为了提高运输的安全性,迫切需要开发钢轨扣件检测系统,利用图像处理、计算机视觉、机器学习及快速高分辨率相机等成熟的技术实现钢轨扣件的自动检测,以缩短检测时间、降低运营成本、减轻劳动强度[1]。
过去10年中,许多研究人员和机构致力于扣件检测方法的研究和检测系统的开发。Jinfeng Yang等[2]提出一种扣件识别方法,主要用于高速无砟轨道,首先对扣件进行特征提取,然后用模板匹配的方法对扣件进行识别,其优点是检测速度极快,基于该算法的车载巡检系统最高巡检速度可达400 km/h。许贵阳等[3]开发研制了基于计算机视觉的车载巡检系统,为了采集到尽可能真实、清晰、完整的表征轨道扣件外观特征的高清数字图像,图像采集子系统采用了适用于运动扫描成像的线阵相机作为成像设备,将采集到的图像信息进行主成分分析和线性判别分析,实现对扣件病害的模式识别,可以检测出扣件弹条缺失、损坏和断裂等不健康情况,检测成功率为95%,能够代替传统的人工步行巡检方式,而且最高巡检速度可达到160 km/h,效率较高。
德国bvSys公司的RIS系统有多个检测子系统,以100 km/h的速度检查钢轨边缘是否有细小的表面裂缝,并给出相应的故障分析列表[4]。美国ENSCO公司开发的TIS系统能够实现全天候对轨头和扣件等的持续检测[5]。意大利MERMEC公司的Track Inspection系统能够实现多达50种不同类型缺陷的检测,可在0~200 km/h速度区间实现对轨道基础设施的检测[6]。在文献[7]中,通过LDA算法定位导轨和轨枕的位置,利用扣件、轨枕和轨道之间的位置关系定位扣件位置。从单个扣件图像中提取的Haar-like特征用于计算缺陷分类的似然概率。在文献[8]中,将扣件图像的方向梯度直方图(HOG)特征应用到支持向量机(SVM)中进行分类。随着深度学习的发展,深卷积神经网络(Deep Convolutional Neural Network,DCNN)在图像分类[9]和目标检测[10]领域取得了显著成果。
目前,扣件缺陷检测技术取得较大进展,但仍存在一些问题需要进一步研究和改进。首先是定位的精度和算法对不同环境下的鲁棒性,其次是扣件缺陷的特征提取方法的优化,最后是应缩短整个检测过程和处理单个图像的时间,以便可应用于实际的在线实时检测中。
1 扣件缺陷检测概述
扣件是在轨道交通线路上用于连接轨道和轨枕的部件,以确保轨道和轨枕相对固定。以北京地铁6号线为例,对扣件缺陷的检测和分类问题进行论述,其扣件图像示例见图1,每个扣件图像包含轨道、2个扣件和轨枕。
扣件的缺陷主要分为2种:扣件的损坏和扣件的缺失,在图2(a)中,左侧扣件完好,右侧扣件损坏;在图2(b)中,左侧扣件完好,右侧扣件缺失。
图1 北京地铁6号线的扣件图像示例
图2 扣件的缺陷图像示例
扣件缺陷检测有3个关键步骤:第1步,进行图像的预处理;第2步,扣件位置的精确定位;第三步,根据缺陷特征将扣件图像分为完好、损坏和缺失3类。
由于在收集过程中受环境因素和人为因素的影响,图像中存在一定的噪声,会对实验结果产生不小的影响,为了提高实验的准确性,需要对图像进行预处理。在此涉及到的预处理包括:基于中值滤波的图像去噪和基于直方图均衡化的图像增强,可有效去除图像中的噪声,弥补光照不足的影响,在一定程度上提高了图像质量。对于定位算法,关键是要具有较强的适用性,在此提出一种创新的定位方法,可以满足分类的准确性和鲁棒性。
2 基于图像处理的扣件检测分类
2.1 扣件区域提取
在轨道线路图像中,钢轨、轨枕和扣件的位置有着相对固定的空间关系,同时图像中的扣件、钢轨和轨枕具有不相同的纹理特征,反映在图像上就是灰度值的不同。通过研究分析发现:
(1)扣件都直接安装在轨枕上,其尺寸不会超过轨枕的范围,并且其水平位置和轨枕的位置基本一致;
(2)轨枕在水平方向上的纹理致密程度较高,形成的灰度值相对均匀,与周围能够形成一定的对比;在垂直方向上灰度值分布比较随机,无法同周围形成对比;
(3)钢轨在水平方向上的灰度值分布比较均匀,但是在垂直方向上亮度较其他区域有明显增强;
(4)图像中除去轨枕和钢轨的其他区域因为光照等因素,亮度较钢轨和轨枕区域都要低。
根据以上分析,提取扣件区域的基本思想为:定位出钢轨和轨枕,根据其空间相对位置对扣件进行定位。将采集到的图像进行灰度化并进行二值化处理,其结果见图3。
图3 图像的二值化处理
由于原始图像像素过高,处理起来速度过慢,首先将每张图像进行缩放处理(每张图像缩放后为(600×330)像素),随后对轨道进行定位,根据二值化处理后的图像,对其进行垂直投影,统计垂直方向上的累积灰度值并计算相邻像素点之间灰度值的跳变情况,扣件图像的垂直投影统计差图像绘制流程见图4。
图4 扣件图像的垂直投影统计差图像绘制流程
垂直投影统计差为:HP(i)=SP(i+1)-SP(i),i=1,2,…,w,式中:数组SP(i)表示图像每i列统计得到的亮点值;数组HP(i)表示垂直投影统计差,反映的是亮点值在垂直方向的跳变情况。灰度图像的垂直投影统计差图像见图5。
图5 灰度图像的垂直投影统计差图像
将结果与原图像对比并结合扣件图像的3个特征(见图6),可以看出HP计算得到的2个最大值对应的位置就是钢轨的2个边缘(2个最大值在图6中用红色“+”表示)。钢轨边缘定位结果见图7。
图6 垂直投影统计差图像和原图像的结合
图7 钢轨边缘定位结果
采用同样方法,对图像进行水平投影处理,可以定位出轨枕边缘,结果见图8。同时为了增加扣件区域分割的鲁棒性,利用不同图像之间轨枕和钢轨的位置信息进行互补。
图8 轨枕边缘定位结果
通过对轨道和轨枕的定位,可以利用扣件宽度的经验值对扣件区域进行分割,但也会出现一些定位不准确的情况,为降低误差,提出基于小波变换的扣件边缘识别方法。通过提取图片小波变换后垂直边缘的信息同垂直模板进行匹配,匹配模板的尺寸为(91×21)像素,匹配效果见图9。与设计模板匹配度越高,图像中白色的区域就越亮,最终扣件区域的垂直边缘定位结果见图10。再结合轨枕和钢轨的定位,最终可实现扣件区域更为精确的定位,效果见图11。
图9 模板的匹配效果
图10 基于小波变换的扣件垂直边缘定位结果
图11 扣件区域的定位结果
2.2 训练分类过程
训练所使用的扣件图像共分为3类:完好、损坏和缺失(见图12)。
图12 部分扣件数据集
通过扣件区域分割,共得到574张完好的扣件图像和20张有缺陷的扣件图像,其中13张损坏扣件图像和7张缺失扣件图像,每张图像的尺寸为(128×256)像素。由于数据集数目过小,通过数据增强的方式对数据集进行扩充。采用的图像增强方式包括镜像、旋转、翻转和增加噪声。经过数据增强,最终共获得574张完好扣件图像,201张损坏扣件图像和150张缺失扣件图像。由于不平衡的样本数量会影响分类结果,因此用于实验的样本中每种类型扣件图像的数目都为150,其中70%用于训练,30%用于测试。
由于图像中不同状态的扣件具有不同的纹理特征,实验中使用对纹理特征敏感的LBP算子的等价模式对扣件图像进行LBP特征提取,通过调整特征提取时每个cell的大小来寻找最优的参数(修改每个cell的大小是最行之有效的方法)。不同cell值对应的分类正确率见表1。
表1 不同cell值对应的分类正确率
对上述结果分析如下:如果cell的尺寸过小,虽然能够提取到更多的细节,但是也增加了很多无用的信息,整幅图像中除了主要用于分类的标准弹条外还有螺钉和扣件底座等其他因素,都会对结果造成影响;反之,如果cell的尺寸过大,则会丢失大量关键信息,以至于无法正确地进行预测和分类。因此,当cell的尺寸为(64×64)像素时,分类的正确率最高,在一定程度上能够准确分类出完好的扣件和有缺陷的扣件。
3 基于深度学习的扣件检测分类
基于图像处理的扣件缺陷检测和分类方法可以达到非常高的精度,但该方法包括多个步骤,运用了较多技术,需要调整许多参数才能实现良好的分类性能。总之,使用图像特征提取和分类器对扣件图像进行分类是一种复杂的方法。
近年来,深度学习理论发展良好,一些深度学习网络被开发用于图像识别和分类,它们对比例、旋转、照明甚至对噪声都不敏感。同时,深度学习网络可以融合数据的基本特征,并完成复杂数据中高级特征的抽象和提取,使构建一个具有特征提取和图像分类能力的深度网络成为可能。总之,深度卷积神经网络与上述基于图像特征的方法相比具有不少优势。因此,基于深度学习理论,将已经发展成熟的DCNN应用于扣件分类实验,在此使用的网络结构是在图像分类和目标检测中表现优异的VGG16[11]。
3.1 扣件图像处理
对用于训练VGG16网络的图像数据集进行处理,图像是具有3个通道的RGB彩色图像,将完好、损坏和缺失3个状态的扣件图像分别标注为:0、1、2。将图像大小调整为(128×256)像素,有利于使图像动态范围更平均,在训练网络时,有助于提高分类准确度并加快网络的收敛速度。
3.2 VGG16架构和参数设置
VGG16网络结构层次见表2。其中conv代表卷积层,max pool代表最大池化层,Fc代表全连接层。共有13个卷积层,每个卷积层的内核大小为3×3,内核的数量不固定,随着网络层从浅到深,卷积核的数量也逐渐增加。使用小尺寸的多个卷积核而不是单个大的卷积核可以减少参数和计算量,并改善网络的非线性。池化的方法是最大池化,单元大小为2×2。全连接层包含2个隐层,有4 096个神经元。全连接层的作用是接受卷积层提取的高维特征并将其分为3类。
由于可用于训练的样本数量不大,如果从零开始训练每层的权重参数,则训练好的网络无法获得良好的结果,因此使用迁移学习的思想[11],即将其他数据集训练得到的权重作为初始化权重。训练权重是使用ImageNet[12]进行训练得到的,将其加载到模型中并采用扣件数据集对模型进行微调。conv1~conv4的权重是固定的,而conv5和全连接层的权重仅在训练中更新。
3.3 实验结果
VGG16网络在GOOGLE Tensorflow框架中进行实验,用于实验的GPU是NVIDA 1070ti。共450个扣件图像用于实验,345个图像用于训练模型,其余105个图像用于测试训练模型的准确性和泛化能力。学习率设置为0.001,迭代次数设置为15 000。
训练过程中损失函数的图像见图13,红色曲线是训练集的损失函数变化曲线,蓝色曲线是测试集的损失函数变化曲线。在前2 000次的迭代中损失函数收敛得很快,之后,损失函数的值开始逐渐下降。训练模型在训练集和测试集上都表现良好,最终训练好的VGG16网络,对于包含105张扣件图像的测试集,精度达到了97.14%。
表2 VGG16网络结构层次
图13 VGG16网络训练的损失函数图像
测试集检测结果见表3。从表中可以看出测试集的测试精度为97.14%,有3张完好的扣件图像被错误分类,因此损坏扣件的测试精度为93.75%。通过分析,造成错误分类的原因可能是阴影阻挡了部分扣件,导致模型提取的特征与损坏的扣件特征更相似。在测试有缺陷的扣件时召回率达到100%,这意味着可以检测到全部有缺陷的扣件。
表3 扣件图像测试集检测结果
4 结束语
分别从图像处理的角度和深度学习的角度探讨钢轨扣件的检测过程。基于图像处理的方法比较传统,步骤较为繁琐,在分类前还需要对图像进行预处理、分割、特征提取等操作才能用于SVM分类。虽然其分类正确率有一定保障,但是实验过程需要耗费较多的时间和精力。基于深度学习技术的扣件分类精度达到97.14%,说明其可以实现扣件的状态检测,但是由于受到当前数据集规模的限制,VGG网络相比于传统检测方法的优势尚未完全发挥。随着数据采集设备和计算机硬件的改进,从现场获得更多的扣件缺陷图像版本,DCNN网络能有足够的图像进行训练,会使分类精度得以显著提高,该方法将应用于实际的轨道扣件缺陷的检测和分类任务中[13]。