Ex-Sim(3)-Reg: 2D-3D Correspondence Pruning via Extended Sim(3) Registration
Organizations: Huazhong University of Science and Technology, China · Northwestern Polytechnical University, China · Delft University of Technology, Netherlands
Abstract
Learning-based image-to-point-cloud (I2P) registration has garnered increasing attention in recent years. Nevertheless, existing methods still struggle with severe outliers under challenging scenarios with unseen, low-inlier, or distorted cases. A fast and robust 2D-3D correspondence pruning method is therefore highly desirable. Recently, a promising scheme lifts 2D-3D correspondences to 3D-3D correspondences using depth priors, casting correspondence pruning as a Sim(3) registration problem. However, depth priors estimated from monocular images are inherently noisy, which undermines the reliability of this scheme. In this paper, to explicitly model non-negligible depth noise, we reformulate correspondence pruning as an extended Sim(3) registration problem and propose a simple yet effective pruning algorithm termed Ex-Sim(3)-Reg. We further provide a theoretical analysis to justify the effectiveness of our method. Extensive experiments on the 7-Scenes, RGBD-V2, ScanNet, and TUM datasets demonstrate that Ex-Sim(3)-Reg achieves up to 24.7% improvement in registration recall over state-of-the-art baseline methods. Code is released at github.com/anpei96/ex-sim3-demo
Figures & tables
| Registration problem | Inlier constraint | Objectives | Num. of variables |
|---|---|---|---|
| SE(3) | Estimate inliers , , | ||
| Regular Sim(3) | Estimate inliers , , , | ||
| Extended Sim(3) | Estimate inliers , , , |
| Method | SC-1 | SC-2 | SC-3 | SC-4 | SC-5 | SC-6 | Mean |
|---|---|---|---|---|---|---|---|
| Inlier Ratio | |||||||
| Baseline | 0.295 | 0.257 | 0.325 | 0.265 | 0.227 | 0.228 | 0.266 |
| Sim(3)-FastMAC | 0.374 | 0.316 | 0.379 | 0.328 | 0.296 | 0.306 | 0.333 |
| Sim(3)-SC2-PCR | 0.481 | 0.435 | 0.431 | 0.446 | 0.436 | 0.475 | 0.451 |
| Sim(3)-SC2-PCR++ | 0.295 | 0.254 | 0.325 | 0.259 | 0.229 | 0.251 | 0.268 |
| Sim(3)-MAC | 0.372 | 0.313 | 0.365 | 0.320 | 0.307 | 0.322 | 0.333 |
| Method | Freiburg_01 | Freiburg_02 | Freiburg_03 | Mean |
|---|---|---|---|---|
| Inlier Ratio | ||||
| Baseline | 0.242 | 0.265 | 0.183 | 0.230 |
| Sim(3)-FastMAC | 0.317 | 0.363 | 0.241 | 0.307 |
| Sim(3)-SC2-PCR | 0.387 | 0.415 | 0.331 | 0.378 |
| Sim(3)-SC2-PCR++ | 0.267 | 0.339 | 0.235 | 0.280 |
| Sim(3)-MAC | 0.323 | 0.355 | 0.231 | 0.303 |
| Method | RG-1 | RG-2 | RG-3 | RG-4 | RG-5 | RG-6 | RG-7 | Mean |
|---|---|---|---|---|---|---|---|---|
| Inlier Ratio | ||||||||
| Baseline | 0.242 | 0.248 | 0.223 | 0.224 | 0.273 | 0.282 | 0.259 | 0.250 |
| Sim(3)-FastMAC | 0.309 | 0.326 | 0.275 | 0.283 | 0.354 | 0.341 | 0.350 | 0.320 |
| Sim(3)-SC2-PCR | 0.413 | 0.415 | 0.352 | 0.365 | 0.367 | 0.369 | 0.373 | 0.379 |
| Sim(3)-SC2-PCR++ | 0.205 | 0.252 | 0.239 | 0.231 | 0.309 | 0.322 | 0.248 | 0.258 |
| Sim(3)-MAC | 0.322 | 0.317 | 0.281 | 0.281 | 0.307 | 0.319 | 0.308 | 0.305 |
| Method | SN-1 | SN-2 | SN-3 | SN-4 | SN-5 | SN-6 | SN-7 | Mean |
|---|---|---|---|---|---|---|---|---|
| Inlier Ratio | ||||||||
| Baseline | 0.463 | 0.469 | 0.388 | 0.269 | 0.474 | 0.408 | 0.390 | 0.409 |
| Sim(3)-FastMAC | 0.553 | 0.570 | 0.478 | 0.344 | 0.566 | 0.501 | 0.566 | 0.511 |
| Sim(3)-SC2-PCR | 0.625 | 0.616 | 0.552 | 0.398 | 0.629 | 0.594 | 0.644 | 0.579 |
| Sim(3)-SC2-PCR++ | 0.473 | 0.487 | 0.377 | 0.297 | 0.463 | 0.442 | 0.472 | 0.430 |
| Sim(3)-MAC | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
| Method | RG-11 | RG-12 | RG-13 | RG-14 | Mean |
|---|---|---|---|---|---|
| Inlier Ratio | |||||
| Baseline | 0.195 | 0.271 | 0.075 | 0.123 | 0.166 |
| Sim(3)-FastMAC | 0.241 | 0.318 | 0.085 | 0.138 | 0.195 |
| Sim(3)-SC2-PCR | 0.334 | 0.392 | 0.112 | 0.159 | 0.249 |
| Sim(3)-SC2-PCR++ | 0.231 | 0.294 | 0.085 | 0.130 | 0.185 |
| Sim(3)-MAC | 0.244 | 0.311 | 0.093 | 0.135 | 0.196 |
| Method | Matr | +Ours | FreeReg | +Ours | Top-I2P | +Ours | MinCD | +Ours | Diff-I2P | +Ours |
|---|---|---|---|---|---|---|---|---|---|---|
| IR | 0.451 | 0.662 | 0.568 | 0.690 | 0.493 | 0.674 | 0.464 | 0.678 | 0.521 | 0.682 |
| RR | 0.842 | 0.943 | 0.780 | 0.932 | 0.901 | 0.950 | 0.898 | 0.957 | 0.914 | 0.963 |
| 4 | 6 | 8 | 10 | 12 | |
|---|---|---|---|---|---|
| IR/RR | 0.505/0.362 | 0.542/0.394 | 0.548/ 0.472 | 0.573/0.448 | 0.682 /0.427 |
| Time | 57.6ms | 65.4ms | 73.6ms | 81.7ms | 89.5ms |
| 8 | 12 | 16 | 20 | 24 | |
|---|---|---|---|---|---|
| IR/RR | 0.513/0.380 | 0.535/0.466 | 0.548/0.472 | 0.521/0.384 | 0.505/0.372 |
| RTE | 0.072m | 0.068m | 0.067m | 0.070m | 0.071m |
| MAC [ 39 ] | FastMAC [ 40 ] | Scale-correction function | RR | Average Runtime/ms |
| 0.311 | 72.4 | |||
| 0.485 | 204.8 | |||
| 0.472 | 73.6 |
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Hyperparameters | Value |
|---|---|
| Number of intervals ( ) | 8 |
| Threshold for 3D distance error ( ) | 0.2 |
| Threshold for 2D reprojection error ( ) | 16 |
| Scale interval ( ) |
| Pruning settings | Implementation scheme | IR | |
|---|---|---|---|
| Disturbed condition | Adding noise on 3D point cloud | Nearly 0.1K | Nearly 25% |
| Unseen condition | Open-domain testing | Nearly 1.0K | Nearly 30% |
| Few-inlier condition | Training with insufficient samples | Nearly 0.1K | Nearly 15% |
| Method | Sim(3)-FastMAC | Sim(3)-SC2-PCR | Sim(3)-SC2-PCR++ | Sim(3)-MAC | Sim(3)-TurboReg | Ours |
|---|---|---|---|---|---|---|
| RTE/m | 0.066 | 0.067 | 0.085 | 0.075 | 0.068 | 0.066 |
| RRE/deg | 2.426 | 2.375 | 3.005 | 2.539 | 2.381 | 2.367 |
| Method | Sim(3)-FastMAC | Sim(3)-SC2-PCR | Sim(3)-SC2-PCR++ | Sim(3)-MAC | Sim(3)-TurboReg | Ours |
|---|---|---|---|---|---|---|
| RTE/m | 0.059 | 0.051 | 0.057 | 0.064 | 0.058 | 0.036 |
| RRE/deg | 2.824 | 2.003 | 2.949 | 3.074 | 2.994 | 1.824 |
| Method | Sim(3)-FastMAC | Sim(3)-SC2-PCR | Sim(3)-SC2-PCR++ | Sim(3)-MAC | Sim(3)-TurboReg | Ours |
|---|---|---|---|---|---|---|
| RTE/m | 0.043 | 0.034 | 0.050 | N/A | 0.034 | 0.025 |
| RRE/deg | 1.470 | 1.008 | 2.127 | N/A | 1.095 | 0.751 |
| Method | Sim(3)-FastMAC | Sim(3)-SC2-PCR | Sim(3)-SC2-PCR++ | Sim(3)-MAC | Sim(3)-TurboReg | Ours |
|---|---|---|---|---|---|---|
| RTE/m | 0.097 | 0.106 | 0.107 | 0.104 | 0.104 | 0.093 |
| RRE/deg | 2.854 | 3.111 | 3.145 | 2.947 | 2.913 | 2.839 |
| Method | Sim(3)-FastMAC | Sim(3)-SC2-PCR | Sim(3)-SC2-PCR++ | Sim(3)-MAC | Sim(3)-TurboReg | Ours |
|---|---|---|---|---|---|---|
| Time/ms | 23.1 | 24.2 | 105.3 | 150.4 | 15.4 | 73.6 |
| Model Names | Descriptions | Depth Accuracy | Runtime | Model Size | Used in Main Paper |
|---|---|---|---|---|---|
| depth_anything_v2_metric_hypersim_vits | vits | Low | nearly 32 ms | 99.2 MB | |
| depth_anything_v2_metric_hypersim_vitb | vitb | Moderate | nearly 65 ms | 390.0 MB | |
| depth_anything_v2_metric_hypersim_vitl | vitl | High | nearly 138 ms | 1.3 GB |
| Models | Using vits.pth | Using vitb.pth | Using vitl.pth |
|---|---|---|---|
| Sim(3)-TurboReg [ 31 ] | 0.083 | 0.102 | 0.118 |
| Sim(3)-MAC [ 39 ] | 0.092 | 0.095 | 0.109 |
| Our method | 0.333 | 0.317 | 0.277 |
| Models | MASt3R [ 20 ] | Depth Anything v2 [ 34 ] | MoGe v2 [ 30 ] |
|---|---|---|---|
| Sim(3)-TurboReg [ 31 ] | 0.092 | 0.118 | 0.145 |
| Our method | 0.264 | 0.277 | 0.323 |