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

重磅干货,第一时间送达

编辑:3D视觉工坊

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

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

点云采样分类

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

格点采样

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

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

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

格点采样的特点:

效率非常高

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

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

不能精确控制采样点个数

均匀采样

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

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

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

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

最远点采样的特点:

采样点分布均匀

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

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

几何采样

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

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

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

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

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

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

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

计算效率高

采样点局部分布是均匀的

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

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

  1. python 过采样 权重实现_不平衡数据集的处理 - osc_sqq5osi1的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.不平衡数据集的定义 所谓的不平衡数据集指的是数据集各个类别的样本量极不均衡.以二分类问题为例,假设正类的样本数量远大于负类的样本数量,通常情况下通常情况下把多数类样本的比例接近100:1这种情况下 ...

  2. matlab 等高线颜色,MATLAB等高线图 - osc_ygiycxyf的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.普通等高线 >>[x,y]=meshgrid(-5:0.1:5,-3:0.1:3); >>z=x.^2+y.^2; >>contour(x,y,z) 给普通等高 ...

  3. python 点云重建,点云 表面重建 - osc_0tk7cpde的个人空间 - OSCHINA - 中文开源技术交流社区...

    啊哈 最近在参加一个数学建模的比赛 要求是对一个果子里面的虫洞进行三维模型重建 但是百度之后并没有找到对点云数据直接重建的方法(很少) 整个代码是python写的 里面的各种库似乎有一个是可以做这个的 ...

  4. letv.php,乐视云 API - 如花花的个人空间 - OSCHINA - 中文开源技术交流社区

    视频上传到乐视云  在自己的网站播放 我个人理解 乐视云在这里充当了一个资源服务器 通过api取到视频链接和信息 存到自己库里 与项目进行关联 下面代码是从一位已注销的开源中国的朋友那找到的 clas ...

  5. 关于码云的一些基本知识_网络攻防前期知识储备 - osc_ojkfylwq的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.如何提问 1.我的观点:提问分为课堂提问和课下提问两种.课堂中应该是当面交流的,更加鼓励当有疑问的时候在稍作整理思路后直接大胆的提问.课下疑问的解决,不可能时时的交流,更加需要独立的思考,而提问需 ...

  6. 京东云宙斯上传单张图片php,单张图片上传源码 - 茄子何的个人空间 - OSCHINA - 中文开源技术交流社区...

    //控制允许上传的图片类型和大小 if ((($_FILES["fctupian"]["type"] == "image/gif") || ...

  7. 频率域滤波matlab函数,频率域滤波(2) - osc_t0xmr011的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.频率域滤波的基本步骤: 1)使用函数tofloat把输入图像转换为浮点图像(im2double函数也可以) [f,revertclass] = tofloat(f) 2)使用函数paddedsiz ...

  8. matlab一计算自动四舍五入6,matlab总结 - osc_msmij2gf的个人空间 - OSCHINA - 中文开源技术交流社区...

    MATLAB 总结 一 基础部分 1.save('x','y','z') 保存三个变量 2.load('var') 加载变量 3.help size who dir cd delete clear 4 ...

  9. matlab提示音,matlab发出声音 - osc_45mm6g1p的个人空间 - OSCHINA - 中文开源技术交流社区...

    我有时候运行一段很长的代码,在等待的时候去做别的事,希望程序运行完可以有一个提示音. 这可以用matlab的一个函数sound实现,该函数的输入参量是音频数据向量.采样频率和转换位数. % 响一声 s ...

最新文章

  1. [软件工程]技术规格说明书
  2. Python从菜鸟到高手(2):清空Python控制台
  3. 卓金武《MATLAB在数学建模中的应用》 第2版
  4. 计算机专业考研英语二国家线,历年考研英语国家线汇总(2009-2020)
  5. 鸿蒙分布式体验,一张图看懂鸿蒙OS 2.0 分布式能力升级构筑全场景体验
  6. 学习JavaScript数据结构与算法 — 散列表
  7. 检查Python列表项是否在另一个字符串中包含一个字符串
  8. 把苦难装在心里--《赢在中国》(2008-05-27)
  9. 微信小程序(底部导航)
  10. 华为Push最新版接入(Mac)
  11. 一个生肖一首诗,看看你是哪一首?
  12. 技术分享 | binlog 实用解析工具 my2sql
  13. Windows 优质软件
  14. tensorflow sess.run()
  15. 金刚菩提子开裂自动修复此计算机,教你一招修复开裂的金刚菩提
  16. ITOP资产信息登记指导书
  17. A Fast Single Image Haze Removal Algorithm Using Color Attenuation Prior——基于颜色衰减先验单图片去雾算法原理...
  18. GPS共视授时中的多径效应分析
  19. 布尔代数定律_布尔代数的公理和定律
  20. 网络基础-IP地址详解

热门文章

  1. 梦中女孩,不知还能不能再见你一面
  2. 配置u-boot的ip、网卡ip的命令
  3. forward和redirect区别
  4. 如何启用计算机的远程服务,远程桌面服务,教您怎么打开远程桌面服务
  5. lamp和php,[LAMP]Apache和PHP的结合
  6. mysql不能创建innodb类型表_MYSQL have_innodb DISABLED无法创建innodb类型的表
  7. 快速傅里叶变换python_FFT快速傅里叶变换的python实现过程解析
  8. celery AttributeError: 'str' object has no attribute 'items'
  9. 转 C++宏定义详解
  10. [SDOI2016]排列计数