
El software de geolocalización de imágenes a nivel de calle más sofisticado del mundo
Geolocalización por IA de última generación a partir de una sola imagen.
La idea • Cómo funciona • Primeros pasos • Community Hub • Instalación
Tienes una fotografía. Quizá sea una captura de pantalla de un vídeo. Quizá sea una foto de móvil recortada y borrosa que alguien publicó en línea. Quizá muestre solo un escaparate, un tramo de carretera o la esquina de un edificio. Quieres saber exactamente dónde se tomó.
Netryx Astra V2 responde a esa pregunta.
Es un sistema de geolocalización de código abierto que toma una sola imagen y encuentra las coordenadas GPS precisas comparándola con una base de datos de panorámicas de Street View. Sube tu foto y, en cuestión de minutos, te indica la calle, la ciudad y las coordenadas, hasta unos pocos metros.
Lo que diferencia a V2 del Netryx original (y de otras herramientas existentes) es el pipeline de emparejamiento. Reconstruimos todo desde cero usando dos modelos que no existían cuando empezamos este proyecto:
MegaLoc (CVPR 2025) — el modelo de recuperación de imágenes más preciso para el reconocimiento de lugares, entrenado con seis conjuntos de datos que cubren variaciones de interior, exterior, día, noche y estación. Encuentra el vecindario correcto.
MASt3R (ECCV 2024) — un emparejador denso con conciencia 3D que entiende la geometría de las escenas, no solo los patrones de píxeles. Confirma la ubicación exacta, incluso a partir de fotos parciales o muy recortadas que romperían a los emparejadores tradicionales.
El resultado es un pipeline de tres pasos que es a la vez más simple y más preciso que el sistema de nueve etapas al que reemplazó.
El Netryx original usaba CosPlace para la recuperación y una pila de DISK + LightGlue + LoFTR + RANSAC + salto de descriptores (descriptor hopping) + expansión de vecindario para la verificación. Funcionaba, pero era frágil: muchas heurísticas apiladas unas sobre otras, cada una como solución temporal a una limitación de la etapa anterior.
V2 tiró todo eso por la borda. Esto es lo que reemplazó a qué:
| V1 (Original) | V2 (Astra) | |
|---|---|---|
| Búsqueda de candidatos | CosPlace (ResNet-50, 512-dim) | MegaLoc (DINOv2 ViT-B/14, 8448-dim → PCA 1024) |
| Confirmación de coincidencias | DISK + LightGlue + RANSAC | Emparejamiento 3D denso de MASt3R |
| Manejo de casos límite | Respaldo de LoFTR, salto de descriptores, expansión de vecindario, Ultra Mode | Consenso espacial, y ya está |
| Etapas totales del pipeline | 9+ | 3 |
| Emparejamiento de imágenes parciales | Débil: los keypoints dispersos fallan con solapamientos pequeños | Fuerte: MASt3R encuentra correspondencias densas en regiones diminutas |
| Compartir índices | No posible | Community Hub vía Hugging Face + paquetes .netryx sin conexión |
La simplificación no es solo estética. Menos etapas significa menos puntos donde algo pueda salir mal, búsquedas más rápidas y un código que de verdad se puede mantener.
El pipeline tiene tres etapas. No es una simplificación excesiva: es que de verdad son solo tres.
Query Image
│
▼
┌─────────────┐
│ MegaLoc │ "Where in the city could this be?"
│ Retrieval │
└─────┬───────┘
│ Top 500 candidates
▼
┌─────────────┐
│ MASt3R │ "Is this actually the same place?"
│ Matching │
└─────┬───────┘
│ Scored candidates
▼
┌─────────────┐
│ Spatial │ "Which cluster of matches is most trustworthy?"
│ Consensus │
└─────┬───────┘
│
▼
📍 GPS Coordinates
Tu imagen de consulta se convierte en un descriptor compacto: un vector de 8448 dimensiones que captura la esencia visual de la escena. Se reduce con PCA a 1024 dimensiones y luego se compara con cada ubicación indexada mediante similitud por producto punto.
También extraemos un descriptor para un recorte central ligeramente ampliado y para una versión reflejada horizontalmente de la consulta, y luego fusionamos los resultados. Esto cubre los casos en los que la consulta tiene un nivel de zoom diferente o está orientada en dirección opuesta a la vista indexada.
La salida son las 500 mejores ubicaciones candidatas del índice, ordenadas por similitud visual.
MegaLoc proviene del laboratorio de Gabriele Berton (el mismo grupo que creó CosPlace y EigenPlaces). Es lo más reciente de su línea de trabajo, entrenado simultáneamente con SF-XL, GSV-Cities, MSLS y datos de recuperación de landmarks. Ningún otro modelo de recuperación lo supera de forma consistente en todos los benchmarks: interior, exterior, urbano, rural, día y noche.
Para cada uno de esos 500 candidatos, descargamos la panorámica de Street View correspondiente, la recortamos en el ángulo de orientación (heading) indexado y ejecutamos MASt3R para encontrar correspondencias densas de píxeles entre la consulta y el recorte.
Aquí es donde ocurre la magia con las consultas difíciles. Los emparejadores tradicionales como SuperPoint + LightGlue extraen quizá entre 500 y 2000 keypoints dispersos e intentan emparejarlos. Si tu imagen de consulta solo se solapa un 20% con la imagen de la base de datos, quizá solo haya 50 keypoints co-visibles, insuficientes para una coincidencia fiable.
MASt3R funciona de forma completamente distinta. Trata el emparejamiento como un problema de reconstrucción 3D, prediciendo mapas de puntos densos y descriptores de características locales para cada píxel. Incluso una región de solapamiento pequeña produce cientos de correspondencias fiables, porque entiende la estructura 3D de la escena, no solo los patrones de píxeles en 2D.
En el benchmark de localización Map-free (una única imagen de referencia y cambios de punto de vista de hasta 180°), MASt3R supera a los métodos anteriores en un 30%. No es una mejora incremental: es un salto generacional.
Este es el problema de limitarse a elegir el candidato con la puntuación de coincidencia más alta: existen los falsos positivos. Dos restaurantes de cadena idénticos a 5 km de distancia producirán ambos puntuaciones altas de MASt3R. Una hilera de bloques de apartamentos de la era soviética se ve toda igual.
El consenso espacial resuelve esto. Dividimos el área de búsqueda en celdas de cuadrícula de ~50 metros y agrupamos geográficamente todas las coincidencias buenas. Cada celda recibe una puntuación basada en la evidencia combinada de todas las coincidencias de esa celda y sus vecinas.