PyTorch implementation of the paper: Iterative Feedback Network for Unsupervised Point Cloud Registration.
Our model is trained with the following environment:
- Ubuntu 20.04
- Python 3.8
- PyTorch 1.8.1 with torchvision 0.9.1 (Cuda 11.1)
Other required packages can be found in
requirements.txt
.
Clone the repository and build the ops:
git clone https://github.com/IvanXie416/IFNet.git
cd IFNet
cd pointnet2 && python setup.py install && cd ../
The datasets can be downloaded from ModelNet40, 7Scenes, ICL-NUIM and KITTI.
The pre-trained models can be downloaded from Google Drive.
To train a model:
- Modify the 'gaussian_noise', 'unseen', 'data_file', 'dataset_path', 'root' specified in folder 'config' and then do training:
CUDA_VISIBLE_DEVICES=0 python main.py ./config/train.yaml CUDA_VISIBLE_DEVICES=0 python main.py ./config/train7.yaml CUDA_VISIBLE_DEVICES=0 python main.py ./config/train-icl.yaml CUDA_VISIBLE_DEVICES=0 python main.py ./config/train-k.yaml
To test a model:
- Please download the pre-trained models, modify the 'model_path', 'eval' in folder 'config' and then do testing:
CUDA_VISIBLE_DEVICES=0 python main.py ./config/train.yaml CUDA_VISIBLE_DEVICES=0 python main.py ./config/train7.yaml CUDA_VISIBLE_DEVICES=0 python main.py ./config/train-icl.yaml CUDA_VISIBLE_DEVICES=0 python main.py ./config/train-k.yaml
If you find our work useful in your research, please consider citing:
@article{xie2024iterative,
title={Iterative Feedback Network for Unsupervised Point Cloud Registration},
author={Xie, Yifan and Wang, Boyu and Li, Shiqi and Zhu, Jihua},
journal={IEEE Robotics and Automation Letters},
year={2024},
publisher={IEEE}
}
This code is developed heavily relying on RIENet, HRegNet and GMFN. Thanks for these great projects.