--- pipeline_tag: image-feature-extraction library_name: pytorch license: mit tags: - visual-place-recognition - image-retrieval - arxiv:2502.17237 --- # MegaLoc MegaLoc is an image retrieval model for visual place recognition (VPR) that achieves state-of-the-art on most VPR datasets, including indoor and outdoor environments. **Paper:** [MegaLoc: One Retrieval to Place Them All](https://arxiv.org/abs/2502.17237) (CVPR 2025 Workshop) **GitHub:** [gmberton/MegaLoc](https://github.com/gmberton/MegaLoc) ## Usage ```python import torch import torchvision.transforms as tfm from PIL import Image model = torch.hub.load("gmberton/MegaLoc", "get_trained_model") # Same preprocessing we use for evaluation: ImageNet normalization, resize to 322x322 # (any resolution works, paper results are computed at 322x322) transform = tfm.Compose([ tfm.ToTensor(), tfm.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]), tfm.Resize(size=[322, 322], antialias=True), ]) images = torch.stack([transform(Image.open(path).convert("RGB")) for path in ["im1.jpg", "im2.jpg"]]) with torch.inference_mode(): descriptors = model(images) # shape [2, 8448], L2-normalized similarities = descriptors @ descriptors.T # cosine similarities ``` For benchmarking on VPR datasets, see [VPR-methods-evaluation](https://github.com/gmberton/VPR-methods-evaluation). ## Qualitative Examples Top-1 retrieved images from the SF-XL test set (2.8M database images): ![teaser](https://github.com/user-attachments/assets/a90b8d4c-ab53-4151-aacc-93493d583713) ## Citation ```bibtex @InProceedings{Berton_2025_CVPR, author = {Berton, Gabriele and Masone, Carlo}, title = {MegaLoc: One Retrieval to Place Them All}, booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops}, month = {June}, year = {2025}, pages = {2861-2867} } ```