Page 1 of 1

cant get good normals from point cloud.

Posted: Sun Aug 21, 2016 1:22 pm
by morbazan
hey,

firstly I need to say that I have no experience with 3d reconstruction.

I have a 3d scanner that produces a point cloud of the object, I have downloaded a few programs that deal with point clouds like Meshlab, VRmesh(trial) cloudcompare and meshmixer.

some programs have basic guides/tutorials, others I cant find any info that helps to use them.

I have been trying for about a week to reconstruct one scan to a mesh, with little info and lots of trial and error(mostly error)

ive seen example pictures of clean and noisy normals but no matter what I have tried I have not been able to get them orientated correctly.

I am attaching a couple of images of my scan and what happens when I compute normals and then using poisson reconstruction.

I haven't cleaned this image before calaculating normals but it makes no difference to my results anyway.

I'm sure theres a lot to do before calculating the normals but I have no idea if I'm doing it right or wrong

I am working on trying to get better scans.

any help with the whole process would be appreciated.

Re: cant get good normals from point cloud.

Posted: Mon Aug 22, 2016 6:29 pm
by daniel
The noise is indeed generally the worst enemy to get good normals. Especially for the normals orientation step.

Don't hesitate to send me your dataset (cloudcompare [at] danielgm.net) and I'll try to find the right parameters / process (if possible).

Re: cant get good normals from point cloud.

Posted: Mon Aug 22, 2016 10:42 pm
by morbazan
thank you for the reply,

if the problem is the scan then ill try for better but if its just that I don't understand how to use the software correctly I would love to learn. ill try and send you the data

Re: cant get good normals from point cloud.

Posted: Tue Aug 23, 2016 1:48 am
by orinn
There is no easy solution. I might try to calculate normals on a per scan position basis, but it depends on how your object was scanned.

It might be beneficial to cut the data into pieces and run normals on smaller sets with different settings to get the results you want and then merge it back together.

I'm with Danielle, upload a data set and we will play with it let you know what can be found.

Re: cant get good normals from point cloud.

Posted: Tue Aug 23, 2016 6:56 am
by daniel
Okay, here is a procedure that gives "not so bad results":
  • As the cloud is noisy, I first used the SOR filter (default parameters). If you can reduce the noise beforehand it will be even better. You can also use the scissors tool to remove the biggest noisy parts (around the base for instance)
  • Then I computed the normals with a radius of 1 and the 'Minimum Spanning Tree' orientation algorithm with knn = 12 (it's always good to increase the number of neighbors when there's a lot of noise or complicated shapes).
dragon_with_normals.jpg
dragon_with_normals.jpg (108.51 KiB) Viewed 8448 times
The result is not perfect but with noisy/complicated clouds like this it's almost impossible to get 100% orientations correct. If you can compute the normals per scan (before registering them) it's definitely a good idea. Anyway, as long as only small patches are inverted Poisson is able to cope with it.

Here is the Poisson mesh (with density information - it can be used to reduce the mesh coverage on low density areas which are either actually empty or noisy due to the lack of information):
dragon_mesh_density.jpg
dragon_mesh_density.jpg (80.52 KiB) Viewed 8448 times

Re: cant get good normals from point cloud.

Posted: Tue Aug 23, 2016 4:43 pm
by morbazan
I feel stupid for asking but what do you mean by "If you can compute the normals per scan (before registering them)" ?

Re: cant get good normals from point cloud.

Posted: Tue Aug 23, 2016 4:44 pm
by morbazan
nevermind my computer didn't show the first part of your reply lol

Re: cant get good normals from point cloud.

Posted: Tue Aug 23, 2016 4:45 pm
by morbazan
I will have a play around with my scans, and post my results (lol)thanks for the help