# AtlasNet **Repository Path**: dang050/AtlasNet ## Basic Information - **Project Name**: AtlasNet - **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. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-25 - **Last Updated**: 2021-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## AtlasNet [[Project Page]](http://imagine.enpc.fr/~groueixt/atlasnet/) [[Paper]](https://arxiv.org/abs/1802.05384) [[Talk]](http://imagine.enpc.fr/~groueixt/atlasnet/atlasnet_slides_spotlight_CVPR.pptx) **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](http://cvpr2018.thecvf.com/). :rocket: New branch : [AtlasNet + Shape Reconstruction by Learning Differentiable Surface Representations](https://github.com/ThibaultGROUEIX/AtlasNet/tree/jacobian_regularization) chair.png chair.gif ### Install This implementation uses Python 3.6, [Pytorch](http://pytorch.org/), [Pymesh](https://github.com/PyMesh/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) ```shell # 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](./doc/demo.md)** : ```python train.py --demo``` * **[Training](./doc/training.md)** : ```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](https://github.com/ThibaultGROUEIX/AtlasNet/issues/34) (*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 * [Learning Elementary Structures](https://github.com/TheoDEPRELLE/AtlasNetV2) * [3D-CODED](https://github.com/ThibaultGROUEIX/3D-CODED) * [Cycle Consistent Deformations](https://github.com/ThibaultGROUEIX/CycleConsistentDeformation) * [Atlasnet code V2.2](https://github.com/ThibaultGROUEIX/AtlasNet/tree/V2.2) (more linear, script like, may be easier to understand at first) ### 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} } ```