Skip to content

DetarNet: Decoupling Translation and Rotation by Siamese Network for Point Cloud Registration (AAAI2022)

License

Notifications You must be signed in to change notification settings

ZhiChen902/DetarNet

Repository files navigation

DetarNet: Decoupling Translation and Rotation by Siamese Network for Point Cloud Registration

Introduction

Point cloud registration is a fundamental step for many tasks. In this paper, we propose a neural network named DetarNet to decouple the translation $t$ and rotation $R$, so as to overcome the performance degradation due to their mutual interference in point cloud registration. First, a Siamese Network based Progressive and Coherent Feature Drift (PCFD) module is proposed to align the source and target points in high-dimensional feature space, and accurately recover translation from the alignment process. Then we propose a Consensus Encoding Unit (CEU) to construct more distinguishable features for a set of putative correspondences. After that, a Spatial and Channel Attention (SCA) block is adopted to build a classification network for finding good correspondences. Finally, the rotation is obtained by Singular Value Decomposition (SVD). In this way, the proposed network decouples the estimation of translation and rotation, resulting in better performance for both of them. Experimental results demonstrate that the proposed DetarNet improves registration performance on both indoor and outdoor scenes.

Requirements

All the experiments are conducted on a machine with an INTEL Xeon E5-2620 CPU and a single NVIDIA GTX1080Ti. The cuda version is 10.2. To prepare the required libraries, you can run the follows code:

pip install -r requirements.txt

Data and Model

Download the processed Sun3d, KITTI and 7scenes datasets.

Download the pretrained models for Sun3d and KITTI datasets.

Training

Train the model on Sun3d dataset:

python main.py --data_tr=sun3d --run_mode=train --log_dir=[NAME] 

Train the model on KITTI dataset:

python main.py --data_tr=KITTI --run_mode=train --log_dir=[NAME] 

Testing

Test the pretrained model on Sun3d dataset:

python main.py --data_te=sun3d --run_mode=test --log_dir=sun3d_model

Test the pretrained model on KITTI dataset:

python main.py --data_te=KITTI --run_mode=test --log_dir=kitti_model

Test the pretrained model on 7scenes dataset:

python main.py --data_te=7scenes --run_mode=test --log_dir=sun3d_model

License

Our code is distributed under the MIT License. See LICENSE file for more information.

Citation

@article{chen2021detarnet,
  title={DetarNet: Decoupling Translation and Rotation by Siamese Network for Point Cloud Registration},
  author={Chen, Zhi and Yang, Fan and Tao, Wenbing},
  journal={arXiv preprint arXiv:2112.14059},
  year={2021}
}

Acknowledgments

Our code follows several awesome repositories. We appreciate them for making their codes available to public.

About

DetarNet: Decoupling Translation and Rotation by Siamese Network for Point Cloud Registration (AAAI2022)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages