APP下载

基于点云处理的机车车辆车底中心鞘螺栓故障检测方法*

2022-11-11卢海林冯其波徐昌源

铁道机车车辆 2022年5期
关键词:螺栓距离样本

卢海林,冯其波,,徐昌源

(1 北京交通大学发光与光信息教育部重点实验室,北京 100044;2 东莞市诺丽电子科技有限公司,广东 东莞 523050)

随着我国铁路事业的进步,对于列车的运行速度和承载安全性也越来越受到重视,其关键部件的故障检测也因此变得极为重要。列车在长时间运行过程中,由于碰撞、老化等问题,列车底部中心鞘螺栓部位会出现表面裂纹、磨耗、松动、缺失等故障[1],容易引发重大交通事故。对于车底关键部件的检测,车辆需要停放在检修段,列检工作人员现场进行逐一检修,工作强度大,同时在检修过程中由于人为因素可能出现漏检,形成安全隐患。为此,国内外学者开展自动检测故障和算法等方面的研究,张洪健[2]对货车螺栓丢失故障图像进行了识别检测算法的研究,首先应用CDLBP算子提取故障图像在不同尺度和方向下的Gabor响应图像的纹理特征,然后对每个通道分别进行SVM分类识别获得判别结果。路绳方[3]结合螺栓几何结构的特点,提出了一种基于图像Sobel梯度边缘的完备局部二进制模型特征提取算法,结合二值分类器的训练与学习,完成螺栓丢失故障的自动检测。李萍、王刚和汪洋等[4-6]利用深度学习中的目标检测框架,采用大量的列车故障图像数据训练模型,实现了列车关键零部件图像故障视觉检测。但是由于二维图像本身的局限性,即不包含深度信息,所以以上方法只能通过螺栓数目的判定来识别螺栓缺失,不能对螺栓松动程度进行判断。目前针对2D图像的识别技术已经趋向成熟,与2D图像相比,3D点云携带了更多的空间信息,且受光照、尺度和空间位置等因素的影响小。因此基于点云处理的检测技术,克服了2D图像测量中存在的无法获得深度信息的不足,可以获得更全面的三维物体的几何参数。

文中重点研究了列车中心鞘螺栓部位的结构信息,利用三维点云的处理方法,提出了一种检测螺栓松动和缺失的算法。试验结果表明,算法检测正确率高,检测速度快,可应用于列车底部中央牵引拉杆中心鞘螺栓部位故障检测。

1 列车车底部件检测系统

检测系统如图1所示,车底成像系统主要由智能巡检机器人携带的2个成像组件构成,相机采用高亮度激光补光,保证高质量成像稳定性。在实际拍摄的过程中,机器人在车底行走拍摄,对机车关键部进行动态测量。3D成像组件的相机视场角为33°,采集的二维图像的分辨率为1 280×960像素,景深范围为300~800 mm,它不仅可以采集二维图像,还能够有效地捕捉目标的深度信息,可以直接得到检测目标相对于传感器的三维坐标。传感器在不同的工作距离下有不同的精度,工作距离为500 mm时,精度可达0.06 mm。对一个关键部件的图像获取时间不超过0.2 s,可以满足实时检测的需求。

图1 测量系统示意图

2 基于HOG-SVM的中心鞘螺栓缺失检测算法

支持向量机(Support Vector Machine,SVM)是一种基于监督学习对数据分类的方法,其原理是通过映射算法将线性不可分样本变换为高维特征空间;然后寻找一个线性最大间隔超平面进行数据样本分离[7]。而方向梯度直方图(Histogram of Oriented Gradient,HOG)特征[8]是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。利用HOG-SVM进行中心鞘螺栓缺失检测,第一部分是数据准备阶段,需要制作螺栓在不同光照,不同尺度和角度下的正样本集和负样本集,根据螺栓的特点,制作了64×64 pixel的螺栓图像的正样本1 000张,负样本1 500张,部分样本如图2所示。第二部分是特征提取和训练阶段,对螺栓数据进行HOG特征提取,提取方法是首先把图像分割为若干个像素的单元,把梯度方向平均划分为9个区间,在每个像素单元里面对所有像素的梯度方向在各个方向区间进行直方图统计,得到一个9维的特征向量,每相邻的4个单元构成1个块,把1个块内的特征向量合并为36维的特征向量,用块对正负样本图像进行扫描,扫描步长为1个像素单元。最后将所有块的特征连起来,就得到图像HOG特征。将特征送入SVM分类器进行模型训练,其中未识别和识别错误的螺栓图像作为负样本输入负样本集,进行再次训练,直到达到检测预期效果。最后根据识别出的螺栓数量来判断是否存在螺栓缺失,检测流程如图3所示。根据每张图像上螺栓数量来判断螺栓是否存在缺失情况,螺栓识别结果如图4所示。

图2 部分中心鞘螺栓正负样本图像

图3 SVM模型训练流程图

图4 中心鞘螺栓图像识别结果

3 基于点云处理的中心鞘螺栓松动检测算法

3.1 预处理

3.1.1 点云拓扑结构的建立

K维树(KD-tree)是一种组织K维数据的结构,可以对传感器采集的无序空间三维坐标进行拓扑结构的建立,方便点云数据的区间搜索和最近邻搜索。利用KD-tree对传感器采集的中心鞘螺栓点云进行数据结构的建立,如图5所示。此外点云密度,即点云最近邻点之间的平均距离,是影响算法参数设置的重要点云属性。对中心鞘螺栓点云遍历每一个点,搜索其最近邻点,然后计算两点之间的欧式距离。求出所有点的最近邻点距离之和除以点云大小即点云密度。

图5 KD树结构

3.1.2 点云下采样

由于传感器采集的原始点云十分稠密,运算过程中十分耗时,需要采取下采样的方法对点云进行精简:通过输入的点云数据创建一个三维体素栅格,然后在每个体素内用体素中所有点的重心来近似代替体素中其他点,对于所有体素处理得到过滤后的点云。体素栅格叶大小根据点云密度确定,设体素栅格叶大小/点云密度=R,下采样前点云大小为395 605,不同R大小对应的点云采样情况见表1:R值越大,采样的栅格叶越大,点云采样越稀疏。

表1 不同R值对应的下采样结果

3.1.3 移除离群点

传感器在采集螺栓点云的过程中,除了测量随机误差产生的噪声点之外,由于受到外界干扰如视线遮挡,障碍物等因素的影响,点云数据中存在着一些离中央牵引拉杆中心鞘螺栓较远的离散点,即离群点。采用统计滤波的方法可以有效地移除这种离群点,算法步骤如下:

Step1:首先对点云数据构建KD-tree,建立三维点之间的拓扑关系。

当主机发送回需求道路信息的具体内容时,本系统将自动接收并更新到地图中去,无需用户操作。图5为车载系统接收到主机发送的农机手需求信息后,自动显示在地图中。其中,黑点圆点依然表示农机手当前所在位置,绿色方框即为新增信息,表示农机手需求信息的最近一处的位置。

Step2:对KD-tree中的每个三维点搜索离其K个最近邻点组成K邻域,计算邻域内的点到中心点的欧式距离d。

Step3:计算每个点对应的K个最近邻点的平均欧式距离dˉ,并计算所有点的K邻域距离的标准差σ,为式(1):

Step4:利用计算得到的邻域内每个点到邻域内其他点的平均距离及标准差设置阈值ε,通过每个点对应k近邻点的平均距离与设置阈值ε=dˉ±λσ作比较,若大于设定的阈值,即被认定为离群点,需要移除;相反,则是正常螺栓点,需要保留。经过移除离群点,点云去除了绝大部分的噪声数据见表2。处理后的点云图像如图6所示,其中图6(a)是传感器采集的中心鞘螺栓图像,图6(b)是采集的初始稠密点云,图6(c)是对点云进行下采样的结果,图6(d)是移除离群点后的螺栓点云。

表2 不同的滤波方法的降噪情况

图6 中心鞘螺栓点云预处理

3.2 螺栓松动计算

3.2.1 螺栓点云聚类分割

点云分割是根据空间、几何和纹理等特征进行划分,使得同一划分内的点云拥有相似的特征,分割后形成的点云目标可用于目标识别,语义理解,曲面重建,3D内容检索等[10]。根据螺栓点云特点,文中采用欧式聚类分割对滤波后的点云进行分割,根据欧几里得算法[11]对点云进行如下操作:

(1)找到空间中某点p,在KD-tree中找到最近的n个点,判断这n个点到p点距离。将距离小于阈值r的 点p12,p13,p14的 点 放在类Q里。

(2)在Qp里找到一点p12,重复(1)。

(3)在Qpp12里找到一点,重复(1),找p22,p23,p24…全部放进Q里。

(4)当Q再也不能有新点加入了,则完成了搜索。

3.2.2 螺栓目标定位和松动计算

根据点云特点,对聚类结果根据最小包围盒[12]和空间位置进行目标定位。中央牵引拉杆中心鞘螺栓的基准面是中心圆面,螺栓平面是最上方的4个尺寸大小相同的点云平面。算法流程如下:

设输入点云为C,点云最小包围盒为Box,基准平面点云为Pbase,螺栓平面点云集合为PSet_target,基准平面点云包围盒体积为Pbase,螺栓点云包围盒体积为Vtarget,包围盒体积阈值为Vthreshold,包围盒形状阈值为Rthreshold,点云的聚类数为k。

(1)对于每一个聚类C(i)(i=1,2,3,…,k),计算点云包围盒Box(i)的体积V(ibox)和包围盒形状数R=w/h(其中w是包围盒的宽,h是包围盒的高)。若R(i)满足|R(i)-1|<Rthreshold并且|V(ibox)-Vbase|<Vthreshold;则 令Pbase=C(i),若|V(ibox)-Vtarget|<Vthreshold,则把C(i)放入PSet_target。

(2)设目标点云集合PSet_target里面含有点云数为m(m≥4)。对于里面第n(n≤m)个点云计算平均Z坐标的值Zmean,并且得到前4个最小平均Z坐标Zi(i=0,1,2,3),然后计算这4个最小Z坐标的最大 值Zmin_max,若|Zmean(n)-Zmin_max|<0。则 把 点 云PSet_target(n)从目标点云集合PSet_target里面删除。

(3)若PSet_target里面点云数小于4,则说明存在螺栓缺失。若PSet_target里面点云数等于4,进一步对基准点云Pbase和目标点云集合PSet_target里面的每一个点云分别进行基于RANSAC算法的平面拟合[13],然后计算螺栓平面到基准面的距离H。根据比较H与标准Hnormal距离,可以判断螺栓是否松动,并且求出松动的距离,点云处理流程如图7所示。

图7 螺栓点云聚类分割和平面拟合处理结果

4 试验结果分析

数据来自智能巡检机器人采集的车底中心鞘螺栓的二维图像和三维点云,工控机配置参数:CPU为i7,内 存 为64 GB,硬 盘 为3 TB,显 卡 为2×Nvidia-TITAN。采集了中央牵引拉杆中心鞘螺栓二维图像和三维点云各200张,分别利用训练好的SVM模型和点云处理算法进行螺栓故障的检测。

(1)对采集的200张中心鞘螺栓图像进行识别,无缺失螺栓图像194张,单张图像点的检测时间约为0.76 s,满足巡检机器人实时检测的标准,但是漏检6张,即6张图像中存在螺栓但是未检测出,识别准确度受光照、尺度、螺栓表面灰尘的影响较大,需要人工把错误样本送入负样本库进一步训练模型。检测结果见表3。

表3 SVM中心稍螺栓图像识别结果

(2)对采集的200张3D图像进行测试,采用3D点云的检测方法,每张图像的平均处理时间1.32 s,与二维图像相比,不仅可以检测出螺栓的缺失,更可以检测出螺栓的松动情况,不存在漏检的情况,进一步地排除安全隐患。部分检测结果见表4:在表4中,编号为2的螺栓4,编号为4的螺栓4,编号为7的螺栓2高度值与设定的高度阈值35 mm有较大差异,可以认为是松动的螺栓,其他螺栓为正常螺栓。实际测量了部分螺栓高度与算法得出的计算值进行了比较。选取了中心鞘螺栓中的4个螺栓之一与实际测量值的比较,与实际测量值误差约0.1 mm,满足了检测系统精度的要求,如图8所示。地铁中心鞘螺栓采用的螺栓型号为M36×110,其螺距为4 mm,传统工人检测可通过检测防松标记进行判断,要到达0.06 mm精度要求,需要对线精度约为5°,最关键的是人工检测效率极低,容易发生漏报和误报现象。基于二维图像检测方法,由于光照不均匀、螺栓表面脏污等因素的影响,造成识别困难,无法测量得到松动高度;即使图像清晰,通过检测防松标记的转动角,要获得0.1 mm的螺栓松动也是比较困难的。采用三维点云的处理方法可以避免这些缺点,准确检测出螺栓的松动情况,确保列车安全运行。

图8 中心鞘螺栓中螺栓1的实际测量高度和理论计算高度对比

表4 部分中心鞘螺栓点云平面与基准平面的距离

5 结束语

针对机车车辆车底中心鞘螺栓松动和缺失的这一常见故障,提出了一种基于三维点云处理的检测算法。对于螺栓三维点云,通过聚类后的点云包围盒形状系数和纵向Z坐标实现了螺栓点云的定位,提高了定位准确率,并采用RANSAC平面拟合算法计算出了螺栓的松动情况。螺栓检测采用三维点云的处理方法,克服了传统的图像分析只能判断螺栓缺失故障的不足。避免了中心鞘螺栓“带伤”工作,极大地提高了列车运行的安全性。文中算法在地铁车辆智能巡检机器人中进行了应用,现场试验表明:算法准确度高,运行速度快,满足了实时检测的要求。

猜你喜欢

螺栓距离样本
M16吊耳螺栓断裂失效分析
用样本估计总体复习点拨
预紧力衰减对摩擦型高强螺栓群承载力的影响
算距离
螺栓紧固杂谈
推动医改的“直销样本”
随机微分方程的样本Lyapunov二次型估计
每次失败都会距离成功更近一步
村企共赢的样本
爱的距离