NeeDrop: Self-supervised Shape Representation from Sparse Point Clouds using Needle Dropping
by: Alexandre Boulch, Pierre-Alain Langlois, Gilles Puy and Renaud Marlet
Project page - Paper - Arxiv - Blog - Code
Citation
@inproceedings{boulch2021needrop,
title={NeeDrop: Self-supervised Shape Representation from Sparse Point Clouds using Needle Dropping},
author={Boulch, Alexandre and Langlois, Pierre-Alain and Puy, Gilles and Marlet, Renaud},
booktitle={International Conference on 3D Vision (3DV)},
year={2021}
}
Dependencies
Installation of generation modules
We use the generation code from Occupancy Network. Please acknowledge the paper if you use this code.
python setup.py build_ext --inplace
Datasets
Occupancy Network pre-processing)
ShapeNet (We use the ShapeNet dataset as pre-processed by Occupancy Networks. Please refer to original repository for downloading the data.
DFaust
Please download the data from the official website.
Training
The following command trains the network with the default parameters. Here we assume the dataset is in a data
folder. The outputs will be placed in a results
folder.
ShapeNet
python train.py --config configs/config_shapenet.yaml --log_mode interactive
Finetuning with a reduced needle size
python train.py --config configs/config_shapenet.yaml --init_with results/ShapeNet_None_300_2048_filterNone/checkpoint.pth --sigma_multiplier 0.5 --experiment_name FT0.5 --lr_start 0.0001
Generation
In order to generate the meshes, run the command
python generate.py --config replace/with/model/directory/config.yaml
If you want to generate a limited number of models per category:
python generate.py --config replace/with/model/directory/config.yaml --num_mesh 10
Note: evaluation on DFaust (as in SAL) was done with 30000 points to compute the Chamfer distance.
python eval.py --dataset_name DFaust --dataset_root data/DFaust/ --prediction_dir results/DFaust_None_300_2048_filterNone/generation/ --n_points 30000
Evaluation
To evaluate the model, run:
python eval.py --dataset_name ShapeNet --dataset_root data/ShapeNet/ --prediction_dir results/ShapeNet_None_300_2048_filterNone/generation/
Pretrained models
ShapeNet
Model | IoU |
---|---|
NeeDrop ShapeNet | 0.663 |
NeeDrop ShapeNet + Finetuning 0.5 | 0.676 |
DFaust
Model | Chamfer 5% | Chamfer 50% | Chamfer 95% |
---|---|---|---|
NeeDrop DFaust | 0.269 * 1e-3 | 0.433 * 1e-3 | 1.149 * 1e-3 |
NeeDrop DFaust + Finetuning 0.5 | 0.107 * 1e-3 | 0.175 * 1e-3 | 1.322 * 1e-3 |