Need help with AtlasNet?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ThibaultGROUEIX
453 Stars 90 Forks MIT License 184 Commits 10 Opened issues

Description

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.

Services available

!
?

Need anything else?

Contributors list

# 87,611
Python
HTML
Shell
geometr...
171 commits

AtlasNet [Project Page] [Paper] [Talk]

AtlasNet: A Papier-Mâché Approach to Learning 3D Surface Generation
Thibault Groueix, Matthew Fisher, Vladimir G. Kim , Bryan C. Russell, Mathieu Aubry
In CVPR, 2018.

:rocket: New branch : AtlasNet + Shape Reconstruction by Learning Differentiable Surface Representations

chair.png chair.gif

Install

This implementation uses Python 3.6, Pytorch, Pymesh, Cuda 10.1. ```shell

Copy/Paste the snippet in a terminal

git clone --recurse-submodules https://github.com/ThibaultGROUEIX/AtlasNet.git cd AtlasNet

Dependencies

conda create -n atlasnet python=3.6 --yes conda activate atlasnet conda install pytorch torchvision cudatoolkit=10.1 -c pytorch --yes pip install --user --requirement requirements.txt # pip dependencies ```

Optional : Compile Chamfer (MIT) + Metro Distance (GPL3 Licence)
# Copy/Paste the snippet in a terminal
python auxiliary/ChamferDistancePytorch/chamfer3D/setup.py install #MIT
cd auxiliary
git clone https://github.com/ThibaultGROUEIX/metro_sources.git
cd metro_sources; python setup.py --build # build metro distance #GPL3
cd ../..

Usage

  • Demo :
    python train.py --demo
  • Training :
    python train.py --shapenet13
    Monitor on http://localhost:8890/
  • Latest Refacto 12-2019
    • [x] Factorize Single View Reconstruction and autoencoder in same class
    • [x] Factorise Square and Sphere template in same class
    • [x] Add latent vector as bias after first layer(30% speedup)
    • [x] Remove last th in decoder
    • [x] Make large .pth tensor with all pointclouds in cache(drop the nasty Chunk_reader)
    • [x] Make-it multi-gpu
    • [x] Add netvision visualization of the results
    • [x] Rewrite main script object-oriented
    • [x] Check that everything works in latest pytorch version
    • [x] Add more layer by default and flag for the number of layers and hidden neurons
    • [x] Add a flag to generate a mesh directly
    • [x] Add a python setup install
    • [x] Make sure GPU are used at 100%
    • [x] Add f-score in Chamfer + report f-score
    • [x] Get rid of shapenet_v2 data and use v1!
    • [x] Fix path issues no more sys.path.append
    • [x] Preprocess shapenet 55 and add it in dataloader
    • [x] Make minimal dependencies

Quantitative Results

| Method | Chamfer (1) | Fscore (2) | Metro (*3) | Total Train time (min) | | ---------------------- | ---- | ---- | ----- |------- | | Autoencoder 25 Squares | 1.35 | 82.3% | 6.82 | 731 | | Autoencoder 1 Sphere | 1.35 | 83.3% | 6.94 | 548 | | SingleView 25 Squares | 3.78 | 63.1% | 8.94 | 1422 | | SingleView 1 Sphere | 3.76 | 64.4% | 9.01 | 1297 |

  • (*1) x1000. Computed between 2500 ground truth points and 2500 reconstructed points.
  • (*2) The threshold is 0.001
  • (*3) x100. Metro is ran on unormalized point clouds (which explains a difference with the paper's numbers)

Related projects

Citing this work

@inproceedings{groueix2018,
          title={{AtlasNet: A Papier-M\^ach\'e Approach to Learning 3D Surface Generation}},
          author={Groueix, Thibault and Fisher, Matthew and Kim, Vladimir G. and Russell, Bryan and Aubry, Mathieu},
          booktitle={Proceedings IEEE Conf. on Computer Vision and Pattern Recognition (CVPR)},
          year={2018}
        }

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.