繁体   English   中英

通过保持点位置进行三维表面重建

[英]3D surface reconstruction by preserving point position

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

泊松表面重建是非常有前途的,但它不保留原始点位置。 在云中的特定位置进行重建和测量之后,结果发现,与现实世界中的物体的测量值相比,测量值偏差超过1.5倍。

球旋转算法更好。 它保留了点的位置,测量值也在预期范围内。 然而,这个算法在美国获得专利,所以我不能将它用于商业项目。

在研究了其他算法之后,我没有找到任何可以保留像球转动那样可以在商业环境中使用的点位置。 您是否知道满足这两个标准的算法,我可以尝试使用我的点云来查看它们在实现之前是否运行良好?

任何帮助,将不胜感激。

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

地壳算法:

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

更多参考:

http://web.cs.ucdavis.edu/~amenta/pubs/crust.pdf

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

  • 加上:实现起来非常简单,如果输入数据是一个很好的采样,一些理论上的保证

  • 减:需要计算两个Delaunay三角剖分

共锥算法:

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

更多参考:

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

  • 加:需要单个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/ )。 Graphite可以在那里下载: http ://gforge.inria.fr/frs/?group_id = 1465(可移植源代码和Windows64可执行文件)。 它是Co-cone的一种形式,具有各种优化和并行实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM