Fast Segmentation of 3D Point Clouds: A Paradigm on LiDAR Data for Autonomous Vehicle Applications阅读

该篇点云论文主要分为两个阶段的创新:

①点云地面点的提取(Ground Plane Fitting, GPF);

②点云扫描聚类快速提取(Scan Line Run, SLR);

一、Ground Plane Fitting, GPF

先上伪代码图

解释:

第一步:首先根据输入的点云,进行一个按照高度的排序,选出N个高度最低的点,并求取高度平均值,作为后续初始种子的评价,根据高度和预设的阈值进行划分,得到种子点云(可以理解为地面点云的初始化)

第二步:根据获得的初始化点云,求取平面的法向量n 和 d;然后针对输入的所有点云进行一个点到平面距离的计算,获得更新的地面点云和非地面点云,在迭代N次,得到收敛的地面点云和非地面点云集合。

二、Scan Line Run, SLR

LSR主要是针对分割完后的非地面点集合进行一个分类、聚类。

算法流程如下

通过第一个预设好带标签的环进行标签的繁殖扩散,对于距离低于阈值的进行标签繁殖,否则进行标签的新建,当出现冲突时,合并两个冲突的标签,并保留标签ID小的。

这里面有三个问题:

1).如何初始化第一个带标签的环;

2).如何进行扩张,寻找最近邻;

3).如果发生标签冲突,如何合并标签;

1.每个点,都有一个环内标签和点云标签,通过检测标签保证首尾跨越的问题;

2.以Kdtree的形式对点云进行存储,环内标签和点云全局标签可以进行一个转化,在寻找最近邻,通过大概的比例,求出当前点在下一环中的点环内标签;

3.(其实我没看懂,哈哈哈)大概是通过3个一维向量进行维护,待我看了参考文献再来。

代码:

ROS的发布节点源码:VincentCheungM/Run_based_segmentation: An ongoing implementation ros node on `fast segmentation of 3d point clouds: a paradigm`... : https://github.com/VincentCheungM/Run_based_segmentation

猜你喜欢

转载自blog.csdn.net/qq_34935373/article/details/109329319