Hi, I've followed the tutorial of comparison of 3D models with my meshes reconstructed from point clouds of a timber boat. I want to see the change of the boat over time. But I don't know how to interpret the histogram of the result.
Another problem is that the mesh I have is of like two surfaces close to each other, one is concave and the other is convex, since it is a boat. I am not sure if the it is feasible to apply the distance computing on such model, because in most cases I saw here, it is models of landscape are compared. For the two meshes of the boat, it is hard to say which one has the larger extent, so I am not sure which one should be the reference to compare.
Hope someone can help me here.
comparing interpretation
Re: comparing interpretation
Hi,
Don't worry, even if there are a lot of users who are indeed playing with "outside" scans, CloudCompare has been originally made for comparing clouds acquired inside power plants, with quite a lot of pipes and ladders.
I might have missed something but I don't understand why you would want to compare the concave mesh with the convex mesh? Aren't these two parts of the same object (the body of you boat?). You should consider both parts as the same mesh (i.e. the envelope of your boat body at a given epoch). Moreover, in your case I guess the extent is always almost the same (at any epoch). Your reference should simply be the global mesh at time 't'. And the compared entity (you can use a cloud sampled on the mesh but you could also use the laser cloud directly) should be the scan at time 't+1'.
You just have to make sure that all meshes/clouds are expressed in the same referential. If not, you can use the 'register' method prior to computing the distances (if your clouds/meshes are both two-sided, it should works smoothly). The histogram you'll get will be the distance from each point of the later surface/scan to the nearest point on the earlier surface. It's not exactly a displacement field (as those are not necessarily the same points on the boat body) but if the displacement is not too large, it's already a quite good approximation. And it's generally much harder to get true displacement fields with such dense laser clouds.
Don't hesitate to correct me if I have missed something. And you can also post snapshots of your clouds to make things clearer.
Don't worry, even if there are a lot of users who are indeed playing with "outside" scans, CloudCompare has been originally made for comparing clouds acquired inside power plants, with quite a lot of pipes and ladders.
I might have missed something but I don't understand why you would want to compare the concave mesh with the convex mesh? Aren't these two parts of the same object (the body of you boat?). You should consider both parts as the same mesh (i.e. the envelope of your boat body at a given epoch). Moreover, in your case I guess the extent is always almost the same (at any epoch). Your reference should simply be the global mesh at time 't'. And the compared entity (you can use a cloud sampled on the mesh but you could also use the laser cloud directly) should be the scan at time 't+1'.
You just have to make sure that all meshes/clouds are expressed in the same referential. If not, you can use the 'register' method prior to computing the distances (if your clouds/meshes are both two-sided, it should works smoothly). The histogram you'll get will be the distance from each point of the later surface/scan to the nearest point on the earlier surface. It's not exactly a displacement field (as those are not necessarily the same points on the boat body) but if the displacement is not too large, it's already a quite good approximation. And it's generally much harder to get true displacement fields with such dense laser clouds.
Don't hesitate to correct me if I have missed something. And you can also post snapshots of your clouds to make things clearer.
Daniel, CloudCompare admin
Re: comparing interpretation
Thanks a lot for your reply.
Sorry I didn't make it clear. I was not trying to compare the two faces of the boat but I was worried that one of them would be considered as noise during comparison, since they are similar and close to each other. I am not very familiar with maths so this would be my stupid conjecture of CCp.
The thing I am not sure is the percentage shown in the histogram when I click on the bar/column. Is it the confidence interval of the distance? Another is the classes of the histogram, does it mean more precise distance when there are more classe?
Sorry I didn't make it clear. I was not trying to compare the two faces of the boat but I was worried that one of them would be considered as noise during comparison, since they are similar and close to each other. I am not very familiar with maths so this would be my stupid conjecture of CCp.
The thing I am not sure is the percentage shown in the histogram when I click on the bar/column. Is it the confidence interval of the distance? Another is the classes of the histogram, does it mean more precise distance when there are more classe?
daniel wrote:Hi,
Don't worry, even if there are a lot of users who are indeed playing with "outside" scans, CloudCompare has been originally made for comparing clouds acquired inside power plants, with quite a lot of pipes and ladders.
I might have missed something but I don't understand why you would want to compare the concave mesh with the convex mesh? Aren't these two parts of the same object (the body of you boat?). You should consider both parts as the same mesh (i.e. the envelope of your boat body at a given epoch). Moreover, in your case I guess the extent is always almost the same (at any epoch). Your reference should simply be the global mesh at time 't'. And the compared entity (you can use a cloud sampled on the mesh but you could also use the laser cloud directly) should be the scan at time 't+1'.
You just have to make sure that all meshes/clouds are expressed in the same referential. If not, you can use the 'register' method prior to computing the distances (if your clouds/meshes are both two-sided, it should works smoothly). The histogram you'll get will be the distance from each point of the later surface/scan to the nearest point on the earlier surface. It's not exactly a displacement field (as those are not necessarily the same points on the boat body) but if the displacement is not too large, it's already a quite good approximation. And it's generally much harder to get true displacement fields with such dense laser clouds.
Don't hesitate to correct me if I have missed something. And you can also post snapshots of your clouds to make things clearer.
Re: comparing interpretation
If the noise or the deformation is more than about half the thickness of your boat body, then you may indeed encounter problems when using the nearest distance. In this case, you should make a separate analysis for each side. Otherwise it should be ok (if the clouds/meshes are well registered of course).
And about the diagram :
[*] the percentage is simply the percentage of values that falls below the corresponding threshold (i.e. on the left of the red line you've got X % of the values). If the resulting histogram looks like a nice Normal distribution, you can use the "Tools > Statistics > Compute Stat. params" tool. It will fit a theoretical Normal distribution on the computed distances (so you can get global information - but you should handle this result with care, as I guess that the deformations won't be "global" and the distances may be flooded in noise). I don't know how your distance field looks like, but when there's local deformations it's generally the most informative result (with the corresponding color bar displayed along side). You can also spawn labels to emphasize some particular areas (just as standard metrology reports).
[*] the number of class is just a display parameter (the "binning" - see http://en.wikipedia.org/wiki/Histogram# ... _and_width)
For what concerns CloudCompare, the (relative) accuracy of the computed distances only depends on the internal representation (around 1e-8 in the standard version). It's generally far below the input data noise (the laser scanner noise of course - which should be the greatest source of error - but also the triangulation related errors - they depend on the way you have generated your meshes, the amount of triangles, etc.).
And about the diagram :
[*] the percentage is simply the percentage of values that falls below the corresponding threshold (i.e. on the left of the red line you've got X % of the values). If the resulting histogram looks like a nice Normal distribution, you can use the "Tools > Statistics > Compute Stat. params" tool. It will fit a theoretical Normal distribution on the computed distances (so you can get global information - but you should handle this result with care, as I guess that the deformations won't be "global" and the distances may be flooded in noise). I don't know how your distance field looks like, but when there's local deformations it's generally the most informative result (with the corresponding color bar displayed along side). You can also spawn labels to emphasize some particular areas (just as standard metrology reports).
[*] the number of class is just a display parameter (the "binning" - see http://en.wikipedia.org/wiki/Histogram# ... _and_width)
For what concerns CloudCompare, the (relative) accuracy of the computed distances only depends on the internal representation (around 1e-8 in the standard version). It's generally far below the input data noise (the laser scanner noise of course - which should be the greatest source of error - but also the triangulation related errors - they depend on the way you have generated your meshes, the amount of triangles, etc.).
Daniel, CloudCompare admin
Re: comparing interpretation
Thank you again and another question is how can I export the data so I can show the histogram with all the details of the bins? like, the details shown when I click on the bins in CCp.
Re: comparing interpretation
Daniel, CloudCompare admin