许贵阳,李金洋,白堂博,杨建伟
(1.北京建筑大学 机电与车辆工程学院,北京 100044;2.北京建筑大学 城市轨道交通车辆服役性能保障北京市重点实验室,北京 100044)
随着我国轨道交通的高速发展,铁路中的安全隐患随着运营里程的增加而增加。扣件是连接钢轨与轨枕的重要组件,确保扣件的安全状态对维护铁路正常运营具有重要意义[1]。
目前的轨道扣件状态检测方法有人工巡道检测法、振动信号检测法[2]、激光检测法[3]和图像识别法[4−5]等。我国常用的检测方法为人工巡道检测法和图像识别法。人工巡道检测法不仅检测效率低,而且准确率与工人的巡检经验相关。随着铁路巡检技术的逐渐自动化和智能化,基于视觉测量原理的轨道巡检系统已逐步成为铁路轨道自动化巡检的重要技术手段。既有的基于图像处理的检测方法是依据扣件的具体特征及其在轨道中的布置特点所提出的,如刘甲甲等[6]先提取扣件的金字塔式梯度方向直方图和图像局部宏观纹理特征,再使用支持向量机进行扣件分类;Gibert等[7−8]提出基于多任务学习框架结合多检测器的扣件检测算法以及基于贝叶斯框架结合极值理论的优化方法。虽然既有的图像处理方法可以检测扣件状态,但无法保证较高的准确率。
随着深度学习和神经网络的兴起,国内外学者提出了许多基于卷积神经网络的检测算法,可分为2 大发展方向:一种是基于目标候选区域的2 阶段算法,如Faster R-CNN[9],另一种是基于端到端学习的1阶段算法,如YOLO 系列算法[10−11]。且2种方法均已应用于轨道扣件状态检测方面[12−13]。但是,这些检测算法在标注和训练的过程中容易被轨道图像中的背景即图片中除扣件外的无效信息干扰,导致检测的准确率下降。Mask R-CNN 实例分割算法[14]是在Faster R-CNN 目标检测算法的基础上增加了感兴趣区域对齐层和全卷积网络[15]的2 阶段算法。通过对轨道扣件边缘像素点进行标注,Mask R-CNN 实例分割算法可以将轨道扣件与图像中的背景分割,只关注与扣件有关的像素信息,并且在检测偏移类型的轨道扣件方面已有相关应用[16]。
为提高轨道扣件状态检测的准确率,基于K均值聚类算法对Mask R-CNN 实例分割算法中的区域建议网络部分进行改进,进行基于改进Mask RCNN的轨道扣件状态检测方法研究。
Mask R-CNN 实例分割算法有5 个主要结构:输入层、主干特征提取网络、区域建议网络、感兴趣区域对齐层和输出层,其结构如图1所示。
图1 Mask R-CNN结构图
结合轨道扣件状态检测应用,Mask R-CNN实例分割算法的4个核心部分如下所示。
1)提取扣件特征图
采用主干特征提取网络生成轨道扣件特征图,主干特征提取网络使用残差网络[17]与特征金字塔网络[18]相结合的形式。
采用残差网络初步提取扣件特征图,其结构如图2所示,有5 个卷积阶段和1 个池化阶段,分别对应输出C1,C2,C3,C4,C5 和S1。每个卷积操作后都采用批量归一化和修正线性单元处理。
图2 残差网络结构图
采用特征金字塔网络进行扣件特征图融合,首先将C5 通过1×1×256 的卷积生成P5,其通道数由2 048 变为256,然后将P5 通过最邻近上采样生成的特征图与C4 通过1×1×256 的卷积生成的特征图进行特征图融合生成P4。利用相同的方法依次生成P3 和P2,再对P5 通过下采样生成P6。经过特征图融合后的P2—P6 所对应的扣件特征图尺寸分别为(256×256),(128×128),(64×64),(32×32)和(16×16)像素。
2)生成候选区域
采用区域建议网络通过锚框在扣件特征图P2—P6上滑动生成候选区域,过程如图3所示。同一尺度的扣件特征图中设定了3种不同宽高比分别为1∶1,2∶1和1∶2的锚框,并且不同尺度的扣件特征图中锚框的尺寸也会不同。锚框滑动过程中,首先扣件特征图上的每个像素点都会生成3 种不同比例的候选区域,然后将每个候选区域输出为256 维特征向量,用于区分类别和回归候选区域的位置信息。将这些不同大小的候选区域映射到输入图像中,用人工标注的扣件信息作为真实扣件区域,计算所有候选区域与真实扣件区域的交并比,保留大于交并比阈值的候选区域,最后通过非极大值抑制按照分数进一步筛选,获得更有可能存在扣件的候选区域。
图3 候选区域生成过程
3)对齐感兴趣区域
将经过筛选的候选区域的位置信息与扣件特征图P2—P6 相对应得到感兴趣区域,然后对齐感兴趣区域。首先对每个感兴趣区域按照(7×7)和(14×14)的像素尺寸平均分割成若干个子区域,然后将每个子区域平均分成4 个小空间,通过双线性插值计算每个小空间内中心点的像素值,最后取这4个小空间的最大值作为该子区域的像素值,进而准确地生成尺寸为(7×7)和(14×14)像素的特征图。
4)输出检测结果
输出层有2 个分支,分别是全连接层和全卷积网络。全连接层将尺寸为(7×7)像素的特征图通过7×7×1 024 的卷积输出为1 024 维特征向量,进行分类和回归边框位置。全卷积网络将尺寸为(14×14)像素的特征图通过2 倍上采样输出为(28×28)像素的掩膜。将掩膜、分类信息和边框位置相结合得到Mask R-CNN 实例分割算法的检测结果。
区域建议网络在Mask R-CNN 实例分割算法检测轨道扣件状态的过程中起到关键作用。区域建议网络生成候选区域时,锚框的尺寸大小决定了候选区域的质量好坏。若选用的锚框较小,则候选区域无法包含整个轨道扣件,若选用的锚框较大,则候选区域会包含过多除轨道扣件外的像素信息,这2 种情况都会导致检测的准确率降低。一般情况下,扣件特征图P2—P6 的锚框是由人工根据经验预设的,Mask R-CNN 算法的锚框尺寸为32,64,128,256和512像素,虽然在微软公开的数据集上有良好的检测效果,但是不适用于轨道扣件状态检测。
为能准确地生成包含轨道扣件的候选区域,提高检测的准确率,基于K均值聚类算法对区域建议网络进行改进,计算专用于轨道扣件状态检测的锚框尺寸。K 均值聚类算法是迭代求解的聚类分析算法,可以对已标注的真实扣件锚框进行相似度计算、分类并得出每个类别的锚框尺寸。K 均值聚类算法中用欧氏距离计算相似度,但是计算真实扣件锚框之间的欧氏距离所得到的相似度误差较大,不利于分类。因此,采用交并比I定义的距离式代替欧氏距离,计算锚框与锚框之间的相似度D,计算式为
其中,
式中:W和H分别表示重合区域的宽和高;Ax,Ay,Aw,Ah分别表示第1 个锚框的左上点坐标和高宽信息;Bx,By,Bw,Bh分别表示第2 个锚框的左上点坐标和高宽信息。
K均值聚类计算得到锚框尺寸的具体过程如下。
(1)用LabelImg 工具标注轨道图像中的扣件得到扣件锚框,获取所有扣件锚框的高宽数据并提取到聚类集。
(2)因轨道图像中有扣件正常、扣件丢失、扣件断裂、扣件位移和扣件异物5种不同状态的扣件,设置聚类的类别数K 值为5,即初始在聚类集中随机选取5个锚框作为质心锚框。
(3)通过用交并比I定义的距离式分别计算5个质心锚框与其他普通锚框之间的相似度D,然后将D值最小的普通锚框划分到相应质心锚框的聚类列表中。
(4)对于每个质心锚框的聚类列表,将该列表中锚框的高和宽相加并计算均值,结果作为该聚类列表中的新质心锚框的高宽值。
(5)重复步骤(3)和步骤(4),直至每个聚类列表中质心锚框的高宽值不再变化,然后将每个列表中的质心锚框尺寸相加并计算平均值,得出K均值聚类后适用于轨道扣件状态检测的锚框尺寸。
采用上述K均值聚类算法计算得出扣件特征图P2—P6 上的锚框尺寸分别为39,78,156,312 和624像素。
将改进后的Mask R-CNN 实例分割算法应用于轨道扣件状态检测,步骤如下。
步骤1:采集轨道图像。应用轨道图像采集设备针对试验线路进行巡线拍摄获取轨道图像。
步骤2:建立试验数据集。将采集的轨道图像依据试验线路类型和轨道扣件状态进行分类,用标注工具标注轨道图像中的扣件信息,并进行数据扩增生成试验数据集。
步骤3:检测轨道扣件状态。基于K 均值聚类算法对试验数据集中的扣件锚框进行聚类计算,得到优化后的区域建议网络中的锚框尺寸,设置训练参数,采用改进后的Mask R-CNN 实例分割算法基于训练集进行迭代训练,输入验证集得到轨道扣件状态检测结果并进行分析。
本文使用的轨道图像采集设备为北京某公司设计制造的新型轨道巡检仪,试验线路为某2 条普速铁路有砟轨道(线路1 和线路2)和某1 条高速铁路无砟轨道(线路3),共计41 160 张轨道图片,图片尺寸为(2 048×2 021)像素。根据轨道扣件状态可将其分为扣件正常(zc)、扣件丢失(ds)、扣件断裂(dl)、扣件位移(wy)、扣件异物(yw)共5类。各线路轨道扣件状态如图4—图6所示。
图4 线路1轨道扣件状态
图5 线路2轨道扣件状态
图6 线路3轨道扣件状态
将轨道巡检仪采集的轨道图片压缩为(1 024×1 024)像素,采用开源软件LabelIme 标注轨道图片中的扣件状态和位置信息如图7所示,在标注过程中只标注每个扣件的轮廓像素点并按扣件状态分类。
图7 扣件数据标注
采用Augmentor工具对原始轨道图片和包含真实扣件区域信息的标签图片进行翻转和镜像操作以增大试验数据集,数据集信息见表1。
表1 试验数据集信息
本文试验的硬件环境为GPU-NVIDIA GTX1660Ti,CPU-Intel i5-9400。软件环境为:Windows 10,Tensorflow-gpu 1.7,Python 3.6,CUDA 9.0,cuDNN 7.4。改进后的Mask R-CNN 实例分割算法在训练时采用带动量优化的随机梯度下降法,设置交并比阈值为0.7,样本批量为1,学习率为0.001,学习动量为0.9,权重衰减系数为0.000 1,基于训练集迭代训练200 次,输入验证集进行轨道扣件状态检测。
图8—图10给出了部分轨道扣件状态检测结果。图中:边框和颜色分别表示扣件位置和状态,数字为预测置信度。由图8—图10可知:对于普速铁路有砟轨道和高速铁路无砟轨道中采集的不同类型扣件,本文方法均可有效分割扣件与背景像素、准确进行扣件定位与分类,并且置信度良好。
图8 线路1部分扣件检测结果
图10 线路3部分扣件检测结果
采用定位准确率和分类准确率2 个指标来精确评价轨道扣件状态检测的结果。定位准确率Pd表示定位正确的扣件占所有扣件的比例;分类准确率Pa表示分类正确的扣件占所有定位正确的扣件比例,计算式为
式中:Fd表示定位正确的扣件数量;Fm表示未被正确定位的扣件数量;Fa表示定位正确的扣件中正确分类的数量;Fe表示定位正确的扣件中错误分类的数量。
图9 线路2部分扣件检测结果
应用本文方法以及国内外其他3 种识别率较高的扣件状态检测算法对试验数据集中的验证集进行检测,其结果见表2。
表2 不同算法的扣件状态检测结果准确率 %
由表2可知:本文方法具有较高的扣件定位准确率和分类准确率,平均定位准确率达到97.05%,平均分类准确率达到98.36%,均优于其他3 种算法;相较于前2 种算法,本文方法在普速铁路有砟轨道扣件数据集中的优势更为明显,这是由于其他检测算法在数据集标注和训练过程中易受到有砟轨道图像中道砟背景的影响,而Mask R-CNN 实例分割算法通过标注扣件轮廓像素点,将扣件像素与背景像素分割以解决上述影响,使其在训练过程中只关注扣件的特征信息。
基于K 均值聚类算法改进Mask R-CNN 实例分割算法中的区域建议网络,提出基于改进Mask R-CNN 的轨道扣件状态检测方法。通过对普速铁路有砟轨道和高速铁路无砟轨道的扣件数据集进行试验,发现本文方法提高了轨道扣件状态检测的准确率,其扣件平均定位准确率达到97.05%,平均分类准确率达到98.36%,可以对普速铁路有砟轨道和高速铁路无砟轨道图像中的扣件状态进行准确检测,且与其他方法相比在普速铁路有砟轨道扣件状态检测的优势更为明显。