R3PM-Net: Real-time, Robust, Real-world Point Matching Network
Organizations: Department of Electrical Engineering, Eindhoven University of Technology · Sioux Technologies
Abstract
Accurate Point Cloud Registration (PCR) is an important task in 3D data processing, involving the estimation of a rigid transformation between two point clouds. While deep-learning methods have addressed key limitations of traditional non-learning approaches, such as sensitivity to noise, outliers, occlusion, and initialization, they are developed and evaluated on clean, dense, synthetic datasets (limiting their generalizability to real-world industrial scenarios). This paper introduces R3PM-Net, a lightweight, global-aware, object-level point matching network designed to bridge this gap by prioritizing both generalizability and real-time efficiency. To support this transition, two datasets, Sioux-Cranfield and Sioux-Scans, are proposed. They provide an evaluation ground for registering imperfect photogrammetric and event-camera scans to digital CAD models, and have been made publicly available. Extensive experiments demonstrate that R3PM-Net achieves competitive accuracy with unmatched speed. On ModelNet40, it reaches a perfect fitness score of and inlier RMSE of cm in only s, approximately 7 times faster than the state-of-the-art method RegTR. This performance carries over to the Sioux-Cranfield dataset, maintaining a fitness of and inlier RMSE of cm with similarly low latency. Furthermore, on the highly challenging Sioux-Scans dataset, R3PM-Net successfully resolves edge cases in under 50 ms. These results confirm that R3PM-Net offers a robust, high-speed solution for critical industrial applications, where precision and real-time performance are indispensable. The code and datasets are available at https://github.com/YasiiKB/R3PM-Net.
Figures & tables
| Method | RRE [ ∘ ] | RTE [cm] | CD [cm] | Fitness | Inlier RMSE [cm] | Time [s] |
| RPMNet [ 34 ] | 30.898 0.322 | 0.002 0.000 | 0.153 0.001 | 0.998 0.000 | 0.094 0.001 | 0.021 0.000 |
| Predator [ 14 ] | 7.262 0.555 | 0.028 0.002 | 0.045 0.002 | 1.000 0.000 | 0.026 0.001 | 0.071 0.001 |
| GeoTransformer [ 18 ] | 50.357 1.238 | 0.215 0.003 | 0.255 0.005 | 0.921 0.001 | 0.101 0.002 | 0.065 0.000 |
| RegTR [ 35 ] | 1.712 0.061 | 0.007 0.000 | 0.017 0.000 | 1.000 0.000 | 0.009 0.000 | 0.045 0.000 |
| LoGDesc [ 22 ] | 42.762 1.254 | 0.158 0.003 | 0.183 0.004 | 0.978 0.001 | 0.097 0.002 | 0.075 0.000 |
| R3PM-Net (ours) | 5.198 0.067 | 0.010 0.000 | 0.052 0.000 | 1.000 0.000 | 0.029 0.000 | 0.007 0.000 |
| Method | RRE [ ∘ ] | RTE [cm] | CD [cm] | Fitness | Inlier RMSE [cm] | Time [s] |
| RPMNet [ 34 ] | 32.217 0.844 | 0.002 0.000 | 0.160 0.004 | 0.997 0.002 | 0.098 0.001 | 0.021 0.000 |
| Predator [ 14 ] | 16.448 1.548 | 0.044 0.003 | 0.072 0.002 | 1.000 0.000 | 0.042 0.001 | 0.071 0.001 |
| GeoTrans. [ 18 ] | 45.582 0.549 | 0.183 0.005 | 0.297 0.007 | 0.906 0.004 | 0.111 0.002 | 0.065 0.000 |
| RegTR [ 35 ] | 1.311 0.032 | 0.004 0.000 | 0.023 0.000 | 1.000 0.000 | 0.012 0.000 | 0.045 0.000 |
| LoGDesc [ 22 ] | 121.224 10.396 | 0.773 0.060 | 0.692 0.022 | 0.718 0.010 | 0.224 0.002 | 0.075 0.000 |
| R3PM-Net (ours) | 5.451 0.287 | 0.006 0.001 | 0.054 0.002 | 1.000 0.000 | 0.030 0.001 | 0.006 0.000 |
| Method | Lime | Cube | House | Teeth | Success | Time | ||||||||
| CD | Fit. | RMSE | CD | Fit. | RMSE | CD | Fit. | RMSE | CD | Fit. | RMSE | Rate | (s) | |
| RPMNet [ 34 ] | 0.270 | 1.000 | 0.047 | 0.290 | 1.000 | 0.023 | - | - | - | - | - | - | 28.6% | 0.042 |
| Predator [ 14 ] | 0.270 | 1.000 | 0.048 | 0.289 | 1.000 | 0.023 | - | - | - | - | - | - | 28.6% | 0.038 |
| GeoTrans. [ 18 ] | 0.260 | 1.000 | 0.041 | 0.295 | 1.000 | 0.024 | - | - | - | - | - | - | 28.6% | 0.042 |
| RegTR [ 35 ] | 0.270 | 1.000 | 0.047 | 0.292 | 1.000 | 0.023 | - | - | - | - | - | - | 28.6% | 0.038 |
| LoGDesc [ 22 ] | - | - | - | 0.292 | 1.000 | 0.024 | 0.222 | 1.000 | 0.052 | - | - | - | 28.6% | 0.043 |
| Model | Total Params. [M] | Throughput [fps] |
| RPMNet | 0.91 | 48 |
| Predator | 22.57 | 14 |
| GeoTrans. | 5.21 | 15 |
| RegTR | 11.49 | 22 |
| LoGDesc | 4.71 | 13 |
| R3PM-Net (ours) | 0.96 | 167 |
| Input Rep. | Norm. | Rad. | RRE | RTE | CD | Fit. | Time |
| PC Feat.1 | ✓ | Fixed | 31.86 | 0.00 | 0.16 | 1.00 | 0.021 |
| PC Feat.2 | – | Fixed | 9.35 | 0.01 | 0.07 | 1.00 | 0.006 |
| PC Feat.3 | ✓ | Flex | 13.65 | 0.01 | 0.08 | 0.99 | 0.006 |
| PC Feat.4 | – | Flex | 12.90 | 0.01 | 0.08 | 0.99 | 0.006 |
| Direct PC R3PM-Net | – | – | 2.01 | 0.00 | 0.02 | 1.00 | 0.006 |
| Dataset | Method | RRE | RTE | CD | Fit. | Time |
| Model-Net40 | R3PM-Net | 5.198 | 0.010 | 0.052 | 0.029 | 0.007 |
| R3PM-Net (FT) | 1.963 | 0.003 | 0.025 | 0.014 | 0.007 | |
| Sioux-Cranfield | R3PM-Net | 5.451 | 0.006 | 0.054 | 0.030 | 0.006 |
| R3PM-Net (FT) | 2.297 | 0.002 | 0.033 | 0.018 | 0.006 |
| Method | FT Subset | Success Cases | Rate (%) |
| R3PM-Net | — | teeth, cube | 28.6 |
| R3PM-Net (FT)* | teeth, lime, cube, lego | teeth, lime, house | 42.9 |
| R3PM-Net (FT) | rd-peg, sep, shoe | teeth, lime, cube | 42.9 |
| Plate, eleph., house | cube | 14.3 | |
| Plate, eleph., house, rd-peg | teeth, cube | 28.6 | |
| rd-peg, sep, shoe, lego | teeth | 14.3 |
| Category | Source Type | Qty |
| Sioux (Reconstructed) | Photogram. | 4 |
| Sioux (Synthetic) | CAD Models | 3 |
| Cranfield [ 6 ] | Pristine | 6 |
| Total | — | 13 |
| Metric | Type | Pros | Cons | GT-Free |
| RRE | Geodesic dist. | Scale-invariant | Less intuitive, not always objective | ✗ |
| RTE | Euclidean dist. | Scale-invariant | Less intuitive, not always objective | ✗ |
| Chamfer Dist. | Euclidean dist. | Suitable for symmetric shapes | Scale-variant | ✓ |
| Fitness | Overlap ratio | Intuitive | Scale-variant | ✓ |
| Inlier RMSE | Euclidean dist. | Practical | Scale-variant, can be misleading with poor alignment | ✓ |
| Time | Seconds | Important for real-time use | Does not reflect accuracy | ✓ |
| Method | Data | Teeth | Lime | Cube | Lego | Eleph. | House | Shoe | SR (%) | Time |
| RPMNet [ 34 ] | CD | .205 | .270 | .290 | .218 | .173 | .264 | .191 | 28.6 | 0.042s |
| Fit. | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | .968 | |||
| RMSE | .059 | .047 | .023 | .065 | .064 | .132 | .106 | |||
| Status | failed | success | success | failed | failed | failed | failed | |||
| Predator [ 14 ] | CD | .185 | .270 | .289 | .210 | .158 | .284 | .092 | 28.6 | 0.038s |
| Fit. | 1.00 | 1.00 | 1.00 | 1.00 | 1.00 | .992 | 1.00 |
Point Cloud Registration
Point cloud registration aligns 3D point sets by estimating the transformations and correspondences that make their geometry consistent.
See all 110 papers