Awesome
PointCleanNet
This is our implementation of PointCleannet, a network removes outliers and reduces noise in unordered point clouds.
The architecture is similar to PCPNet (with a few smaller modifications).
This code was written by Marie-Julie Rakotosaona, based on the excellent implementation of PCPNet by Paul Guerrero and Yanir Kleiman.
Prerequisites
- CUDA and CuDNN (changing the code to run on CPU should require few changes)
- Python 2.7
- PyTorch 1.0
Setup
Install required python packages, if they are not already installed (tensorboardX is only required for training):
pip install numpy
pip install scipy
pip install tensorboardX
Clone this repository:
git clone https://github.com/mrakotosaon/pointcleannet.git
cd pointcleannet
Download datasets:
cd data
python download_data.py --task denoising
python download_data.py --task outliers_removal
Download pretrained models:
cd models
python download_models.py --task denoising
python download_models.py --task outliers_removal
Data
Our data can be found here: https://nuage.lix.polytechnique.fr/index.php/s/xSRrTNmtgqgeLGa .
It contains the following files:
- Dataset for denoising
- Training set and test set for outliers removal
- Pre-trained models for denoising and outliers removal
In the datasets the input and ground truth point clouds are stored in different files with the same name but with different extensions.
- For denoising:
.xyz
for input noisy point clouds,.clean_xyz
for the ground truth. - For outliers removal:
.xyz
for input point clouds with outliers,.outliers
for the labels.
Removing outliers
To classify outliers using default settings:
cd outliers_removal
mkdir results
python eval_pcpnet.py
Denoising
To denoise point clouds using default settings:
cd noise_removal
mkdir results
./run.sh
(the input shapes and number of iterations are specified in run.sh file)
Training
To train PCPNet with the default settings:
python train_pcpnet.py
Citation
If you use our work, please cite our paper.
@inproceedings{rakotosaona2020pointcleannet,
title={POINTCLEANNET: Learning to denoise and remove outliers from dense point clouds},
author={Rakotosaona, Marie-Julie and La Barbera, Vittorio and Guerrero, Paul and Mitra, Niloy J and Ovsjanikov, Maks},
booktitle={Computer Graphics Forum},
volume={39},
number={1},
pages={185--203},
year={2020},
organization={Wiley Online Library}
}
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. For any commercial uses or derivatives, please contact us.