Skip to content
Python Shell
Branch: master
Clone or download
Latest commit 77cafe9 Sep 9, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data download data Feb 18, 2019
images first commit Feb 13, 2019
models download models Feb 18, 2019
noise_removal updated modeldir Feb 17, 2019
outliers_removal updated modeldir Feb 17, 2019
.gitignore updated modeldir Feb 17, 2019
LICENSE first commit Feb 13, 2019
README.md Update README.md Sep 9, 2019

README.md

PointCleanNet

This is our implementation of PointCleannet, a network removes outliers and reduces noise in unordered point clouds.

PointCleanNet cleans 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.

@article{rakotosaona2019pointcleannet,
  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},
  journal={Computer Graphics Forum},
  year={2019}
}
You can’t perform that action at this time.