快速组织的点云注册

时间:2015-11-12 21:48:57

标签: c++ opencv point-cloud-library downsampling

我一直在寻找使用正常信息注册(对齐)有组织点云的方法
我只能找到通用的点云注册方法(例如在PCL中)。

我正在使用Microsoft Kinect来获取我的点云,但问题是它们非常大。

我想知道的事情:

  • 是否有快速方式注册有组织的点云
  • 是否存在非常快速的下采样方法(也可能 使用点云组织的事实??
  • 我也在考虑使用OpenCV过滤器,因为它是有组织的 点云可以是具有灰度值的图像(具有深度值的2D矩阵)。例如,在矩阵上使用openCV resize方法,以及一些派生类型的滤镜(因为边缘对于我在场景中很重要)。这是个好主意吗?
  • 此外,下采样看起来像数据并行问题,这可能是GPU实现的理想选择。你知道任何这样的实施吗?


到目前为止我所做的是以下内容。
- 几种下采样方法(随机,基于体素,统一),但所有这些方法的问题在于它们都花了很多时间(在PCL中)。最好的是基于体素的。
- 然后做了ICP,它在下采样的点云上对我来说非常快速和准确。

所以对我来说,目前,一个好的解决方案是快速下采样点云。例如,基于GPU的实现。

1 个答案:

答案 0 :(得分:0)

  1. 将有组织的点云视为具有灰度值的图像(简单的2D矩阵),结果证明是个好主意。
  2. 在GPU上实现的二维矩阵的下采样方法可以在OpenCV cuda中找到。
  3. 此外,根据精度的重要性,很容易在2D矩阵上实现自己的快速下采样方法。例如,只需简单地取每个 k 元素。如果需要,您可以对这些元素进行平均以使其模糊,或者使用衍生类型滤镜进行锐化(边缘增强)。您可以根据有关框架的信息提出特殊的拣选方法(例如,如果您知道您的对象往往位于中心,那么您可以在该区域周围选择更多的点)。
  4. 以上三点都会给出更快的结果,并且可能会“更多地调整”你的问题(特别是#3)。 “更多调整”意味着不那么健壮。