MVLoMa: Multi-View Local Feature Matching with Any Geometry Foundation Model
Organizations: Kosmo Research · School of Astronautics, Harbin Institute of Technology · School of Software, Tsinghua University
Abstract
Local feature matching is typically formulated for image pairs, although structure-from-motion and visual localization commonly match one reference image against many retrieved or covisible neighbours. Applying a pairwise matcher independently to these centre-neighbour edges duplicates reference-side computation and prevents the matcher from exploiting complementary multi-view geometric evidence from the remaining observations. To address these limitations, we introduce MVLoMa, a sparse star-graph matcher that extends LoMa from image pairs to multiple views. MVLoMa first uses a frozen multi-view geometry model to jointly describe all images in a star, then injects the resulting cross-view geometric context into local descriptors. It then matches the centre image to all neighbours in a single forward pass through per-view self-attention and bidirectional centre-neighbour cross-attention. For supervision, we derive positive correspondences only from depth-valid, mutually visible dense warps and explicitly penalize high-confidence matches that violate epipolar geometry. On 25-view star graphs from HyperSim, ScanNet++, Mip-NeRF 360, and Tanks and Temples, MVLoMa obtains the best macro-average relative-pose AUC among the compared methods at all three thresholds (58.65/85.41/90.99). Its matcher is 2.20 times faster than sequential evaluation of the 24 centre-neighbour edges. The same design supports four tested frozen geometry encoders -- DA3, , VGGT, and VGGT- -- with DA3-Giant performing best on all reported encoder-ablation metrics. Controlled ablations further isolate the effects of geometry-aware descriptors, visibility filtering, geometric negative supervision, and joint multi-view inference.
Figures & tables
| Method | HyperSim | ScanNet++ | Mip-NeRF 360 | T&T | Average |
|---|---|---|---|---|---|
| Two-view | |||||
| LightGlue | 20.20/47.34/55.72 | 22.84/61.83/74.49 | 51.28/83.46/90.02 | 52.42/84.69/91.08 | 36.69/69.33/77.83 |
| LoMa-L | 51.99/77.00/82.86 | 37.68/ 75.57 / 85.14 | 71.69/93.25/96.50 | 68.22 / 91.96 / 95.74 | 57.40/84.44/90.06 |
| RoMa | 45.06/64.82/69.78 | 36.81/73.88/83.70 | 75.42 /93.27/95.88 | 66.56/90.99/95.01 | 55.96/80.74/86.09 |
| RoMa v2 | 52.93/ 80.65 / 86.92 | 33.02/73.33/84.58 | 74.81 / 94.16 / 97.00 | 67.06/91.32/95.37 | 56.95/84.87/ 90.97 |
| Multi-view | |||||
| HyperSim | Mip-NeRF 360 | |||||
|---|---|---|---|---|---|---|
| Variant | @1 | @5 | @10 | @1 | @5 | @10 |
| Full | 52.84 | 78.42 | 84.34 | 73.85 | 93.96 | 96.92 |
| w/o GT filtering | 51.93 | 77.75 | 83.77 | 73.69 | 93.85 | 96.83 |
| w/o negative loss | 51.04 | 76.96 | 83.19 | 72.72 | 93.42 | 96.55 |
| HyperSim | AerialMD | |||
|---|---|---|---|---|
| Backbone | ||||
| DA3-G | 69.27 | 61.14 | 77.97 | 48.16 |
| DINOv2-G | 68.11 | 49.70 | 77.56 | 47.51 |
| DINOv2-L | 67.72 | 48.29 | 77.33 | 47.08 |
| HyperSim | MegaDepth-X | TerraSky3D | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Encoder | @1 | @5 | @10 | @1 | @5 | @10 | @1 | @5 | @10 |
| DA3-G | 53.90 | 80.02 | 85.99 | 18.88 | 52.97 | 65.77 | 55.53 | 83.88 | 90.04 |
| 51.50 | 76.56 | 82.57 | 18.37 | 52.78 | 65.42 | 53.77 | 82.81 | 89.45 | |
| VGGT | 52.28 | 78.17 | 84.26 | 18.05 | 52.22 | 64.70 | 53.21 | 81.92 | 88.56 |
| VGGT- | 52.07 | 77.70 | 83.46 | 18.43 | 52.91 | 65.58 | 55.21 | 83.38 | 89.78 |
| # views | HyperSim | Mip-NeRF 360 | T&T | TerraSky3D | Average |
|---|---|---|---|---|---|
| 2 | 52.51/77.63/83.29 | 73.96/94.02/96.95 | 67.63/ 91.86 / 95.73 | 54.76/83.01/89.37 | 62.21/86.63/91.34 |
| 4 | 53.79/79.43/85.68 | 74.31 /94.02/96.95 | 67.85/ 91.89 / 95.78 | 54.58/83.13/89.29 | 62.63/87.12/91.92 |
| 7 | 53.90/79.13/85.14 | 74.32 / 94.06 / 96.97 | 67.89/91.82/95.70 | 54.97/83.42/89.75 | 62.77/87.11/91.89 |
| 13 | 54.47 / 80.12 / 85.88 | 74.20/94.04/96.96 | 67.92 /91.82/95.66 | 55.39 / 83.47 / 89.85 | 63.00 / 87.36 / 92.09 |
| 25 | 53.90 / 80.02 / 85.99 | 74.29/ 94.08 / 96.97 | 67.96 /91.84/95.68 | 55.53 / 83.88 / 90.04 | 62.92 / 87.45 / 92.17 |
| Theory (TFLOPs) | A800 (ms) | ||||||
|---|---|---|---|---|---|---|---|
| Views | Edges | Pair | Star | Sp. | Pair | Star | Sp. |
| 2 | 1 | 0.676 | 0.676 | 20.95 | 21.18 | ||
| 4 | 3 | 2.029 | 1.508 | 57.98 | 37.15 | ||
| 7 | 6 | 4.059 | 2.754 | 113.81 | 60.50 | ||
| 13 | 12 | 8.117 | 5.247 | 237.60 | 105.78 | ||
| 25 | 24 | 16.235 | 10.234 | 446.96 | 203.09 | ||
Appendix figures & tables1 asset
Supplementary material from the paper’s appendix.
Appendix
| Dataset | Domain | GT source | Sample w. | Overlap sampling | Neg. w. |
|---|---|---|---|---|---|
| MegaDepth | Outdoor | MVS | 1.0 | 5–35 / 35–100 (0.5 each) | 1.0 |
| MegaDepth (Re-MVS) | Outdoor | MVS | 1.0 | 1–35 / 35–100 (0.5 each) | 1.0 |
| MegaDepth-X | Outdoor | MVS | 1.0 | 1–35 / 35–100 (0.5 each) | 0.01 |
| HyperSim | Indoor | Graphics | 1.0 | 5–50 / 50–100 (0.5 each) | 0.01 |
| ScanNet++ | Indoor | Mesh | 0.5 | 20–100 only | 0.1 |
| BlendedMVS | Aerial | Mesh | 1.0 | 5–20 / 20–100 (0.5 each) | 1.0 |
Image Matching
Image matching finds corresponding points, regions, or objects across images despite changes in viewpoint, scale, lighting, or sensor.
See all 87 papers