保留点位置的三维曲面重建

本文关键字:曲面 重建 三维 位置 保留 | 更新日期: 2023-09-27 18:02:22

我有3D点云,想重建表面。我在Meshlab中尝试了各种技术,以找到最适合我特定类型云的算法。

泊松曲面重建是很有前途的,但它不能保持原始点的位置。在云中的特定位置进行重建和测量后,结果表明测量结果与现实世界中物体的测量结果相差超过1.5倍。

球的旋转算法更好。它保留了点的位置,测量结果也在预期范围内。但是这个算法在美国有专利,所以我不能把它用于商业项目。

在研究了其他算法后,我没有发现任何像球旋转那样保留点位置的算法可以在商业环境中使用。你知道满足这两个标准的算法吗?我可以用我的点云尝试一下,看看它们在实施之前是否有效?

保留点位置的三维曲面重建

对于插值表面重建(保留数据点),有两种算法(地壳和圆锥)表现相当好。

地壳算法:

这个想法是首先计算点集的Voronoi图,然后从Voronoi顶点中选择那些与中轴线很接近的顶点(称为极点),然后计算输入点+极点的3D Delaunay三角剖分,最后提取连接四面体中三个输入点的三角形,其中第四个顶点是极点。

更多的引用:

http://web.cs.ucdavis.edu/amenta/酒吧/crust.pdf

http://web.mit.edu/manoli/crust/www/crust.html

  • plus:很容易实现,如果输入数据是一个好的采样,一些理论上的保证

  • 减去:需要计算两个Delaunay三角形

Co-cone算法:

思路是计算点集的Voronoi图,然后在每个Voronoi单元中计算表面法线的良好近似值(作为连接极点的向量,即距离数据点最远的两个Voronoi顶点)。然后在每个Voronoi单元中,考虑以数据点为中心并以法线为轴的圆锥(co-cone)的补。如果三个共锥与Voronoi边有非空相交,则这三个数据点与一个三角形相连。注意,共锥对象不需要显式地构造(只需要比较角度以测试是否存在相交)。

更多的引用:

http://web.cse.ohio-state.edu/tamaldey/surfrecon.htm

  • Plus:需要一个Delaunay三角测量(与地壳的2个相比),如果输入数据是一个"良好的采样",一些理论上的保证

  • 减去:比地壳更复杂一点(但我认为值得努力)

结束语:

如果点集实现了良好的采样(即密度与厚度和曲率成正比,称为"局部特征大小"=到中轴线的距离),则这些算法构建一个良好的(即流形)表面。在实践中,输入数据不满足这个条件,因此该方法的输出将是一个"三角形汤",大多数情况下是可以的,但这将需要一些后处理来修复一些局部缺陷。

编辑03/21/16你也可以尝试我自己的算法(Co3Ne),在我的软件库Geogram (http://alice.loria.fr/software/geogram/doc/html/index.html)和我的软件Graphite (http://alice.loria.fr/software/graphite/doc/html/)中实现。可以从那里下载石墨:http://gforge.inria.fr/frs/?group_id=1465(可移植源代码和Windows64可执行文件)。它是Co-cone的一种形式,具有各种优化和并行实现。