opencv matlab三维点云,点云采样的三种方法 - 小白学视觉的个人空间 - OSCHINA - 中文开源技术交流社区...

点击上方“小白学视觉”,选择“星标”公众号

重磅干货,第一时间送达1e5291d4ccecf40ae3c6adfeb196dc9e.png

编辑:3D视觉工坊

本文由知乎作者GeometryHub授权转载,不得擅自二次转载。

原文链接:https://zhuanlan.zhihu.com/p/86044055

点云采样分类

点云采样的方法有很多种,常见的有均匀采样,几何采样,随机采样,格点采样等。下面介绍一些常见的采样方法。

格点采样

格点采样,就是把三维空间用格点离散化,然后在每个格点里采样一个点。具体方法如下:

1. 创建格点:如中间图所示,计算点云的包围盒,然后把包围盒离散成小格子。格子的长宽高可以用户设定,也可以通过设定包围盒三个方向的格点数来求得。

2. 每个小格子包含了若干个点,取离格子中心点最近的点为采样点,如右图所示。

fa2498364d1579dce98df2fa4136d2ea.png

格点采样的特点:

效率非常高

采样点分布比较均匀,但是均匀性没有均价采样高

可以通过格点的尺寸控制点间距

不能精确控制采样点个数

均匀采样

均匀采样的方法有很多,并且有一定的方法来评估采样的均匀性。这里介绍一种简单的均匀采样方法,最远点采样。具体方法如下:

输入点云记为C,采样点集记为S,S初始化为空集。

1. 随机采样一个种子点Seed,放入S。如图1所示。

2. 每次采样一个点,放入S。采样的方法是,在集合C-S里,找一点距离集合S距离最远的点。其中点到集合的距离为,这点到集合里所有点距最小的距离。如图2-6所示,采样点S的数量分别为2,4,10,20,100.

3548e4983ff3561db1ee6d9bcaef41c8.png

最远点采样的特点:

采样点分布均匀

算法时间复杂度有些高,因为每次采样一个点,都要计算集合到集合之间的距离。可以采用分治的方法来提高效率。

采样点一般先分布在边界附近,这个性质在有些地方是有用的,比如图元检测里面的点采样。

几何采样

几何采样,在点云曲率越大的地方,采样点个数越多。下面介绍一种简单的几何采样方法,具体方法如下:

输入是一个点云,目标采样数S,采样均匀性U

1.点云曲率计算比较耗时,这里我们采用了一个简单方法,来近似达到曲率的效果:给每个点计算K邻域,然后计算点到邻域点的法线夹角值。曲率越大的地方,这个夹角值就越大。

2.设置一个角度阈值,比如5度。点的邻域夹角值大于这个阈值的点,被放入几何特征区域G。这样点云就分成了两部分,几何特征区域G和其它区域。

3.均匀采样几何特征区域G和其它区域,采样数分别为S * (1 - U),S * U。

下图是一个均匀采样和几何采样的比较图,这个采样方法的特点:

几何特征越明显的区域,采样点个数分布越多

计算效率高

采样点局部分布是均匀的

稳定性高:通过几何特征区域的划分,使得采样结果抗噪性更强

1072e4d9e24d151dabfcd3e7f82f1bf1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值