PyTorch implementation of paper "GraphFit: Learning Multi-scale Graph-convolutional Representation for Point Cloud Normal Estimation", ECCV 2022.
Clone this repo:
git clone https://github.com/UestcJay/GraphFit.git
cd GraphFit/
The code is tested with Ubuntu16.04, Python3.7, PyTorch == 1.6.0 and CUDA == 10.2. We recommend you to use anaconda to make sure that all dependencies are in place. we conduct the experiment in the following setting:
pytorch==1.6.0
torchvision==0.7.0
numpy==1.19.2
matplotlib==3.3.4
scikit-learn==0.21.3
scipy==1.6.0
urllib3==1.26.3
tensorboardX==2.2
├──data/
├──pcpnet/
Run get_data.py to download PCPNet data.
Alternatively, Download the PCPNet data from this link and place it in ./data/pcpnet/ directory.
when k=256, batch_size=256, we use 2 Tesla V100.
python train_n_est.py
# To test the model and output all normal estimations for the dataset run
python test_n_est.py
# To evaluate the results and output a report
python evaluate.py
The code is heavily based on DeepFit.
If you find our work useful in your research, please cite the following papers.
@inproceedings{li2022graphfit,
title={GraphFit: Learning Multi-scale Graph-convolutional Representation
for Point Cloud Normal Estimation},
author={Keqiang Li, Mingyang Zhao, Huaiyu Wu, Dong-Ming Yan, Zhen Shen, Fei-Yue Wang and Gang Xiong},
booktitle={European conference on computer vision},
year={2022},
organization={Springer}
}
@inproceedings{zhu2021adafit,
title={AdaFit: Rethinking Learning-based Normal Estimation on Point Clouds},
author={Zhu, Runsong and Liu, Yuan and Dong, Zhen and Wang, Yuan and Jiang, Tengping and Wang, Wenping and Yang, Bisheng},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={6118--6127},
year={2021}
}
@inproceedings{ben2020deepfit,
title={Deepfit: 3d surface fitting via neural network weighted least squares},
author={Ben-Shabat, Yizhak and Gould, Stephen},
booktitle={European conference on computer vision},
pages={20--34},
year={2020},
organization={Springer}
}