RoMa (outdoor) — weight mirror

Unmodified mirror of the two checkpoints that RoMa (CVPR 2024, Edstedt et al.) needs in order to run inference. Upstream ships no Hugging Face repo and downloads these via torch.hub at construction time; this repo exists so they can be fetched once with huggingface_hub and loaded offline afterwards.

Nothing here is retrained, converted, quantised or otherwise modified — the files are byte-identical to the upstream artefacts listed below.

Contents

File Bytes SHA-256
dinov2_vitl14_pretrain.pth 1,217,586,395 d5383ea8f4877b2472eb973e0fd72d557c7da5d3611bd527ceeb1d7162cbf428
roma_outdoor.pth 445,647,516 c7a45c80d41ad788a63c641d1b686d7cb3f297f40097c6f4e75039889e5cc8ba

Provenance

File Upstream source
roma_outdoor.pth https://github.com/Parskatt/storage/releases/download/roma/roma_outdoor.pth (weight_urls["romatch"]["outdoor"] in romatch/models/model_zoo/__init__.py)
dinov2_vitl14_pretrain.pth https://dl.fbaipublicfiles.com/dinov2/dinov2_vitl14/dinov2_vitl14_pretrain.pth (weight_urls["dinov2"])

dinov2_vitl14_pretrain.pth is Meta's original DINOv2 ViT-L/14 state dict. It is not interchangeable with the transformers-format facebook/dinov2-large: RoMa ships its own DINOv2 implementation and expects this layout.

Usage

import torch
from huggingface_hub import snapshot_download
from romatch import roma_outdoor

local = snapshot_download("xboix/roma-outdoor")

# roma_outdoor() raises unless float32 matmul precision is "highest".
torch.set_float32_matmul_precision("highest")

# Passing both state dicts explicitly is what keeps this offline — leave either as None and
# romatch falls back to its torch.hub download.
model = roma_outdoor(
    device="cuda",
    weights=torch.load(f"{local}/roma_outdoor.pth", map_location="cpu"),
    dinov2_weights=torch.load(f"{local}/dinov2_vitl14_pretrain.pth", map_location="cpu"),
)
warp, certainty = model.match(im_a_path, im_b_path, device="cuda")
matches, certainty = model.sample(warp, certainty)

Licence

The mirrored weights keep their upstream licences, included verbatim:

  • roma_outdoor.pth — MIT, © 2023 Johan Edstedt (LICENSE.RoMa).
  • dinov2_vitl14_pretrain.pth — Apache-2.0, © Meta Platforms (LICENSE.DINOv2).

Citation

@inproceedings{edstedt2024roma,
  title={{RoMa: Robust Dense Feature Matching}},
  author={Edstedt, Johan and Sun, Qiyu and Bökman, Georg and Wadenbäck, Mårten and Felsberg, Michael},
  booktitle={IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2024}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support