by: Alexandre Boulch, Pierre-Alain Langlois, Gilles Puy and Renaud Marlet
Project page - Paper - Arxiv - Blog - Code
@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}
}
We use the generation code from Occupancy Network. Please acknowledge the paper if you use this code.
python setup.py build_ext --inplace
ShapeNet (Occupancy Network pre-processing)
We use the ShapeNet dataset as pre-processed by Occupancy Networks. Please refer to original repository for downloading the data.
Please download the data from the official website.
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.
python train.py --config configs/config_shapenet.yaml --log_mode interactive
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
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
To evaluate the model, run:
python eval.py --dataset_name ShapeNet --dataset_root data/ShapeNet/ --prediction_dir results/ShapeNet_None_300_2048_filterNone/generation/
| Model | IoU |
|---|---|
| NeeDrop ShapeNet | 0.663 |
| NeeDrop ShapeNet + Finetuning 0.5 | 0.676 |
| 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 |