C++ implementation of the paper: Efficient Single Correspondence Voting for Point Cloud Registration
We are actively updating the code and will open source the paper's code after the article is officially released.
1.Before compiling, make sure CMake and VS are available.
2.The available process is to directly use CMake to generate the sln of vs, and then use vs to compile the code. The code relies on three open source libraries: Eigen, FLANN, and ICP_Princeton, which we have added to the source code.
3.Set the path parameters in the main function according to the path of the registration data.
Code has been tested with Win11, VS2019, CMake 3.24, and OpenMP.
The data required for testing can be obtained in the following ways:
Point cloud data can be downloaded from the website: https://3dmatch.cs.princeton.edu/#rgbd-reconstruction-datasets.
The download address of the required features and benchmarks: https://drive.google.com/drive/folders/17oapnRqExtRyLMws98DgghZNWpPP7BBY?usp=sharing.
Point cloud data can be downloaded from the website: https://www.cvlibs.net/datasets/kitti/eval_odometry.php.
The download address of the required features and ICP fine optimization results: https://drive.google.com/drive/folders/1sT6xMCCiBEd-y3rPg5-qzNMEkANh55Rs?usp=sharing.
No | Featrues | RTE(cm) | RRE(°) | RR | MR | Times(s) |
---|---|---|---|---|---|---|
1 | FCGF | 6.86 | 1.78 | 0.9523 | 0.9437 | 1.21 |
2 | FCGF | 6.88 | 1.79 | 0.9539 | 0.9450 | 1.24 |
3 | FCGF | 6.82 | 1.79 | 0.9539 | 0.9450 | 1.18 |
4 | FCGF | 6.87 | 1.78 | 0.9531 | 0.9444 | 1.24 |
5 | FCGF | 6.89 | 1.80 | 0.9547 | 0.9455 | 1.21 |
1 | FPFH | 6.58 | 1.72 | 0.9203 | 0.9133 | 1.28 |
2 | FPFH | 6.68 | 1.75 | 0.9265 | 0.9185 | 1.24 |
3 | FPFH | 6.55 | 1.73 | 0.9195 | 0.9161 | 1.22 |
4 | FPFH | 6.60 | 1.73 | 0.9218 | 0.9175 | 1.22 |
5 | FPFH | 6.56 | 1.72 | 0.9195 | 0.9129 | 1.24 |
No | Featrues | RTE(cm) | RRE(°) | RR | MR | Times(s) |
---|---|---|---|---|---|---|
1 | FCGF | 9.34 | 2.63 | 0.6454 | 0.6208 | 1.21 |
2 | FCGF | 9.29 | 2.61 | 0.6501 | 0.6290 | 1.20 |
3 | FCGF | 9.23 | 2.59 | 0.6437 | 0.6161 | 1.22 |
4 | FCGF | 9.27 | 2.59 | 0.6466 | 0.6243 | 1.20 |
5 | FCGF | 9.29 | 2.60 | 0.6530 | 0.6346 | 1.21 |
1 | FPFH | 9.07 | 2.62 | 0.6246 | 0.6139 | 1.20 |
2 | FPFH | 9.14 | 2.63 | 0.6263 | 0.6171 | 1.17 |
3 | FPFH | 9.12 | 2.63 | 0.6228 | 0.6119 | 1.19 |
4 | FPFH | 9.10 | 2.64 | 0.6240 | 0.6135 | 1.27 |
5 | FPFH | 9.09 | 2.61 | 0.6222 | 0.6145 | 1.27 |
No | Featrues | RTE(cm) | RRE(°) | RR | MR | Times(s) |
---|---|---|---|---|---|---|
1 | FCGF | 4.44 | 0.14 | 1.0000 | 1.0000 | 1.12 |
2 | FCGF | 4.42 | 0.14 | 1.0000 | 1.0000 | 1.08 |
3 | FCGF | 4.44 | 0.14 | 1.0000 | 1.0000 | 1.09 |
4 | FCGF | 4.44 | 0.14 | 1.0000 | 1.0000 | 1.11 |
5 | FCGF | 4.43 | 0.15 | 1.0000 | 1.0000 | 1.12 |
1 | FPFH | 4.39 | 0.15 | 1.0000 | 1.0000 | 1.19 |
2 | FPFH | 4.50 | 0.15 | 1.0000 | 1.0000 | 1.13 |
3 | FPFH | 4.61 | 0.15 | 1.0000 | 1.0000 | 1.13 |
4 | FPFH | 4.47 | 0.15 | 1.0000 | 1.0000 | 1.14 |
5 | FPFH | 4.42 | 0.15 | 1.0000 | 1.0000 | 1.13 |
If you find this code useful for your work or use it in your project, please consider citing:
@InProceedings{XingEfficient2024,
author={Xing, Xuejun and Lu, Zhengda and Wang, Yiqun and Xiao, Jun},
journal={IEEE Transactions on Image Processing},
title={Efficient Single Correspondence Voting for Point Cloud Registration},
year={2024},
volume={33},
number={},
pages={2116-2130},
keywords={Point cloud compression;Iterative methods;Three-dimensional displays;Feature extraction;Deep learning;Computational efficiency;Task analysis;Single correspondence voting;viewpoint deviation distance;registration;3D point cloud},
doi={10.1109/TIP.2024.3374120}
}