Page 1 of 1

PCL MLS Smoothing Alterd normals

Posted: Wed Mar 03, 2021 7:18 pm
by K.Rothwell
I'm working on a project and have developed a workflow for meshing laser scans.

I believe I can get a better result if I use the PCL MSL smoothing to reduce the noise from overlapping scans however, when I perform the smoothing operation it seems to alter my previous normals estimation.

1 - Import registered scans as ordered .e57 (this retains scanner position)

2 - Calculate normals from scanner positions

3 - Merge Individual Scans

4 - Subsample new point set

5 - use MLS Smooth

6 - poisson surface reconstruction
(This is where the workflow breaks down... it seems that the smoothing operation has an effect on the normals and the poison reconstruction is unable to come up with a solution. note; I have unchecked the calculate normals box)

I am still learning the pcl plugin so my hope is that this is a simple newb error.

Re: PCL MLS Smoothing Alterd normals

Posted: Wed Mar 03, 2021 11:15 pm
by daniel
'MLS smooth' is part of the PCL plugin and it's based on the method of the same name in the PCL library (which is a little bit deprecated sadly).

I don't really know how it computes the normals (I believe it has its own algorithm, and it's not using the original normals).

Re: PCL MLS Smoothing Alterd normals

Posted: Thu Mar 04, 2021 5:52 pm
by K.Rothwell
Understood, Yea, I really like the result of the smoothing operation and I am only using basic settings.

The geometry that I am working with is pretty complex (crashed vehicle) so the calculation of the normals based on scanner position is preferred. It would be nice to know how the plugin computes the normals.. Any suggestions on where I should go looking to find such information?

Thanks,

Kyle

Re: PCL MLS Smoothing Alterd normals

Posted: Thu Mar 04, 2021 7:49 pm
by daniel
Well, I guess in PCL documentation? Personally I'm not a PCL / PCL plugin expert...

Re: PCL MLS Smoothing Alterd normals

Posted: Fri Mar 05, 2021 12:38 am
by WargodHernandez
The easiest way I was able to get around this problem is to compute the closest point set with your original cloud as the reference, that will give you a cloud that is very similar to the smoothed version but will contain the original normals and scalar fields. Then use poisson surface reconstruction on the closest point set cloud

to get to the tool it is in the menu:
Tools->Distances->Closest Point Set