MV-RoMa: From Pairwise Matching into Multi-View Track Reconstruction
Organizations: KAIST · Seoul National University
Abstract
Establishing consistent correspondences across images is essential for 3D vision tasks such as structure-from-motion (SfM), yet most existing matchers operate in a pairwise manner, often producing fragmented and geometrically inconsistent tracks when their predictions are chained across views. We propose MV-RoMa, a multi-view dense matching model that jointly estimates dense correspondences from a source image to multiple co-visible targets. Specifically, we design an efficient model architecture which avoids high computational cost of full cross-attention for multi-view feature interaction: (i) multi-view encoder that leverages pair-wise matching results as a geometric prior, and (ii) multi-view matching refiner that refines correspondences using pixel-wise attention. Additionally, we propose a post-processing strategy that integrates our model's consistent multi-view correspondences as high-quality tracks for SfM. Across diverse and challenging benchmarks, MV-RoMa produces more reliable correspondences and substantially denser, more accurate 3D reconstructions than existing sparse and dense matching methods. Project page: https://icetea-cv.github.io/mv-roma/.
Figures & tables
| Method | AUC - DLT | AUC - RANSAC |
| @1px / @3px / @5px | ||
| ALIKED [ 66 ] +LG [ 31 ] | 32.6 / 64.6 / 75.3 | 28.4 / 61.5 / 73.8 |
| LoFTR [ 49 ] | 30.2 / 53.3 / 61.6 | 38.0 / 66.9 / 76.2 |
| Mast3r [ 27 ] | 25.7 / 52.9 / 64.3 | 37.1 / 63.4 / 73.7 |
| UFM [ 10 ] | 27.4 / 58.8 / 70.8 | 29.2 / 61.3 / 73.2 |
| RoMa [ 13 ] | 41.0 / 67.9 / 76.9 | 44.7 / 72.6 / 81.4 |
| Method | Accuracy ( ) | Completeness ( ) | ||||
| 1cm | 2cm | 5cm | 1cm | 2cm | 5cm | |
| Type A. Including Two-view tracks | ||||||
| ALIKED + LG | 55.11 | 69.63 | 84.94 | 0.32 | 1.41 | 6.56 |
| LoFTR | 35.90 | 53.50 | 75.00 | 1.48 | 6.03 | 21.63 |
| Mast3R | 38.99 | 57.2 | 79.16 | 1.44 | 6.83 | 29.83 |
| UFM | 41.55 | 60.07 | 80.44 | 1.12 | 5.19 | 21.34 |
| Type | Method | Texture-Poor SfM Dataset | IMC Dataset | ||||
| AUC@3 | AUC@5 | AUC@10 | AUC@3 | AUC@5 | AUC@10 | ||
| Detector-Based | COLMAP (SIFT+NN) [ 46 ] | 2.87 | 3.85 | 4.95 | 23.58 | 23.66 | 44.79 |
| SIFT [ 32 ] + NN + PixSfM [ 30 ] | 3.13 | 4.08 | 5.09 | 25.54 | 34.80 | 46.73 | |
| D2Net [ 12 ] + NN + PixSfM | 1.54 | 2.63 | 4.54 | 8.91 | 12.26 | 16.79 | |
| R2D2 [ 40 ] + NN + PixSfM | 3.79 | 5.51 | 7.84 | 31.41 | 41.80 | 54.65 | |
| SP [ 9 ] + SG [ 44 ] + PixSfM | 14.00 | 19.23 | 24.55 | 45.19 | 57.22 | 70.47 | |
| Components | Accuracy | Completeness | |||
| MV-Encoder | MV-Refiner | 1cm | 2cm | 1cm | 2cm |
| 75.58 | 86.25 | 5.64 | 15.73 | ||
| ✓ | 77.80 | 87.38 | 6.75 | 17.04 | |
| ✓ | ✓ | 81.91 | 90.45 | 7.52 | 18.50 |
| Setup | AUC-DLT | ||
| @ 1px | @ 3px | @ 5px | |
| A. Number of Track Tokens (V=5) | |||
| 512 (Full) | 41.8 | 69.9 | 78.8 |
| 256 | 41.8 | 69.8 | 78.7 |
| 64 | 41.8 | 69.9 | 78.6 |
| 16 | 41.6 | 69.7 | 78.7 |
| Method | Budget | Match | Select & Filter | COLMAP | Refine | Total |
| DF-SfM w/ RoMa | - | 1.5min | 2sec | 2.5min | 1.5min | 5.5min |
| MV-RoMa (Ours) | Full | 3min | 3sec | 3min | - | 6min |
| Half | 1.5min | 2sec | 2min | - | 3.5min |
| Method | Budget | Texture-Poor AUC@3 ∘ / 5 ∘ / 10 ∘ |
| DF-SfM w/ RoMa | - | 45.22 / 63.54 / 80.54 |
| MV-RoMa (Ours) | Full | 60.71 / 74.66 / 85.88 |
| Half | 59.97 / 74.60 / 86.23 |
| Matcher model | AUC @1px / @3px / @5px | |
| DLT | RANSAC | |
| ALIKED [ 66 ] + LightGlue [ 31 ] | 42.9 / 70.3 / 79.1 | 42.9 / 71.0 / 80.2 |
| UFM [ 10 ] | 41.8 / 69.9 / 78.8 | 42.6 / 71.5 / 81.0 |
| Matcher model | Clustering | Error (median) | AUC @1px / @5px | |
| DLT | RANSAC | |||
| ALIKED [ 66 ] + LG [ 31 ] | 0.50 | 42.8 / 78.9 | 43.1 / 80.1 | |
| ✓ | 0.50 | 42.9 / 79.1 | 42.9 / 80.2 | |
| UFM [ 10 ] | 0.53 | 41.5 / 78.8 | 42.4 / 80.7 | |
| ✓ | 0.51 | 41.8 / 78.8 | 42.6 / 81.0 | |
| Border Masked | AUC @1px / @3px / @5px | |
| DLT | RANSAC | |
| 5% | 41.9 / 69.9 / 78.8 | 42.5 / 71.3 / 80.7 |
| 10% | 41.8 / 69.9 / 78.8 | 42.2 / 71.3 / 80.8 |
| 15% | 41.4 / 69.9 / 78.9 | 41.7 / 70.7 / 80.2 |
Image Matching
Image matching finds corresponding points, regions, or objects across images despite changes in viewpoint, scale, lighting, or sensor.
See all 84 papers