Hello!! I am working with point clouds of approximately 40 million points and I am using the Fine Registration tool, meeting all the assumptions. I would like to know if there is any reference on how accurate the resulting Final RMS value is, or what error could indicate that I am performing a precise alignment. I am not sure if it is in the order of 0.01 to 0.02 or even smaller than these values.
I understand that the smaller the value, the better, but which range is sufficient to say that my alignment is precise?
Thank you in advanced!!
Final RMS value
Re: Final RMS value
Sadly, the RMS is not sufficient, as it only means that the points of the 'to-be-aligned' cloud used for registration have in average a point in the reference cloud "close enough". But it doesn't say that it's necessarily the right point!
Assuming you trust that the final position is the good one (which is ok if you always start the alignment process from a roughly aligned position = not too far away), then you could extrapolate what an acceptable RMS is based on your expected registration accuracy. It can only be derived from your own usage of the data (= what you intend to do with it). And sadly, once again, the RMS is a bit limited in this regard as it's a mix between an average and a standard deviation... What you can do to make things clearer is to compute the distances between the entities after registering them, and then use the 'Edit > Scalar fields > Compute Stat. Params' with a Normal/Gaussian distribution. This will give you both the average and the standard deviation (and the RMS in the Console). This allows for more control on the result. For instance, you could check that the average value + 2 times the standard deviation is below a certain value (= 95% of the points will be closer to this value). Or 3 times the standard deviation (= 99.7%). That's just an example of course. The other advantage is that all points will be used (while the RMS computed by the registration only uses a subset of the points because of the automated random sampling used internally to accelerate the registration process).
Assuming you trust that the final position is the good one (which is ok if you always start the alignment process from a roughly aligned position = not too far away), then you could extrapolate what an acceptable RMS is based on your expected registration accuracy. It can only be derived from your own usage of the data (= what you intend to do with it). And sadly, once again, the RMS is a bit limited in this regard as it's a mix between an average and a standard deviation... What you can do to make things clearer is to compute the distances between the entities after registering them, and then use the 'Edit > Scalar fields > Compute Stat. Params' with a Normal/Gaussian distribution. This will give you both the average and the standard deviation (and the RMS in the Console). This allows for more control on the result. For instance, you could check that the average value + 2 times the standard deviation is below a certain value (= 95% of the points will be closer to this value). Or 3 times the standard deviation (= 99.7%). That's just an example of course. The other advantage is that all points will be used (while the RMS computed by the registration only uses a subset of the points because of the automated random sampling used internally to accelerate the registration process).
Daniel, CloudCompare admin
Re: Final RMS value
Thank you very much for your quick responses, I understand. I have a clearer idea of how RMS works now, but, for example, if I perform fine registration with the random sampling limit set higher than my point count (Would this number apply to only one cloud or the sum of both clouds?), would the RMS value be more accurate?
Considering that my clouds have more than 30 million points, I’d also like to know which tool is better for measuring the distance between the two clouds, which are identical but sometimes have holes. Is M3C2 or Cloud-to-Cloud Distance better? I’m not very clear on how to configure the parameters for these tools and end up using the default settings, since my goal is to obtain the scalar field and be able to visualize where one cloud has points that the other doesn't. So, I'm unsure which of the two would be best and which parameters I definitely need to modify.
And finally, I'd like to know if it's necessary to compute the normals before using these tools.
Thank you in advanced again.
Considering that my clouds have more than 30 million points, I’d also like to know which tool is better for measuring the distance between the two clouds, which are identical but sometimes have holes. Is M3C2 or Cloud-to-Cloud Distance better? I’m not very clear on how to configure the parameters for these tools and end up using the default settings, since my goal is to obtain the scalar field and be able to visualize where one cloud has points that the other doesn't. So, I'm unsure which of the two would be best and which parameters I definitely need to modify.
And finally, I'd like to know if it's necessary to compute the normals before using these tools.
Thank you in advanced again.
Re: Final RMS value
Ah, you could increase the 'random sampling limit', but that would be super super slow. I would really advise you to use the C2C distance (with default options) to compute it afterwards in an equivalent manner. That's exactly what's used internally.
But if you want to get a more meaningful distance, then you could use M3C2 indeed. It's much more robust (and it provides signed distances). And it detects 'holes' in a smarter way. And yes, you'll need normals for M3C2 distances.
But if you want to get a more meaningful distance, then you could use M3C2 indeed. It's much more robust (and it provides signed distances). And it detects 'holes' in a smarter way. And yes, you'll need normals for M3C2 distances.
Daniel, CloudCompare admin