CN115423824A - 一种基于点云体素矩形栅格的火车车厢的定位与分割方法 - Google Patents
一种基于点云体素矩形栅格的火车车厢的定位与分割方法 Download PDFInfo
- Publication number
- CN115423824A CN115423824A CN202211030151.2A CN202211030151A CN115423824A CN 115423824 A CN115423824 A CN 115423824A CN 202211030151 A CN202211030151 A CN 202211030151A CN 115423824 A CN115423824 A CN 115423824A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- train
- carriage
- axis
- carriages
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明涉及点云处理目标定位和分割领域,特别是一种基于点云体素矩形栅格的火车车厢的定位与分割方法,包括以下步骤:通过多激光雷达提取出火车车厢的点云,并获取所有火车车厢中心的Y轴坐标;将火车车厢的平面点云矩形栅格化,并将选出的重心点的X坐标值的一维数组W;对一维数组W中每三个重心点的X坐标值进行限制,计算出火车车厢X轴坐标值、火车车厢的长度以及每节火车车厢之间的距离;根据已经定位出的火车车厢补全其他缺失的车厢点云数据;根据每节车厢的位置和计算出的每节车厢的长度,对初始的三维火车点云进行分割。本发明可以十分快速且准确的找到负责运送矿料的每节车厢的位置,为整个矿区的自动无人化改造的实现提供前提条件。
Description
技术领域
本发明涉及点云处理目标定位和分割领域,特别是一种基于点云体素矩形 栅格的火车车厢的定位与分割方法。
背景技术
钢铁产量是衡量一个国家工业实力的重要评判标准之一,随着国家工业化 进程的深入,铁矿矿料的需求也越来越大,在矿料车间的自动化改造过程中常 采用多个激光雷达来感知外部环境信息,为了能够扫描到整个车间,激光雷达 多安装在车间的顶部。然而,这种安装方式常导致雷达到火车的距离相对于矿 料车间中敞车车厢之间的距离相差过大。在这种条件下雷达采集到的点云会十 分的杂乱稀疏且部分缺失;随着车厢中堆积的矿料越来越多,雷达采集到的点 云也会不断变化;且车间中的火车可能有不同的型号尺寸、在装完一部分车厢 之后火车还会向前运动。这些情况都会给车厢的定位和分割带来困难。
发明内容
本发明目的是根据点云体素的思想,提出了一种基于平面矩形栅格的矿区 敞车车厢的点云定位与分割方法,可以清晰鲁棒的定位分割出每节火车的车厢, 且准确率满足实际的需求。
本发明为实现上述目的所采用的技术方案是:一种基于点云体素矩形栅格 的火车车厢的定位与分割方法,其特征在于,包括以下步骤:
1)按照要求在矿料车间安装多个标定后的多激光雷达,通过多激光雷达对 目标矿料厂区的点云进行采集,提取出矿料车间中火车车厢的点云;
2)将火车点云在时间轴t上进行积分累积,并去掉火车车厢点云的地面点云, 获取所有火车车厢中心的Z轴坐标;将经过去除地面的三维火车车厢点云向X-Y 平面映射投影,得到火车车厢的平面点云,获取所有火车车厢中心的Y轴坐标;
3)将火车车厢的平面点云矩形栅格化,并获取每一个矩形栅格中点云的线 密度,选出点云线密度最大的前n个栅格;获取前n个栅格中每一个矩形栅格中 点云的重心,并将选出的重心点的X坐标值从小到大排序组成一个一维数组W;
4)根据矿区中火车车厢的规格尺寸对步骤3)中的一维数组W中每三个重 心点的X坐标值进行限制,获取已筛选出的符合要求的相邻3个重心点的X坐标, 并计算出火车车厢X轴坐标值、火车车厢的长度以及每节火车车厢之间的距离;
5)根据已经定位出的火车车厢补全其他缺失无法定位出的车厢点云数据;
6)根据全部定位出的每节车厢的位置和计算出的每节车厢的长度,对初始 的三维火车点云进行分割。
所述步骤1)具体为:
1-1)所述按照要求在矿料车间安装多个标定后的多激光雷达,即:
按照实际火车轨道的方向进行多激光雷达设置,即让多激光雷达统一的世 界坐标系X轴平行于火车轨道的方向,世界坐标系的Y轴垂直于火车轨道方向;
1-2)对矿料车间进行雷达点云采集,在得到矿料车间的点云数据之后,对 其在XYZ轴上的点云进行点云截断处理,单独提取出火车车厢的点云。
步骤2)中,所述获取所有火车车厢中心的Z轴坐标,包括以下步骤:
2-1)在时间轴t方向上每T帧点云进行积分,合成为一帧点云PCT,以使处理 后的点云稠密,对点云PCT使用统计滤波器去掉离群异常点,得到点云Q;
2-2)将点云Q中的点的z坐标值进行从小到大的排序,并从中取出m个z坐标 最小的点组成集合A;
2-3)计算出集合A中所有点的z坐标值的平均值zmean,再将点云Q中小于 zmean+d0的点都提取出来拟合形成初始平面点云Qsrc,其中,d0值为根据实际情况 设定阈值;
对初始平面点云Qsrc拟合点云平面,先对点云Qsrc进行协方差计算,获取点 云Qsrc的完整协方差矩阵M;
2-4)对协方差矩阵M进行SVD分解,得到最小奇异值对应的向量即拟合平 面的法向量n=(a,b,c)T,进而获取参数a,b,c;
2-6)计算点云Q中的点到拟合平面L的距离d1;
若d1<dL,dL为设定的点云中点到拟合平面的最大允许值,则该点为地面 点,反之,d1≥dL,则该点为非地面点;
遍历点云Q中所有的点,得到火车点云Q中的非地面点云Qtar;
2-7)获取火车点云的Z轴方向上的最大值z_max和最小值z_min,则所有火 车车厢中心的Z轴坐标ztr和火车的高度Carriage_height分别为:
步骤2)中,所述获取所有火车车厢中心的Y轴坐标,具体为:
将经过处理的3维火车车厢点云向X-Y的2维平面映射,计算映射的点云平面 的Y轴上的最大值y_max和最小值y_min,则火车所有车厢中心的Y轴坐标值ytr和车厢的宽度Carriage_width,即:
所述步骤3),包括以下步骤:
3-1)将火车平面点云沿着X轴方向划分为x_num个矩形栅格,即:
其中,length为平面火车点云X轴方向最大长度,x_num为平面火车点云划 分栅格的总个数,Δl为X轴方向每一个栅格的长度;
划分后得到一个一维数组W={w1,w2,w3,.....,wx_num};
其中,wx_num为每一个栅格内的点云团;
3-2)将划分后得到的一维数组W={w1,w2,w3,.....,wx_num}中每一个点依照公式(4)归类到属于自己的点云wix中,使火车平面点云中每一个点都有存在唯一的 一个wix,即:
ix=(xi-x_min)/Δl (4)
其中,xi为火车平面点云中每一个点的x轴坐标值;x_min为X轴最小坐标值, Δl为X轴方向每一个栅格的长度;
3-3)依次计算每一个点云团wix中的点云线密度,即:
每个点云团点的总数/(该点云团Y轴最大坐标值-该点云团Y轴最小坐标 值),获取集合P={P1,P2,P3,..,Px_num};
3-4)将集合P从大到小排序并取出前num个,分别找出这num个点云密度各 自所对应的点云团wix,补全一维数组W={w1,w2,w3,.....,wx_num}。
所述步骤4)中,获取火车车厢的长度以及每节火车车厢之间的距离,具体 为:
分别求一维数组W中每一个点云团重心的X轴坐标值并组成集合 list_x={xg1,xg2,xg3,....,xgnum},将集合list_x从小到大排序;
提取出依次相邻的3个点云团重心在X轴上的坐标值之间满足以下条件,即:
其中,l1、l2、l3、l4分别为根据火车车厢实际尺寸限制相邻3个点云团重心 之间的位置关系的尺寸长度,用来筛选出看作火车车厢短边的点云团;
且该节车厢的X轴坐标值xtr,即:
其中,xtr为该节车厢的中心X轴坐标;Carriage_length为该节车厢的长度;Carriage_space为两车厢之间的间隙;
遍历迭代完集合list_x中所有的值之后,计算所有符合公式(8)的重心点, 根据公式(6)计算出对应车厢中心的X坐标;
接收到的矿料厂区激光雷达数据定位到的每节车厢的中心位置(xtr,ytr,ztr); 当某一时刻的激光雷达采集的数据中点云数量达到阈值时,定位出每节车厢的 位置。
所述步骤5)具体为:
5-1)计算存在点云空缺处前后两节车厢之间的中心距m,同时计算出中心 距m为train_lh的k倍,其中,train_lh为单节车厢的长度和两节连续车厢之间的空 隙长度之和;
5-2)当k>2时,则可判定该两节车厢之间存在缺失车厢,且缺失的车厢的数 量为k-1,缺失处的车厢中心X轴坐标通过依次对空缺处前一节车厢的中心X坐标 值加上i+1个train_lh,i<k-1;
5-3)当缺失处的位置处于已定位车厢的前面时,比较当前已定位出的车厢 中心位置X轴的最大坐标值xend和当前整个火车车厢点云X轴上的最大坐标值 x_max,若满足公式(7),则在已定位的车厢中心X轴坐标最大值xend的位置基础 上,继续对应的向前补全ml个车厢,且每一个车厢中心位置之间间隔train_lh;
xend+(ml·train_lh)<x_max (7)
其中,ml取大于等于0的整数;train_lh=单节车厢的长度+每两个车厢之 间的间隙,m;
5-4)当缺失处的位置处于已定位车厢的后面时,比较当前已定位出的车厢 中心位置X轴的最小坐标值xsta和目前整个火车点云X轴上的最小坐标值x_min, 若满足公式(8),则在已定位的车厢中心X轴坐标最小值xsta的位置基础上继续对 应的向后面补全r个车厢,且每一个车厢中心位置之间间隔train_lh;
xsta-r·train_lh>x_min (8)
其中,r取大于等于0的整数;train_lh=单节车厢的长度+每两个车厢之 间的间隙,m;
5-5)重复步骤5-1)~5-4),补全全部缺失部分的车厢。
所述步骤7)具体为:
对矿料车间中火车的各节车厢完成定位后,依据定位出来的各节车厢中心 在X轴上的位置分割出实际点云中的车厢,即:
将实际火车点云中到各节车厢的中心位置在X轴上的距离≤单节车厢长度的 一半的点云进行分割聚类,实现对车厢的分割。
本发明具有以下有益效果及优点:
1.在矿区的自动无人化改造中,本发明可以十分快速且准确的找到负责运 送矿料的每节车厢的位置,可作为矿区的自动控中心的“眼睛”,为整个矿区的 自动无人化改造的实现提供前提条件。
2.在使用激光雷达感知敞车时,本发明可以在每帧敞车点云缺失稀疏的情 况下,依然可以鲁棒的定位出每节车厢中心的位置。
3.在使用激光雷达感知敞车时,当面对由于激光雷达固定的位置太远而敞 车车厢之间的距离相对雷达距离敞车的距离而言太小时,本发明依然可以鲁棒 的定位出每节车厢的中心位置。
4.在使用激光雷达感知敞车时,当敞车车厢中的点云形状体积会随着车厢 中的矿料堆积的大小变化而实时变化时,本发明依然可以不受影响的定位出每 节车厢中心的位置。
5.当需要定位的敞车在实时检测过程中,并不会一直保持静止,而存在一 定的运动时,本发明依然可以很好的定位出每节车厢的中心位置。
6.当在定位检测过程中敞车的规格不唯一时,本发明依然可以很好的自动 定位出每节车厢的中心位置。
附图说明
图1是本发明的实际矿料车间图;
图2是本发明的整个矿料车间的雷达扫描点云图;
图3是本发明的单独的火车点云图;
图4是本发明的积分累积后的火车点云图;
图5是本发明的已投影映射X-Y平面而未累积的火车点云;
图6是本发明的已投影映射X-Y平面且已累积的火车点云;
图7是本发明的火车点云平面栅格划分图;
图8是本发明的提取的多个点云叠加后可视化图;
图9是本发明的相邻点云示意图;
图10(a)是本发明完整连续的车厢定位图;
图10(b)是本发明的部分车厢定位图;
图10(c)是本发明的车厢定位补全图;
图11是本发明所述的分割出的单个车厢点云图;
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
一种基于平面矩形栅格的矿区敞车车厢的点云定位与分割方法,步骤如下:
S1:多激光雷达安装配置;
S2:矿料厂区的点云采集,提取出火车部分的点云;
S3:将火车点云在时间轴t上进行积分累积,并去掉火车点云的地面,计算 所有火车车厢中心的Z轴坐标;
S4:将经过去除地面的3维火车点云向平面映射,计算出火车所有车厢中 心的Y轴坐标;
S5:火车平面点云矩形栅格化;
S6:计算每一个矩形栅格中点云的线密度,选出点云线密度最大的前n个 栅格;
S7:计算出每一个已选出的矩形栅格中点云的重心,并将这些重心点的X 坐标值从小到大排序组成一个一维数组;
S8:根据矿区中可能出现的几种敞车的规格尺寸对S7中得到的一维数组中 每三个进行限制,筛选定位出最准确鲁棒的车厢位置,计算出车厢X轴坐标值、 车厢的长度和每节车厢之间的距离;
S9:根据已经定位出的火车车厢补全其他因点云数据缺失等原因造成的无 法未定位出的车厢部分;
S10:根据已经定位出的每节车厢的位置和计算出的每节车厢的长度,对初 始的三维火车点云进行分割。
所述S1中,在矿料车间安装并标定配置多个雷达时,按照实际火车轨道的 方向来设置,即让最终多雷达统一的世界坐标系的X轴平行于火车轨道的方向, 世界坐标系的Y轴垂直于火车轨道方向;
所述S2中,对矿料车间进行雷达点云采集(实际车间图如图1所示,采集 完的整个矿料车间点云图如图2所示,在得到矿料车间的点云数据之后,对其 在XYZ轴上进行点云截断处理,单独提取出火车部分的点云,如图3所示;
本实施例根据实际采集到的矿料车间的数据和火车铁轨的宽度,将每一帧 车间点云中符合公式(1)的点单独截断提取出来。
式中:x y z分别为点云的xyz轴三个方向的坐标值,m。
所述S3中,火车点云去地面方法和火车车厢中心的Z轴坐标计算方法如下:
如图3所示,为了解决从实际现场实时采集的rosbag数据包中解析出来的 单帧点云过于稀疏的问题;
S3.1可采用在时间轴t方向上每T(本文取20)帧点云积分合成为一帧点 云PCT再统一处理的方式,让需要直接处理的点云更加稠密,即:如图4所示, 为积分累积后的火车点云图,同时每20帧一起处理对时效性也不会造成太大的 影响。
S3.2将点云Q中的点的z坐标值进行从小到大的排序,并从中取出m个z 坐标最小的点组成集合A;
S3.3计算出集合A中所有点的z坐标值的平均值zmean,再将点云Q中小于 zmean+d0的点都提取出来拟合形成初始平面点云Qsrc,其中,d0值为根据实际情 况设定阈值,d0取0.1;
对初始平面点云Qsrc拟合点云平面,先对点云Qsrc进行协方差计算,即:
获取点云Qsrc的完整协方差矩阵M,即:
2-4)对协方差矩阵M进行SVD分解,得到最小奇异值对应的向量即拟合 平面的法向量n=(a,b,c)T,进而获取参数a,b,c;
其中,a、b、c、d为平面参数,n=(a,b,c)T,X=(x,y,z)T;
2-6)计算点云Q中的点到拟合平面L的距离d1;
若d1<dL,dL为设定的点云中点到拟合平面的最大允许值,则该点为地面 点,反之,d1≥dL,则该点为非地面点;
遍历点云Q中所有的点,得到火车点云Q中的非地面点云Qtar;
2-7)获取火车点云的Z轴方向上的最大值z_max和最小值z_min,则所有 火车车厢中心的Z轴坐标ztr和火车的高度Carriage_height分别为:
所述S4中,将经过上述处理的3维火车点云向X-Y 2维平面映射,即如图 6所示,通过图3、图4、图5和图6对比,可明显看出经过上述方法处理的火 车点云更加的完整且火车车厢轮廓更加的鲁棒。此时可直接计算映射的点云平 面的Y轴上的最大值y_max和最小值y_min,则火车所有车厢中心的Y轴坐标 值ytr和车厢的宽度Carriage_width可用如下公式计算:
S5-S10中,火车平面点云矩形栅格化方法和车厢的定位分割方法具体如下:
S5.1将上述方法处理后的火车平面点云沿着X轴方向划分为 x_num(width×Δl)个矩形栅格,见公式6和图7。
其中,length为平面火车点云X轴方向最大长度,x_num为平面火车点云 划分栅格的总个数,Δl为X轴方向每一个栅格的长度;
划分后得到一个一维数组W={w1,w2,w3,.....,wx_num};
其中,wx_num为每一个栅格内的点云团;
S5.2将划分后得到的一维数组W={w1,w2,w3,.....,wx_num}中每一个点依照公式(7)归类到属于自己的点云wix中,使火车平面点云中每一个点都有存在唯一 的一个wix,即:
ix=(xi-x_min)/Δl (7)
其中,xi为火车平面点云中每一个点的x轴坐标值;x_min为X轴最小坐标 值,Δl为X轴方向每一个栅格的长度;
S5.3依次计算每一个点云团wix中的点云线密度,即:
每个点云团点的总数/(该点云团Y轴最大坐标值-该点云团Y轴最小坐标 值),获取集合P={P1,P2,P3,..,Px_num};
S5.4将集合P从大到小排序并取出前num个(num可根据车间的大小调整, 本文取12),分别找出这num个点云密度各自所对应的点云团wix,将得到的 num个点云团叠加后使用rviz可视化如图8所示,补全一维数组 W={w1,w2,w3,.....,wx_num}。
由于在激光雷达的扫描下,火车车厢的周围金属固体轮廓显示的点云要比 矿料点云更加稠密,另一方面点云又经过了时间轴上的积分累积处理,使得车 厢周围的轮廓点云与其他点云的区别变得更加明显,即如图7所示。车厢的Y 轴坐标在上文中可以容易的求得,所以本文将通过提取车厢短边轮廓点云的方 式来间接计算车厢的X轴坐标。
再分别求每一个点云团重心的X轴坐标值并组成集合
list_x={xg1,xg2,xg3,....,xgnum},将集合list_x从小到大排序。如图9所示,如果提取 出依次相邻的3个点云团重心在X轴上的坐标值之间满足公式(8),则可根据:
其中,l1、l2、l3、l4分别是限制相邻3个点云团重心之间的大致位置关系(由 于车厢的种类可能存在多种,所以l1,l2,l3,l4的取值只需要参考车间实际使用的几 种火车车厢的尺寸来大概取值限制即可,本文l1=1.5m,l2=0.6m,l3=15m,l4=11m), 用来筛选出可以近似看作火车车厢短边的点云团。
该节车厢的X轴坐标值xtr可由公式(9)求得。
其中,xtr为该节车厢的中心X轴坐标;Carriage_length为该节车厢的长度;Carriage_space为两车厢之间的间隙;
再遍历迭代完集合list_x中所有的值之后,就可以计算出经过在时间轴上积 分后的这一帧点云中所有符合公式(8)的重心点,最终根据(9)计算出对应 车厢中心的X坐标。到此,便可以对接收到的矿料厂区激光雷达数据进行自动 定位每节车厢的中心位置(xtr,ytr,ztr)。当某一时刻的激光雷达采集的数据较好 时,通过本文上述方法可以完整且连续的定位出每节车厢的位置(如图10(a), 图中红色的立方体便是定位出的可视化车厢标识)。
当矿料厂区的激光雷达在火车区域扫描到的雷达数据并不好时,那么自动 计算得到的车厢定位结果或许会出现部分缺失(如图10(b))。此时就需要根 据该帧点云下,已经计算出的缺失处前后车厢的位置来补全缺失处,即计算空 缺处前后两节车厢之间的中心距m,同时计算出中心距m是train_lh(train_lh 为上文计算出的单节车厢的长度和两节连续车厢之间的空隙长度之和)的k倍。 当k>2时,则可判定该两节车厢之间存在缺失车厢,且缺失的车厢的数量为k-1, 缺失处的车厢中心X轴坐标可以通过依次对空缺处前一节车厢的中心X坐标值 加上i+1(i从0开始每次加1,i<k-1)个train_lh的方式,便可以得到空缺处所 有未识别出车厢的X轴中心坐标,最终补全缺失部分的车厢(如图10(c),其 中较高一些的车厢是最初便可以识别出来的车厢位置,低一些的车厢是后来在 缺失位置补全的)。
当缺失处的位置处于已定位车厢的前面时,比较当前已定位出的车厢中心 位置X轴的最大坐标值xend和当前整个火车车厢点云X轴上的最大坐标值x_max, 若满足公式(10),则在已定位的车厢中心X轴坐标最大值xend的位置基础上, 继续对应的向前补全ml个车厢,且每一个车厢中心位置之间间隔train_lh;
xend+(ml·train_lh)<x_max (10)
其中,ml取大于等于0的整数;train_lh=单节车厢的长度+每两个车厢之间 的间隙,m;
5-4)当缺失处的位置处于已定位车厢的后面时,比较当前已定位出的车厢 中心位置X轴的最小坐标值xsta和目前整个火车点云X轴上的最小坐标值x_min, 若满足公式(11),则在已定位的车厢中心X轴坐标最小值xsta的位置基础上继 续对应的向后面补全r个车厢,且每一个车厢中心位置之间间隔train_lh;
xsta-r·train_lh>x_min (11)
其中,r取大于等于0的整数;train_lh=单节车厢的长度+每两个车厢之 间的间隙,m;
再对矿料车间中敞车的各节车厢完成定位后,可依据定位出来的各节车厢 中心在X轴上的位置来分割出实际点云中的车厢,即将实际火车点云中到各节 车厢的中心位置在X轴上的距离小于等于单节车厢长度的一半的点都分割聚类 到一起,就对实际火车点云完成了车厢的分割,如图11。
到此,通过本文上述提出的火车车厢定位与分割方法便可以解决在矿料车 间中,由于雷达安装高度到火车之间的距离和火车车厢之间的距离差距过大导 致车厢之间的点云太紧密、采集到的点云太杂乱稀疏、火车部分点云会随着车 厢中的矿料体积的变化而变化、火车在部分车厢装完后会向前移动,以及火车 的种类并不唯一对车厢点云定位与分割带来的不利影响。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细, 但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域 的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和 改进,这些都属于本发明的保护范围。
Claims (8)
1.一种基于点云体素矩形栅格的火车车厢的定位与分割方法,其特征在于,包括以下步骤:
1)按照要求在矿料车间安装多个标定后的多激光雷达,通过多激光雷达对目标矿料厂区的点云进行采集,提取出矿料车间中火车车厢的点云;
2)将火车点云在时间轴t上进行积分累积,并去掉火车车厢点云的地面点云,获取所有火车车厢中心的Z轴坐标;将经过去除地面的三维火车车厢点云向X-Y平面映射投影,得到火车车厢的平面点云,获取所有火车车厢中心的Y轴坐标;
3)将火车车厢的平面点云矩形栅格化,并获取每一个矩形栅格中点云的线密度,选出点云线密度最大的前n个栅格;获取前n个栅格中每一个矩形栅格中点云的重心,并将选出的重心点的X坐标值从小到大排序组成一个一维数组W;
4)根据矿区中火车车厢的规格尺寸对步骤3)中的一维数组W中每三个重心点的X坐标值进行限制,获取已筛选出的符合要求的相邻3个重心点的X坐标,并计算出火车车厢X轴坐标值、火车车厢的长度以及每节火车车厢之间的距离;
5)根据已经定位出的火车车厢补全其他缺失无法定位出的车厢点云数据;
6)根据全部定位出的每节车厢的位置和计算出的每节车厢的长度,对初始的三维火车点云进行分割。
2.根据权利要求1所述的一种基于点云体素矩形栅格的火车车厢的定位与分割方法,其特征在于,所述步骤1)具体为:
1-1)所述按照要求在矿料车间安装多个标定后的多激光雷达,即:
按照实际火车轨道的方向进行多激光雷达设置,即让多激光雷达统一的世界坐标系X轴平行于火车轨道的方向,世界坐标系的Y轴垂直于火车轨道方向;
1-2)对矿料车间进行雷达点云采集,在得到矿料车间的点云数据之后,对其在XYZ轴上的点云进行点云截断处理,单独提取出火车车厢的点云。
3.根据权利要求1所述的一种基于点云体素矩形栅格的火车车厢的定位与分割方法,其特征在于,步骤2)中,所述获取所有火车车厢中心的Z轴坐标,包括以下步骤:
2-1)在时间轴t方向上每T帧点云进行积分,合成为一帧点云PCT,以使处理后的点云稠密,对点云PCT使用统计滤波器去掉离群异常点,得到点云Q;
2-2)将点云Q中的点的z坐标值进行从小到大的排序,并从中取出m个z坐标最小的点组成集合A;
2-3)计算出集合A中所有点的z坐标值的平均值zmean,再将点云Q中小于zmean+d0的点都提取出来拟合形成初始平面点云Qsrc,其中,d0值为根据实际情况设定阈值;
对初始平面点云Qsrc拟合点云平面,先对点云Qsrc进行协方差计算,获取点云Qsrc的完整协方差矩阵M;
2-4)对协方差矩阵M进行SVD分解,得到最小奇异值对应的向量即拟合平面的法向量n=(a,b,c)T,进而获取参数a,b,c;
2-6)计算点云Q中的点到拟合平面L的距离d1;
若d1<dL,dL为设定的点云中点到拟合平面的最大允许值,则该点为地面点,反之,d1≥dL,则该点为非地面点;
遍历点云Q中所有的点,得到火车点云Q中的非地面点云Qtar;
2-7)获取火车点云的Z轴方向上的最大值z_max和最小值z_min,则所有火车车厢中心的Z轴坐标ztr和火车的高度Carriage_height分别为:
5.根据权利要求1所述的一种基于点云体素矩形栅格的火车车厢的定位与分割方法,其特征在于,所述步骤3),包括以下步骤:
3-1)将火车平面点云沿着X轴方向划分为x_num个矩形栅格,即:
其中,length为平面火车点云X轴方向最大长度,x_num为平面火车点云划分栅格的总个数,Δl为X轴方向每一个栅格的长度;
划分后得到一个一维数组W={w1,w2,w3,.....,wx_num};
其中,wx_num为每一个栅格内的点云团;
3-2)将划分后得到的一维数组W={w1,w2,w3,.....,wx_num}中每一个点依照公式(4)归类到属于自己的点云wix中,使火车平面点云中每一个点都有存在唯一的一个wix,即:
ix=(xi-x_min)/Δl (4)
其中,xi为火车平面点云中每一个点的x轴坐标值;x_min为X轴最小坐标值,Δl为X轴方向每一个栅格的长度;
3-3)依次计算每一个点云团wix中的点云线密度,即:
每个点云团点的总数/(该点云团Y轴最大坐标值-该点云团Y轴最小坐标值),获取集合P={P1,P2,P3,..,Px_num};
3-4)将集合P从大到小排序并取出前num个,分别找出这num个点云密度各自所对应的点云团wix,补全一维数组W={w1,w2,w3,.....,wx_num}。
6.根据权利要求1所述的一种基于点云体素矩形栅格的火车车厢的定位与分割方法,其特征在于,所述步骤4)中,获取火车车厢的长度以及每节火车车厢之间的距离,具体为:
分别求一维数组W中每一个点云团重心的X轴坐标值并组成集合list_x={xg1,xg2,xg3,....,xgnum},将集合list_x从小到大排序;
提取出依次相邻的3个点云团重心在X轴上的坐标值之间满足以下条件,即:
其中,l1、l2、l3、l4分别为根据火车车厢实际尺寸限制相邻3个点云团重心之间的位置关系的尺寸长度,用来筛选出看作火车车厢短边的点云团;
该节车厢的X轴坐标值xtr,即:
其中,xtr为该节车厢的中心X轴坐标;Carriage_length为该节车厢的长度;Carriage_space为两车厢之间的间隙;
遍历迭代完集合list_x中所有的值之后,计算所有符合公式(8)的重心点,根据公式(6)计算出对应车厢中心的X坐标;
接收到的矿料厂区激光雷达数据定位到的每节车厢的中心位置(xtr,ytr,ztr);当某一时刻的激光雷达采集的数据中点云数量达到阈值时,定位出每节车厢的位置。
7.根据权利要求1所述的一种基于点云体素矩形栅格的火车车厢的定位与分割方法,其特征在于,所述步骤5)具体为:
5-1)计算存在点云空缺处前后两节车厢之间的中心距m,同时计算出中心距m为train_lh的k倍,其中,train_lh为单节车厢的长度和两节连续车厢之间的空隙长度之和;
5-2)当k>2时,则可判定该两节车厢之间存在缺失车厢,且缺失的车厢的数量为k-1,缺失处的车厢中心X轴坐标通过依次对空缺处前一节车厢的中心X坐标值加上i+1个train_lh,i<k-1;
5-3)当缺失处的位置处于已定位车厢的前面时,比较当前已定位出的车厢中心位置X轴的最大坐标值xend和当前整个火车车厢点云X轴上的最大坐标值x_max,若满足公式(7),则在已定位的车厢中心X轴坐标最大值xend的位置基础上,继续对应的向前补全ml个车厢,且每一个车厢中心位置之间间隔train_lh;
xend+(ml·train_lh)<x-max (7)
其中,ml取大于等于0的整数;train_lh=单节车厢的长度+每两个车厢之间的间隙,m;
5-4)当缺失处的位置处于已定位车厢的后面时,比较当前已定位出的车厢中心位置X轴的最小坐标值xsta和目前整个火车点云X轴上的最小坐标值x_min,若满足公式(8),则在已定位的车厢中心X轴坐标最小值xsta的位置基础上继续对应的向后面补全r个车厢,且每一个车厢中心位置之间间隔train_lh;
xsta-r·train_lh>x_min (8)
其中,r取大于等于0的整数;train_lh=单节车厢的长度+每两个车厢之间的间隙,m;
5-5)重复步骤5-1)~5-4),补全全部缺失部分的车厢。
8.根据权利要求1所述的一种基于点云体素矩形栅格的火车车厢的定位与分割方法,其特征在于,所述步骤7)具体为:
对矿料车间中火车的各节车厢完成定位后,依据定位出来的各节车厢中心在X轴上的位置分割出实际点云中的车厢,即:
将实际火车点云中到各节车厢的中心位置在X轴上的距离≤单节车厢长度的一半的点云进行分割聚类,实现对车厢的分割。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211030151.2A CN115423824A (zh) | 2022-08-26 | 2022-08-26 | 一种基于点云体素矩形栅格的火车车厢的定位与分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211030151.2A CN115423824A (zh) | 2022-08-26 | 2022-08-26 | 一种基于点云体素矩形栅格的火车车厢的定位与分割方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115423824A true CN115423824A (zh) | 2022-12-02 |
Family
ID=84200477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211030151.2A Pending CN115423824A (zh) | 2022-08-26 | 2022-08-26 | 一种基于点云体素矩形栅格的火车车厢的定位与分割方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115423824A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116363151A (zh) * | 2023-03-15 | 2023-06-30 | 广东科研世智能科技有限公司 | 图像切割方法、装置、电子设备及存储介质 |
CN116882035A (zh) * | 2023-09-07 | 2023-10-13 | 湖南省国土资源规划院 | 一种基于人工智能的空间对象识别与建模方法及相关设备 |
CN117115562A (zh) * | 2023-10-18 | 2023-11-24 | 山西阳光三极科技股份有限公司 | 一种基于深度学习的进站铁路货运列车车厢计数方法 |
-
2022
- 2022-08-26 CN CN202211030151.2A patent/CN115423824A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116363151A (zh) * | 2023-03-15 | 2023-06-30 | 广东科研世智能科技有限公司 | 图像切割方法、装置、电子设备及存储介质 |
CN116363151B (zh) * | 2023-03-15 | 2023-11-03 | 广东科研世智能科技有限公司 | 图像切割方法、装置、电子设备及存储介质 |
CN116882035A (zh) * | 2023-09-07 | 2023-10-13 | 湖南省国土资源规划院 | 一种基于人工智能的空间对象识别与建模方法及相关设备 |
CN116882035B (zh) * | 2023-09-07 | 2023-11-21 | 湖南省国土资源规划院 | 一种基于人工智能的空间对象识别与建模方法及相关设备 |
CN117115562A (zh) * | 2023-10-18 | 2023-11-24 | 山西阳光三极科技股份有限公司 | 一种基于深度学习的进站铁路货运列车车厢计数方法 |
CN117115562B (zh) * | 2023-10-18 | 2023-12-19 | 山西阳光三极科技股份有限公司 | 一种基于深度学习的进站铁路货运列车车厢计数方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115423824A (zh) | 一种基于点云体素矩形栅格的火车车厢的定位与分割方法 | |
CN109684921B (zh) | 一种基于三维激光雷达的道路边界检测与跟踪方法 | |
CN115236628B (zh) | 一种基于激光雷达检测车厢残留货物的方法 | |
CN103778429B (zh) | 一种车载激光扫描点云中道路信息自动提取方法 | |
CN107792115B (zh) | 一种利用三维激光点云自动提取既有线轨顶高程方法 | |
CN112465948B (zh) | 一种保留空间特征的车载激光路面点云抽稀方法 | |
CN110349260B (zh) | 一种路面标线自动提取方法及装置 | |
CN107314741A (zh) | 货物体积测量方法 | |
CN111325138B (zh) | 一种基于点云局部凹凸特征的道路边界实时检测方法 | |
WO2023045299A1 (zh) | 基于三维轮廓的路面技术状况检测方法及设备 | |
CN110736999B (zh) | 基于激光雷达的铁路道岔检测方法 | |
CN113640821B (zh) | 基于单线激光雷达扫描仪扫描的矿车装载量计量方法 | |
CN112414309A (zh) | 基于机载激光雷达的高铁接触线导高及拉出值巡检方法 | |
CN110532963B (zh) | 一种车载激光雷达点云驱动的道路标线精准提取方法 | |
CN117492026B (zh) | 结合激光雷达扫描的铁路货车装载状态检测方法及系统 | |
CN114549879A (zh) | 一种隧道车载扫描点云的标靶识别及中心点提取方法 | |
CN113345094A (zh) | 基于三维点云的电力走廊安全距离分析方法及系统 | |
CN116030289A (zh) | 基于激光雷达的铁路危情监测方法 | |
CN117805848A (zh) | 火车装车状况的检测系统及方法 | |
CN116934832A (zh) | 基于现场参照物的三维点云的实时标定方法 | |
CN111275753A (zh) | 车厢内沙石体积的测量方法 | |
CN116256752A (zh) | 一种港口吊具模板点云自动生成的方法 | |
CN114140459B (zh) | 基于原始激光点云的铁路横断面测量方法 | |
CN114063107A (zh) | 一种基于激光束的地面点云提取方法 | |
CN115824070B (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 |