I am planning to use CloudCompare to quantify volumetric change between two scans. I was wondering what the differences are that impact how accurate the change detection is....what is the benefit of using the default setting vs. manually entering in values for Multi-scale parameters such as min, step and max. Also, what about for the normals, projection and max depth?
If I want to find the best accuracy for volume change between two images, which is the best to use, and if it is to manually enter in values, what ranges or values are best?
Thank you,
CS
M3C2 default vs. manual settings
Re: M3C2 default vs. manual settings
Hum, computing the 'volume' with M3C2 is a bit hacky, so I wouldn't expect it to be really accurate. It's more to get a rough estimation. If your clouds are more or less '2.5D', then it's better to use the 'Tools > Volume > Compute 2.5D volume' tool.
Or do you mean that you just want to compute the distances between the clouds, and not the real volume change? In this case, M3C2 is really accurate ;)
Or do you mean that you just want to compute the distances between the clouds, and not the real volume change? In this case, M3C2 is really accurate ;)
Daniel, CloudCompare admin
-
- Posts: 36
- Joined: Fri Oct 14, 2016 9:00 pm
Re: M3C2 default vs. manual settings
Yes! It will be used basically give me a positive or a negative change value that I can infer to be erosion or deposition! But I like the idea of the volume change tool. This should provide an accurate volumetric change detection between two scans? (I placed a box in one scan and took it away for the next). I want to see if that volume removed appears in the results.
Also, what values for M3C2 should I use if not using the default settings. What are the benefits of them?
Thank you for the prompt response!
CS
Also, what values for M3C2 should I use if not using the default settings. What are the benefits of them?
Thank you for the prompt response!
CS
-
- Posts: 36
- Joined: Fri Oct 14, 2016 9:00 pm
Re: M3C2 default vs. manual settings
Daniel,
I am playing with the volume tool you suggested. What are the units associated with the return values Cloud provides? Also, for projection direction and the drop down for empty cells, should I leave that empty? What parameters result in the best accuracy?
I chose projection direction as Z, that seems to make sense, correct?
Also, I am still curious the benefits of manual settings vs. default settings in M3C2.
Thank you,
CS
I am playing with the volume tool you suggested. What are the units associated with the return values Cloud provides? Also, for projection direction and the drop down for empty cells, should I leave that empty? What parameters result in the best accuracy?
I chose projection direction as Z, that seems to make sense, correct?
Also, I am still curious the benefits of manual settings vs. default settings in M3C2.
Thank you,
CS
Re: M3C2 default vs. manual settings
1) About the volume calculation tool
The units are, as always with CC, the same as the ones of your cloud coordinates. CC doesn't handle units. It loads the coordinates as is from the input files, and does all the measurements with the same (implicit) units.
It's generally OK to leave the empty cells empty as long as there are not too many (small) holes in the generated 2.5D grid (otherwise it means that the grid step is too small - but you should get a warning from CC if it's the case). Otherwise don't use a too big grid step if you want to keep an accurate result.
And regarding the projection direction, only one should work normally. But you may have to re-orient first your clouds so that the main change direction is (roughly) aligned with X, Y or Z (Z is the default).
2) About M3C2
The best (first) guess is generally to use the 'guess' button for the parameters of M3C2. For a good comprehension of how to set them manually, you should read the wiki and maybe also the article (see the wiki for the link). Roughly, the 'scale' parameter is a radius of a cylinder around each point (whit the point normal as axis direction). The larger the radius, the more neighboring points will be caught by the cylinder. M3C2 will estimate the local (flat) surface thanks to these neighbors, and it will also estimate the local 'roughness'. Roughness will be considered by M3C2 as noise. So you should keep a radius small enough so that large scale features are not considered as noise. And of course you can't get it too small otherwise you won't find equivalent points in the other cloud, and the result won't robust to the noise... It's always a matter of finding the good trade-off.
For the normals (= the cylinder orientation), you need something that represent the most probable movement direction. The easiest case it when the displacement of interest is along Z for instance (you don't need to do any computation!). If you already have normals, then you don't need to bother and you can use them directly. Otherwise, you'll need to pay attention to how the normals are computed (as it can be really tricky with complex 3D clouds). One option is to compute the normals with the 'Edit > Normals > Compute' tool of CloudCompare until you get something clean (see the wiki). Otherwise, if it's not too complicated (i.e. the cloud density is regular and the cloud shape is more or less 2.5D), then you can also use the internal options of M3C2 (which are more or less the same as CloudCompare's tool but with less options). You also have a multi-scale approach, but it's for advanced users (you'll definitely need to read the article for that ;) ).
The units are, as always with CC, the same as the ones of your cloud coordinates. CC doesn't handle units. It loads the coordinates as is from the input files, and does all the measurements with the same (implicit) units.
It's generally OK to leave the empty cells empty as long as there are not too many (small) holes in the generated 2.5D grid (otherwise it means that the grid step is too small - but you should get a warning from CC if it's the case). Otherwise don't use a too big grid step if you want to keep an accurate result.
And regarding the projection direction, only one should work normally. But you may have to re-orient first your clouds so that the main change direction is (roughly) aligned with X, Y or Z (Z is the default).
2) About M3C2
The best (first) guess is generally to use the 'guess' button for the parameters of M3C2. For a good comprehension of how to set them manually, you should read the wiki and maybe also the article (see the wiki for the link). Roughly, the 'scale' parameter is a radius of a cylinder around each point (whit the point normal as axis direction). The larger the radius, the more neighboring points will be caught by the cylinder. M3C2 will estimate the local (flat) surface thanks to these neighbors, and it will also estimate the local 'roughness'. Roughness will be considered by M3C2 as noise. So you should keep a radius small enough so that large scale features are not considered as noise. And of course you can't get it too small otherwise you won't find equivalent points in the other cloud, and the result won't robust to the noise... It's always a matter of finding the good trade-off.
For the normals (= the cylinder orientation), you need something that represent the most probable movement direction. The easiest case it when the displacement of interest is along Z for instance (you don't need to do any computation!). If you already have normals, then you don't need to bother and you can use them directly. Otherwise, you'll need to pay attention to how the normals are computed (as it can be really tricky with complex 3D clouds). One option is to compute the normals with the 'Edit > Normals > Compute' tool of CloudCompare until you get something clean (see the wiki). Otherwise, if it's not too complicated (i.e. the cloud density is regular and the cloud shape is more or less 2.5D), then you can also use the internal options of M3C2 (which are more or less the same as CloudCompare's tool but with less options). You also have a multi-scale approach, but it's for advanced users (you'll definitely need to read the article for that ;) ).
Daniel, CloudCompare admin
-
- Posts: 36
- Joined: Fri Oct 14, 2016 9:00 pm
Re: M3C2 default vs. manual settings
Daniel,
I was reading the wiki pages in the volume calculation and M3C2. I am curious, which is preferred for natural erosion and which for the removal of something non-natural, like a box? I am running different types of calculations and I wonder if the M3C2 is more accurate for natural landscapes, as potentially it captures more change? Is this an accurate assumption?
Also, if I am trying to see small changes, what would I set the 'step' to in the volume calculation? It is pre-set at 1.0 but the image attached to wiki shows the step at 5.0. What is the difference?
Thank you,
CS
I was reading the wiki pages in the volume calculation and M3C2. I am curious, which is preferred for natural erosion and which for the removal of something non-natural, like a box? I am running different types of calculations and I wonder if the M3C2 is more accurate for natural landscapes, as potentially it captures more change? Is this an accurate assumption?
Also, if I am trying to see small changes, what would I set the 'step' to in the volume calculation? It is pre-set at 1.0 but the image attached to wiki shows the step at 5.0. What is the difference?
Thank you,
CS
Re: M3C2 default vs. manual settings
Well, hard to tell. M3C2 does some averaging (via the 'scale' radius) so as to be more robust to measurement noise. Maybe it's not ideal for detection of the precise boundaries of the change areas. But if the 'scale' parameter is smaller than the scale of the objects / changes you are looking for, then it should be ok.
For the Volume computation tool, the main parameter is the grid 'step'. You have to change it (the default value is ... just a default value). The smaller, the better, but it depends on the density of your cloud (you must not create holes).
For the Volume computation tool, the main parameter is the grid 'step'. You have to change it (the default value is ... just a default value). The smaller, the better, but it depends on the density of your cloud (you must not create holes).
Daniel, CloudCompare admin
-
- Posts: 36
- Joined: Fri Oct 14, 2016 9:00 pm
Re: M3C2 default vs. manual settings
Daniel,
This information is great! A few final questions.
a. If using the M3C2 tool, and ONLY changing the 'scale' parameter...what is a good value for high density scans? (billions of points, and large area covered).
b. What is considered a small step value? 1.0, 5.0? Again, my scans are fairly large. Will the tool notify me if there are holes in the imagery?
Thank you,
CS
This information is great! A few final questions.
a. If using the M3C2 tool, and ONLY changing the 'scale' parameter...what is a good value for high density scans? (billions of points, and large area covered).
b. What is considered a small step value? 1.0, 5.0? Again, my scans are fairly large. Will the tool notify me if there are holes in the imagery?
Thank you,
CS
Re: M3C2 default vs. manual settings
a) It really depends on your cloud. On its units first, and of course of the size of the objects you are studying. Typical scales for a natural scene should of a few centimeters. As long as you get enough points (you can use the 'Tools > Other > Density' tool using the same scale/radius to assess that).
b) Once again, it depends on your cloud. But, yes, you should clearly see the holes and you'll get a red warning message if the density is too low.
b) Once again, it depends on your cloud. But, yes, you should clearly see the holes and you'll get a red warning message if the density is too low.
Daniel, CloudCompare admin