Created by Pedro Hermosilla, Tobias Ritschel, Timo Ropinski.
If you find this code useful please consider citing us:
@article{hermosilla2019totaldenoise,
title={Total Denoising: Unsupervised Learning of 3D Point Cloud Cleaning},
author={Hermosilla, P. and Ritschel, and Ropinski, T.},
journal={International Conference on Computer Vision 2019 (ICCV19)},
year={2019}
}
First, install TensorFlow. The code presented here was developed using TensorFlow v1.13 GPU version, Python 3, and Ubuntu 16.04 TLS. All the operation were implemented on the GPU, no CPU implementation is provided. Therefore, a workstation with a state-of-the-art GPU is required.
Then, we need to download the MCCNN library into a folder named MCCNN and follow the instructions provided in the readme file to compile the library.
In order to train the networks provided in this repository, first, we have to compile the new tensor operations. These operations are located on the folder tf_ops
. To compile them we should first modify the paths on the file compile.sh
. Then, we should execute the following commands:
cd tf_ops
sh compile.sh
You can download the dataset from the following link
You can download the dataset from the following link. Create a folder named RueMadame
with the ply files on it and use the script GenerateRueMadameDataSet.py
to subdivide the scan into chunks.
Use the script Train.py
to train a model in the selected dataset. Use the command Train.py --help
to look at the options provided by the script. The command used to train on the RueMadame dataset:
python Train.py --dataset 3
Use the script Test.py
to test a trained model. Use the command Test.py --help
to look at the options provided by the script. The command to test a trained model on the RueMadame dataset:
python3 Test.py --gaussFilter --dataset 3 --saveModels --noCompError
The command to test a trained model on one of the synthetic datasets:
python3 Test.py --gaussFilter --dataset 0 --saveModels
Our code is released under MIT License (see LICENSE file for details).