一尘不染

从3D点云进行曲面重建的强大算法?

algorithm

我试图弄清楚从3D范围数据进行曲面重建的算法。乍一看,似乎 球旋转算法BPA )和 泊松曲面重构 是更成熟的方法?

  • 除了BPA和Poisson曲面重建算法以外,在该领域还有哪些已建立的,更健壮的算法?
  • 推荐的研究出版物?
  • 有可用的源代码吗?

阅读 1624

收藏
2020-07-28

共1个答案

一尘不染

我已经面对这个难题几个月了,并进行了详尽的研究。

演算法

主要有2类算法:计算几何和隐式曲面。

计算几何

它们使网格适合现有点。

该组中最著名的算法可能是powercrust,因为从理论上讲它是公认的-
它可以确保水密网格。

Ball Pivoting已获得IBM的专利。而且,它不适用于点密度变化的点云。

隐式函数

一种将隐式函数拟合到点云上,然后使用类似于游行多维数据集的算法将函数的零集提取到网格中。

此类方法的主要区别在于所使用的隐式函数不同。

PoissonHoppe’sMPU是此类中最著名的算法。如果您是该主题的新手,我建议您阅读Hoppe的论文,这很有解释性。

通常可以实施此类算法,以使它们能够非常有效地处理大量输入,并且可以扩展其质量-
速度折衷。它们不受噪音,变化的点密度和孔的干扰。它们的缺点是它们需要在输入点处始终定向的表面法线。

实作

您会发现少量的免费实现。但是,这取决于您是否要将其集成到免费软件(在这种情况下,您可以接受GPL许可)或在商业软件中集成(在这种情况下,您需要更自由的许可)。后者非常罕见。

一种是VTK。我怀疑它很难集成(没有文档可免费获得),它具有一个奇怪的,过于复杂的体系结构,并且不是为高性能应用程序而设计的。对于允许的输入点云也有一些限制。

看一下这个泊松实现,然后与我分享您的经验。

另外: 是一些高性能算法,其中包括曲面重构。

CGAL是著名的3d库,但仅对免费项目免费。 Meshlab是GPL的著名应用程序。

另外(2013年8月添加):PCL库具有专用于表面重建的模块,并且正在积极开发中(并且是Google的“代码之夏”的一部分)。表面模块包含许多不同的重建算法。如果您的点数据中没有提供表面法线,则PCL也具有估算表面法线的功能,可以在功能模块中找到此功能。PCL是根据BSD许可条款发布的,并且是开源软件,对于商业和研究用途是免费的。

2020-07-28