<ol>
<li><p>one popular Real time surface reconstruction method is TSDF (Truncated Signed Distance Function) used by Microsoft for the Kinect. It is based on the VRIP method but it is faster. It is based on depth maps from different (known) camera positions. 
you can read more:
<a href="https://cs.nyu.edu/courses/fall12/CSCI-GA.2945-001/dl/jiakai-slides.pdf" rel="noreferrer">https://cs.nyu.edu/courses/fall12/CSCI-GA.2945-001/dl/jiakai-slides.pdf</a>
file:///C:/Users/chaim.dryzun/Downloads/kinectfusion.pdf</p></li>
<li><p>From the methods in the reference you gave the fastest is Wavelet based surface reconstruction. If the overall point cloud is good and regular (uniform point density) and without holes and the normals are correct than it gives a very good mesh in a short time.</p></li>
<li><p>A more robust and popular method is the Poisson based surface reconstruction. You will need the normals. It gives very good mesh although it takes more time.</p></li>
<li><p>Another good method is the PowerCrust surface reconstruction method. It gives very good and accurate mesh, and it does not need the normals. This method produces a polygonal mesh and not triangular mesh, but it is very easy to transform it to triangular. The original code is very slow, but as it is based on calculating Voronoi cells - you can easily re-write it so it will run much faster.
You can read more: 
<a href="http://web.cs.ucdavis.edu/~amenta/powercrust.html" rel="noreferrer">http://web.cs.ucdavis.edu/~amenta/powercrust.html</a></p></li>
<li><p>Regarding the time, working with million of points will take much more than 40 ms, no matter which method you choose (except maybe TSDF). You will have to downsample the point cloud before meshing.</p></li>
</ol>

CC BY-SA 4.0
2018-09-16T06:14:58.727Z
2018-09-16T06:14:58.727Z
ChaimDryzun
<p>You can use CloudCompare or MeshLab to generate a mesh from a point cloud using many algorithms. In my experience, marching-cube method results in accurate meshes.</p>

CC BY-SA 4.0
2018-10-11T04:59:29.623Z
2018-10-11T04:59:29.623Z
Ebram
<p>Given point-cloud data :
For example. 
position + color and normal.</p>

<p>What will you use to generate mesh of this data 
and keep reasonable quality for real time cases ? </p>

<p>Additional info to consider:</p>

<ol>
<li><p>In some cases given also
3D cameras world transforms which generated the PCL.</p></li>
<li><p>Number of input vertices : ~50k and up to millions .</p></li>
<li><p>Target latency from input to output : &lt; 40ms</p></li>
<li><p>Output triangle mesh (preferably not a must) </p></li>
<li><p>More info about mesh reconstruction<br>
<a href="http://www.cs.utah.edu/~bergerm/recon_bench/" rel="nofollow noreferrer">A Benchmark for Surface Reconstruction</a></p></li>
</ol>

<p>Any inputs are welcome.<br>
FAQ:</p>

<p>How the data look like ?</p>

<ul>
<li>Float* Position  [x1,y1,z1,x2,y2,z2...]</li>
<li>Float* Normal    [nx1,ny1,nz1,nx2,ny2,nz2...]</li>
<li>float or int8 for the color.</li>
</ul>

CC BY-SA 4.0
2018-09-15T10:01:55.083Z
What does your data look like? What do the points represent? Do you have example images of raw data and how the final result should look like?
piegames
<3d><mesh>
Generate mesh from pointcloud data
barakooda
# Generate mesh from pointcloud data

(Asked by: username_0 on 2018-09-14)

Given point-cloud data :
For example.
position + color and normal.

What will you use to generate mesh of this data
and keep reasonable quality for real time cases ?

Additional info to consider:

1. In some cases given also
   3D cameras world transforms which generated the PCL.
2. Number of input vertices : ~50k and up to millions .
3. Target latency from input to output : < 40ms
4. Output triangle mesh (preferably not a must)
5. More info about mesh reconstruction  
   [A Benchmark for Surface Reconstruction](http://www.cs.utah.edu/~bergerm/recon_bench/)

Any inputs are welcome.  
FAQ:

How the data look like ?

* Float\* Position [x1,y1,z1,x2,y2,z2...]
* Float\* Normal [nx1,ny1,nz1,nx2,ny2,nz2...]
* float or int8 for the color.

**Tags:** 3d, mesh

> **Comments:**
> **username_1**: What does your data look like? What do the points represent? Do you have example images of raw data and how the final result should look like?  

---

## 2 answers

### Answer by username_2 on 2018-09-16. Score: 6

1. one popular Real time surface reconstruction method is TSDF (Truncated Signed Distance Function) used by Microsoft for the Kinect. It is based on the VRIP method but it is faster. It is based on depth maps from different (known) camera positions.
   you can read more:
   <https://cs.nyu.edu/courses/fall12/CSCI-GA.2945-001/dl/jiakai-slides.pdf>
   file:///C:/Users/chaim.dryzun/Downloads/kinectfusion.pdf
2. From the methods in the reference you gave the fastest is Wavelet based surface reconstruction. If the overall point cloud is good and regular (uniform point density) and without holes and the normals are correct than it gives a very good mesh in a short time.
3. A more robust and popular method is the Poisson based surface reconstruction. You will need the normals. It gives very good mesh although it takes more time.
4. Another good method is the PowerCrust surface reconstruction method. It gives very good and accurate mesh, and it does not need the normals. This method produces a polygonal mesh and not triangular mesh, but it is very easy to transform it to triangular. The original code is very slow, but as it is based on calculating Voronoi cells - you can easily re-write it so it will run much faster.
   You can read more:
   <http://web.cs.ucdavis.edu/~amenta/powercrust.html>
5. Regarding the time, working with million of points will take much more than 40 ms, no matter which method you choose (except maybe TSDF). You will have to downsample the point cloud before meshing.


---

### Answer by username_3 on 2018-10-11. Score: 3

You can use CloudCompare or MeshLab to generate a mesh from a point cloud using many algorithms. In my experience, marching-cube method results in accurate meshes.


---

