Skip to content
Deep Learning for Robust Normal Estimation in Unstructured Point Clouds
C++ Other
  1. C++ 98.6%
  2. Other 1.4%
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Deep Learning for Robust Normal Estimation in Unstructured Point Clouds


Please acknowledge our the reference paper :

"Deep Learning for Robust Normal Estimation in Unstructured Point Clouds " by Alexandre Boulch and Renaud Marlet, Symposium of Geometry Processing 2016, Computer Graphics Forum


  • Eigen and nanoflann (in the third_party_includes folder)
  • TQDM
  • Cython
  • PyTorch


The code has been tested on Ubuntu 18.04 with Anaconda.

Building the python library

cd path_to_repository/python
python install --home "."

It will build a library in the python folder of the repository.

Pretrained networks

Pretrained networks can be downloaded for 1, 3 and 5 scales (the models of the paper):

The models for previous versions (Lua Torch) can be downloaded here: 1 scale, 3 scales and 5 scales.


Once the library is built. You can use the to test the estimation. The file is located in the test directory.

Note: the input file must currently be at xyz format, it is possible to generate such file with Meshlab.

Note: number of scales has to be consistent with the used model (there are separate models for different scales).

Training from scratch

We provide the scripts for generating a training set and training a new model. The script performs theses task. You can choose the scale number (1, 3 or 5) as in the paper.

Note: This is not the original training script from the related paper, but it should be similar. If you spot malfunctioning code or unexpected behavior, please contact the author.


The code is released under GPLv3 license. For commercial utilisation please contact the authors. The license is here.


Alexandre Boulch

You can’t perform that action at this time.