ThibaultGROUEIX / AtlasNet

This repository contains the source codes for the paper "AtlasNet: A Papier-Mâché Approach to Learning 3D Surface Generation ". The network is able to synthesize a mesh (point cloud + connectivity) from a low-resolution point cloud, or from an image.

Home Page:http://imagine.enpc.fr/~groueixt/atlasnet/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How is the metro distance used?

ThibaultGROUEIX opened this issue · comments

How is the metro distance used?
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

The score used is the Hausdorff distance, in this case : 0.344584
It's the max(max(forward),max(back))

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
  • Average the hausdorff Distances

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.

Note : in the latest release of the code, metro is computed on unormalised shapenet models which gives different results from the paper.