Sampling edges pointcloud

Feel free to ask any question here
Post Reply
Pinter
Posts: 1
Joined: Tue Nov 13, 2018 7:30 pm

Sampling edges pointcloud

Post by Pinter »

Hi,

at first let me thank you for that awesome pointcloud managing software...

I use aerial drone data (aerial fotogrammetry) to compute pointclouds of earthworks at highway construction. Usual pointcloud dataset has between 1-2M points, 20-30 cm grid. Data which I need to recover from pointcloud are just edges, shapes of earthwork to make much simplier (generalized)triangulated model from less points - to discard points which are in planar areas between edges (slopes, flat surfaces...). Is there a possibility to set constraints to leave points on edges and discard those which are not needed because they follow a plane? In manual is stated that by curvature scalar field something like that is possible but I can't find the proper setting for that in my case...

Thank you for any help,

Best Regards,
Ondrej Pinter

P.S.: I can provide you with the dataset (about 36MB)
daniel
Site Admin
Posts: 7717
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Sampling edges pointcloud

Post by daniel »

Actually there may be a solution: it's possible to compute the curvature for instance (with 'Tools > Other > Curvature').

Then with the resulting scalar field activated, you can use the Subsample tool and set some proportionality ratio between the curvature values and the subsampling radius (this may be tricky ;) ). See http://www.cloudcompare.org/doc/wiki/in ... 8option.29
Daniel, CloudCompare admin
toxicmag
Posts: 15
Joined: Fri Mar 15, 2019 8:15 am

Re: Sampling edges pointcloud

Post by toxicmag »

Dear Daniel and users,

i am using this method from time to time and it always worked very good (like in the description).

With my current version 2.10.2 it does not do the subsampling like expected. Points are almost gone no matter what is entered as values.
SF looks great and edges come out very clearly. When doing the subsampling the results are almost invisible points. Just like SF would not be respected...

I have no clue why this always happens now. Tried several params (inverted values, variety of min/max values etc.)


Looking for ahint into right direction

Thanks a lot

Alex
Attachments
2.JPG
2.JPG (213.49 KiB) Viewed 5854 times
1.JPG
1.JPG (210.27 KiB) Viewed 5854 times
2.JPG
2.JPG (61.38 KiB) Viewed 5854 times
daniel
Site Admin
Posts: 7717
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Sampling edges pointcloud

Post by daniel »

Do you mean that with the same data and parameters but with a previous version it works?

Can you maybe share with me the cloud and the parameters? (admin [at] cloudcompare.org)
Daniel, CloudCompare admin
toxicmag
Posts: 15
Joined: Fri Mar 15, 2019 8:15 am

Re: Sampling edges pointcloud

Post by toxicmag »

Hi Daniel,

thanks for your quick reply.

Yes, i got very good results two years ago with the same dataset and wanted to repeat the steps for my students. And it didn't work anymore.

weTransfer ZIP is on its way and it also contains screenshots of the results from 2017.


Thanks

Alex
daniel
Site Admin
Posts: 7717
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Sampling edges pointcloud

Post by daniel »

Thanks for the cloud.

I'm not sure if anything really changed (but in 2 years that's definitely possible!). What I can say, is that to make the subsampling work with a scalar field, this scalar field should have a more or less linear behavior as the ratio between the scalar values and the subsampling radius is a simple proportionality.

One issue with the curvature, is that it's generally not following a linear pattern. More an exponential one with a few points with very big values (when you consider the histogram). To cope with that, you should apply a log10 function to the scalar field (with the SF Arithmetic tool).

On a test I did with the dataset you sent me, I obtained values between -6 and -1 (more or less). If I map that to a spacing of [1.0 0.0] (i.e. 1 meter for very small curvature values - for which (log10(c) ~ -6 - and no subsampling for the highest curvature values (for which log10(c) ~-1), then I get something interesting:
subsampled.PNG
subsampled.PNG (130.72 KiB) Viewed 5811 times
The big challenge is always to get the scalar field (histogram) right in order to apply the proportional mapping correctly. This tool in its current form is a bit limited regarding this mapping.
Daniel, CloudCompare admin
toxicmag
Posts: 15
Joined: Fri Mar 15, 2019 8:15 am

Re: Sampling edges pointcloud

Post by toxicmag »

Hi Daniel,

thanks for the quick reply and sorry for not answering so long. I definetely have to double-check my notification settings here :(

Ok, so i took another gravel pit example with even sharper edges so the differences in plane and rounded areas are even more obvious.
I used the mean curvature tool (set at 0.5) which "detected" curvature and edges very nicely.

Then i put a log10 on the SF which turned the SF-values deeply in negative range (ranging from -7 to 0.5) and subsampling doesn't work on negative values. So a added 7 to the SF again to shift the wohl range into positive values and again did the subsampling. Unfortunately the results are still not very promising. I think i will not come back to the old results and need to experiment some more time. Maybe other tools fulfill my needs to keep dense points at edges and curvature and to reduce points in plane areas.

Thanks a lot for your support.

Greetings

Alex
Post Reply