3D Surface Reconstruction: Point Clouds -> Meshes
My final project focused on the last part of the photogrammetry pipeline, which is taking a generated point cloud and turning it into an object mesh. I did this through a library called Point Cloud Library (PCL) downloadable here - http://pointclouds.org/ -.
File formats used were .pcd (point cloud data) -> .obj.
In order to have enough time for multiple renderings of the finished .OBJ files, I used the pcl::GreedyProjectionTriangulation class included in the pcl::surface package (documentation here - http://docs.pointclouds.org/trunk/classpcl_1_1_greedy_projection_triangulation.html). This performs a greedy triangulation on 3D points based on 2D projections. This mean that the meshes are generated "faster" but can suffer in quality due to some greedy shortcuts, like assuming locally smooth surfaces and relatively smooth transitions between areas with different point densities.
===========================================================================
What This Means:
Good Input Data leads to faster/higher quality meshes.
More Complex Input Data leads to a drop in quality and speed.
===========================================================================
The process used for implementation can basically be summed up as this:
Conclusion: Worked well for simple more uniform meshes, but on the complex real-world data had trouble doing accurate renderings.
Complex Surfacing Attempts | Point Cloud Visual | Mesh Render (Maya) |
---|---|---|
Face 1 | f1P | f1R |
Face 2 | f2P | f2R |
Shoes | sP | sR |
Office | oP | oR |
Additional Photos
Shoes Side:
Poly Face