This repository contains the code to reproduce the results from the paper. Learning Signed Distance Functions from Noisy 3D Point Clouds via Noise to Noise Mapping
You can find detailed usage instructions for preprocessing data and training your own models below.
First you have to make sure that you have all dependencies in place. The simplest way to do so, is to use anaconda.
You can create an anaconda environment called tf
using
conda env create -f tf.yaml
conda activate tf
First downloading the dataset you would like to use (e.g. ShapeNet). Then you can generate the noisy point cloud data for training as:
python gen_noise.py /PATH/TO/YOUR/DATA/dataname.ply(obj,off,etc.) /PATH/TO/SAVEDATA/savename.ply
You can simply modify the code for processing your own data.
You can now train the network by runing
python noise2noise.py --dataname savename --data_dir /PATH/TO/SAVEDATA --CUDA 0 --out_dir /PATH/TO/OUTPUT --train --save_idx -1
Pytorch
https://github.com/mabaorui/NeuralPull-Pytorch
https://github.com/junshengzhou/CAP-UDF
Tensorflow
https://github.com/mabaorui/NeuralPull
https://github.com/mabaorui/OnSurfacePrior
https://github.com/mabaorui/PredictableContextPrior
If you find our code or paper useful, please consider citing
@inproceedings{BaoruiNoise2NoiseMapping,
title = {Learning Signed Distance Functions from Noisy 3D Point Clouds via Noise to Noise Mapping},
author = {Baorui Ma and Yu-Shen Liu and Zhizhong Han},
booktitle = {International Conference on Machine Learning (ICML)},
year = {2023}
}