How is the metro distance used?
ThibaultGROUEIX opened this issue · comments
ThibaultGROUEIX commented
How is the metro distance used?
ThibaultGROUEIX commented
shell: metro cbc47018135fc1b1462977c6d3c24550.ply cbc76d55a04d5b2e1d9a8cea064f5297.ply
-------------------------------
Metro V.4.07
http://vcg.isti.cnr.it
release date: Jan 22 2018
-------------------------------
read mesh `cbc47018135fc1b1462977c6d3c24550.ply'
read mesh `cbc76d55a04d5b2e1d9a8cea064f5297.ply'
Mesh info:
M1: 'cbc47018135fc1b1462977c6d3c24550.ply'
vertices 5442
faces 21636
area 14.3204
bbox (-0.5632 -0.6399 -0.7776)-( 0.5521 0.6397 0.6078)
bbox diagonal 2.191061
M2: 'cbc76d55a04d5b2e1d9a8cea064f5297.ply'
vertices 920
faces 3534
area 9.8400
bbox (-0.7917 -0.6153 -0.5487)-( 0.7917 0.3480 0.4622)
bbox diagonal 2.111077
Forward distance (M1 -> M2):
target # samples : 216360
target # samples/area : 15108.491000
Vertex sampling
Edge sampling
Similar Triangles face sampling
distances:
max : 0.344584 (0.130897 wrt bounding box diagonal)
mean : 0.112646
RMS : 0.144813
# vertex samples 5442
# edge samples 108359
# area samples 97117
# total samples 210918
# samples per area unit: 14728.474324
Backward distance (M2 -> M1):
target # samples : 216360
target # samples/area : 21987.701024
Vertex sampling
Edge sampling
Similar Triangles face sampling
distances:
max : 0.296126 (0.112489 wrt bounding box diagonal)
mean : 0.083934
RMS : 0.105934
# vertex samples 920
# edge samples 47628
# area samples 166892
# total samples 215440
# samples per area unit: 21894.205531
Hausdorff distance: 0.344584 (0.130897 wrt bounding box diagonal)
Computation time : 7138 ms
# samples/second : 59722.628906
ThibaultGROUEIX commented
The score used is the Hausdorff distance, in this case : 0.344584
It's the max(max(forward),max(back))
ThibaultGROUEIX commented
The score reported in the paper is obtained by :
- selecting 20x13 random models (20 from each class). They are found in
./data/ShapeNetCorev2Normalized
- for each model:
- Normalize each mesh to a unit ball (see below) This step is already precomputed in
./data/ShapeNetCorev2Normalized
- Generate AtlasNet output. In the case of single view reconstruction, I use the (random) rendering indexed 0 in the data.
- Get the hausdorff Distance with Metro
- Normalize each mesh to a unit ball (see below) This step is already precomputed in
- Average the hausdorff Distances
ThibaultGROUEIX commented
To normalize :
- center the mesh (subtract the mean)
- find the radius of the pointcloud i.e the max over all the points of their L2 distance
- divide each point by the radius.
ThibaultGROUEIX commented
Note : in the latest release of the code, metro is computed on unormalised shapenet models which gives different results from the paper.