Need advice on computing normals

Feel free to ask any question here
Post Reply
JohnH
Posts: 1
Joined: Wed Mar 31, 2021 12:13 pm

Need advice on computing normals

Post by JohnH »

Hi,

I have a point cloud from a laser scan of a room. I computed the normals, and, for the most part, this was succesful. However, when I generate the mesh it's obvious that there are certain areas where the normals are reversed (see blue areas in attached image). From the areas where the errors are, it appears these are where the point cloud density is lower (ie, appeared in fewer scans).

Settings for compute normals were:*

Local surface model: triangulation
Neighbours: unchecked
Orientation: Use preferred orientation (-Barycenter)

So my questions would be, are there any settings might get me a better result? Alternatively, can anyone recommend software that can let me reverse normals on part of the mesh? I thought I could do it in Geomagic Wrap, but I can only flip the entire model, and the mesh (46m triangles) is too big for Blender.

Thanks in advance for the help,
John




FYI: The whole cloud has been sampled to 5mm, but it's still 250m points. The original is approx. 1billion points, and even my dedicated 3D processing pc crashes if I try and compute normals on the full cloud. Would it be worth sampling to, say, 500m points?
Attachments
normal_errors.JPG
normal_errors.JPG (610.58 KiB) Viewed 3860 times
daniel
Site Admin
Posts: 7711
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Need advice on computing normals

Post by daniel »

Well, it's also the parts where the orientation is probably almost orthogonal to the 'barycenter' direction. It's quite tricky to obtain a good result on this kind of cloud with this preferred orientation mode.

You could try using the 'Stereogram' tool of the Facets plugin to segment the points with inverted normals:
stereogram.jpg
stereogram.jpg (16.7 KiB) Viewed 3855 times
stereogram.jpg
stereogram.jpg (16.7 KiB) Viewed 3855 times
The trick will be to segment the points twice (once to get the points with inverted normals, and then the points with good normals). Then invert the normals of the first cloud, and eventually merge the 2 clouds back together.

Of course another option is to use the 'Minimum Spanning Tree' normal orientation algorithm, but with more points than the default (e.g. 12 instead of 6).
Attachments
stereogram2.jpg
stereogram2.jpg (113.11 KiB) Viewed 3855 times
Daniel, CloudCompare admin
Post Reply