CN115123335B - 一种轨道检测方法及装置 - Google Patents
一种轨道检测方法及装置 Download PDFInfo
- Publication number
- CN115123335B CN115123335B CN202110333669.2A CN202110333669A CN115123335B CN 115123335 B CN115123335 B CN 115123335B CN 202110333669 A CN202110333669 A CN 202110333669A CN 115123335 B CN115123335 B CN 115123335B
- Authority
- CN
- China
- Prior art keywords
- track
- endpoint
- point
- side rail
- line segment
- 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.)
- Active
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B61—RAILWAYS
- B61K—AUXILIARY EQUIPMENT SPECIALLY ADAPTED FOR RAILWAYS, NOT OTHERWISE PROVIDED FOR
- B61K9/00—Railway vehicle profile gauges; Detecting or indicating overheating of components; Apparatus on locomotives or cars to indicate bad track sections; General design of track recording vehicles
- B61K9/08—Measuring installations for surveying permanent way
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Image Analysis (AREA)
- Train Traffic Observation, Control, And Security (AREA)
Abstract
本说明书实施例提供一种轨道检测方法及装置,包括获取行驶方向上的点云数据,从中选取至少两个可能的轨道点,形成轨道点集;将所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,将所有投影轨道点划分为N个分区,形成N个分区点集;对于每个分区点集,将其中的所有投影轨道点进行直线拟合,得到至少一条线段;根据线段的数量,将各线段的两端点归类于待定集合、左侧轨道集合和右侧轨道集合中的至少一个中;对N个分区点集进行处理后,得到最终的待定集合、左侧轨道集合和右侧轨道集合;若待定集合为空,根据左侧轨道集合中的各端点,确定左侧轨道曲线;根据右侧轨道集合中的各端点,确定右侧轨道曲线。本实施例能够提高轨道检测精度。
Description
技术领域
本说明书一个或多个实施例涉及轨道检测技术领域,尤其涉及一种轨道检测方法及装置。
背景技术
随着环境感知技术的发展,轨道交通工具在行驶过程中,可借助安装于其上的激光雷达所采集的点云数据检测轨道位置,并据此判断轨道上是否存在障碍物,从而保证行驶安全性。目前,根据点云数据检测轨道位置的方法一般是将点云数据与人工绘制的轨道走向进行匹配,将匹配结果作为检测出的轨道,误差较大,精度较低。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种轨道检测方法及装置,以解决轨道检测精度低的问题。
基于上述目的,本说明书一个或多个实施例提供了一种轨道检测方法,包括:
获取行驶方向上的点云数据;
根据所述点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集;
将所述轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,将所有投影轨道点划分为N个分区,形成N个分区点集,每个分区点集包括至少两个投影轨道点;
对于每个分区点集,将该分区点集中的所有投影轨道点进行直线拟合,得到至少一条线段;根据所述线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中;对N个分区点集进行直线拟合和线段归类后,得到最终的待定集合、左侧轨道集合和右侧轨道集合;
当判断所述待定集合为空时,根据所述左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线;根据所述右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线。
可选的,所述方法还包括:
当判断所述待定集合为非空时,根据所述待定集合中的各端点分别与所述左侧轨道集合中的各端点、所述右侧轨道集合中的各端点的距离关系,将所述待定集合中的各端点归类于所述左侧轨道集合或者所述右侧轨道集合中,直至所述待定集合为空为止。
可选的,根据所述待定集合中的各端点分别与所述左侧轨道集合中的各端点、所述右侧轨道集合中的各端点的距离关系,将所述待定集合中的各端点归类于所述左侧轨道集合或者所述右侧轨道集合中,包括:
设第k个端点为所述待定集合中的一条待定线段的一个端点,第k+1个端点为该条待定线段的另一个端点;对第k个端点,计算第k个端点与所述左侧轨道集合中所有端点的距离,确定出所述左侧轨道集合中距离第k个端点最小的第一左侧端点,确定第k个端点与第一左侧端点之间的距离d1;计算第k个端点与所述右侧轨道集合中所有端点的距离,确定出所述右侧轨道集合中距离第k个端点最小的第一右侧端点,确定第k个端点与第一右侧端点之间的距离d2;
对第k+1个端点,计算第k+1个端点与所述左侧轨道集合中所有端点的距离,确定出所述左侧轨道集合中距离第k+1个端点最小的第二左侧端点,确定第k+1个端点与第二左侧端点之间的距离d3;计算第k+1个端点与所述右侧轨道集合中所有端点的距离,确定出所述右侧轨道集合中距离第k+1个端点最小的第二右侧端点,确定第k+1个端点与第二右侧端点之间的距离d4;
判断是否满足dS1<dS2且dS1≤δ1;若是,将第k个端点、第k+1个端点归类于左侧轨道集合中;其中,dS1=min(d1,d3),dS2=min(d2,d4),δ1为预设的距离阈值;
判断是否满足dS2<dS1且dS2≤δ1;若是,将第k个端点、第k+1个端点归类于右侧轨道集合中。
可选的,根据所述点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集,包括:
建立XYZ坐标系,其中,X轴正向沿行驶方向,Z轴正向沿竖直向上方向,Y轴与X轴、Z轴垂直且Y轴正向沿列车的左侧方向;
根据获取的点云数据,确定所述点云数据在所述XYZ坐标系下的所有点的坐标;
利用至少两个体素对所有点进行分割;
对于任一体素,当该体素所包含的点的数量达到预设的点数阈值时,计算该体素的质心,得到该质心的坐标,根据该体素内所有点的坐标、所述质心的坐标以及预设的轨道高度阈值,判断该体素是否对应轨道,若是,将该体素的质心保存于所述轨道点集。
可选的,根据该体素内所有点的坐标、所述质心的坐标以及预设的轨道高度阈值,判断该体素是否对应轨道,包括:
根据该体素内所有点的Z轴坐标,确定Z轴坐标最小的点;
判断是否满足:
若满足,则该体素对应轨道;其中,TzH为第一轨道高度阈值,TzL为第二轨道高度阈值,zmin为所述Z轴坐标最小的点的Z轴坐标,zc为所述质心的Z轴坐标。
可选的,所述将轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,包括:
将所有轨道点投影至XOY平面,各轨道点投影后形成投影轨道点;
所述将所有投影轨道点划分为N个分区,形成N个分区点集,包括:
根据所有投影轨道点的X轴坐标,确定X轴坐标最小的投影轨道点和X轴坐标最大的投影轨道点;
按照预设的分区长度,将所述X轴坐标最小的投影轨道点到所述X轴坐标最大的投影轨道点之间的线段划分为N个分区,形成N个分区点集。
可选的,根据所述线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中,包括:
若所述线段的数量为一条,将所述线段的两个端点归类于所述待定集合中;
若所述线段的数量为两条,确定两条线段的其中一条为左侧线段,另一条为右侧线段,将所述左侧线段的两个端点归类于所述左侧轨道集合,将所述右侧线段的两个端点归类于所述右侧轨道集合;
若线段的数量大于两条,按照线段长短对各线段进行排序,对于最长的两条线段,确定两条线段的其中一条为左侧线段,另一条为右侧线段,将所述左侧线段的两个端点归类于所述左侧轨道集合,将所述右侧线段的两个端点归类于所述右侧轨道集合。
可选的,所述确定两条线段的其中一条为左侧线段,另一条为右侧线段,包括:
分别计算所述两条线段的中点,设第一条线段的中点坐标为M1(x1,y1),第二条线段的中点坐标为M2(x2,y2);
如果y1≥y2,将所述第一条线段归类为所述左侧线段,将所述第二条线段归类为所述右侧线段;
如果y1<y2,将所述第二条线段归类为所述左侧线段,将所述第一条线段归类为所述右侧线段。
可选的,所述根据左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线,包括:
根据所述左侧轨道集合中的各端点,利用最小中值平方方法进行曲线拟合,得到左侧轨道曲线;
所述根据右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线,包括:
根据所述右侧轨道集合中的各端点,利用最小中值平方方法进行曲线拟合,得到右侧轨道曲线。
本说明书实施例还提供一种轨道检测装置,包括:
获取模块,用于获取行驶方向上的点云数据;
轨道点确定模块,用于根据所述点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集;
分区模块,用于将所述轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,将所有投影轨道点划分为N个分区,形成N个分区点集,每个分区点集包括至少两个投影轨道点;
直线拟合与归类模块,用于对于每个分区点集,将该分区点集中的所有投影轨道点进行直线拟合,得到至少一条线段;根据所述线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中;对N个分区点集进行直线拟合和线段归类后,得到最终的待定集合、左侧轨道集合和右侧轨道集合;
轨道确定模块,当判断所述待定集合为空时,根据所述左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线;根据所述右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线。
从上面所述可以看出,本说明书一个或多个实施例提供的轨道检测方法及装置,通过获取行驶方向上的点云数据,从中选取至少两个可能的轨道点,形成轨道点集;将所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,将所有投影轨道点划分为N个分区,形成N个分区点集;对于每个分区点集,将其中的所有投影轨道点进行直线拟合,得到至少一条线段;根据线段的数量,将各线段的两端点归类于待定集合、左侧轨道集合和右侧轨道集合中的至少一个中;对N个分区点集进行处理后,得到最终的待定集合、左侧轨道集合和右侧轨道集合;若待定集合为空,根据左侧轨道集合中的各端点,确定左侧轨道曲线;根据右侧轨道集合中的各端点,确定右侧轨道曲线。本实施例的方法能够提高轨道检测的精度。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的方法流程示意图;
图2为本说明书一个或多个实施例的坐标示意图;
图3为本说明书一个或多个实施例的装置结构示意图;
图4为本说明书一个或多个实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如图1所示,本说明书一个或多个实施例提供一种轨道检测方法,包括:
S101:获取行驶方向上的点云数据;
本实施例中,于列车上安装激光雷达,利用激光雷达扫描列车前方,采集获取沿列车行驶方向上的包括轨道的点云数据。其中,点云数据是在三维坐标系统中的一系列点,每个点在三维坐标系统中具有三维坐标。
S102:根据点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集;
本实施例中,获取列车行驶方向上的点云数据之后,从点云数据中选取可能对应为轨道的多个轨道点,并将各轨道点保存于轨道点集中,后续基于轨道点集中的轨道点进行进一步处理与判断。
S103:将轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,将所有投影轨道点划分为N个分区,形成N个分区点集,每个分区点集包括至少两个投影轨道点;
本实施例中,得到的轨道点集中的各轨道点为三维空间中的点,将所有轨道点投影至预定平面,形成平面内的投影轨道点;之后,基于平面内的所有投影轨道点,将所有投影轨道点划分为N个分区,得到N个分区点集,每个分区点集中包括若干投影轨道点,后续对每个分区点集中的投影轨道点进行处理。
S104:对于每个分区点集,将该分区点集中的所有投影轨道点进行直线拟合,得到至少一条线段;根据线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中;对N个分区点集进行直线拟合和线段归类后,得到最终的待定集合、左侧轨道集合和右侧轨道集合;
本实施例中,划分出N个分区点集之后,对每个分区点集中的所有投影轨道点进行直线拟合,经过直线拟合,每个分区点集中至少形成一条线段。对于每个分区点集所形成的线段,根据线段数量,将线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个;其中,左侧轨道集合中用于保存可确定为左侧轨道的线段的端点,右侧轨道集合中用于保存可确定为右侧轨道的线段的端点,待定集合中用于保存暂时无法确定是左侧轨道还是右侧轨道的线段的端点。
按照上述过程,N个分区点集均完成直线拟合、线段归类之后,得到所有线段归类完成的左侧轨道集合、右侧轨道集合和待定集合。
S105:当判断待定集合为空时,根据左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线;根据右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线。
本实施例中,先判断待定集合中是否有还不能确定是左侧轨道还是右侧轨道的线段的端点,如果待定集合为空,即待定集合中没有待定线段的端点,可基于左侧轨道集中的所有线段的端点确定出左侧轨道,基于右侧轨道中的所有线段的端点确定出右侧轨道,至此,完成了轨道检测。
本实施例提供的轨道检测方法,包括获取行驶方向上的点云数据;根据点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集;将轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,将所有投影轨道点划分为N个分区,形成N个分区点集,每个分区点集包括至少两个投影轨道点;对于每个分区点集,将该分区点集中的所有投影轨道点进行直线拟合,得到至少一条线段;根据线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中;对N个分区点集进行直线拟合和线段归类后,得到最终的待定集合、左侧轨道集合和右侧轨道集合;当判断待定集合为空时,根据左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线;根据右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线。本实施例的方法,能够实现轨道的精确检测。
一些实施例中,轨道检测方法还包括:
当判断待定集合为非空时,根据待定集合中的各端点分别与左侧轨道集合中的各端点、右侧轨道集合中的各端点的距离关系,将待定集合中的各端点归类于左侧轨道集合或者右侧轨道集合中,直至待定集合为空为止。
本实施例中,如果判断待定集合非空,即待定集合中有不能确定是左侧轨道还是右侧轨道的线段,需要进一步判断,并将待定集合中的线段归类为左侧轨道集合或者右侧轨道集合,待定集合中的所有线段都归类后,再根据归类后的左侧轨道集合确定左侧轨道,根据归类后的右侧轨道集合确定右侧轨道。
一些实施例中,若待定集合非空,将待定集合中的所有端点归类于左侧轨道集合或者右侧轨道集合中的方法是:根据待定集合中的各端点分别与左侧轨道集合中的各端点、右侧轨道集合中的各端点的距离关系,将待定集合中的各端点归类于左侧轨道集合或者右侧轨道集合中。具体包括:
设第k个端点为待定集合中的一条待定线段的一个端点,第k+1个端点为该条待定线段的另一个端点;对于第k个端点,计算第k个端点与左侧轨道集合中所有端点的距离,确定出左侧轨道集合中距离第k个端点最小的第一左侧端点,确定第k个端点与第一左侧端点之间的距离d1;计算第k个端点与右侧轨道集合中所有端点的距离,确定出右侧轨道集合中距离第k个端点最小的第一右侧端点,确定第k个端点与第一右侧端点之间的距离d2;
对于第k+1个端点,计算第k+1个端点与左侧轨道集合中所有端点的距离,确定出左侧轨道集合中距离第k+1个端点最小的第二左侧端点,确定第k+1个端点与第二左侧端点之间的距离d3;计算第k+1个端点与右侧轨道集合中所有端点的距离,确定出右侧轨道集合中距离第k+1个端点最小的第二右侧端点,确定第k+1个端点与第二右侧端点之间的距离d4;
设dS1=min(d1,d3),dS2=min(d2,d4),距离阈值δ1;
若满足dS1<dS2且dS1≤δ1;则将第k个端点、第k+1个端点归类于左侧轨道集合中;
若满足dS2<dS1且dS2≤δ1;则将第k个端点、第k+1个端点归类于右侧轨道集合中。
本实施例中,若有N3条待定线段,则待定集合中有2N3个端点,对于待定集合中的任意一条待定线段的两个端点(设为第k个端点,第k+1个端点),分别确定第k个端点与左侧轨道集合中的所有端点的距离,第k个端点与右侧轨道集合中的所有端点的距离,第k+1个端点与左侧轨道集合中的所有端点的距离,第k+1个端点与右侧轨道集合中的所有端点的距离,确定出与第k个端点距离最小的第一左侧端点以及这两个端点之间的距离,确定出与第k个端点距离最小的第一右侧端点以及这两个端点之间的距离,确定出与第k+1个端点距离最小的第二左侧端点以及这两个端点之间的距离,确定出与第k+1个端点距离最小的第二右侧端点以及这两个端点之间的距离;之后,根据各距离的距离关系,确定待定集合中任意一条待定线段的两个端点应归类于左侧轨道集合中或者归类于右侧轨道集合中;当待定集合中的所有端点均完成归类之后,待定集合清空,再基于左侧轨道集合中的各端点确定左侧轨道曲线,基于右侧轨道集合中的各端点确定右侧轨道曲线。
一些实施例中,根据点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集,包括:
建立XYZ坐标系,其中,X轴正向沿行驶方向,Z轴正向沿竖直向上方向,Y轴与X轴、Z轴垂直且Y轴正向沿列车的左侧方向;
根据获取的点云数据,确定点云数据在XYZ坐标系下的所有点的坐标;
利用至少两个体素对所有点进行分割;
对于任一体素,当该体素所包含的点的数量达到预设的点数阈值时,计算该体素的质心,得到该质心的坐标,根据该体素内所有点的坐标、质心的坐标以及预设的轨道高度阈值,判断该体素是否对应轨道,若是,将该体素的质心保存于轨道点集。
结合图2所示,本实施例中,以列车行进的行驶方向为X轴正向,竖直向上方向为Z轴正向,垂直于X轴与Z轴且沿列车的左侧方向为Y轴正向,建立三维的XYZ坐标系;根据获取的点云数据,将点云数据中的所有点转换为该XYZ坐标系下的点,所有点在该XYZ坐标系下具有对应的三维坐标;之后,利用体素对该XYZ坐标系下的所有点进行分割,分割过程中,判断体素内所包括的点的数量是否达到预设的点数阈值,如果达到,根据体素内的所有点,计算体素的质心,并确定质心的坐标,然后,根据体素内所有点的坐标、质心的坐标及预设的轨道高度阈值,判断该体素是否为轨道,如果对应为轨道,就将该体素的质心保存于轨道点集中。按照上述过程,利用多个体素对所有点分割之后,形成包括多个质心的轨道点集。
一些方式中,可使用预定尺寸(给定长、宽、高)的若干长方体体素对所有点进行分割。利用长方体体素进行分割,多个长方体体素可以填满整个三维空间且不存在多个长方体体素交互覆盖的重叠区域,从而保证将所有点覆盖且不存在同一个点被多个长方体体素所覆盖,而且,使用长方体体素进行分割简单且运算速度快。
一些实施例中,根据体素内所有点的坐标、质心的坐标以及预设的轨道高度阈值,判断体素是否对应轨道,包括:
根据该体素内所有点的Z轴坐标,确定Z轴坐标最小的点;
判断是否满足:
若满足,则该体素对应轨道;其中,TzH为第一轨道高度阈值,TzL为第二轨道高度阈值,TzH>TzL,zmin为Z轴坐标最小的点的Z轴坐标,zc为质心的Z轴坐标。
本实施例中,通过体素内所有点的Z轴坐标、质心的Z轴坐标以及在Z轴方向上轨道的高度,依据公式(1)判断体素是否对应轨道。
一些实施例中,将轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,包括:
将所有轨道点投影至XOY平面,各轨道点投影后形成投影轨道点;
将所有投影轨道点划分为N个分区,形成N个分区点集,包括:
根据所有投影轨道点的X轴坐标,确定X轴坐标最小的投影轨道点和X轴坐标最大的投影轨道点;
按照预设的分区长度,将X轴坐标最小的投影轨道点到X轴坐标最大的投影轨道点之间的线段划分为N个分区,形成N个分区点集。
本实施例中,基于建立的XYZ坐标系,将轨道点集中所有的轨道点投影至XOY平面内,得到平面内的所有投影轨道点;然后,在XOY平面内,按照预定的分区长度,沿X轴方向将所有投影轨道点划分为N个分区,每个分区内包括有至少两个投影轨道点,形成N个分区点集。
一些方式中,设轨道点集为P0 *,将P0 *中的所有轨道点投影至XOY平面内,每个轨道点投影至XOY平面得到投影轨道点,得到由所有投影轨道点组成的投影轨道点集P0;根据P0中的所有投影轨道点,确定X轴坐标最小的投影轨道点,其X轴坐标为xmin,确定X轴坐标最大的投影轨道点,其X轴坐标为xmax;沿X轴方向设分区长度为Δx,将P0划分为N个分区,得到N个分区点集,第i(i=1,2,…,N)个分区点集记作Pi *,Pi *中的投影轨道点的X轴坐标xi满足:
xmin+(i-1)Δx<xi<xmin+iΔx≤xmax+Δx (2)
根据公式(2),分区点集Pi *中的投影轨道点在投影得到的投影轨道点基础上有所丢弃,但并不影响检测结果。
一些实施例中,对于每个分区点集,采用概率霍夫变换方法(ProgressiveProbabilistic Hough Transform)对该分区点集中的所有投影轨道点进行直线拟合,得到至少一条线段。
一些实施例中,对每个分区点集进行直线拟合后,得到该分区点集所对应的至少一条线段;之后,根据线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中,包括:
若线段的数量为一条,将线段的两个端点归类于待定集合中;
若线段的数量为两条,确定两条线段的其中一条为左侧线段,另一条为右侧线段,将左侧线段的两个端点归类于左侧轨道集合,将右侧线段的两个端点归类于右侧轨道集合;
若线段的数量大于两条,按照线段长短对各线段进行排序,对于最长的两条线段,确定两条线段的其中一条为左侧线段,另一条为右侧线段,将左侧线段的两个端点归类于左侧轨道集合,将右侧线段的两个端点归类于右侧轨道集合。
一些方式中,确定两条线段的其中一条为左侧线段,另一条为右侧线段的方法是,分别计算两条线段的中点,设第一条线段的中点坐标为M1(x1,y1),第二条线段的中点坐标为M2(x2,y2);如果y1≥y2,则将第一条线段归类为左侧线段,将第二条线段归类为右侧线段;如果y1<y2,则将第二条线段归类为左侧线段,将第一条线段归类为右侧线段。
本实施例中,N个分区点集进行直线拟合之后,得到每个分区点集所拟合出的至少一条线段。之后,对于每个分区点集的线段,判断线段的数量,根据线段的数量,将线段归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中。具体包括:当线段的数量为一条时,将这条线段的两个端点归类于待定集合中;当线段的数量为两条时,首先确定两条线段中的一条为左侧线段,另一条线段为右侧线段,然后将左侧线段的两个端点归类于左侧轨道集合中,将右侧线段的两个端点归类于右侧轨道集合中;当线段的数量大于两条时,按照线段长短对各线段进行排序,得到排序后的各线段,从排序后的各线段中选取最长的两条线段,对于选取出的两条线段,将左侧线段的两个端点归类于左侧轨道集合中,将右侧线段的两个端点归类于右侧轨道集合中。这样,对点云数据进行处理后,确定出由能够代表左侧轨道的端点所组成的左侧轨道集合,以及由能够代表右侧轨道的端点所组成的右侧轨道集合,能够将各端点准确地归类于左侧轨道集合或者右侧轨道集合中。
一些实施例中,根据左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线,包括:
根据左侧轨道集合中的各端点,利用最小中值平方方法进行曲线拟合,得到左侧轨道曲线;
根据右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线,包括:
根据右侧轨道集合中的各端点,利用最小中值平方方法进行曲线拟合,得到右侧轨道曲线。
本实施例中,利用鲁棒性高的最小中值平方方法(Least Median of Squares,LMedS)对左侧轨道集合中的各端点进行拟合,得到表示左侧轨道的左侧轨道曲线,对右侧轨道集合中的各端点进行拟合,得到表示右侧轨道的右侧轨道曲线,根据左侧轨道曲线和右侧轨道曲线,能够确定出左侧轨道和右侧轨道,从而实现精确的轨道检测。
一些方式中,还可利用最小二乘法进行曲线拟合,从而得到左侧轨道曲线和右侧轨道曲线。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
如图3所示,本说明书实施例还提供一种轨道检测装置,包括:
获取模块,用于获取行驶方向上的点云数据;
轨道点确定模块,用于根据点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集;
分区模块,用于将轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,将所有投影轨道点划分为N个分区,形成N个分区点集,每个分区点集包括至少两个投影轨道点;
直线拟合与归类模块,用于对于每个分区点集,将该分区点集中的所有投影轨道点进行直线拟合,得到至少一条线段;根据线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中;对N个分区点集进行直线拟合和线段归类后,得到最终的待定集合、左侧轨道集合和右侧轨道集合;
轨道确定模块,当判断待定集合为空时,根据左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线;根据右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种轨道检测方法,其特征在于,包括:
获取行驶方向上的点云数据;
根据所述点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集;
将所述轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,将所有投影轨道点划分为N个分区,形成N个分区点集,每个分区点集包括至少两个投影轨道点;
对于每个分区点集,将该分区点集中的所有投影轨道点进行直线拟合,得到至少一条线段;根据所述线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中;对N个分区点集进行直线拟合和线段归类后,得到最终的待定集合、左侧轨道集合和右侧轨道集合;
当判断所述待定集合为空时,根据所述左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线;根据所述右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线。
2.根据权利要求1所述的方法,其特征在于,还包括:
当判断所述待定集合为非空时,根据所述待定集合中的各端点分别与所述左侧轨道集合中的各端点、所述右侧轨道集合中的各端点的距离关系,将所述待定集合中的各端点归类于所述左侧轨道集合或者所述右侧轨道集合中,直至所述待定集合为空为止。
3.根据权利要求2所述的方法,其特征在于,根据所述待定集合中的各端点分别与所述左侧轨道集合中的各端点、所述右侧轨道集合中的各端点的距离关系,将所述待定集合中的各端点归类于所述左侧轨道集合或者所述右侧轨道集合中,包括:
设第k个端点为所述待定集合中的一条待定线段的一个端点,第k+1个端点为该条待定线段的另一个端点;对第k个端点,计算第k个端点与所述左侧轨道集合中所有端点的距离,确定出所述左侧轨道集合中距离第k个端点最小的第一左侧端点,确定第k个端点与第一左侧端点之间的距离d1;计算第k个端点与所述右侧轨道集合中所有端点的距离,确定出所述右侧轨道集合中距离第k个端点最小的第一右侧端点,确定第k个端点与第一右侧端点之间的距离d2;
对第k+1个端点,计算第k+1个端点与所述左侧轨道集合中所有端点的距离,确定出所述左侧轨道集合中距离第k+1个端点最小的第二左侧端点,确定第k+1个端点与第二左侧端点之间的距离d3;计算第k+1个端点与所述右侧轨道集合中所有端点的距离,确定出所述右侧轨道集合中距离第k+1个端点最小的第二右侧端点,确定第k+1个端点与第二右侧端点之间的距离d4;
判断是否满足dS1<dS2且dS1≤δ1;若是,将第k个端点、第k+1个端点归类于左侧轨道集合中;其中,dS1=min(d1,d3),dS2=min(d2,d4),δ1为预设的距离阈值;
判断是否满足dS2<dS1且dS2≤δ1;若是,将第k个端点、第k+1个端点归类于右侧轨道集合中。
4.根据权利要求1所述的方法,其特征在于,根据所述点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集,包括:
建立XYZ坐标系,其中,X轴正向沿行驶方向,Z轴正向沿竖直向上方向,Y轴与X轴、Z轴垂直且Y轴正向沿列车的左侧方向;
根据获取的点云数据,确定所述点云数据在所述XYZ坐标系下的所有点的坐标;
利用至少两个体素对所有点进行分割;
对于任一体素,当该体素所包含的点的数量达到预设的点数阈值时,计算该体素的质心,得到该质心的坐标,根据该体素内所有点的坐标、所述质心的坐标以及预设的轨道高度阈值,判断该体素是否对应轨道,若是,将该体素的质心保存于所述轨道点集。
5.根据权利要求4所述的方法,其特征在于,根据该体素内所有点的坐标、所述质心的坐标以及预设的轨道高度阈值,判断该体素是否对应轨道,包括:
根据该体素内所有点的Z轴坐标,确定Z轴坐标最小的点;
判断是否满足:
TzL≤zc-zmin≤TzH (1)
若满足,则该体素对应轨道;其中,TzH为第一轨道高度阈值,TzL为第二轨道高度阈值,zmin为所述Z轴坐标最小的点的Z轴坐标,zc为所述质心的Z轴坐标。
6.根据权利要求4所述的方法,其特征在于,所述将轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,包括:
将所有轨道点投影至XOY平面,各轨道点投影后形成投影轨道点;
所述将所有投影轨道点划分为N个分区,形成N个分区点集,包括:
根据所有投影轨道点的X轴坐标,确定X轴坐标最小的投影轨道点和X轴坐标最大的投影轨道点;
按照预设的分区长度,将所述X轴坐标最小的投影轨道点到所述X轴坐标最大的投影轨道点之间的线段划分为N个分区,形成N个分区点集。
7.根据权利要求1所述的方法,其特征在于,根据所述线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中,包括:
若所述线段的数量为一条,将所述线段的两个端点归类于所述待定集合中;
若所述线段的数量为两条,确定两条线段的其中一条为左侧线段,另一条为右侧线段,将所述左侧线段的两个端点归类于所述左侧轨道集合,将所述右侧线段的两个端点归类于所述右侧轨道集合;
若线段的数量大于两条,按照线段长短对各线段进行排序,对于最长的两条线段,确定两条线段的其中一条为左侧线段,另一条为右侧线段,将所述左侧线段的两个端点归类于所述左侧轨道集合,将所述右侧线段的两个端点归类于所述右侧轨道集合。
8.根据权利要求7所述的方法,其特征在于,所述确定两条线段的其中一条为左侧线段,另一条为右侧线段,包括:
分别计算所述两条线段的中点,设第一条线段的中点坐标为M1(x1,y1),第二条线段的中点坐标为M2(x2,y2);
如果y1≥y2,将所述第一条线段归类为所述左侧线段,将所述第二条线段归类为所述右侧线段;
如果y1<y2,将所述第二条线段归类为所述左侧线段,将所述第一条线段归类为所述右侧线段。
9.根据权利要求1所述的方法,其特征在于,所述根据左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线,包括:
根据所述左侧轨道集合中的各端点,利用最小中值平方方法进行曲线拟合,得到左侧轨道曲线;
所述根据右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线,包括:
根据所述右侧轨道集合中的各端点,利用最小中值平方方法进行曲线拟合,得到右侧轨道曲线。
10.一种轨道检测装置,其特征在于,包括:
获取模块,用于获取行驶方向上的点云数据;
轨道点确定模块,用于根据所述点云数据选取至少两个可能的轨道点,形成包括至少两个可能的轨道点的轨道点集;
分区模块,用于将所述轨道点集中的所有轨道点投影至预定平面,各轨道点投影后形成投影轨道点,将所有投影轨道点划分为N个分区,形成N个分区点集,每个分区点集包括至少两个投影轨道点;
直线拟合与归类模块,用于对于每个分区点集,将该分区点集中的所有投影轨道点进行直线拟合,得到至少一条线段;根据所述线段的数量,将各线段的两个端点归类于待定集合、左侧轨道集合和右侧轨道集合中的一个或几个中;对N个分区点集进行直线拟合和线段归类后,得到最终的待定集合、左侧轨道集合和右侧轨道集合;
轨道确定模块,当判断所述待定集合为空时,根据所述左侧轨道集合中的各端点,确定表示左侧轨道的左侧轨道曲线;根据所述右侧轨道集合中的各端点,确定表示右侧轨道的右侧轨道曲线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110333669.2A CN115123335B (zh) | 2021-03-29 | 2021-03-29 | 一种轨道检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110333669.2A CN115123335B (zh) | 2021-03-29 | 2021-03-29 | 一种轨道检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115123335A CN115123335A (zh) | 2022-09-30 |
CN115123335B true CN115123335B (zh) | 2023-09-19 |
Family
ID=83375488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110333669.2A Active CN115123335B (zh) | 2021-03-29 | 2021-03-29 | 一种轨道检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115123335B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107792115A (zh) * | 2017-09-07 | 2018-03-13 | 中铁二院工程集团有限责任公司 | 一种利用三维激光点云自动提取既有线轨顶高程方法 |
WO2018133851A1 (zh) * | 2017-01-22 | 2018-07-26 | 腾讯科技(深圳)有限公司 | 一种点云数据处理方法、装置及计算机存储介质 |
CN108657222A (zh) * | 2018-05-03 | 2018-10-16 | 西南交通大学 | 基于车载Lidar点云的铁路轨道轨距和水平参数测量方法 |
CN110647798A (zh) * | 2019-08-05 | 2020-01-03 | 中国铁路设计集团有限公司 | 基于车载移动激光点云的轨道中线自动检测方法 |
CN111811530A (zh) * | 2020-06-16 | 2020-10-23 | 当家移动绿色互联网技术集团有限公司 | 车道线生成方法、装置、存储介质及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3172106B1 (en) * | 2014-07-25 | 2020-02-19 | General Impianti S.r.l. | Method to obtain data concerning the upper profile of an element of a railway track or switch |
-
2021
- 2021-03-29 CN CN202110333669.2A patent/CN115123335B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018133851A1 (zh) * | 2017-01-22 | 2018-07-26 | 腾讯科技(深圳)有限公司 | 一种点云数据处理方法、装置及计算机存储介质 |
CN107792115A (zh) * | 2017-09-07 | 2018-03-13 | 中铁二院工程集团有限责任公司 | 一种利用三维激光点云自动提取既有线轨顶高程方法 |
CN108657222A (zh) * | 2018-05-03 | 2018-10-16 | 西南交通大学 | 基于车载Lidar点云的铁路轨道轨距和水平参数测量方法 |
CN110647798A (zh) * | 2019-08-05 | 2020-01-03 | 中国铁路设计集团有限公司 | 基于车载移动激光点云的轨道中线自动检测方法 |
CN111811530A (zh) * | 2020-06-16 | 2020-10-23 | 当家移动绿色互联网技术集团有限公司 | 车道线生成方法、装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
三维激光扫描仪在轨距提取中的应用研究;常占奎;;铁道建筑(06);全文 * |
基于体素生长的点云结构直线段提取;李明磊;宗文鹏;李广云;王力;;光学学报(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115123335A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107016705B (zh) | 计算机视觉系统中的地平面估计 | |
CN109270545B (zh) | 一种定位真值校验方法、装置、设备及存储介质 | |
Gao et al. | Smartphone-based real time vehicle tracking in indoor parking structures | |
CN111077541B (zh) | 一种障碍物识别方法、障碍物识别装置及移动机器人 | |
WO2016086792A1 (zh) | 一种驾驶行为分析方法及设备 | |
CN108364253A (zh) | 车辆定损方法、系统以及电子设备 | |
CN110663060B (zh) | 一种用于表示环境元素的方法、装置、系统、以及车辆/机器人 | |
US20150104075A1 (en) | Z-axis determination in a 2d gesture system | |
US10275665B2 (en) | Device and method for detecting a curbstone in an environment of a vehicle and system for curbstone control for a vehicle | |
JP6119225B2 (ja) | 交差点道路境界検出装置及びプログラム | |
CN112700479A (zh) | 一种基于cnn点云目标检测的配准方法 | |
CN110293563A (zh) | 估计机器人位姿的方法、设备及存储介质 | |
CN114111774A (zh) | 车辆的定位方法、系统、设备及计算机可读存储介质 | |
Li et al. | Smartphone based car-searching system for large parking lot | |
CN108571967B (zh) | 一种定位方法和装置 | |
CN110530398A (zh) | 一种电子地图精度检测的方法及装置 | |
CN115123335B (zh) | 一种轨道检测方法及装置 | |
CN112363196A (zh) | 车辆属性确定方法、装置、存储介质和电子设备 | |
KR20130086819A (ko) | 차량 mms를 이용한 과속방지턱 정보 취득방법 | |
CN116385999A (zh) | 一种停车位的识别方法、装置及设备 | |
CN113252028B (zh) | 输水隧洞内机器人的定位方法、电子设备及存储介质 | |
KR20170070523A (ko) | 차량의 피치 각도를 산출하기 위한 장치 및 그 방법 | |
CN117434522A (zh) | 激光雷达与定位设备的标定方法、装置和标定设备 | |
CN116022198A (zh) | 一种地铁隧道内的列车定位方法、装置、设备及存储介质 | |
CN109839645A (zh) | 速度检测方法、系统、电子设备和计算机可读介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |