Hi!
I am fairly new with CC. I am trying to compare several .stl I've created with photogrammetry and structured light scanners, and I would like to see if CC is the right tool for me and for this, and how can I use it and understand the results. Here I attach an example.
If I've correctly understood the colours and C2M are the distances bewteen the reference mesh and the one that we are comparing with it (red "above" the reference mesh, blue "below").
As I have 8 .stl to compare, for checking which method and/or model is the best one, which measures do you think are the best ones to calculate and then compare? Should I use M3C2 distances too? Which workflow should I follow?
I would like to do everything as good as possible since the very beginning. If you can recommend me papers, links or already answered questions that would be really helpful too :)
Thank you very much in advance.
Comparing 2 meshes created with different techniques
Comparing 2 meshes created with different techniques
- Attachments
-
- RIG_old.jpg (434.71 KiB) Viewed 6355 times
Re: Comparing 2 meshes created with different techniques
With meshes, you can keep the C2M distance (M3C2 is really useful for point clouds).
And one thing to understand is that the C2M tool is computing the distances between the compared mesh vertices and the reference mesh. So if your vertices are dense it's ok to do it directly, but you might want to sample points on the compared meshes (in a controlled way, with https://www.cloudcompare.org/doc/wiki/i ... ple_points.
Otherwise, what measure you can use to compare them will depend on the distances distribution. If it's more or less 'Normal' (check that with https://www.cloudcompare.org/doc/wiki/i ... parameters) then you can go with the average AND standard deviation (probably the standard deviation is the most interesting, but an average value too far from zero would indicate a systematic shift in the result).
If it is far from being Normal, then you may want to use other metrics (median,etc.). In this case you will need to compute it yourself (by exporting the distances and process them in another tool).
And one thing to understand is that the C2M tool is computing the distances between the compared mesh vertices and the reference mesh. So if your vertices are dense it's ok to do it directly, but you might want to sample points on the compared meshes (in a controlled way, with https://www.cloudcompare.org/doc/wiki/i ... ple_points.
Otherwise, what measure you can use to compare them will depend on the distances distribution. If it's more or less 'Normal' (check that with https://www.cloudcompare.org/doc/wiki/i ... parameters) then you can go with the average AND standard deviation (probably the standard deviation is the most interesting, but an average value too far from zero would indicate a systematic shift in the result).
If it is far from being Normal, then you may want to use other metrics (median,etc.). In this case you will need to compute it yourself (by exporting the distances and process them in another tool).
Daniel, CloudCompare admin
Re: Comparing 2 meshes created with different techniques
Thank you very much for your reply, Daniel :)
I still have some doubts. How do you assess if your vertices are dense or not? And, what should I do with this new mesh? Calculate the M2C distances again?
Thanks again :)
I still have some doubts. How do you assess if your vertices are dense or not? And, what should I do with this new mesh? Calculate the M2C distances again?
Thanks again :)
Re: Comparing 2 meshes created with different techniques
The density 'issue' is more about the coverage of the distances / result you expect. You can show the vertices by enabling the cloud below the mesh object in the DB tree. And if you still have doubts, then don't hesitate to sample points. This will give you a dense point cloud, that you will use as "compared entity" with the C2M distances indeed.
Daniel, CloudCompare admin
Re: Comparing 2 meshes created with different techniques
Dear Daniel,
I've come with new questions I hope you can help me with:
- I've seen that if I run the "comparison workflow" (alignment, fine registration, and C2M distances) again with the same 2 meshes I obtain different results (mean distance and standard deviation). Why does this happen?
- Will I obtain the same results (but opposite) if I swap bewteen the reference mesh and the compared one?
Thanks again for all your help :)
I've come with new questions I hope you can help me with:
- I've seen that if I run the "comparison workflow" (alignment, fine registration, and C2M distances) again with the same 2 meshes I obtain different results (mean distance and standard deviation). Why does this happen?
- Will I obtain the same results (but opposite) if I swap bewteen the reference mesh and the compared one?
Thanks again for all your help :)
Re: Comparing 2 meshes created with different techniques
1 - the ICP registration (as well as the point sampling algorithm if you use it) are random algorithms. Therefore you may indeed observe slightly different results
2 - no, this process is generally not symmetrical.
2 - no, this process is generally not symmetrical.
Daniel, CloudCompare admin
Re: Comparing 2 meshes created with different techniques
Thanks again :) So, the ideal way to proceed is choosing the "best" mesh and use it as reference, no?
Do you know why this process is not symmetrical?
Do you know why this process is not symmetrical?
Re: Comparing 2 meshes created with different techniques
Because the distances are 'orthogonal' to the surface of the reference mesh, and both meshes don't have exactly the same surface. Moreover the distances are also expressed for each point or vertex of the compared entity, and once again, entities don't exactly have the same points at the same place (unless they are exactly the same ;).
Daniel, CloudCompare admin