rjtshrm / point-normals-upsampling

Efficient Point Cloud Upsampling and Normal Estimation using Deep Learning for Robust Surface Reconstruction

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Efficient Point Cloud Upsampling and Normal Estimation using Deep Learning for Robust Surface Reconstruction

To run the project add root folder of the project to python path.export PYTHONPATH="ROOTPATH_OF_PROJECT:$PYTHONPATH" e.g., export PYTHONPATH="/home/user/point-normals-upsampling:$PYTHONPATH"

Setup

  • Use anaconda for python3.7. Install requirements.txt. Install torch and cuda toolkit conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
  • Build pointnet++ module run python setup.py build_ext --inplace in root folder of project
  • Build sampling module run python setup.py install in sampling folder of project
  • Add absolute path of chamfer_distace.cpp and chamfer_distance.cu in chamfer_distance.py

Training

  • For this repo we used PU-NET dataset for training. Download the hdf5 format patches dataset from GoogleDrive
  • For training and evalutation run all commands inside code folder.
  • Training: python train.py --num_points 1024 --checkpoint_path .. --batch_size 20 --epochs 400 --h5_data_file dataset_path e.g., python train.py --num_points 1024 --checkpoint_path .. --batch_size 20 --epochs 400 --h5_data_file ../data.h5
  • Evaluation: python evaluate.py --test_file filename(.xyz) --num_points num (default=1024) --patch_num_ratio num (default=4) --trained_model checkpoint_path e.g., python evaluate.py --test_file ../test.xyz --num_points 1024 --patch_num_ratio 4 --trained_model ../checkpoint
  • All the results will be saved in results folder in root directory

Acknowledgement

About

Efficient Point Cloud Upsampling and Normal Estimation using Deep Learning for Robust Surface Reconstruction

License:MIT License


Languages

Language:Python 60.8%Language:Cuda 22.7%Language:C++ 16.4%Language:Objective-C 0.1%