CN115908400A - 轨道不平顺和病害智能检测和定位方法 - Google Patents

轨道不平顺和病害智能检测和定位方法 Download PDF

Info

Publication number
CN115908400A
CN115908400A CN202211726114.5A CN202211726114A CN115908400A CN 115908400 A CN115908400 A CN 115908400A CN 202211726114 A CN202211726114 A CN 202211726114A CN 115908400 A CN115908400 A CN 115908400A
Authority
CN
China
Prior art keywords
track
irregularity
disease
image
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211726114.5A
Other languages
English (en)
Inventor
赵凡
林日扬
刘茜
晁宇
张志伟
钟玉柱
王竞敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Province Hanjiang To Weihe River Valley Water Diversion Project Construction Co ltd
Xian University of Technology
Original Assignee
Shaanxi Province Hanjiang To Weihe River Valley Water Diversion Project Construction Co ltd
Xian University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Province Hanjiang To Weihe River Valley Water Diversion Project Construction Co ltd, Xian University of Technology filed Critical Shaanxi Province Hanjiang To Weihe River Valley Water Diversion Project Construction Co ltd
Priority to CN202211726114.5A priority Critical patent/CN115908400A/zh
Publication of CN115908400A publication Critical patent/CN115908400A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Image Analysis (AREA)

Abstract

针对当前市面上存在的铁轨不平顺和病害监测***存在需要人工协作、智能化和集成化低、动态监测和感知效果差、人工成本高等问题,本发明公开了轨道不平顺和病害智能检测和定位方法,通过收集、分析安装在轨检车上的三目摄像机和GPS传感器采集的数据,一方面对轨道进行三维重建并通过点云的高程分析对轨道的三角坑、高低和水平等不平顺进行检测和定位;另一方面采用图像目标深度学***顺和病害的精确、快速的检测与分析,攻克轨检车运行过程中实现对轨道病害的快速检测和定位问题。相比于人工检测,本发明更加可靠、高效、安全。

Description

轨道不平顺和病害智能检测和定位方法
技术领域
本发明属于图像处理、三维重建和深度网络等技术的融合技术领域,具体涉及轨道不平顺和病害智能检测和定位方法。
背景技术
在铁路运营中,安全问题一直摆在首要位置。因为高速列车在运行过程中速度较快,即使是微小的安全事故,一旦发生也将带来无法估量的严重后果。高速行车运行至关重要的保障是高平顺性的轨道,但在长期运行中随着高速列车对于轨道结构的冲击频率和幅度的不断增加不可避免会影响高速铁路轨道的平顺性,从而带来安全隐患。另外,自然灾害和使用过程导致的轨面破损、断裂也都是铁路轨道安全的极大隐患。所以,对轨道进行病害和不平顺的检测和定位是高铁工务部门需要解决的核心任务。
目前在铁路轨道检测方面,最常采用的大型轨道检测车进行的动态检测,只有月度检或者季度检,检测成本高、效率低且需要专业人士操作;采用人工或轨道几何状态检测仪进行的静态检测,成本低、操作简单,但容易受到环境因素的影响;三级控制网建设与维护成本高,建网周期长、工作量大、天窗时间短、测量效率低,低速铁路建网不经济,故亟需一种测量精度高,作业速度快的检测新方案。
目前市面上存在的铁轨不平顺和病害监测***存在需要人工协作、智能化和集成化低、动态监测和感知效果差、人工成本高等问题。
发明内容
本发明的目的是提供轨道不平顺和病害智能检测和定位方法,能够实现对轨道病害的精确、快速的检测与分析。
本发明所采用的技术方案是,轨道不平顺和病害智能检测和定位方法,具体包括按照以下步骤实施:
步骤1、在T型轨检车上搭建数据定位***、数据采集***,利用数据定位***采集轨检车在WGS84坐标系下的位置信息{(Pt,Bt)},其中,Pt和Bt分别为t时刻轨检车所在的大地经度和维度值,1≤t≤T,T为采集总时长,也为采集数据个数;
步骤2、在移动的轨检车上利用三目摄像机从三个视点采集t时刻轨道图像序列
Figure BDA0004030012720000021
分别为t时刻轨道的左视点、中视点和右视点图像,并分别储存得到轨道图像序列;
步骤3、把轨道图像序列作为输入,利用三维点云生成方法生成t时刻的轨道场景3D点云
Figure BDA0004030012720000022
同时得到
Figure BDA0004030012720000023
到各视点图像的投影关系矩阵
Figure BDA0004030012720000024
Figure BDA0004030012720000025
也得到中视点图像与左、右视点图像之间的单应性矩阵
Figure BDA0004030012720000026
Figure BDA0004030012720000027
步骤4、以t时刻的中视点轨道图像
Figure BDA0004030012720000028
作为输入,利用直线提取方法分别提取左轨道的两条边线
Figure BDA0004030012720000029
和右轨道两条边线
Figure BDA00040300127200000210
提取
Figure BDA00040300127200000211
Figure BDA00040300127200000212
的中线
Figure BDA00040300127200000213
Figure BDA00040300127200000214
上均匀采样K个点构成点集
Figure BDA00040300127200000215
乘以中视点与左视点图像之间的单应性矩阵
Figure BDA00040300127200000216
得到左视点图像
Figure BDA00040300127200000217
上的投影点集
Figure BDA00040300127200000218
把点集
Figure BDA00040300127200000219
投影关系矩阵
Figure BDA00040300127200000220
Figure BDA00040300127200000221
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出得到
Figure BDA00040300127200000222
对应的3D坐标集合
Figure BDA00040300127200000223
提取Lrt 1和Lrt 2的中线Lrt m,在Lrt m上均匀采样K个点构成点集{prt m,1,…,prt m,k,…,prt m,K},利用同样的方法得到点集{prt m,1,…,prt m,k,…,prt m,K}对应的3D坐标
Figure BDA0004030012720000031
步骤5、记轨道标宽变量为Ws,提取以集合
Figure BDA0004030012720000032
中以各个点为中心以Ws为边长的立方体中且属于场景3D点云
Figure BDA0004030012720000033
内的所有点,构成点集
Figure BDA0004030012720000034
其中
Figure BDA0004030012720000035
是以
Figure BDA0004030012720000036
为立方体中心点提取的点集,
Figure BDA0004030012720000037
Figure BDA0004030012720000038
中的第nk个点,Nk
Figure BDA0004030012720000039
内点的个数,
Figure BDA00040300127200000310
分别为
Figure BDA00040300127200000311
的X,Y,Z坐标,
Figure BDA00040300127200000312
为左轨道的初始点云;以同样的方法得到右轨道的初始点云
Figure BDA00040300127200000313
步骤6、轨道标高变量记为Hs,对左轨道的初始点云进行高度滤波,用同样方法对右轨道点云进行高度滤波;滤波后得到更新的左、右轨道点云分别为
Figure BDA00040300127200000314
Figure BDA00040300127200000315
步骤7、对t时刻的左、右轨道点云
Figure BDA00040300127200000316
和{SPrt 1,…,SPrt k,…,SPrt K}进行数据分析,对轨道是否存在不平顺进行判定,如果存在不平顺,对不平顺类型Ct、不平顺参数PSt和不平顺位置Pt ns进行记录;
步骤8、计算不平顺位置Pt ns对应的GPS位置
Figure BDA00040300127200000317
步骤9、利用采集的轨道图像数据制作轨道病害数据集,训练基于YOLOv7网络结构的轨道的剥离、鱼鳞伤、层裂、波磨目标检测器,得到轨道病害检测模型Modelill
步骤10、把t时刻的轨道图像
Figure BDA00040300127200000318
和病害检测模型Modelill作为输入,在python环境下调用文件路径Project/yolov7下的检测程序train.py,输出病害在
Figure BDA00040300127200000319
中的位置
Figure BDA00040300127200000320
和类别
Figure BDA00040300127200000321
Figure BDA00040300127200000322
乘以单应性矩阵
Figure BDA00040300127200000323
得到
Figure BDA00040300127200000324
在左视点图像上的投影点
Figure BDA00040300127200000325
Figure BDA00040300127200000326
Figure BDA00040300127200000327
以及3D到2D的投影矩阵
Figure BDA00040300127200000328
Figure BDA00040300127200000329
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出
Figure BDA00040300127200000330
对应的3D坐标Pt ill
步骤11、利用与步骤8同样的方法计算轨检车t时刻得到的病害位置Pt ill中的3D坐标对应的GPS位置
Figure BDA0004030012720000041
步骤12、输出轨检车t时刻检测得到的不平顺类型Ct、不平顺参数PSt、不平顺GPS位置
Figure BDA0004030012720000042
输出轨检车t时刻检测得到的病害类型
Figure BDA0004030012720000043
和GPS位置
Figure BDA0004030012720000044
本发明的特点还在于:
步骤4的具体步骤如下:
步骤4.1、把轨道图像
Figure BDA0004030012720000045
作为输入,调用Python编程语言opencv-python库函数cv2.imread()将
Figure BDA0004030012720000046
转化为灰度图
Figure BDA0004030012720000047
步骤4.2、把灰度图
Figure BDA0004030012720000048
作为输入,调用Python编程语言opencv-python库函数cv2.GaussianBlur()对
Figure BDA0004030012720000049
进行高斯滤波,得到滤波后的图像
Figure BDA00040300127200000410
步骤4.3、以滤波后的图像
Figure BDA00040300127200000411
为输入,调用Python编程语言opencv-python库函数cv2.Canny()对
Figure BDA00040300127200000412
进行边缘检测处理,得到边缘图像
Figure BDA00040300127200000413
步骤4.4、以边缘图像
Figure BDA00040300127200000414
为输入,调用Python编程语言opencv-python库函数cv2.HoughLinesP()对
Figure BDA00040300127200000415
进行轨道线提取,得到左轨道的左、右两条边线
Figure BDA00040300127200000416
以及右轨道的左、右两条边线
Figure BDA00040300127200000417
Lrt 2,4条边线用两个端点的表示形式分别为
Figure BDA00040300127200000418
Figure BDA00040300127200000419
其中,
Figure BDA00040300127200000420
表示距离摄像机较近的端点,
Figure BDA00040300127200000421
表示距离摄像机较远的端点;
步骤4.5、计算左轨道边线的中线
Figure BDA00040300127200000422
计算
Figure BDA00040300127200000423
Figure BDA00040300127200000424
两端点的中点
Figure BDA0004030012720000051
计算
Figure BDA0004030012720000052
Figure BDA0004030012720000053
两端点的中点
Figure BDA0004030012720000054
Figure BDA0004030012720000055
Figure BDA0004030012720000056
作为输入,调用直线提取算法getLineEquation()得到左轨道两条轨线的中线
Figure BDA0004030012720000057
的一般式直线方程的参数(a,b,c),即将中线
Figure BDA0004030012720000058
表示为
Figure BDA0004030012720000059
ax+by+c=0;采用同样的方法得到右轨道两条轨线的中线Lrt m
步骤4.6、在
Figure BDA00040300127200000510
上均匀采样K个点构成点集
Figure BDA00040300127200000511
步骤4.7、将点集
Figure BDA00040300127200000512
内的点分别乘以单应性矩阵
Figure BDA00040300127200000513
得到其在左视点图像
Figure BDA00040300127200000514
中的投影点集
Figure BDA00040300127200000515
步骤4.8、把中视点图像上的点集
Figure BDA00040300127200000516
左视点图像上的投影点集
Figure BDA00040300127200000517
投影关系矩阵
Figure BDA00040300127200000518
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出得到左轨道的3D坐标集合
Figure BDA00040300127200000519
步骤4.9、在Lrt m均匀采样K个点构成点集{prt m,1,…,prt m,k,…,prt m,K},重复步骤4.7-4.8的操作,输出点集{prt m,1,…,prt m,k,…,prt m,K}对应的3D坐标集合{Prt 1,…,Prt k,…,Prt K}。
步骤6中对左轨道的初始点云进行高度滤波过程为:
Figure BDA00040300127200000520
如果其Z坐标属于[Hs-△h,Hs+△h],则保留,否则从集合
Figure BDA00040300127200000521
中删除,其中△h为轨道点云标高允许变化值。
步骤7的具体步骤如下:
步骤7.1、计算左轨道点云
Figure BDA00040300127200000522
中每个子点集
Figure BDA00040300127200000523
的坐标均值,其中k表示子点集位置,得到均值化的左轨道点云坐标集合
Figure BDA00040300127200000524
其中
Figure BDA0004030012720000061
Figure BDA0004030012720000062
为点集
Figure BDA0004030012720000063
内点云的高程信息,即
Figure BDA0004030012720000064
则将左轨道点云的高程集合表示为
Figure BDA0004030012720000065
利用同样的方法得到右轨道均值化后的点云坐标集合{pSPrt 1,…,pSPrt k,…,pSPrt K}和右轨道点云的高程集合{Hrt 1,...,Hrt k,...,Hrt K};
步骤7.2、对轨道是否存在三角坑不平顺进行判定,如果存在三角不平顺,对不平顺参数和位置进行记录;
步骤7.3、对轨道是否存在高低不平顺进行判定,如果存在高低不平顺,对不平顺参数和位置进行记录;
步骤7.4、对轨道是否存在水平不平顺进行判定,如果存在水平不平顺,对不平顺参数和位置进行记录。
步骤7.2具体过程为:
步骤7.2.1、计算左右轨道平行位置处的点云高程差,公式为
Figure BDA0004030012720000066
得到集合
Figure BDA0004030012720000067
步骤7.2.2、若
Figure BDA0004030012720000068
Figure BDA0004030012720000069
满足条件
Figure BDA00040300127200000610
或条件
Figure BDA00040300127200000611
则标明在轨道车运动的t时刻处存在一个轨道三角坑不平顺,即不平顺类型Ct等于1,其中εh为三角坑不平顺的容许偏差精度。记录三角坑不平顺参数
Figure BDA00040300127200000612
和三角坑不平顺病害位置为
Figure BDA0004030012720000071
步骤7.3具体过程为:
步骤7.3.1、分别计算左、右轨道高程集合里元素与标准高程Hh之间的绝对差,记为左、右高程差集合
Figure BDA0004030012720000072
Figure BDA00040300127200000715
其中
Figure BDA0004030012720000073
△Hrt k=|Hrt k-Hh|;
步骤7.3.2、
Figure BDA0004030012720000074
如果满足条件
Figure BDA0004030012720000075
则标明在轨道车运动的t时刻处左轨道存在一个高低不平顺,即不平顺类型Ct等于2,记录高低不平顺参数
Figure BDA0004030012720000076
和高低不平顺病害位置
Figure BDA0004030012720000077
如果满足条件△Hrt k≥δh,则标明在轨道车运动的t时刻处右轨道存在一个高低不平顺,即不平顺类型Ct等于2,记录高低不平顺参数PSt=△Hrt k和高低不平顺病害位置Pt ns=pSPrt k,其中δh为高低不平顺的容许偏差精度。
步骤7.4具体过程为:
步骤7.4.1、计算左轨道与右轨道的高程绝对差,计算公式为
Figure BDA0004030012720000078
得到轨道的高程绝对差集合
Figure BDA0004030012720000079
步骤7.4.2、
Figure BDA00040300127200000710
如果满足条件
Figure BDA00040300127200000711
则标明在轨道车运动的t时刻处轨道存在一个水平不平顺,即不平顺类型Ct等于3,记录水平不平顺参数
Figure BDA00040300127200000712
和水平不平顺病害位置
Figure BDA00040300127200000713
其中ηh为允许的水平不平顺精度。
步骤8的具体步骤如下:
步骤8.1计算轨检车t时刻的不平顺位置Pt所在的点云坐标集合
Figure BDA00040300127200000714
中所有点的均值坐标(xt,yt,zt),根据空间直角坐标系到大地坐标系的转换关系将(xt,yt,zt)为大地坐标系下的相对坐标
Figure BDA0004030012720000081
步骤8.2、将t时刻数据定位***采集的轨检车位置(Pt,Bt)作为轨道的GPS绝对位置,将GPS绝对位置与轨道不平顺位置的相对坐标求和得到轨道不平顺的GPS绝对位置
Figure BDA0004030012720000082
其中Pt ns=Pt+wPt ns
Figure BDA0004030012720000083
步骤9中的具体步骤如下:
步骤9.1、轨道病害检测网络结构选用目标检测的YOLOv7网络结构,并对其配置文件yolov7.yaml进行如下修改:把其中的分类数量修改为轨道病害的分类数量Cill,即把类别数量变量nc设定为Cill,取值为4;
步骤9.2、对C类轨道病害进行图像采集,采集的图像总个数为Ns,每个类的图像采集个数为
Figure BDA0004030012720000084
步骤9.3、训练样本的构造如下:将轨道病害图像数据上传至数据标注网站,并在该网站上利用标注工具对轨道病害图像进行病害类型和病害检测真值框的标注;所有图像标注完成后利用网站的数据集导出功能,将标注好的数据集导出至文件存储路径data/train下,在路径data/下创建数据集配置文件data.yaml,将标注好的数据集和配置文件组成轨道病害训练数据集railData;
步骤9.4、在网络训练文件train.py中设置网络训练参数:网络训练的总迭代次数epoch=100,网络批处理的图像数量batch=16,网络训练的初始学习率lr=0.01,网络输入的图像尺寸W×H,网络训练使用的优化器设为Adam,网络训练次数变量的初始值step=1,训练样本数据路径为data/train,训练的工作设备设置为decive=0表示使用GPU训练,输出的模型名为yolo7.pt;
步骤9.5、定义网络损失函数为:
Figure BDA0004030012720000085
其中xn表示预测第n个样本为正例的得分,yn表示第n个样本的标签,δ表示sigmoid函数;
步骤9.6、在conda环境下运行文件train.py,进行网络训练,当网络训练次数变量step>=200或者网络损失函数Loss小于10-1时,结束网络训练,输出轨道病害检测模型Modelill
步骤10的具体过程如下:
步骤10.1、将检测图像
Figure BDA0004030012720000091
和病害检测模型Modelill作为输入,在python环境下运行测试文件test.py,输出检测的病害类型
Figure BDA0004030012720000092
病害所在的矩形框
Figure BDA0004030012720000093
其中
Figure BDA0004030012720000094
为病害在
Figure BDA0004030012720000095
中位置
Figure BDA0004030012720000096
的中心点坐标,
Figure BDA0004030012720000097
Figure BDA0004030012720000098
分别表示矩形检测框的宽度和高度;
步骤10.2、根据公式(6),利用单应性矩阵
Figure BDA0004030012720000099
将图像
Figure BDA00040300127200000910
上轨道病害的位置
Figure BDA00040300127200000911
投影到左视点图像
Figure BDA00040300127200000912
上,得到左视点图像上对应的病害位置
Figure BDA00040300127200000913
Figure BDA00040300127200000914
步骤10.3、把病害在中间视点图像中的位置
Figure BDA00040300127200000915
病害在左视点图像中的位置
Figure BDA00040300127200000916
3D到2D的投影矩阵
Figure BDA00040300127200000917
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出轨道病害的3D坐标
Figure BDA00040300127200000918
本发明有益效果是:
本发明轨道病害和不平顺智能检测和定位方法,以边走边测的方式进行铁路图像病害检测、轨道三维坐标重建和轨道不平顺几何参数的移动测量,实现轨道的自动智能检测任务;相比于人工检测,更加可靠、高效、安全,能够实现对轨道病害和不平顺的精确、快速的检测与分析。
附图说明
图1是本发明的轨道不平顺和病害智能检测和定位方法流程示意图;
图2是本发明所采用的基于Hough变换的直线提取方法流程示意图;
图3是本发明所采用的轨检车检测轨道不平顺病害的流程示意图;
图4是本发明所采用的轨检车检测轨道三角坑不平顺病害原理示意图;
图5是本发明所采用的轨检车检测轨道高低不平顺病害原理示意图;
图6是本发明所采用的轨检车检测轨道水平不平顺病害原理示意图;
图7是本发明所采用的轨道不平顺病害与轨道表面病害实际GPS位置求解的流程示意图;
图8是本发明实施例中轨道病害检测图像。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
深度学习理论在各行各业都有了新的应用,同样也可以应用在轨道的病害检测方面,利用深度学习网络先进的特征提取机制和类别学习能力,把轨道病害作为特定的目标进行检测模型的训练,从而在轨检车运行过程中实现对轨道病害进行快速检测和定位。
此外,利用轨检车GPS的绝对位置和点云坐标的相对位置解算轨道不平顺和病害的所在轨道的绝对位置,能够为铁路维护和检修部门提供准确的定位信息。
基于此,本发明轨道不平顺和病害智能检测和定位方法,具体包括按照以下步骤实施:
步骤1、在T型轨检车上搭建数据定位***、数据采集***,所用到的设备包括:GPS、三目摄像机、工业级笔记本、移动电源,利用数据定位***采集轨检车在WGS84坐标系下的位置信息{(Pt,Bt)},其中,Pt和Bt分别为t时刻轨检车所在的大地经度和维度值,1≤t≤T,T为采集总时长,也为采集数据个数;
步骤2、在移动的轨检车上利用三目摄像机从三个视点采集t时刻轨道图像序列
Figure BDA0004030012720000111
分别为t时刻轨道的左视点、中视点和右视点图像,并将
Figure BDA0004030012720000112
分别存入工业级笔记本指定盘符(例如D盘)的文件存储路径data/ill/left,data/ill/middle和data/ill/right;
步骤3、把轨道图像序列作为输入,利用三维点云生成方法(OpenMVG+PMVS)生成t时刻的轨道场景3D点云
Figure BDA0004030012720000113
同时得到
Figure BDA0004030012720000114
到各视点图像的投影关系矩阵
Figure BDA0004030012720000115
Figure BDA0004030012720000116
也得到中视点图像与左、右视点图像之间的单应性矩阵
Figure BDA0004030012720000117
Figure BDA0004030012720000118
步骤4、以t时刻的中视点轨道图像
Figure BDA0004030012720000119
作为输入,利用直线提取方法分别提取左轨道的两条边线
Figure BDA00040300127200001110
和右轨道两条边线
Figure BDA00040300127200001111
提取
Figure BDA00040300127200001112
Figure BDA00040300127200001113
的中线
Figure BDA00040300127200001114
Figure BDA00040300127200001115
上均匀采样K个点构成点集
Figure BDA00040300127200001116
乘以中视点与左视点图像之间的单应性矩阵
Figure BDA00040300127200001117
得到左视点图像
Figure BDA00040300127200001118
上的投影点集
Figure BDA00040300127200001119
把点集
Figure BDA00040300127200001120
投影关系矩阵
Figure BDA00040300127200001121
Figure BDA00040300127200001122
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出得到
Figure BDA00040300127200001123
对应的3D坐标集合
Figure BDA00040300127200001124
提取Lrt 1和Lrt 2的中线
Figure BDA00040300127200001126
Figure BDA00040300127200001127
上均匀采样K个点构成点集{prt m,1,…,prt m,k,…,prt m,K},利用同样的方法得到点集{prt m,1,…,prt m,k,…,prt m,K}对应的3D坐标
Figure BDA00040300127200001128
具体步骤如下:
步骤4.1、把轨道图像
Figure BDA00040300127200001129
作为输入,调用Python编程语言opencv-python库函数cv2.imread()将
Figure BDA00040300127200001130
转化为灰度图
Figure BDA00040300127200001131
步骤4.2、把灰度图
Figure BDA0004030012720000121
作为输入,调用Python编程语言opencv-python库函数cv2.GaussianBlur()对
Figure BDA0004030012720000122
进行高斯滤波,得到滤波后的图像
Figure BDA0004030012720000123
步骤4.3、以滤波后的图像
Figure BDA0004030012720000124
为输入,调用Python编程语言opencv-python库函数cv2.Canny()对
Figure BDA0004030012720000125
进行边缘检测处理,得到边缘图像
Figure BDA0004030012720000126
步骤4.4、以边缘图像
Figure BDA0004030012720000127
为输入,调用Python编程语言opencv-python库函数cv2.HoughLinesP()对
Figure BDA0004030012720000128
进行轨道线提取,得到左轨道的左、右两条边线
Figure BDA0004030012720000129
以及右轨道的左、右两条边线Lrt 1、Lrt 2,4条边线用两个端点的表示形式分别为
Figure BDA00040300127200001211
Figure BDA00040300127200001212
其中,
Figure BDA00040300127200001213
表示距离摄像机较近的端点,
Figure BDA00040300127200001214
表示距离摄像机较远的端点;
步骤4.5、计算左轨道边线的中线
Figure BDA00040300127200001215
计算
Figure BDA00040300127200001216
Figure BDA00040300127200001217
两端点的中点
Figure BDA00040300127200001218
计算
Figure BDA00040300127200001219
Figure BDA00040300127200001220
两端点的中点
Figure BDA00040300127200001221
以点
Figure BDA00040300127200001222
Figure BDA00040300127200001223
作为输入,调用直线提取算法getLineEquation()得到左轨道两条轨线的中线
Figure BDA00040300127200001224
的一般式直线方程的参数(a,b,c),即将中线
Figure BDA00040300127200001225
表示为
Figure BDA00040300127200001226
ax+by+c=0;采用同样的方法得到右轨道两条轨线的中线Lrt m,采用的直线提取算法流程如图2所示;
以点P1和P2作为输入的直线提取算法getLineEquation()的伪代码可以表示为:
Figure BDA0004030012720000131
步骤4.6、在
Figure BDA0004030012720000132
上均匀采样K个点构成点集
Figure BDA0004030012720000133
步骤4.7、将点集
Figure BDA0004030012720000134
内的点分别乘以单应性矩阵
Figure BDA0004030012720000135
得到其在左视点图像
Figure BDA0004030012720000136
中的投影点集
Figure BDA0004030012720000137
步骤4.8、把中视点图像上的点集
Figure BDA0004030012720000138
左视点图像上的投影点集
Figure BDA0004030012720000139
投影关系矩阵
Figure BDA00040300127200001310
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出得到左轨道的3D坐标集合
Figure BDA00040300127200001311
步骤4.9、在
Figure BDA00040300127200001312
均匀采样K个点构成点集{prt m,1,…,prt m,k,…,prt m,K},重复步骤4.7-4.8的操作,输出点集{prt m,1,…,prt m,k,…,prt m,K}对应的3D坐标集合
Figure BDA00040300127200001313
步骤5、记轨道标宽变量为Ws,提取以集合
Figure BDA00040300127200001314
中以各个点为中心以Ws为边长的立方体中且属于场景3D点云
Figure BDA00040300127200001315
内的所有点,构成点集
Figure BDA00040300127200001316
其中
Figure BDA00040300127200001317
是以
Figure BDA00040300127200001318
为立方体中心点提取的点集,
Figure BDA00040300127200001319
Figure BDA00040300127200001320
中的第nk个点,Nk
Figure BDA00040300127200001321
内点的个数,
Figure BDA00040300127200001322
分别为
Figure BDA00040300127200001323
的X,Y,Z坐标,
Figure BDA00040300127200001324
为左轨道的初始点云;以同样的方法得到右轨道的初始点云
Figure BDA0004030012720000141
步骤6、轨道标高变量记为Hs,对左轨道的初始点云进行高度滤波:
Figure BDA0004030012720000142
如果其Z坐标属于[Hs-△h,Hs+△h],则保留,否则从集合
Figure BDA0004030012720000143
中删除,其中△h为轨道点云标高允许变化值,用同样方法对右轨道点云进行高度滤波;滤波后得到更新的左、右轨道点云分别为
Figure BDA0004030012720000144
Figure BDA0004030012720000145
步骤7、对t时刻的左、右轨道点云
Figure BDA0004030012720000146
Figure BDA0004030012720000147
进行数据分析,对轨道是否存在不平顺进行判定,如果存在不平顺,对不平顺类型Ct、不平顺参数PSt和不平顺位置Pt ns进行记录,如图3所示;具体步骤如下:
步骤7.1、计算左轨道点云
Figure BDA0004030012720000148
中每个子点集
Figure BDA0004030012720000149
的坐标均值,其中k表示子点集位置,得到均值化的左轨道点云坐标集合
Figure BDA00040300127200001410
其中
Figure BDA00040300127200001411
Figure BDA00040300127200001412
为点集
Figure BDA00040300127200001413
内点云的高程信息,即
Figure BDA00040300127200001414
则将左轨道点云的高程集合表示为
Figure BDA00040300127200001415
利用同样的方法得到右轨道均值化后的点云坐标集合
Figure BDA00040300127200001416
和右轨道点云的高程集合
Figure BDA00040300127200001417
步骤7.2、对轨道是否存在三角坑不平顺进行判定,如果存在三角不平顺,对不平顺参数和位置进行记录;具体过程为:
步骤7.2.1、计算左右轨道平行位置处的点云高程差,公式为
Figure BDA00040300127200001418
得到集合
Figure BDA00040300127200001419
步骤7.2.2、如图4所示,若
Figure BDA0004030012720000151
Figure BDA0004030012720000152
满足条件
Figure BDA0004030012720000153
或条件
Figure BDA0004030012720000154
则标明在轨道车运动的t时刻处存在一个轨道三角坑不平顺,即不平顺类型Ct等于1,其中εh为三角坑不平顺的容许偏差精度,取值为5mm,记录三角坑不平顺参数
Figure BDA0004030012720000155
和三角坑不平顺病害位置
Figure BDA0004030012720000156
步骤7.3、对轨道是否存在高低不平顺进行判定,如果存在高低不平顺,对不平顺参数和位置进行记录;具体过程为:
步骤7.3.1、分别计算左、右轨道高程集合里元素与标准高程Hh之间的绝对差,记为左、右高程差集合
Figure BDA0004030012720000157
Figure BDA00040300127200001513
其中
Figure BDA0004030012720000158
△Hrt k=|Hrt k-Hh|;
步骤7.3.2、如图5所示,
Figure BDA0004030012720000159
如果满足条件
Figure BDA00040300127200001510
则标明在轨道车运动的t时刻处左轨道存在一个高低不平顺,即不平顺类型Ct等于2,记录高低不平顺参数
Figure BDA00040300127200001511
和高低不平顺病害位置
Figure BDA00040300127200001512
如果满足条件△Hrt k≥δh,则标明在轨道车运动的t时刻处右轨道存在一个高低不平顺,即不平顺类型Ct等于2,记录高低不平顺参数PSt=△Hrt k和高低不平顺病害位置Pt ns=pSPrt k,其中δh为高低不平顺的容许偏差精度,取值为6mm。
步骤7.4、对轨道是否存在水平不平顺进行判定,如果存在水平不平顺,对不平顺参数和位置进行记录,具体过程为:
步骤7.4.1、计算左轨道与右轨道的高程绝对差,计算公式为
Figure BDA0004030012720000161
得到轨道的高程绝对差集合
Figure BDA0004030012720000162
步骤7.4.2、如图6所示,
Figure BDA0004030012720000163
如果满足条件
Figure BDA0004030012720000164
则标明在轨道车运动的t时刻处轨道存在一个水平不平顺,即不平顺类型Ct等于3,记录水平不平顺参数
Figure BDA0004030012720000165
和水平不平顺病害位置
Figure BDA0004030012720000166
其中ηh为水平不平顺的容许偏差精度,取值为6mm。
步骤8、计算不平顺位置Pt ns对应的GPS位置
Figure BDA0004030012720000167
如图7所示;具体步骤如下:
步骤8.1计算轨检车t时刻的不平顺位置Pt所在的点云坐标集合
Figure BDA0004030012720000168
中所有点的均值坐标(xt,yt,zt),根据空间直角坐标系到大地坐标系的转换关系将(xt,yt,zt)为大地坐标系下的相对坐标
Figure BDA0004030012720000169
步骤8.2、将t时刻数据定位***采集的轨检车位置(Pt,Bt)作为轨道的GPS绝对位置,将GPS绝对位置与轨道不平顺位置的相对坐标求和得到轨道不平顺的GPS绝对位置
Figure BDA00040300127200001610
其中Pt ns=Pt+wPt ns
Figure BDA00040300127200001611
步骤9、利用采集的轨道图像数据制作轨道病害数据集,训练基于YOLOv7网络结构的轨道的剥离、鱼鳞伤、层裂、波磨等目标检测器,得到轨道病害检测模型Modelill;具体步骤如下:
步骤9.1、轨道病害检测网络结构选用目标检测的YOLOv7网络结构,并对其配置文件yolov7.yaml进行如下修改:把其中的分类数量修改为轨道病害的分类数量Cill,即把类别数量变量nc设定为Cill,取值为4;
其中,目标检测的YOLOv7网络结构选用Chien-Yao Wang,Alexey Bochkovskiy等人于2022年发表的文章“YOLOv7:Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors”中提出的用于通用目标检测的YOLOv7网络结构。
步骤9.2、对C类轨道病害进行图像采集,采集的图像总个数为Ns,每个类的图像采集个数为
Figure BDA0004030012720000171
步骤9.3、训练样本的构造如下:将轨道病害图像数据上传至数据标注网站,并在该网站上利用标注工具对轨道病害图像进行病害类型和病害检测真值框的标注;所有图像标注完成后利用网站的数据集导出功能,将标注好的数据集导出至文件存储路径data/train下,在路径data/下创建数据集配置文件data.yaml,在文件中写入如下内容:
Figure BDA0004030012720000172
将标注好的数据集和配置文件组成轨道病害训练数据集railData;
步骤9.4、在网络训练文件train.py中设置网络训练参数:网络训练的总迭代次数epoch=100,网络批处理的图像数量batch=16,网络训练的初始学习率lr=0.01,网络输入的图像尺寸W×H,网络训练使用的优化器设为Adam,网络训练次数变量的初始值step=1,训练样本数据路径为data/train,训练的工作设备设置为decive=0表示使用GPU训练,输出的模型名为yolo7.pt;具体的命令行代码如下:
Figure BDA0004030012720000173
步骤9.5、定义网络损失函数为:
Figure BDA0004030012720000181
其中xn表示预测第n个样本为正例的得分,yn表示第n个样本的标签,δ表示sigmoid函数;
步骤9.6、在conda环境下运行文件train.py,进行网络训练,当网络训练次数变量step>=200或者网络损失函数Loss小于10-1时,结束网络训练,输出轨道病害检测模型Modelill
步骤10、把t时刻的轨道图像
Figure BDA0004030012720000182
和病害检测模型Modelill作为输入,在python环境下调用文件路径Project/yolov7下的检测程序train.py,输出病害在
Figure BDA0004030012720000183
中的位置
Figure BDA0004030012720000184
和类别
Figure BDA0004030012720000185
Figure BDA0004030012720000186
乘以单应性矩阵
Figure BDA0004030012720000187
得到
Figure BDA0004030012720000188
在左视点图像上的投影点
Figure BDA0004030012720000189
Figure BDA00040300127200001810
Figure BDA00040300127200001811
以及3D到2D的投影矩阵
Figure BDA00040300127200001812
Figure BDA00040300127200001813
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出
Figure BDA00040300127200001814
对应的3D坐标Pt ill,具体过程如下:
步骤10.1、将检测图像
Figure BDA00040300127200001815
和病害检测模型Modelill作为输入,在python环境下运行测试文件test.py,输出检测的病害类型
Figure BDA00040300127200001816
病害所在的矩形框
Figure BDA00040300127200001817
其中
Figure BDA00040300127200001818
为病害在
Figure BDA00040300127200001819
中位置
Figure BDA00040300127200001820
的中心点坐标,
Figure BDA00040300127200001821
Figure BDA00040300127200001822
分别表示矩形检测框的宽度和高度;
步骤10.2、根据公式(6),利用单应性矩阵
Figure BDA00040300127200001823
将图像
Figure BDA00040300127200001824
上轨道病害的位置
Figure BDA00040300127200001825
投影到左视点图像
Figure BDA00040300127200001826
上,得到左视点图像上对应的病害位置
Figure BDA00040300127200001827
Figure BDA00040300127200001828
步骤10.3、把病害在中间视点图像中的位置
Figure BDA00040300127200001829
病害在左视点图像中的位置
Figure BDA00040300127200001830
3D到2D的投影矩阵
Figure BDA00040300127200001831
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出轨道病害的3D坐标
Figure BDA0004030012720000191
步骤11、利用与步骤8同样的方法计算轨检车t时刻得到的病害位置Pt ill中的3D坐标对应的GPS位置
Figure BDA0004030012720000192
步骤12、输出轨检车t时刻检测得到的不平顺类型Ct、不平顺参数PSt、不平顺GPS位置
Figure BDA0004030012720000193
输出轨检车t时刻检测得到的病害类型
Figure BDA0004030012720000194
和GPS位置
Figure BDA0004030012720000195
轨道病害检测图像如图8所示,其中的(a)、(b)、(c)分别表示轨道层裂、轨道断裂、轨道垃圾。
对本发明方法构建的轨道病害检测网络在轨道图像集合上进行检测性能测试,对检测结果采用以下指标进行了客观评价:
(1)查准率(P)。表示检测结果为真且该检测结果正确的样本的占全部检测为真的样本的比例。
(2)召回率(R)。表示检测结果为真且该检测结果正确的样本的占全部实际为真的样本的比例。
(3)F1Score:精确率和召回率的调和平均,对模型检测性能的综合度量,其公式如下:
Figure BDA0004030012720000196
根据上述评价指标对轨道病害模型检测进行性能测试,结果如表1所示:
表1
Figure BDA0004030012720000197
Figure BDA0004030012720000201
对本发明提出的轨道不平顺检测方法进行轨道不平顺检测性能测试,其评价指标在P、R、F1 Score的基础上添加了新的客观评价指标:准确率(Acc),表示检测正确的样本占总样本的比例。
根据上述评价指标对本发明提出的轨道不平顺检测方法的性能进行评判,结果如表2所示:
表2
Figure BDA0004030012720000202
由表1和表2可见,本发明方法对轨道病害和轨道不平顺检测任务的执行上已经能够得到较为准确的检测结果,证明了本方法的有效性。由以上的主观和客观结果可以看到,本发明方法可以对轨道病害图像和轨道点云进行很好的检测与识别,检测结果体现了该方法的高效性、准确性。此外,相较于传统的轨道检测方法,我们的方法在检测精度满足要求的前提下,实现了对轨道病害和轨道不平顺快速、准确的检测与分析,减少了人工成本。
通过上述方式,本发明轨道不平顺和病害智能检测和定位方法,基于目前市面上存在的铁轨不平顺和病害监测***存在需要人工协作、智能化和集成化低、动态监测和感知效果差、人工成本高等问题,本发明设计一种能够以边走边测的方式进行铁路轨道不平顺和病害检测与定位的移动测量方法,以实现对轨道不平顺和病害的精确、快速的检测与分析。故,本发明通过收集、分析安装在轨检车上的三目摄像机和GPS传感器数据,一方面对轨道进行三维重建并通过点云的高程分析对轨道的三角坑、高低和水平等不平顺进行检测和定位;另一方面采用图像目标深度学***顺检测和定位方法快捷高效,能够在一定程度上节省人力物力,也可以方便安装在轨检车上。

Claims (10)

1.轨道不平顺和病害智能检测和定位方法,其特征在于:具体包括按照以下步骤实施:
步骤1、在T型轨检车上搭建数据定位***、数据采集***,利用数据定位***采集轨检车在WGS84坐标系下的位置信息{(Pt,Bt)},其中,Pt和Bt分别为t时刻轨检车所在的大地经度和维度值,1≤t≤T,T为采集总时长,也为采集数据个数;
步骤2、在移动的轨检车上利用三目摄像机从三个视点采集t时刻轨道图像序列
Figure FDA0004030012710000011
Figure FDA0004030012710000012
分别为t时刻轨道的左视点、中视点和右视点图像,并分别储存得到轨道图像序列;
步骤3、把轨道图像序列作为输入,利用三维点云生成方法生成t时刻的轨道场景3D点云
Figure FDA0004030012710000013
同时得到
Figure FDA0004030012710000014
到各视点图像的投影关系矩阵
Figure FDA0004030012710000015
Figure FDA0004030012710000016
也得到中视点图像与左、右视点图像之间的单应性矩阵
Figure FDA0004030012710000017
Figure FDA0004030012710000018
步骤4、以t时刻的中视点轨道图像
Figure FDA0004030012710000019
作为输入,利用直线提取方法分别提取左轨道的两条边线
Figure FDA00040300127100000110
和右轨道两条边线
Figure FDA00040300127100000111
提取
Figure FDA00040300127100000112
Figure FDA00040300127100000113
的中线
Figure FDA00040300127100000114
Figure FDA00040300127100000115
上均匀采样K个点构成点集
Figure FDA00040300127100000116
乘以中视点与左视点图像之间的单应性矩阵
Figure FDA00040300127100000117
得到左视点图像
Figure FDA00040300127100000118
上的投影点集
Figure FDA00040300127100000119
把点集
Figure FDA00040300127100000120
投影关系矩阵
Figure FDA00040300127100000121
Figure FDA00040300127100000122
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出得到
Figure FDA00040300127100000123
对应的3D坐标集合
Figure FDA00040300127100000124
提取
Figure FDA00040300127100000125
和Lrt 2的中线Lrt m,在Lrt m上均匀采样K个点构成点集
Figure FDA00040300127100000126
利用同样的方法得到点集
Figure FDA00040300127100000127
对应的3D坐标
Figure FDA0004030012710000021
步骤5、记轨道标宽变量为Ws,提取以集合
Figure FDA0004030012710000022
中以各个点为中心以Ws为边长的立方体中且属于场景3D点云
Figure FDA0004030012710000023
内的所有点,构成点集
Figure FDA0004030012710000024
其中
Figure FDA0004030012710000025
是以
Figure FDA0004030012710000026
为立方体中心点提取的点集,
Figure FDA0004030012710000027
Figure FDA0004030012710000028
Figure FDA0004030012710000029
中的第nk个点,Nk
Figure FDA00040300127100000210
内点的个数,
Figure FDA00040300127100000211
Figure FDA00040300127100000212
分别为
Figure FDA00040300127100000213
的X,Y,Z坐标,
Figure FDA00040300127100000214
为左轨道的初始点云;以同样的方法得到右轨道的初始点云
Figure FDA00040300127100000215
步骤6、轨道标高变量记为Hs,对左轨道的初始点云进行高度滤波,用同样方法对右轨道点云进行高度滤波;滤波后得到更新的左、右轨道点云分别为
Figure FDA00040300127100000216
Figure FDA00040300127100000217
步骤7、对t时刻的左、右轨道点云
Figure FDA00040300127100000218
Figure FDA00040300127100000219
进行数据分析,对轨道是否存在不平顺进行判定,如果存在不平顺,对不平顺类型Ct、不平顺参数PSt和不平顺位置Pt ns进行记录;
步骤8、计算不平顺位置Pt ns对应的GPS位置
Figure FDA00040300127100000220
步骤9、利用采集的轨道图像数据制作轨道病害数据集,训练基于YOLOv7网络结构的轨道的剥离、鱼鳞伤、层裂、波磨目标检测器,得到轨道病害检测模型Modelill
步骤10、把t时刻的轨道图像
Figure FDA00040300127100000221
和病害检测模型Modelill作为输入,在python环境下调用文件路径Project/yolov7下的检测程序train.py,输出病害在
Figure FDA00040300127100000222
中的位置
Figure FDA00040300127100000223
和类别
Figure FDA00040300127100000224
Figure FDA00040300127100000225
乘以单应性矩阵
Figure FDA00040300127100000226
得到
Figure FDA00040300127100000227
在左视点图像上的投影点
Figure FDA00040300127100000228
Figure FDA00040300127100000229
Figure FDA00040300127100000230
以及3D到2D的投影矩阵
Figure FDA00040300127100000231
Figure FDA00040300127100000232
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出
Figure FDA00040300127100000233
对应的3D坐标
Figure FDA0004030012710000031
步骤11、利用与步骤8同样的方法计算轨检车t时刻得到的病害位置
Figure FDA0004030012710000032
中的3D坐标对应的GPS位置
Figure FDA0004030012710000033
步骤12、输出轨检车t时刻检测得到的不平顺类型Ct、不平顺参数PSt、不平顺GPS位置
Figure FDA0004030012710000034
输出轨检车t时刻检测得到的病害类型
Figure FDA0004030012710000035
和GPS位置
Figure FDA0004030012710000036
2.根据权利要求1所述轨道不平顺和病害智能检测和定位方法,其特征在于,步骤4的具体步骤如下:
步骤4.1、把轨道图像
Figure FDA0004030012710000037
作为输入,调用Python编程语言opencv-python库函数cv2.imread()将
Figure FDA0004030012710000038
转化为灰度图
Figure FDA0004030012710000039
步骤4.2、把灰度图
Figure FDA00040300127100000310
作为输入,调用Python编程语言opencv-python库函数cv2.GaussianBlur()对
Figure FDA00040300127100000311
进行高斯滤波,得到滤波后的图像
Figure FDA00040300127100000312
步骤4.3、以滤波后的图像
Figure FDA00040300127100000313
为输入,调用Python编程语言opencv-python库函数cv2.Canny()对
Figure FDA00040300127100000314
进行边缘检测处理,得到边缘图像
Figure FDA00040300127100000315
步骤4.4、以边缘图像
Figure FDA00040300127100000316
为输入,调用Python编程语言opencv-python库函数cv2.HoughLinesP()对
Figure FDA00040300127100000317
进行轨道线提取,得到左轨道的左、右两条边线
Figure FDA00040300127100000318
以及右轨道的左、右两条边线
Figure FDA00040300127100000319
4条边线用两个端点的表示形式分别为
Figure FDA00040300127100000320
Figure FDA00040300127100000321
其中,
Figure FDA00040300127100000322
表示距离摄像机较近的端点,
Figure FDA00040300127100000323
表示距离摄像机较远的端点;
步骤4.5、计算左轨道边线的中线
Figure FDA00040300127100000324
计算
Figure FDA00040300127100000325
Figure FDA00040300127100000326
两端点的中点
Figure FDA0004030012710000041
计算
Figure FDA0004030012710000042
Figure FDA0004030012710000043
两端点的中点
Figure FDA0004030012710000044
以点
Figure FDA0004030012710000045
Figure FDA0004030012710000046
分别作为输入,调用直线提取算法getLineEquation()得到左轨道两条轨线的中线
Figure FDA0004030012710000047
的一般式直线方程的参数(a,b,c),即将中线
Figure FDA0004030012710000048
表示为
Figure FDA0004030012710000049
采用同样的方法得到右轨道两条轨线的中线Lrt m
步骤4.6、在
Figure FDA00040300127100000410
上均匀采样K个点构成点集
Figure FDA00040300127100000411
步骤4.7、将点集
Figure FDA00040300127100000412
内的点分别乘以单应性矩阵
Figure FDA00040300127100000413
得到其在左视点图像
Figure FDA00040300127100000414
中的投影点集
Figure FDA00040300127100000415
步骤4.8、把中视点图像上的点集
Figure FDA00040300127100000416
左视点图像上的投影点集
Figure FDA00040300127100000417
投影关系矩阵
Figure FDA00040300127100000418
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出得到左轨道的3D坐标集合
Figure FDA00040300127100000419
步骤4.9、在
Figure FDA00040300127100000420
均匀采样K个点构成点集
Figure FDA00040300127100000421
步骤4.7-4.8的操作,输出点集
Figure FDA00040300127100000422
对应的3D坐标集合
Figure FDA00040300127100000423
3.根据权利要求1所述轨道不平顺和病害智能检测和定位方法,其特征在于,步骤6中所述对左轨道的初始点云进行高度滤波过程为:
Figure FDA00040300127100000424
如果其Z坐标属于[Hs-△h,Hs+△h],则保留,否则从集合
Figure FDA00040300127100000425
中删除,其中△h为轨道点云标高允许变化值。
4.根据权利要求1所述轨道不平顺和病害智能检测和定位方法,其特征在于,步骤7的具体步骤如下:
步骤7.1、计算左轨道点云
Figure FDA00040300127100000426
中每个子点集
Figure FDA00040300127100000427
的坐标均值,其中k表示子点集位置,得到均值化的左轨道点云坐标集合
Figure FDA0004030012710000051
其中
Figure FDA0004030012710000052
Figure FDA0004030012710000053
Figure FDA0004030012710000054
为点集
Figure FDA0004030012710000055
内点云的高程信息,即
Figure FDA0004030012710000056
则将左轨道点云的高程集合表示为
Figure FDA0004030012710000057
利用同样的方法得到右轨道均值化后的点云坐标集合
Figure FDA0004030012710000058
和右轨道点云的高程集合
Figure FDA0004030012710000059
步骤7.2、对轨道是否存在三角坑不平顺进行判定,如果存在三角不平顺,对不平顺参数和位置进行记录;
步骤7.3、对轨道是否存在高低不平顺进行判定,如果存在高低不平顺,对不平顺参数和位置进行记录;
步骤7.4、对轨道是否存在水平不平顺进行判定,如果存在水平不平顺,对不平顺参数和位置进行记录。
5.根据权利要求4所述轨道不平顺和病害智能检测和定位方法,其特征在于,步骤7.2具体过程为:
步骤7.2.1、计算左右轨道平行位置处的点云高程差,公式为
Figure FDA00040300127100000510
得到集合
Figure FDA00040300127100000511
步骤7.2.2、若
Figure FDA00040300127100000512
Figure FDA00040300127100000513
满足条件
Figure FDA00040300127100000514
或条件
Figure FDA00040300127100000515
则标明在轨道车运动的t时刻处存在一个轨道三角坑不平顺,即不平顺类型Ct等于1,其中εh为三角坑不平顺的容许偏差精度,记录三角坑不平顺参数
Figure FDA00040300127100000516
和三角坑不平顺病害位置
Figure FDA0004030012710000061
6.根据权利要求4所述轨道不平顺和病害智能检测和定位方法,其特征在于,步骤7.3具体过程为:
步骤7.3.1、分别计算左、右轨道高程集合里元素与标准高程Hh之间的绝对差,记为左、右高程差集合
Figure FDA0004030012710000062
Figure FDA0004030012710000063
其中
Figure FDA0004030012710000064
Figure FDA0004030012710000065
步骤7.3.2、
Figure FDA0004030012710000066
如果满足条件
Figure FDA0004030012710000067
则标明在轨道车运动的t时刻处左轨道存在一个高低不平顺,即不平顺类型Ct等于2,记录高低不平顺参数
Figure FDA0004030012710000068
和高低不平顺病害位置
Figure FDA0004030012710000069
如果满足条件
Figure FDA00040300127100000610
则标明在轨道车运动的t时刻处右轨道存在一个高低不平顺,即不平顺类型Ct等于2,记录高低不平顺参数
Figure FDA00040300127100000611
和高低不平顺病害位置
Figure FDA00040300127100000612
其中δh为高低不平顺的容许偏差精度。
7.根据权利要求4所述轨道不平顺和病害智能检测和定位方法,其特征在于,步骤7.4具体过程为:
步骤7.4.1、计算左轨道与右轨道的高程绝对差,计算公式为
Figure FDA00040300127100000613
得到轨道的高程绝对差集合
Figure FDA00040300127100000614
步骤7.4.2、
Figure FDA00040300127100000615
如果满足条件
Figure FDA00040300127100000616
则标明在轨道车运动的t时刻处轨道存在一个水平不平顺,即不平顺类型Ct等于3,记录水平不平顺参数
Figure FDA00040300127100000617
和水平不平顺病害位置
Figure FDA00040300127100000618
其中ηh为水平不平顺的容许偏差精度。
8.根据权利要求1所述轨道不平顺和病害智能检测和定位方法,其特征在于,步骤8的具体步骤如下:
步骤8.1计算轨检车t时刻的不平顺位置Pt所在的点云坐标集合
Figure FDA0004030012710000071
中所有点的均值坐标(xt,yt,zt),根据空间直角坐标系到大地坐标系的转换关系将(xt,yt,zt)为大地坐标系下的相对坐标
Figure FDA0004030012710000072
步骤8.2、将t时刻数据定位***采集的轨检车位置(Pt,Bt)作为轨道的GPS绝对位置,将GPS绝对位置与轨道不平顺位置的相对坐标求和得到轨道不平顺的GPS绝对位置
Figure FDA0004030012710000073
其中
Figure FDA0004030012710000074
9.根据权利要求1所述轨道不平顺和病害智能检测和定位方法,其特征在于,步骤9中的具体步骤如下:
步骤9.1、轨道病害检测网络结构选用目标检测的YOLOv7网络结构,并对其配置文件yolov7.yaml进行如下修改:把其中的分类数量修改为轨道病害的分类数量Cill,即把类别数量变量nc设定为Cill,取值为4;
步骤9.2、对C类轨道病害进行图像采集,采集的图像总个数为Ns,每个类的图像采集个数为
Figure FDA0004030012710000075
步骤9.3、训练样本的构造如下:将轨道病害图像数据上传至数据标注网站,并在该网站上利用标注工具对轨道病害图像进行病害类型和病害检测真值框的标注;所有图像标注完成后利用网站的数据集导出功能,将标注好的数据集导出至文件存储路径data/train下,在路径data/下创建数据集配置文件data.yaml,将标注好的数据集和配置文件组成轨道病害训练数据集railData;
步骤9.4、在网络训练文件train.py中设置网络训练参数:网络训练的总迭代次数epoch=100,网络批处理的图像数量batch=16,网络训练的初始学习率lr=0.01,网络输入的图像尺寸W×H,网络训练使用的优化器设为Adam,网络训练次数变量的初始值step=1,训练样本数据路径为data/train,训练的工作设备设置为decive=0表示使用GPU训练,输出的模型名为yolo7.pt;
步骤9.5、定义网络损失函数为:
Figure FDA0004030012710000081
其中xn表示预测第n个样本为正例的得分,yn表示第n个样本的标签,δ表示sigmoid函数;
步骤9.6、在conda环境下运行文件train.py,进行网络训练,当网络训练次数变量step>=200或者网络损失函数Loss小于10-1时,结束网络训练,输出轨道病害检测模型Modelill
10.根据权利要求1所述轨道不平顺和病害智能检测和定位方法,其特征在于,步骤10的具体过程如下:
步骤10.1、将检测图像
Figure FDA0004030012710000082
和病害检测模型Modelill作为输入,在python环境下运行测试文件test.py,输出检测的病害类型
Figure FDA0004030012710000083
病害所在的矩形框
Figure FDA0004030012710000084
其中
Figure FDA0004030012710000085
为病害在
Figure FDA0004030012710000086
中位置
Figure FDA0004030012710000087
的中心点坐标,
Figure FDA0004030012710000088
Figure FDA0004030012710000089
分别表示矩形检测框的宽度和高度;
步骤10.2、根据公式(6),利用单应性矩阵
Figure FDA00040300127100000810
将图像
Figure FDA00040300127100000811
上轨道病害的位置
Figure FDA00040300127100000812
投影到左视点图像
Figure FDA00040300127100000813
上,得到左视点图像上对应的病害位置
Figure FDA00040300127100000814
Figure FDA00040300127100000815
步骤10.3、把病害在中间视点图像中的位置
Figure FDA00040300127100000816
病害在左视点图像中的位置
Figure FDA00040300127100000817
3D到2D的投影矩阵
Figure FDA00040300127100000818
作为输入,调用开源的opencv-python库函数cv2.triangulatePoints(),输出轨道病害的3D坐标
Figure FDA0004030012710000091
CN202211726114.5A 2022-12-30 2022-12-30 轨道不平顺和病害智能检测和定位方法 Pending CN115908400A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211726114.5A CN115908400A (zh) 2022-12-30 2022-12-30 轨道不平顺和病害智能检测和定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211726114.5A CN115908400A (zh) 2022-12-30 2022-12-30 轨道不平顺和病害智能检测和定位方法

Publications (1)

Publication Number Publication Date
CN115908400A true CN115908400A (zh) 2023-04-04

Family

ID=86476353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211726114.5A Pending CN115908400A (zh) 2022-12-30 2022-12-30 轨道不平顺和病害智能检测和定位方法

Country Status (1)

Country Link
CN (1) CN115908400A (zh)

Similar Documents

Publication Publication Date Title
CN103499585B (zh) 基于机器视觉的非连续性锂电池薄膜缺陷检测方法及其装置
CN108257114A (zh) 一种基于深度学习的输电设备缺陷自动识别方法
CN109059775B (zh) 具有图像边缘提取步骤的钢轨磨耗检测方法
CN108189859B (zh) 判断两个激光图像特征是相关冗余特征的方法
CN113487533B (zh) 一种基于机器学习的零件装配质量数字化检测***及方法
CN113674216A (zh) 一种基于深度学习的地铁隧道病害检测方法
CN113506269A (zh) 一种基于深度学习的道岔与非道岔轨道紧固件定位方法
CN112884717A (zh) 实时工件表面检测与刀具寿命预测的***及方法
Han et al. A machine-learning classification approach to automatic detection of workers' actions for behavior-based safety analysis
CN114324401A (zh) 基于环形多波束声呐的全覆盖式管道探测***
CN111017151B (zh) 一种船体建造中使用激光三维投影定位的方法
CN114663672B (zh) 一种输电线路塔钢构件腐蚀检测方法及***
CN110672632A (zh) 一种隧道病害识别方法
CN116678368B (zh) 基于bim技术的装配式钢结构数据智能采集方法
CN115908400A (zh) 轨道不平顺和病害智能检测和定位方法
CN206019585U (zh) 钢轨磨耗检测***
CN109766794B (zh) 一种自动化实时道路检测方法及其***
CN116664846A (zh) 基于语义分割实现3d打印桥面施工质量监测方法及***
CN117191781A (zh) 一种复材壁板微小阵列孔通孔率无损检测***及方法
CN115331136A (zh) 一种桥梁施工用监控方法
Koch et al. Machine vision techniques for condition assessment of civil infrastructure
CN108181315B (zh) 一种基于图像处理的饼干损伤检测装置及检测方法
CN112255383A (zh) 一种基于大数据的水质监测分析***
Delina et al. Optimizing viscosity measurement: an automated solution with YOLOv3
Mohata et al. User requirements for an automated bridge inspection system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination