Eunji
Eunji

Reputation: 33

Meaning of Hausdorff Distance Results in Meshlab

I was trying to compare two meshes by using Hausdorff distance tool in Meshlab. I've got the results for a min, max, mean and RMS. However, there are two sets of results for each of these parameters. Can anyone tell me which one is the final result?

Hausdorff distance result

Upvotes: 3

Views: 2534

Answers (2)

Rockcat
Rockcat

Reputation: 3250

min : 0.000 max 43.5198 mean : 0.2219 RMS : 0.73845

The first line of value are absolute measures, they are measured in your length units (for example millimeters).

  • min=0.000 is the minimun distance (so surfaces are in contact somewhere)
  • max=43.5198 is the distance at the maximum gap between meshes.
  • mean=0.2219 is the average distance.
  • RMS=0.7384 is the Root Mean Square, or quadratic mean.

The second line are normalized values. They are the same as previous values but divided by the length of the bounding box diagonal of one mesh (in your case that diagonal is 333.82), so it is an adimensional value.

Here, max=0.1303 means that the maximum gap is 13.03% of your diagonal length

You get both values because sometimes you want to know the real distance, and sometimes you just want to know if the distance is relevant or not. 43mm is a big distance if you are comparing two tomatoes, but it is not relevant if you are comparing two mountains. Also, it makes the measure independent of scale and units. 43 is a big distance measured in meters but not if measured in micrometers.

Upvotes: 4

Damien
Damien

Reputation: 1218

I would like to complete the answer that has been accepted. When you click on Hausdorff distance two things happen:

  • Meshlab assigns to each vertex the unsigned distance from each vertex to the closest of the opposite surface. This is why if you Colorize by vertex quality you see that each vertex have a different color. But this is not the Hausdorff distance, it's just a "distance map" (I don't know the technical name).
  • Given this "distance map" it computes the maximum, minimum, average and standard deviation. This maximum is the actual asymmetric Hausdorff distance (which is just a number). It also compute the same values but normalized to the BBox diag which is the diagonal of the minimum parallelepiped that entirely contains the mesh.

If you are just interested to the values assigned to each vertex remember that it is just an unsigned distance. Remember also that the distance between two surfaces is not symmetric: the distance from A to B is different from the distance from B to A. In fact Meshlab only computes the asymmetric Hausdorff distance:

Asymmetric Hausdorff distance formula

Upvotes: 2

Related Questions