PCL点云分割:Region Growing Segmentation

本文详细介绍了PCL库中的Region Growing Segmentation算法,适用于分割规则物体,如房屋轮廓。算法通过设置聚类点数、搜索范围、面平滑阈值和曲率阈值进行点云分割。在实际应用中,调整这两个阈值对分割效果影响显著,过高或过低都可能导致分割失败。面对有噪声的点云和物体转折处,算法表现欠佳,调参要求较高,鲁棒性和普适性较低。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

pcl官方教程:http://www.pointclouds.org/documentation/tutorials/region_growing_segmentation.php#region-growing-segmentation


1. 使用感受

这个算法适合分割规则的物体或者说四四方方的东西,像房屋轮廓,纸箱折叠的情景。如官方给的效果图:

这个算法主要有4个参数来设置,我个人觉得算法还算是使用者友好的。主要要设置聚类点数上下界,蔓延时候搜索出来多少个附近点,面平滑阈值还有面的曲率阈值。


2. 算法细节

为了了解设置这些参数,让我们来了解一下如何内部细节。从官方的介绍里,算法的流程是写的很仔细的。为了让你更直观的明白,我概括的来说,就是从曲率小的面播种,从种子的位置出发,开始往四周搜索点,然后比对点于点之间的曲率和法线方向,如果差距小于阈值就视为同一个cluster。如果一个cluster无法再蔓延,在剩下的点云里再找曲率小的面播种,然后继续重复直到遍历完毕。


3. 调参

面平滑阈值(用于对比法线)还有面的曲率阈值(用于对比曲率)是最重要的参数。如果调大了,不仅仅是同一个平面,两个平面(它们的连着处弧度变化小的)都被视为同一个cluster.

可以参考

https://github.com/PointCloudLibrary/pcl/blob/master/segmentation/include/pcl/segmentation/region_growing.h


4.跑自己的数据集

      reg.setSmoothnessThreshold (3.0 /

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值