从 3D 点云重建表面的稳健算法? [英] robust algorithm for surface reconstruction from 3D point cloud?

查看:31
本文介绍了从 3D 点云重建表面的稳健算法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想弄清楚有哪些算法可以根据 3D 范围数据进行表面重建.乍一看,球旋转算法(BPA)和泊松曲面重建似乎是更成熟的方法?

  • 除了 BPA 和 Poisson 表面重建算法之外,该领域还有哪些成熟的、更健壮的算法?
  • 推荐的研究出版物?
  • 有可用的源代码吗?

解决方案

几个月来我一直面临这个困境,并进行了详尽的研究.

算法

主要有两类算法:计算几何和隐式曲面.

计算几何

它们在现有点上拟合网格.

这组最有名的算法可能是powercrust,因为它在理论上已经很成熟 - 它保证了防水网格.

Ball Pivoting 是 IBM 的专利.此外,它不适用于具有不同点密度的点云.

隐式函数

在点云上拟合隐函数,然后使用类似行进立方体的算法将函数的零集提取到网格中.

此类别中的方法主要因使用的隐式函数不同而不同.

泊松Hoppe'sMPU 是该类别中最著名的算法.如果您是该主题的新手,我建议您阅读 Hoppe 的论文,它的解释性很强.

通常可以实施这一类别的算法,以便它们能够非常有效地处理大量输入,并且可以在质量<->速度之间进行权衡.它们不受噪音、不同点密度、孔洞的干扰.它们的一个缺点是它们需要在输入点处具有一致定向的表面法线.

实施

您会发现少量免费实现.然而,这取决于您是要将它集成到自由软件中(在这种情况下 GPL 许可证对您来说是可以接受的)还是集成到商业软件中(在这种情况下您需要一个更自由的许可证).后者非常罕见.

一个在 VTK 中.我怀疑它很难集成(没有免费的文档),它有一个奇怪的、过于复杂的架构,并且不是为高性能应用程序设计的.对于允许的输入点云也有一些限制.

看看这个泊松实现,然后分享请你和我一起体验一下.

还有:这里是一些高性能算法,其中包括表面重建.>

CGAL 是一个著名的 3d 库,但它只对免费项目免费.Meshlab 是著名的 GPL 应用程序.

还有(2013 年 8 月添加):图书馆 PCL 有一个 模块 致力于表面重建并且正在积极开发中(并且是 Google 代码之夏的一部分).表面模块包含许多不同的重建算法.PCL 还具有估算表面法线的能力,以防万一您没有提供它们点数据,此功能可以在功能模块中找到.PCL 根据 BSD 许可条款发布,是开源软件,可免费用于商业和研究用途.

I am trying to figure out what algorithms there are to do surface reconstruction from 3D range data. At a first glance, it seems that the Ball pivoting algorithm (BPA) and Poisson surface reconstruction are the more established methods?

  • What are the established, more robust algorithm in the field other than BPA and Poisson surface reconstruction algorithm?
  • Recommended research publications?
  • Is there available source code?

解决方案

I have been facing this dilemma for some months now, and made exhaustive research.

Algorithms

Mainly there are 2 categories of algorithms: computation geometry, and implicit surfaces.

Computation Geometry

They fit the mesh on the existing points.

Probably the most famous algorithm of this group is powercrust, because it is theoretically well-established - it guarantees watertight mesh.

Ball Pivoting is patented by IBM. Also, it is not suitable for pointclouds with varying point density.

Implicit functions

One fits implicit functions on the pointcloud, then uses a marching-cube-like algorithm to extract the zero-set of the function into a mesh.

Methods in this category differ mainly by the different implicit functions used.

Poisson, Hoppe's, and MPU are the most famous algorithms in this category. If you are new to the topic, i recommend to read Hoppe's thesis, it is very explanatory.

The algorithms of this category usually can be implemented so that they are able to process huge inputs very efficiently, and one can scale their quality<->speed trade-off. They are not disturbed by noise, varying point-density, holes. A disadvantage of them is that they require consistently oriented surface normals at the input points.

Implementations

You will find small number of free implementations. However it depends on whether You are going to integrate it into free software (in this case GPL license is acceptable for You) or into a commercial software (in this case You need a more liberal license). The latter is very rare.

One is in VTK. I suspect it to be difficult to integrate (no documentation is available for free), it has a strange, over-complicated architecture, and is not designed for high-performance applications. Also has some limitations for the allowed input pointclouds.

Take a look at this Poisson implementation, and after that share your experience about it with me please.

Also: here are a few high-performance algorithms, with surface reconstruction among them.

CGAL is a famous 3d library, but it is free only for free projects. Meshlab is a famous application with GPL.

Also (Added August 2013): The library PCL has a module dedicated to surface reconstruction and is in active development (and is part of Google's Summer of Code). The surface module contains a number of different algorithms for reconstruction. PCL also has the ability to estimate surface normals, incase you do not have them provided with your point data, this functionality can be found in the features module. PCL is released under the terms of the BSD license and is open source software, it is free for commercial and research use.

这篇关于从 3D 点云重建表面的稳健算法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆