Hey guys,
I have a few questions regarding a mud-brick wall project that I have. I'm currently tasked with finding material loss that is occurring between one year intervals of mud-brick walls. To do this, I am using the M3C2 algorithm to compute the distances between the clouds, which in theory can yield material loss by utilizing other parameters. I do have a few questions regarding CC and my method that I would like to confirm.
1. Does Cloud Compare save clouds that where aligned to a reference cloud if we save the aligned clouds after a 3-point registration? The reason why I ask this is because I have noticed that whenever we save the aligned cloud after a 3-point registration, sometimes these clouds don't save (in fact, it seems like for the majority the registration (aligned cloud) is not saved).
2. To compute the M3C2 distances, this is the method that I am utilizing: (1) Compute the Normals separately for cloud one, using the quadratic surface model with radius 1, and Normals oriented on the X+ (setting a universal positive direction) axis. (2) Using the cloud 1 Normals computed before hand, I perform a M3C2 computation with projection value 0.06 and max depth of around 2. I have noticed that using a projection value impacts my M3C2 distance scale quite a bit. If the value is too small, then the inputted value becomes the boundaries of the M3C2 distance scale. However if it's big enough, then the boundaries for the distance scale becomes unrestricted and correct. What do you guys think of this method?
3. Methodology of computing the average distance is quite simple. By exporting the M3C2 cloud as an ASCII cloud, I can average all of the M3C2 distance values using MATLAB. In theory, this would give me a resultant vector of all distance vectors relative to the X+ normal vectors. The sign of this value can tell me whether there was material gain due to wall restoration or material loss due to wall deterioration. It is a primitive method, however I think it's quite accurate depending on the RMS values I have during registration (typically < 0.002). In essence, I can use the average distance to compute material loss that the whole building has incurred by also using other parameters such as density, etc. This definitely relies heavily on processing done in CC, so what do you guys think of this methodology?
Please let me know what you guys think, thank you!
General Cloud Compare Questions for Material Loss Calculation
Re: General Cloud Compare Questions for Material Loss Calculation
1. You have to select (highlight) the clouds that you want to save. If you do this, then it should be fine?
2. It's hard to tell without seeing the cloud and without any knowledge about its density / sampling and its units.The only thing that strikes me is that the 'scale' shouldn't be very different from the normal radius. If your scale is too small, you won't catch any point inside the M3C2 'cylinders', and therefore you'll lose all the interest of the M3C2 approach.
To be more helpful, I would need the data (or at least some samples).
3. You can do this more 'properly' with the '2.5D Volume calculation tool' (you would just miss the M3C2 'robustness', but this is compensated by the implicit averaging induced by the gridding).
I now understand why you used such a big radius for computing normals. Maybe it would be cleaner / faster then to rotate the clouds so that the normal is +Z and then force M3C2 normals to be along +Z (this way, no need to compute any normals).
2. It's hard to tell without seeing the cloud and without any knowledge about its density / sampling and its units.The only thing that strikes me is that the 'scale' shouldn't be very different from the normal radius. If your scale is too small, you won't catch any point inside the M3C2 'cylinders', and therefore you'll lose all the interest of the M3C2 approach.
To be more helpful, I would need the data (or at least some samples).
3. You can do this more 'properly' with the '2.5D Volume calculation tool' (you would just miss the M3C2 'robustness', but this is compensated by the implicit averaging induced by the gridding).
I now understand why you used such a big radius for computing normals. Maybe it would be cleaner / faster then to rotate the clouds so that the normal is +Z and then force M3C2 normals to be along +Z (this way, no need to compute any normals).
Daniel, CloudCompare admin