【点云学习系列】之Fast segmentation of 3D point clouds(一)

本文介绍了Fast segmentation of 3D point clouds的GPF算法,用于3D点云地面点的提取。GPF通过点云高度排序、候选点集选择、SVD分解求法向量和平面参数,实现地面点分割。实验证明,虽然耗时较长,但分割效果优于其他策略。目前,传统地面点分割方法在一般场景下有效,但在复杂地形面临挑战,而深度学习方法可能提供更精确但效率和数据需求较高的解决方案。
摘要由CSDN通过智能技术生成
简介

  该篇点云论文全称为Fast segmentation of 3D point clouds: A paradigm on LiDAR data for autonomous vehicle applications,文章标题不够。该篇点云论文主要分为两个阶段的创新:①点云地面点的提取(Ground Plane Fitting, GPF);②点云扫描聚类快速提取(Scan Line Run, SLR);本篇博文先讲解第一部分GPF,也就是地面点提取or分割。

GPF算法分析

  说到地面点分割or提取,之前的几篇博文有过介绍几种方法:通过RANSAC回归估计地平面方式【pcl入门教程滤波系列】之GroundSegmentation滤波(一)与通过划分网格segments和bin来进行局部线拟合的方式【pcl入门教程滤波系列】之GroundSegmentation滤波(二)与借助已知地平面参数进行曲面拟合后地面估计方式【pcl入门教程滤波系列】之GroundSegmentation滤波(三)。现在我们介绍通过GPF进行地面点的提取or分割方式,GPF的思想有来自于第二篇博文中segments的思想,首先提取地面种子候选点集,再划分segments的基础上进行SVD分解求取法向量平面参数,最后迭代求取最佳法向量。下面我们通过算法伪代码来介绍一下该流程:完整代码链接将在文末贴出

上图为GPF算法伪代码流程,下面进行简单拆解:

  • 提取初始地面候选点集:
    首先将所有点云进行高度排序,按照点云的z高度。然后获取排序后的 1 : N L P R 1:N_{LPR} 1:NLPR个候选点集,求取平均高度 L P R LPR LPR。然后遍历所有点云,将高度阈值小于 T h s e e d s + L P R . h e i g h t Th_{seeds}+LPR.height Thseeds+LPR.height作为初始筛选地面点集的高度。
void FloorSegment::extract_initial_seeds(const pcl::PointCloud<pcl::PointXYZI>& p_sorted)
{
   
	// LPR is the mean of low point representative
	double sum = 0;
	int cnt = 0;

	// Calculate the mean height value.
	for(size_t i = 0; i < p_sorted.points.size() &&
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值