Difference between ICP RMS and the "Compute Distance" value

Feel free to ask any question here
Post Reply
Garaio
Posts: 2
Joined: Mon Dec 17, 2018 8:35 am

Difference between ICP RMS and the "Compute Distance" value

Post by Garaio »

Hi there,

For my research I want to know the difference between two 3D-models of human faces. I do this by comparing multiple methods/models to a reference method/model.
What I did is, firstly, is to sample all the models with points, then registrate the models roughly by point-picking, then cutting the models, so that the 'compared' model is always smaller than the 'reference'. After that I ICP the two models and then compute the distance between them.
The ICP gives me an difference in RMS. Do I understand this is a value in scale, like say 0,70 RMS = mean = 0,70 mm diference between the models?

Afterwards the 'compute distance' gives me also an number, let's say mean 0,80 and stdev 0,60. Does this mean there is a mean difference of 0,80 mm with a stdev of 0,60 mm, between the models?

Obviously one of the two is a wrong assumption. But I don't understand the values given, exactly.
Could someone explain what the values represent, exactly?

Thanks in advance,
Garaio
daniel
Site Admin
Posts: 7711
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Difference between ICP RMS and the "Compute Distance" value

Post by daniel »

Hi,

Juste to make things clear:
- you don't need to sample the reference entities (it's better to keep them as meshes)
- you don't need to cut the model for the registration part (either by picking points or with ICP since recent version avec the 'overlap' parameter now)
- but it may be interesting for the comparison if you don't want to take far points into account

Otherwise, mind that the ICP algorithm computes the RMS on a subset of the points. And the RMS is the root of the mean square errors. So it's quite different from the average / mean value (it's more related to the standard deviation).

You can also get the RMS after the distances have been computed (it will be more reliable). Just use the histogram tool and look at the console. You can also use the 'Fit Stat. distrib' method to fit a Normal distribution and read the mean and standard deviation. But they are probably the same as what is output in the console.

And yes the RMS is expressed in the same units as the points (as all the distances, etc.).
Daniel, CloudCompare admin
Garaio
Posts: 2
Joined: Mon Dec 17, 2018 8:35 am

Re: Difference between ICP RMS and the "Compute Distance" value

Post by Garaio »

Hi,

Thanks for the reply.

I thought sampling the reference increases the resolution whereof the distance could be computed. I sampled ever mesh with a density of 100.
Would it be possible to calculate the resolution the of the sampled point cloud?

Also, for ICP I use 600000 points with the option 'Enable farthest point removal' enabled. I also enable scaling, because my compared mesh is not in the correct scale because it's made via fotogrammetry. Whereafter I compute the distance between the two clouds.
The value it gives in the console after the computation, is the final mean and standard deviation, I assume?

My question now is, provided the ICP settings and the sampled point-clouds, is the distance computation a reliable source of information?

Hope you can help with this.

Best regards,
Garaio
daniel
Site Admin
Posts: 7711
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Difference between ICP RMS and the "Compute Distance" value

Post by daniel »

A mesh has no sampling issue (as you compute the distance to the nearest triangle/surface and not to the nearest vertex. So you should definitely use a mesh as reference.

For ICP, you shouldn't use the 'farthest point removal' option. It was an old 'research' option, and it is now replaced by the overlap parameter.

Yes the displayed values are the mean and std. deviation of the computed distances.

And I'll answer your question by another question: what do you mean by reliable? ;D If you are referring to the output values (mean and std. dev.) then it depends. The mean doesn't mean (appart than indicating a global shift / tendency). And the std. dev. is probably better (it gives an information of the amplitude of variations).
Daniel, CloudCompare admin
Post Reply