
Lokale Geolokalisierungs-Engine, die präzise GPS-Koordinaten von Straßenfotos mithilfe der Computer-Vision-Modelle CosPlace, ALIKED und LightGlue identifiziert. Sub-50m-Genauigkeit, keine Orientierungspunkte erforderlich.
Open-Source-Geolokalisierungs-Engine auf Straßenebene
Laden Sie jedes Straßenfoto hoch. Erhalten Sie präzise GPS-Koordinaten.
Genauigkeit unter 50 m. Keine Orientierungspunkte erforderlich. Läuft vollständig auf Ihrer Hardware.
Demos · Funktionsweise · Erste Schritte · Nutzung · FAQ
Netryx ist ein lokales Geolokalisierungswerkzeug, das die exakten GPS-Koordinaten eines beliebigen Straßenfotos ermittelt. Im Gegensatz zur umgekehrten Bildersuche (die gegen hochgeladene Web-Bilder abgleicht) vergleicht Netryx mit systematisch gecrawlten Street-View-Panoramen – das bedeutet, es funktioniert an jeder beliebigen Straßenecke ohne Internetpräsenz.
Die Kern-Pipeline kombiniert drei hochmoderne Computer-Vision-Modelle:
Google Lens durchsucht das Internet. Netryx durchsucht die physische Welt.
Netryx verwendet eine dreistufige Pipeline, die schrittweise von Millionen von Kandidaten auf eine einzige präzise Übereinstimmung eingrenzt. Netryx ist lediglich ein Tool, es ist quellenagnostisch und kann Bilder von jedem Anbieter wie mapilliary oder kartaview oder jedem anderen Anbieter verarbeiten.
Jedes Street-View-Panorama im Index wurde mit CosPlace in einen 512-dimensionalen „Fingerabdruck“ vorverarbeitet. CosPlace ist ein Modell zur visuellen Ortserkennung, das mit Millionen von geotaggten Bildern trainiert wurde.
Wenn Sie ein Abfragefoto hochladen:
Diese Stufe läuft in unter 1 Sekunde, unabhängig von der Indexgröße – es handelt sich um eine einzige Matrixmultiplikation.
CosPlace findet Orte, die ähnlich aussehen. Stufe 2 beweist durch geometrische Verifikation, dass es sich um denselben Ort handelt.
Für jeden Kandidaten:
Diese Stufe verarbeitet 300–500 Kandidaten in 2–5 Minuten, abhängig von Ihrer Hardware.
Die erste Übereinstimmung ist gut, aber nicht immer optimal. Die Verfeinerung verbessert sie:
Für schwierige Bilder (Nacht, Unschärfe, wenig Textur) fügt der Ultra-Modus hinzu:
Abfragebild
│
├── CosPlace-Deskriptorextraktion (512-dim Fingerabdruck)
├── Extraktion des gespiegelten Deskriptors
│
▼
Indexsuche (Kosinusähnlichkeit, radiusgefiltert)
│
├── Top 500 Kandidaten, geordnet nach visueller Ähnlichkeit
│
▼
Panoramen herunterladen → Ausschnitt bei 3 Sichtfeldern → ALIKED/DISK-Schlüsselpunkte extrahieren
│
├── LightGlue-Abgleich mit Abfrageschlüsselpunkten
├── RANSAC-geometrische Verifikation
│
▼
Richtungsverfeinerung (±45°, 3 Sichtfelder, 15 beste Kandidaten)
│
├── Räumliches Konsens-Clustering
├── Vertrauensbewertung
│
▼
📍 GPS-Koordinaten + Vertrauensbewertung
GPU-Unterstützung:
# Clone the repository
git clone https://github.com/sparkyniner/Netryx-OpenSource-Next-Gen-Street-Level-Geolocation.git
cd .\Netryx-OpenSource-Next-Gen-Street-Level-Geolocation\
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install LightGlue explicitly (required for matching)
pip install git+https://github.com/cvg/LightGlue.git
# Optional: Install kornia for Ultra Mode (LoFTR)
pip install kornia
Hinweis:
lightgluewird von der App als Python-Modul importiert, wird aber aus dem obigen GitHub-Repository installiert.
Wenn Sie die KI-gestützte Blindgeolokalisierungsfunktion nutzen möchten:
export GEMINI_API_KEY="Ihr_Schlüssel_hier"
python test_super.py
macOS-Anwender: Sollte die GUI leer erscheinen, aktualisieren Sie tkinter: brew install [email protected] (oder Ihre Python-Version). Das mitgelieferte tkinter des System-Pythons hat bekannte Darstellungsprobleme unter aktuellen macOS-Versionen.
Bevor Sie suchen können, müssen Sie einen Bereich indizieren. Dabei werden Street-View-Panoramen gecrawlt und CosPlace-Fingerabdrücke extrahiert.
Geschätzte Indizierungszeit:
Der Index wird inkrementell gespeichert – wird der Vorgang unterbrochen, wird er beim nächsten Lauf ab der unterbrochenen Stelle fortgesetzt.
Aktivieren Sie das Kontrollkästchen Ultra-Modus für schwierige Bilder. Dies fügt LoFTR-dichtes Matching, Deskriptor-Hopping und Nachbarschaftserweiterung hinzu. Deutlich langsamer, findet aber Übereinstimmungen, die die Standard-Pipeline übersieht.
Alle Einbettungen werden in einem einzigen einheitlichen Index gespeichert. Bei der Suche schränkt der Radiusfilter die Ergebnisse automatisch auf den von Ihnen angegebenen Bereich ein. Das bedeutet:
Datenfluss:
Erstellen-Modus:
Gitterpunkte → Google Street View API → Panoramen → Ausschnitte → CosPlace → cosplace_parts/*.npz
Automatischer Aufbau:
cosplace_parts/*.npz → cosplace_descriptors.npy + metadata.npz (durchsuchbarer Index)
Suchen-Modus:
Abfragebild → CosPlace → Indexsuche (radiusgefiltert) → Kandidaten herunterladen → ALIKED/DISK + LightGlue → Ergebnis
netryx/
├── test_super.py # Hauptanwendung (GUI + Indizierung + Suche)
├── cosplace_utils.py # CosPlace-Modell laden und Deskriptorextraktion
├── build_index.py # Eigenständiger Hochleistungsindex-Builder (für große Datensätze)
├── requirements.txt # Python-Abhängigkeiten
├── cosplace_parts/ # Rohe Einbettungs-Chunks (während der Indizierung erstellt)
├── index/ # Kompilierter durchsuchbarer Index
│ ├── cosplace_descriptors.npy # Alle 512-dim Deskriptoren
│ └── metadata.npz # Koordinaten, Blickwinkel, Panoid-IDs
└── README.md
Nimmt die Genauigkeit bei größerem Suchradius ab?
Nein. CosPlace ordnet die Kandidaten im gesamten Index nach visueller Ähnlichkeit. Unabhängig davon, ob Ihr Index 1 km oder 50 km abdeckt, sind die Top-Kandidaten immer die visuell ähnlichsten. Der Radiusfilter schließt einfach geografisch irrelevante Einträge vor der Sortierung aus.
Wie lange dauert eine Suche?
Typischerweise 2–5 Minuten auf Apple Silicon, 1–3 Minuten auf NVIDIA GPU. Der Engpass ist das Herunterladen der Panorama-Kacheln von Google (netzgebunden), nicht der Abgleich selbst.
Kann ich ein ganzes Land indizieren?
Nicht praktikabel. Ein Radius von 10 km erzeugt ca. 100K Panoramen und einen ~7 GB Index. Ein ganzes Land würde Petabytes benötigen. Indizieren Sie bestimmte Städte oder interessante Regionen (5–20 km).
Meine Suche hat 0 Kandidaten gefunden.
Ihre Suchkoordinaten überschneiden sich nicht mit einem indizierten Bereich. Indizieren Sie den Bereich zuerst oder passen Sie Ihren Suchmittelpunkt/-radius so an, dass er sich mit vorhandenen indizierten Daten überschneidet. Verwenden Sie „Abdeckungskarte anzeigen“, um zu visualisieren, was indiziert wurde.
Die Übereinstimmung ist leicht falsch (um einen Block versetzt).
Aktivieren Sie den Ultra-Modus. Die Nachbarschaftserweiterung sucht alle Panoramen innerhalb von 100 m der ersten Übereinstimmung und findet oft den exakt richtigen Straßenknoten.
Funktioniert das mit Innenaufnahmen?
Nein. Netryx gleicht nur mit Outdoor-Street-View-Panoramen ab. Innenaufnahmen, Luft-/Satellitenbilder und Nahaufnahmen von Objekten liefern keine sinnvollen Ergebnisse.
Kostet das Geld?
Netryx ist kostenlos und quelloffen. Die optionale AI-Grob-Funktion erfordert einen Gemini-API-Schlüssel (kostenloses Kontingent von Google verfügbar). Die Rechenkosten fallen auf Ihrer eigenen Hardware an – keine Cloud-Dienste erforderlich.
Gibt es eine gehostete Version?
Ja. netryx.live betreibt die vollständige Pipeline in der Cloud, sodass Sie nichts lokal einrichten müssen. Nützlich, wenn Sie schnelle Ergebnisse wünschen, ohne Ihren eigenen Index erstellen zu müssen. Allerdings ist es aufgrund von Recheneinschränkungen etwa 30% weniger genau als die Open-Source-Version.
netryx.live betreibt dieselbe Engine in der Cloud – laden Sie ein Foto hoch, erhalten Sie Koordinaten. Keine Installation, keine Indizierung, keine GPU erforderlich. Allerdings ist es aufgrund von Recheneinschränkungen etwa 30% weniger genau als die Open-Source-Version.
Sairaj Balaji — KI-Forscher und Schöpfer von PrismX. Zuschüsse von Microsoft for Startups und ElevenLabs. Vorgestellt in Fast Company und Deutsche Welle.
MIT-Lizenz. Siehe LICENSE für Details.
Netryx wurde entwickelt für legitime OSINT-Forschung, Investigativjournalismus, Menschenrechtsüberwachung, Katastrophenhilfe und akademische Forschung.
Verantwortung des Nutzers: Sie sind allein dafür verantwortlich, die Einhaltung geltender Gesetze sicherzustellen, einschließlich der Google Maps/Street View-Nutzungsbedingungen und lokaler Datenschutzbestimmungen.
Nicht verwenden für: Stalking, Belästigung, unbefugte Überwachung oder Aktivitäten, die die Privatsphäre oder Sicherheit von Personen verletzen.
Die Entwickler von Netryx lehnen jede Haftung für Missbrauch ab.
| Anwendungsfall | Link |
|---|
| Geolokalisierung von Raketenschlägen – Katar (Feb. 2026) | Auf YouTube ansehen |
| Konfliktüberwachung – Pariser Proteste | Auf YouTube ansehen |
| Blindgeolokalisierung anhand eines zufälligen Fotos – Paris | Auf YouTube ansehen |
| Technischer Tiefgang: Wie die Pipeline funktioniert | Auf YouTube ansehen |
| Komponente | Minimum | Empfohlen |
|---|
| Betriebssystem | macOS / Linux / Windows | macOS (M1+) oder Linux mit NVIDIA GPU |
| GPU VRAM | 4GB | 8GB+ |
| RAM | 8GB | 16GB+ |
| Speicher | 10GB | 50GB+ (abhängig von der Größe des indizierten Bereichs) |
| Internet | Erforderlich für Indizierung und Suche | Breitband empfohlen |
| Python | 3.9+ | 3.10+ |
| Radius | Ca. Panoramen | Zeit (M2 Max) | Indexgröße |
|---|
| 0.5 km | ~500 | 30 Min | ~60 MB |
| 1 km | ~2.000 | 1–2 Stunden | ~250 MB |
| 5 km | ~30.000 | 8–12 Stunden | ~3 GB |
| 10 km | ~100.000 | 24–48 Stunden | ~7 GB |
| Modell | Zweck | Paper |
|---|
| CosPlace | Visuelle Ortserkennung (globaler Deskriptor) | CVPR 2022 |
| ALIKED | Lokale Merkmalsextraktion (verwendet auf CUDA) | IEEE TIP 2023 |
| DISK | Lokale Merkmalsextraktion (verwendet auf MPS/CPU) | NeurIPS 2020 |
| LightGlue | Tiefe Merkmalsanpassung | ICCV 2023 |
| LoFTR | Detektor-freies dichtes Matching (Ultra-Modus) | CVPR 2021 |
| Feature | CUDA (NVIDIA) | MPS (Mac) | CPU |
|---|
| Merkmalsextraktor | ALIKED (1024 kp) | DISK (768 kp) | DISK (768 kp) |
| LightGlue Flash Attention | Aktiviert | Deaktiviert | Deaktiviert |
| LoFTR (Ultra-Modus) | Volle Geschwindigkeit | CPU-Fallback für einige Operationen | Volle CPU |
| Indizierungsgeschwindigkeit | Am schnellsten | Gut | Langsam |