一种基于Mask-RCNN 的转辙机工作组件低复杂精准测距算法
2023-02-28孔令凯刘志钢魏丽丽杨郑龙
孔令凯,刘志钢,魏丽丽,杨郑龙,张 华
(上海工程技术大学城市轨道交通学院,上海 201620)
0 引 言
轨道交通轨旁设备、如转辙机等,对轨道交通的安全运营起着重要作用。 转辙机一旦发生故障,轻则影响运行效率,重则发生严重的列车脱轨事故。转辙机在日常使用中不可避免地会发生磨损、老化等问题,因此更需要及时检察和维护。 自动开闭器动静接点组的动接点接入深度决定了转辙机能否正常工作。 如果接入深度达不到标准要求,接触深度不良会造成电路故障和一些严重后果;如果接入深度过大,不但会加速簧片老化的过程,并且会造成滚轮落底不转动。 目前,开闭器的检查仍需人工参与。由于开关机结构复杂,检验人员需要大量的专业知识和检测经验,并且检验方法难以推广。 以上这些原因都导致了开闭器的维护和保护效率低下。 通过基于机器视觉的转辙机动静节点打入深度研究,可以极大程度地减少维修工作强度,提高地铁维护过程中的工作效率。
基于机器视觉的接入深度测量包括关键位置定位和距离转换两个步骤。 定位结果的准确与否对最终测距有直接且重要影响。 而实际使用中的现场环境往往存在着各种对图像的不良影响,因此需要算法能降低,甚至消除复杂环境产生的干扰从而达到精准定位。 在距离转换中,由于图像不可能完全正面拍摄,因此考虑图形畸变以及在不同型号中寻找出合适的锚定标尺是提升精度的必要方式。
1 相关工作
1.1 有关研究
人工智能技术在数据驱动建模方面取得了很大进展[1],同时利用自动测量方法测量动接点和静接点的接入深度可以很大提高测量效率。 自动检测方法主要是非接触式检测,不会影响设备的表面变形和磨损。 目前,常用的非接触式距离检测方法主要有超声波检测方法[2-3]、激光检测方法[4]、基于立体视觉的测量方法、机器视觉测量方法等。 超声波和激光探测方法要求被测物体表面具有较高的反射率。 如果物体表面的反射率不符合标准,测量效果就会很差。 基于立体视觉的摄像机测量技术对摄像机的数量和安装条件要求更为严格。 但是,转辙机的现场条件不能满足上述方法的要求,上述测距方法不适用于自动开闭器动静接点组打入深度的检测。 因此,选择了机器视觉测量方法。
研究早期,张凯等学者[5]就提出了利用BP 神经网络和PNN 来诊断道岔故障。 其后孙迪钢[6]对BP 神经网络进行修改,提高了对于转辙机故障检测的准确性与稳定性。 李超等学者[7]提出基于Canny算子对转辙机缺口进行检测,通过边缘检测算法得到缺口位置,并得到缺口实时位置,但其仅针对固定型号转辙机且截取的焦点区域是预先设定好的,并无法实施全型号使用,且使用条件较为苛刻,无法在实际中范围覆盖使用。 Tao 等学者[8]提出采用Yolo目标检测算法对转辙机间隙进行检测并计算间隙尺寸,其方法通过针对间隙的检测很好地覆盖各种型号的转辙机,在可行性方面取得了重大进步,具有极高的参考价值。 但其功能可拓展型不足。 邢颢等学者[9]在转辙机缺口检测中,相较于Tao 直接Yolo 算法,其研究是通过采用改进的轻量级的Yolo 网络对缺口进行定位,但是依旧没有在本质上改变拍摄缺口图片的难度以及考虑现场复杂环境。 Yin 等学者[10]提出的双层Mask-RCNN 检测算法,通过2 次Mask-RCNN 网络,在一定程度上提高了定位精度,但是却成倍地增加了计算量导致计算时间过长、且一个训练模型仅针对一类转辙机,无法统一实现转辙机所有型号的识别。 然而,这些方法着重关注在特征提取,在正常的环境中可能结果理想,但是在复杂的实际实用当中会存在许多的异常情况,例如地铁隧道中拍摄的图像可能存在区域曝光或者由于拍摄角度问题导致图像倾斜,上述方法既不能针对复杂环境进行准确识别,也不能正确计算倾斜图像的接入深度[11]。 因此,需要一个适用于多型号的通用算法。
为了克服上述不足,本文提出了一种基于Mask-RCNN[12-13]的转辙机工作组件低复杂精准测距算法来检测转辙机自动开闭器动静接点接入深度以便降低维保人员的工作强度,推进智能化运维进程,并为其他小目标分割算法的研究提供指导思想。首先,通过二次分割对转辙机关键点图像中的目标区域进行识别和定位。 然后,提出引用双线性插值算法和拟合线性距离变换来矫正倾斜图像并计算接入深度距离,完成图像形变中非线性距离映射关系的换算。 最后,通过实验验证方法:与专业维保人员进行讨论后,实验认定算法结果与游标卡尺读数数值在正负1 mm内为有价值的读数,将多组图像输入算法后的结果与游标卡是标准读数进行对照,获得有价值读数的数量。 实验能在99%以上的图像中获取有价值的读数,表明实验算法稳定,可以应用于不同型号转辙机多角度拍摄并具有准确、快速、鲁棒性强等优点。 可以极大降低对于现场检修人员的专业需求,提高工作效率。
本文的主要创新点如下:
(1)提出一种适用于现阶段全型号转辙机的测距方法,用于复杂拍摄环境中的精确定位。
(2)提出一种基于神经网络的精确分割算法。采用二次分割,通过神经网络与传统交互迭代精细分割算法结合,并通过一系列的图像处理技术,提高复杂现场场景使用中的精度。
(3)提出图像矫正技术在轨道交通检测方面的应用。
1.2 Mask-RCNN 与高斯混合模型算法
1.2.1 Mask-RCNN
Mask-RCNN 主要用于物体检测与实例分割。首先,输入一幅想处理的图片,然后进行对应的预处理操作,或者预处理后的图片;然后,将其输入到一个预训练好的神经网络中(ResNeXt 等)获得对应的feature map;接着,对这个feature map 中的每一点设定预定的ROI,从而获得多个候选ROI;接着,将这些候选的ROI 送入RPN 网络进行二值分类(前景或背景)和BB 回归,过滤掉一部分候选的ROI;此后,对这些剩下的ROI 进行ROIAlign 操作(即先将原图和feature map 的pixel 对应起来,然后将feature map 和固定的feature 对应起来);最后,对这些ROI进行分类(N类别分类)、BB 回归和MASK 生成(在每一个ROI 里面进行FCN 操作)。
研究中,在Fast R-CNN 的基础上拓展了在每个感兴趣区域(ROI)上添加了一个分割掩码的分支,并与Fast R-CNN 中现有的分类分支、边界框回归分支并行。 掩码分支是一个卷积网络,取ROI 分类器选择的正区域为输入,并生成对应的掩码。 掩码分支应用于所有ROI 的小型FCN。 以像素到像素的方式进行分割掩膜的预测。 通过掩码分支仅增加了少量的计算,却得到了更加明显直观的实验效果。
1.2.2 高斯混合模型
算法利用了图像中的纹理(颜色)信息和边界(反差)信息,只要少量的用户交互操作即可得到比较好的分割结果。 算法在框选出目标区域后,将框外区域认定为背景区域,将选框内区域视作前景区域,再通过计算前景和背景的高斯模型,对每个像素的RGB值带入单个的高斯模型进行计算,选取最大的作为该像素的归属,稍后再建立一个图,对该图求最小割,循环直至收敛,由此判断选框内的前景区与背景区。
2 基于Mask-RCNN 的转辙机动静接点组接入深度算法
2.1 基于Mask-RCNN 的交互迭代二次精分割
图像在输入Mask-RCNN 网络时,会将图片像素重置成预设好的固定大小,而手机保存图片的时候会存在差异,因此,在将图像输入网络之前,对图片的大小长宽进行比对判断是否需要旋转,最终以长小于宽的图片比例输入到网络中,以减小重置像素大小时对结果准确度的影响。 此处需用到的数学公式为:
其中,l表示图片的长,b表示图片的宽。
通过Mask-RCNN 网络,加载预先训练好的权重模型进行预测,最终得到关键位置的预测区域。图1(a)是由手机现场拍摄的转辙机动静接点图,图1(b)为Mask-RCNN 网络结果输出图。 之后对关键点预测区域进行灰度处理与二值化阈值处理,将子图转换成黑白图像后容易找到掩膜并形成最小包裹圆区域。 研究给出的数学公式具体如下:
图1 单Mask-RCNN 结果Fig. 1 Single Mask-RCNN Results
其中,i表示图中某个像素点;Ri、Gi、Bi分别表示i点的红、绿、蓝像素值;a1、a2、a3分别为R、G、B像素的权重,一般情况下分别为0.299、0.587、0.114;Yi表示i点的最终灰度值。 可由如下公式计算其值:
二值化中,设置一个灰度阈值,大于阈值的区域呈现黑色,小于阈值的点呈现白色。
为了方便观察,Mask 生成的掩膜与原图在图中进行重叠,如图2 所示。 新掩膜覆盖的区域与关键点区域有较好的覆盖,但在实验中研究发现,对于一些水平有所倾斜的图片,仅此定位方式不能完好地定位出关键点圆心。 这里,图2(a)为在图像中对关键点区域进行裁剪,图(b)为扩展黑色像素后的小图裁剪。
图2 像素扩展Fig. 2 Pixelexpansion
对于转辙机来说,单凭借Mask-RCNN 网络不能满足精度需求,因此为了能更加完整地分割、定位好关键点所在的位置,对于第二次的分割,提出了分步结合法,在粗定位得到关键点位置之后,进行子图分割,并在子图中进一步确认关键点的位置。 该方法分为以下5 个步骤:
(1)将第一步中生成的最小包围圆各自作为参考点,以圆心为坐标截取预定大小的小图,该图为后续二次分割的子图。 但是为了防止分割出过多的区域导致分割失效,需要先将原图进行像素扩展,结果表明在原图周围扩展200 个黑色像素点是有效的预防手段。 可以看到所有的子图中均完整包含关键点的所有区域。
(2)在步骤(1)分割出的子图中,以第一步找到的初步位置信息为前景信息,用高斯混合模型(GMM)来对前景建模,并自动从边缘开始,把不是螺栓区域的标为背景标签。 利用聚类算法,将各自模型中像素分列不同的模型样本中,利用各自样本,估计高斯模型内的参数,并将可能的前景、背景代入到BGM 或FGM 中计算,选择概率最大的高斯模型,此后结合构建好的高斯模型(区域项)与边界项,构建图模,最后利用最大流算法对未知区域进行重新分配并更新Mask,以此降低误判前景为背景的概率,重复迭代直至将前景分割。
(3)将Mask 网络生成的掩膜与步骤(2)中生成的掩膜在图中进行叠加,得到置信度较高的关键点区域,并对此区域的叠加掩膜进行边缘精修:分割步骤中仅针对图3 中螺栓进行分割,因此对螺栓大致形状进行预先设定,将形状与2 次叠加后的最终掩膜进行比对并添补空缺,经过迭代最小填补,直至掩膜形状与所需分割的螺栓形状重合,此时迭代完成,输出最终分割结果。
图3 二次分割后掩膜Fig. 3 Mask after secondary division
通过比较可以发现,此方法比单Mask 网络进行定位能更加完整地分割出螺栓区域。
2.2 根据顶点映射的图像还原矫正
对于第二步中,2 次分割后叠加的掩膜圆心,是后续计算接入深度的重要依据,但由于在图像拍摄中,产生的倾斜都可能导致圆心在图像中的位置与实际中的相对位置有偏差,因此需要对图像以关键点区域进行校正,在实际使用中,6 个关键点呈横排平行,竖排平行关系,即可通过6 个关键点的位置,根据实际中的相对位置关系,映射出可信度较高的还原图像。
采用顶点映射的方式:
其中,[x′,y′,w′]为矫正像素;[u,v,w] 为待矫正像素;为透视变换仿射矩阵。矫正前图像至矫正后图像的变化效果,如图4 所示。
图4 图像校正前后结果Fig. 4 Results before and after image correction
转辙机自动开闭器侧面图如图5 所示。 从图5中可以看出矫正后能明显地改善由于拍摄角度不正导致的图像倾斜。
图5 转辙机自动开闭器侧面图Fig. 5 Side view of automatic switch switch
2.3 高精度的等比例非线性计算
转辙机侧面图见图5,动螺栓的动作路径为弧形运动,因此在二维平面中,动静接点接入深度与动螺栓的位置存在一定的非线性关系。 首先,需要获取图像距离与真实距离的关系,首先多选取两排静螺栓之间的距离为锚定标尺,在实际使用过程中,静螺栓的作用是负责将自动开闭器固定在转辙机底座上,因此,选取静螺栓之间的距离为锚定标尺对测距来说更加可靠且适用面广。 通过第一步的定位分割与第二步的还原矫正,研究得到了2 排静螺栓之间、动静螺栓之间的像素距离。 然后通过与实际测量的静螺栓之间的真实距离进行比例换算,得到动静接点螺栓的真实距离:
其中,Ddj、Djj表示动静接点螺栓,2 排静接点的真实距离,Pdj、Pjj表示动静接点螺栓,2 排静接点的像素距离。 通过等式得到动静接点螺栓真实距离Ddj。
最后,在得到动静螺栓真实距离后,通过预置好的拟合距离函数,将动螺栓与静螺栓的位置距离作为输入,机器自动判断动螺栓最近的静螺栓位置,通过拟合函数的计算,得到动静接点组接入深度。 在拟合位置函数的过程中,研究发现3 阶函数的拟合度最高,可将最大误差控制在1 mm之内。 因此,这里选择3 阶函数:
其中,D为转辙机动静接点组接入深度,a、b、c、e为三阶函数拟合出的结果。
2.4 算法流程
本部分将介绍算法流程,具体流程如图6 所示,整体流程分为3 步。
图6 算法流程Fig. 6 Flowchart of the algorithm
第一步,基于Mask-RCNN 的交互迭代二次精分割:将待测图像输入到Mask-RCNN 网络进行定位与分类,得到所需要的动静接点螺栓区域,在区域上对原图像进行小范围切割,得到6 个包含螺栓区域的小图像,并在小图像区域以粗定位产生的掩膜作为前景,通过算法进行第二次分割,最后将2 次分割结果进行叠加与修整。
第二步,根据顶点映射的图像矫正:经过二次的分割,已经得到了一个置信度较高的螺栓区域,由于螺栓在实际应用呈矩形分布,可以通过对螺栓区域在原图像中的位置,对图像区域进行校正,以较少拍摄角度倾斜对实验结果的影响。
第三步,高精度的等比例非线性计算:在进行校正后的图像中,通过差值与等比例放大即可得到每个像素点对应的实际坐标,并与锚定的标尺推断出实际动静接点的接入深度。
在Mask-RCNN 网络的基础上,通过将其结果进一步分割、定位并与图像矫正还原技术相结合,解决了复杂地铁环境与实际使用过程中人为因素对的图像中小目标关键点精确定位的影响,提高了测距算法定位精度并减少了计算时间。
3 实验结果
3.1 实验环境
Windows 10 专业版64 位; CPU 是Intel i7-8700 @ 3.2 GHz; GPU 是NVIDIA RTX 3080;深度学习框架为Tensorflow-gpu 2.5.0;内存32 G;并且编程语言是Python 3.6。
3.2 数据集的构建
本文数据集使用的数据图片均来自上海申通地铁有限公司现场拍摄的转辙机自动开闭器。 由于现场拍摄的图片尺寸不同,因此需要对图片进行必要的旋转和裁剪,为了方便模型的建立,并将图片尺寸固定成960∗1 280 大小。 数据集的图像源于不同的场景与不同员工拍摄,图像差异性很大,因此,准确的定位与训练具有挑战性。 训练数据集由上海地铁现有的6 种转辙机型号各400 张组成。 为了真实地模拟拍摄条件不佳的特殊工况作业环境,在数据集的选择当中做了一些挑选,并将特殊环境如角度倾斜、亮度过暗较多地加入在数据集中。
本文测试集设有6 小组测试集,每组50 张转辙机图片,采用本文提出的方法收集定位的结果,并通过非线性距离映射关系的结果与实际距离得到转辙机自动开闭器关键点的定位精度。
实验采用迁移学习方法,并使用coco 数据作为预训练模型,缩短模型收敛所需时间。
本实验通过交并比(IoU) 作为判断依据,在判断候选框anchor 为正样本与负样本为例,假设设定阈值为0.6,则计算每个参考框与正确标注之间的IoU,如果超过0.6,则判定为正样本,否则为负样本,其中正确标注是在训练图像标签中Mask 的左上角和右下角的坐标中得到
其中,boxanchor是锚参考框,boxGT是Ground Truth 定位结果分析。
6 个关键点定位是后续接入深度计算的重要依据,通过计算中间横排2 点与上下排在y轴上的相对位置关系,即可以通过预设好的拟合函数,得到动静接点接入深度。
动静接入深度准确度在本文中设定为:测量输出数值与实际人工读数的数值偏差在0.1 cm 之内为读数正确。 共设置6 个样本组,每个样本组50 张图,接入深度准确数据见表1。 双分割矫正网络准确度如图7 所示。
表1 双分割矫正网络测量误差表Tab. 1 Measurement error table of double - split correction network
图7 双分割矫正网络准确度Fig. 7 Accuracy of double split correction network
由于最后接入深度准确度与关键点圆心定位呈正相关,说明定位对实验结果会产生重要影响,表1分别给出了方法对开闭器关键点位置的定位结果。因为YOLO 与Mask-RCNN 在目标定位算法中较为常用,所以用其来做比较,增加本文可信度。
图8 分别给出了3 种方法对转辙机自动开闭器动静接点定位的结果。 在图8 中可以直观看到,YOLO\MASK-RCNN 在定位准确度5 mm 范围内上没有太大差异,分别为,在定位准确度1 mm 范围内,本文算法要优于这2 种参考算法,且在计算时间方面,本算法也已经达到了很快的检测速度。
图8 定位功能对比图Fig. 8 Positioning function comparison diagram
4 结束语
在本文中,通过定位算法计算转辙机自动开闭器动静接点接入深度。 首先进行粗定位Mask-RCNN 定位,生成掩膜,再在粗定位基础上,对子图进行二次分割、定位,提高了关键目标的定位精度,通过图像矫正技术提高了动静接点接入深度的计算精度。 结果表明,本定位算法可以高效、准确地自动定位、计算出开闭器动静接点的接入深度。 算法的研究更好地促进了轨道交通行业维护自动化、降低了维护人员的工作强度,也为今后的维护巡检工作提供新的思路。 该方法适用于所有类型的转辙机,因为选择的关键点是自动开闭器的固定螺栓,所有开闭器的结构都是如此。 对于夜间曝光或者倾斜图片的各种复杂实际情况,该方法都能提高最终结果的准确性、抗干扰性和通用性。
本文方法还要在如下2 方面进行改进:
(1)对框架环境要求苛刻,不方便改动升级。
(2)Mask-RCNN 训练前需要产生大量标签手动,训练效果与标签制作有关。