Official implementation of our TITS paper (arxiv, IEEE).
python setup.py develop
The code has been tested with Ubuntu 20.04, torch 1.8.0, cuda 11.4, and python 3.8.8
python infer.py
This script returns correspondences between two scans and calculates relative pose.
Change _C.output_dir
in experiments/config.py
to your preferred path. Logs, trained snapshots, processed features will be saved in this path.
Download the data from the Kitti official website.
--(your dataset path)--Kitti--sequences--00--velodyne--000000.bin
| | |--...
| |...
|--calib--sequences--00--calib.txt
| |--times.txt
|--...
Change _C.data.dataset_root
in experiments/config.py
to your dataset path
Downsample the point cloud:
python preprocess/downsample_pcd_kitti.py
Generate ground truth pairs for testing:
python preprocess/generate_kitti_pairs.py
In preprocess/generate_kitti_pairs.py
, we follow FCGF, PREDATOR, CoFiNet, SuperGlue, and GeoTransformer to refine the ground truth relative poses using ICP. However, we find a same issue occurred in these repos. For more details, please refer to this link.
python experiments/trainval.py
Using following command for multi-gpu training:
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 experiments/trainval.py
./eval.sh
For visualization, please set _C.test.vis
to 'True'. You will get: original nodes with learned offsets, final superpoints, grouped points using orignial nodes, grouped points using detected superpoints, and detected correspondences in order.
Zooming in the grouped points, you will find that using the detected superpoints leads to the points of a single object are more easily to be grouped as a whole. See following demonstrations for closer examination. Feel free to try you interested scans!
Datasets | RR | RRE(°) | RTE(cm) |
---|---|---|---|
KITTI | 99.82 | 0.18 | 5.3 |
KITTI-360 | 99.89 | 0.25 | 7.0 |
Apollo | 100 | 0.10 | 4.6 |
Mulran | 87.09 | 0.45 | 14.4 |
All results are evaluated using the same model trained on KITTI. Mulran poses significant challenge for generalization, as it loses approximated 70° field-of-view.
@article{shi2023RDMNet,
title={RDMNet: Reliable Dense Matching Based Point Cloud Registration for Autonomous Driving},
author={Chenghao Shi and Xieyuanli Chen and Huimin Lu and Wenbang Deng and Junhao Xiao and Bin Dai},
journal={IEEE Trans.~on Intelligent Transportation Systems (ITS)},
volume={24},
number={10},
pages={11372-11383},
year={2023}
}
We thank the following authors for open sourcing their methods.
- Add quick demo.
- Current codes have supported Mulran, KITTI360, and Apollo. Add tips for these datasets.