*** Especially in noisy scan’s from the Kinect
We will want to recreate a surface, which through trial and error (at least with objects that contain a lot of curves or contours) the Poisson disk method obtains the best results.
The “Filter->Sampling->Poisson Disk Sampling”
Make sure you check the “Base Mesh Subsampling” box.
The algotrithim it was designed to create circular window over the point cloud and calculate those points that are statistically “random” according to a Poisson distribution.
Like previously mentioned the exact parameters used in your process are TOTALLY APPLICATION DEPENDENT. Meaning that what worked well with a point cloud of a million points for the interior of a room, may not work with a million points of a human face.
More on Subsampling
While there are many different ways to deal with these rouge points we can once again apply the Poisson distribution, which seems to have the best results in the automated filters offered by MeshLab.
Much like the filtering of noise in LiDAR data the Poisson takes the entire area of interest(the radius of the window size we specify in this case) and looks at the corresponding distribution of points in 3D space. When points are determined to be statistically random following the number of iterations you specify the alogritim will remove that point from the recreation of the surface.
Even though the Poisson does an excellent job there are still cases where manually cleaning these points from the data is required. (Meaning select it and delete it)
It is also important to note that since the Poisson is a stochastic process no two subsamples will be exactly the same even if the exact same parameters are used. So save your data often!!
Reconstructing the Normals
Reconstructing the Surface (Creating the Mesh)
The “Filters -> Point Set-> Surface Reconstruction: Poisson”
*** Note: This could get time consuming and at least in my experience crashes when the data is huge(“huge” is a scientific word for bigger than normal)
The Next Steps in MeshLab
Unlike other programs that are specifically inclined to working with the point set data, MeshLab as the name eludes prefers to use meshes. Therefore, if you need to fill any holes where there is missing data, add texture information, or take measurements ….etc.; you need to use a mesh. Which of course I hope this little tutorial should you how to do.