Hello CC admins,
Thanks for all the work you do on this open source project - I have a few questions for you, I'm trying to compute bitemporal volumetric changes in cliff face LiDAR clouds and I'm running into a few issues/want to make sure that what I've done so far makes sense. We have two point clouds of the same beach (ex. attached) about a year apart. I did rough alignment and then ICP fine alignment, cropped out some of the beach/noise above the cliffs and ran M3C2 with the following parameters: normal diameter = 3, projection diameter = 2, subsampling every .3 m and max depth = 10. (any input on these choices would be very welcome too)
This gave the results you see below which I then filtered for points above .5 m m3c2 distance (accretion objects) and points below -.5 m m3c2 distance (erosion objects). That resulted in the two clouds you see in the final screenshot I've attached. The ultimate goal is to quantify the volume of each of these change objects, ideally divided into 5-10 m wide cross shore bins (this is based on a paper with a similar strategy that used 2.5D volume analysis and we are looking to improve on that by using true 3D methods). From what I've read, PSR seems like the way to go here but simply applying PSR to these change clouds of course makes one big surface. Is there a way to make each change cluster its own object and the use PSR to compute volumes either of each new 'object' or within some boundaries set by distance (ie. every 10 meters in the x direction)? Any advice on this would be greatly appreciated, thank you so much!
Cheers,
Connor
Cliff Change/Volumetric Calculations
Cliff Change/Volumetric Calculations
- Attachments
-
- Screenshot 2022-06-28 141802.png (196.07 KiB) Viewed 20125 times
-
- Screenshot 2022-06-28 141604.png (575.98 KiB) Viewed 20125 times
-
- Screenshot 2022-06-28 141139.png (837.27 KiB) Viewed 20125 times
Re: Cliff Change/Volumetric Calculations
What do you mean by PSR? Poisson Surface Reconstruction?!
Anyway, you could use the 'Tools > Segmentation > Label connected components' to separate all this chunks?
Anyway, you could use the 'Tools > Segmentation > Label connected components' to separate all this chunks?
Daniel, CloudCompare admin
Re: Cliff Change/Volumetric Calculations
Yes! I meant Poisson Surface Recon - I actually just found the label connected components section this morning, exactly what I was looking for, thank you! I now have folders of erosion/accretion objects and am trying to apply Poisson to each one to extract the volumes, is there a way to apply a plugin to each cloud in a folder? It seems like that has to be done one at a time within CloudCompare, would something like that be possible with the CloudCompy wrapper? Thanks so much for your help.
Cheers,
Connor
Cheers,
Connor
Re: Cliff Change/Volumetric Calculations
Sadly, the PSR plugin can't be used in command line mode... Someone would have to add the code to make it accessible.
Another option is to change the real plugin so that it ban be applied on multiple clouds at once?
Another option is to change the real plugin so that it ban be applied on multiple clouds at once?
Daniel, CloudCompare admin
Re: Cliff Change/Volumetric Calculations
Hi Connor,
I believe that I'm trying to do a very similar thing as you. I have bitemporal scans of a cliff-face and would like to create a magnitude-frequency plot of the volume of rockfall that the cliff has experienced between my two data sets.
How did you get on with calculating the individual volumes of the blocks, did you end up doing it manually or did you find a way to automate it?
Many thanks,
Matthew
I believe that I'm trying to do a very similar thing as you. I have bitemporal scans of a cliff-face and would like to create a magnitude-frequency plot of the volume of rockfall that the cliff has experienced between my two data sets.
How did you get on with calculating the individual volumes of the blocks, did you end up doing it manually or did you find a way to automate it?
Many thanks,
Matthew
Re: Cliff Change/Volumetric Calculations
Hi,
you do not necessarily need to go through a meshing phase. Since the cliffs seem relatively straight :
(I) first rotate the data : you can fit a plane and apply the transformation that CC gives you to get your data horizontally
(ii) follow a workflow similar to this paper https://esurf.copernicus.org/articles/9/1013/2021/ where you use a raster grid of core points (rather than a spatial subsampling in M3C2 that does not ensure equal spacing), first for detection with M3C2 in 3D (as you did), then a connected component segmentation to create individual rockfall, and then a vertical M3C2 to compute the volume = sum of positive (resp. negative) M3C2 over the grid of core points. Just make sure your grid spacing for the core points is not too coarse.
Note that years ago, Daniel kindly added the possibility to export an entire directory of point clouds with statistics on the scalar fields, including the cumulative sum, for instance of M3C2...et voila, once you have your vertical M3C2 for each of your rockfall, you automatically get a .csv with the positive (resp. negative) volume for each rockfall...
Indeed if you were to mesh the data you could get a slightly more accurate volume estimate, but good luck with making sure that the PSR parameters are systematically and automatically correct whatever the size of the rockfall (believe me I tried ;-))
If you're a bit more adventurous, there is a way to not even rotate initially the data, but it's rather complex (it uses a horizontal M3C2 for the volume calculation with a very large normal scale...but the tricky part is to get a regular grid in the vertical plane). The best, when it's possible is to rotate the data.
you do not necessarily need to go through a meshing phase. Since the cliffs seem relatively straight :
(I) first rotate the data : you can fit a plane and apply the transformation that CC gives you to get your data horizontally
(ii) follow a workflow similar to this paper https://esurf.copernicus.org/articles/9/1013/2021/ where you use a raster grid of core points (rather than a spatial subsampling in M3C2 that does not ensure equal spacing), first for detection with M3C2 in 3D (as you did), then a connected component segmentation to create individual rockfall, and then a vertical M3C2 to compute the volume = sum of positive (resp. negative) M3C2 over the grid of core points. Just make sure your grid spacing for the core points is not too coarse.
Note that years ago, Daniel kindly added the possibility to export an entire directory of point clouds with statistics on the scalar fields, including the cumulative sum, for instance of M3C2...et voila, once you have your vertical M3C2 for each of your rockfall, you automatically get a .csv with the positive (resp. negative) volume for each rockfall...
Indeed if you were to mesh the data you could get a slightly more accurate volume estimate, but good luck with making sure that the PSR parameters are systematically and automatically correct whatever the size of the rockfall (believe me I tried ;-))
If you're a bit more adventurous, there is a way to not even rotate initially the data, but it's rather complex (it uses a horizontal M3C2 for the volume calculation with a very large normal scale...but the tricky part is to get a regular grid in the vertical plane). The best, when it's possible is to rotate the data.