Normals orientation

Feel free to ask any question here
Post Reply
bazyzzy
Posts: 2
Joined: Mon Sep 13, 2021 10:16 am
Location: Uzhhorod, Ukraine
Contact:

Normals orientation

Post by bazyzzy »

Hi everyone!
I need some help with normals. I have an unordered point cloud from Faro Freestyle scanner which was processed in faro scene software. To make the cloud ordered I've created virtual scans in scene and exported as e57, but seems like scene is not able to export normals at all, which gives a lot of issues during meshing. I've tried to generate normals in cloud compare but without any good results. But interesting thing is that Scene though unable to export normals, internally uses them correctly for mesh generation, so my idea was to create a mesh with proper normals and than transfer them to point cloud. Though normals on imported mesh looked great i did not find a way to transfer them. Than i thought of converting normals to scalar field and transferring it using interpolate from another entity, but it was not possible as well because when converting normal to SF it makes a regular 3-vector normal map, while i need exactly how normals look from object properties - either facing inwards or outwards only.

Basically what i want is to apply proper normals to the clouds and ideally filter out the points that face away from created scan positions, any ideas how to achieve this?
Would appreciate any help a lot.
Best regards,
Ivan
daniel
Site Admin
Posts: 7710
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Normals orientation

Post by daniel »

It's not possible to transfer normals indeed.

But back to your initial try. In the E57 file exported by Faro Scene, do you have the sensor / sensor origin? (if yes, a small sensor object should appear below each scan in the DB tree). If yes, you can choose to orient normals with the sensor (origin) in the latest 2.12.alpha version (when computing normals).
Daniel, CloudCompare admin
bazyzzy
Posts: 2
Joined: Mon Sep 13, 2021 10:16 am
Location: Uzhhorod, Ukraine
Contact:

Re: Normals orientation

Post by bazyzzy »

daniel wrote: Tue Sep 14, 2021 9:58 am It's not possible to transfer normals indeed.

But back to your initial try. In the E57 file exported by Faro Scene, do you have the sensor / sensor origin? (if yes, a small sensor object should appear below each scan in the DB tree). If yes, you can choose to orient normals with the sensor (origin) in the latest 2.12.alpha version (when computing normals).
Thank you for the reply, Daniel!
Yes, i do have TLS/GBl sensor under every scan. But I'm not sure how to orient normals with the sensor, can you specify how? I already assume one more issue would be that from each sensor i see almost all point even the ones that should not be since they would be occluded. Any way to avoid it?

And still regarding the inside/outside normal orientation - is it possible to bake it to SF? Because from "convert to" in normals tab, it makes it 3vector normal map and not simple inside/outside.
daniel
Site Admin
Posts: 7710
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Normals orientation

Post by daniel »

So to orient the normals, you have to actually compute and orient them. With the 'Edit > Normals > Compute' dialog, you can select how the normals will be computed typically with a local plane fit, and the right radius) and then you can choose how the normals should be oriented. Here, select the 'preferred orientation' mode, and choose the new 'Sensor origin' option in the drop down menu.

Of course I was assuming that in the E57 files, the scans were separated (with a sensor attached to each one). So you have to select them all, compute+orient the normals, and only merge them at the end.

Last, I'm not sure what information you want to export to a SF (apart from Nx, Ny and Nz).
Daniel, CloudCompare admin
elisa
Posts: 1
Joined: Wed Jun 05, 2024 9:18 am

Re: Normals orientation

Post by elisa »

Hello,
I am also having issues with normal orientation. I am using an artec spider scanner, and I think the normals are not included in the point clouds export. I tried to compute it using different orientation but I don't find a way to have the good normals. Does anybody have an idea ?
(I am new here and I don't know a lot about 3D for the moment)
daniel
Site Admin
Posts: 7710
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Normals orientation

Post by daniel »

Can you maybe share a screenshot of your cloud? Or send it to me? (admin@cloudcompare.org)
Daniel, CloudCompare admin
FrannyStephLux
Posts: 1
Joined: Wed Jun 12, 2024 6:10 am

Re: Normals orientation

Post by FrannyStephLux »

bazyzzy wrote: Mon Sep 13, 2021 10:42 am Hi everyone!
I need some help with normals. I have an unordered point cloud from Faro Freestyle scanner which was processed in faro scene software. To make the cloud ordered I've created virtual scans in scene and exported as e57, but seems like scene is not able to export normals at all, which gives a lot of issues during meshing. I've tried to generate normals in cloud compare but without any good results. But interesting thing is that Scene though unable to export normals, internally uses them correctly for mesh generation, so my idea was to create a mesh with proper normals and than transfer them to point cloud. Though normals on imported mesh looked great i did not find a way to transfer them. Than i thought of converting normals to scalar field and transferring it using interpolate from another entity, but it was not possible as well because when converting normal to SF it makes a regular 3-vector normal map, while i need exactly how normals look from object properties - either facing inwards or outwards only.

Basically what i want is to apply proper normals to the clouds and ideally filter out the points that face away from created scan positions, any ideas how to achieve this?
Would appreciate any help a lot.
Best regards,
Ivan
Your situation sounds quite challenging! It's frustrating when software limitations hinder your workflow. Since Faro Scene can use normals internally for mesh generation, it's odd that it can't export them. Have you tried using other software like Meshlab or Blender for the mesh to point cloud transfer? They might offer better control over normal vectors. Also, sometimes preprocessing steps, like reorienting normals in CloudCompare, can improve the results.

Filtering out points that face away from the scan positions sounds like a good strategy to improve the mesh. Perhaps someone with more experience in this specific scenario can chime in with a detailed solution. Good luck, and please share any progress you make!

Best regards.
Post Reply