当前位置:  开发笔记 > 编程语言 > 正文

鲁棒的三维点云表面重建算法?

如何解决《鲁棒的三维点云表面重建算法?》经验,为你挑选了3个好方法。

我试图找出从3D范围数据进行表面重建的算法.乍一看,似乎Ball旋转算法(BPA)和泊松表面重建是更成熟的方法?

除了BPA和泊松表面重建算法之外,该领域中已建立的更稳健的算法是什么?

推荐的研究出版物

有可用的源代码吗?

libeako.. 93

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

算法

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

计算几何

它们适合现有点上的网格.

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

Ball Pivoting获得了IBM的专利.此外,它不适用于具有不同点密度的pointcloud.

隐含的功能

一个适合pointcloud上的隐式函数,然后使用类似行星的立方体算法将函数的零集提取到网格中.

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

Poisson,Hoppe和MPU是此类别中最着名的算法.如果您是这个主题的新手,我建议您阅读Hoppe的论文,它非常具有说明性.

通常可以实现此类别的算法,以便它们能够非常有效地处理大量输入,并且可以扩展其质量 - 速度权衡.它们不受噪声,不同点密度,孔洞的干扰.它们的缺点是它们需要在输入点处始终定向的表面法线.

实现

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

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

看看这个泊松实现,然后请与我分享你的经验.

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

CGAL是一个着名的3D图书馆,但它只对免费项目免费. Meshlab是一个着名的GPL应用程序.

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



1> libeako..:

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

算法

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

计算几何

它们适合现有点上的网格.

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

Ball Pivoting获得了IBM的专利.此外,它不适用于具有不同点密度的pointcloud.

隐含的功能

一个适合pointcloud上的隐式函数,然后使用类似行星的立方体算法将函数的零集提取到网格中.

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

Poisson,Hoppe和MPU是此类别中最着名的算法.如果您是这个主题的新手,我建议您阅读Hoppe的论文,它非常具有说明性.

通常可以实现此类别的算法,以便它们能够非常有效地处理大量输入,并且可以扩展其质量 - 速度权衡.它们不受噪声,不同点密度,孔洞的干扰.它们的缺点是它们需要在输入点处始终定向的表面法线.

实现

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

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

看看这个泊松实现,然后请与我分享你的经验.

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

CGAL是一个着名的3D图书馆,但它只对免费项目免费. Meshlab是一个着名的GPL应用程序.

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



2> ALoopingIcon..:

如果你想用各种表面重建算法进行一些直接的实验,你应该尝试 MeshLab,网格处理系统,它是开源的,它包含许多以前引用的表面重建算法的实现,如:

Poisson Surface Recon

一些基于MLS的方法,

球转动实施

基于Curless体积方法的变体

基于Delaunay的技术(Alpha形状和Voronoi过滤)

用于从散乱点集计算法线的工具

和许多其他工具,用于比较/测量/清洁/简化生成的网格.

源是受GPL保护的,所以你不能在商业闭源项目中使用它们,但是对各种表面重建算法的属性有正确的感觉非常重要(它们对噪声的敏感程度,速度,在开始实现其中之一之前,对异常值的鲁棒性,它们如何保留精细细节等).


我发现[此博客文章](http://meshlabstuff.blogspot.co.uk/2009/09/meshing-point-clouds.html)及其下面的评论提供了很好的提示.

3> 小智..:

您可能会开始研究该领域最近的一些工作 - 目前像Gianmauro Cuccuru,Enrico Gobbetti,Fabio Marton,Renato Pajarola和Ruggero Pintus 这样的快速低内存流MLS重建点采样表面.它的引用可以让你快速浏览文献.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有