Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Netryx-OpenSource-Next-Gen-Street-Level-Geolocation — Moteur de géolocalisation local en priorité qui identifie les coordonnées GPS précises de photos au niveau de la rue en utilisant les modèles de vision par ordinateur CosPlace, ALIKED et LightGlue. Précision inférieure à 50 mètres, aucun point de repère nécessaire. | Kitploit
Outils/GitHubGitHub/sparkyniner/netryx-opensource-next-gen-street-level-geolocation
OSINT (Renseignement de Sources Ouvertes)ReconnaissanceCollecte d'InformationsApprentissage Automatique
GitHubsparkyniner/netryx-opensource-next-gen-street-level-geolocation

Netryx-OpenSource-Next-Gen-Street-Level-Geolocation

Moteur de géolocalisation local en priorité qui identifie les coordonnées GPS précises de photos au niveau de la rue en utilisant les modèles de vision par ordinateur CosPlace, ALIKED et LightGlue. Précision inférieure à 50 mètres, aucun point de repère nécessaire.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
7216il y a 4 moisVérifié par Kitploit

NETRYX

Moteur de géolocalisation open-source au niveau de la rue

Téléchargez n'importe quelle photo de rue. Obtenez des coordonnées GPS précises.
Précision inférieure à 50 m. Aucun point de repère nécessaire. Fonctionne entièrement sur votre matériel.

Démonstrations · Fonctionnement · Pour commencer · Utilisation · FAQ


CETTE VERSION EST ANCIENNE, UTILISEZ CELLE-CI À LA PLACE

NOUVEAU DÉPÔT

Qu'est-ce que Netryx ?

Netryx est un outil de géolocalisation local-first qui identifie les coordonnées GPS exactes de toute photographie au niveau de la rue. Contrairement à la recherche d'image inversée (qui compare avec des images web téléchargées), Netryx compare avec des panoramas de rue systématiquement crawlés — ce qui signifie qu'il fonctionne sur n'importe quel coin de rue aléatoire sans aucune présence sur Internet.

Le pipeline central combine trois modèles de vision par ordinateur de pointe :

  • CosPlace pour la reconnaissance globale de lieu visuel (récupération)
  • ALIKED/DISK pour l'extraction de caractéristiques locales (points clés)
  • LightGlue pour l'appariement profond de caractéristiques (vérification)

Google Lens cherche sur Internet. Netryx cherche dans le monde physique.


Démonstrations


Comment ça marche

Netryx utilise un pipeline en trois étapes qui réduit progressivement des millions de candidats à une seule correspondance précise. Netryx est simplement un outil, il est indépendant de la source et peut traiter des images provenant de n'importe quel fournisseur comme Mapillary ou KartaView ou tout autre fournisseur.

Étape 1 — Récupération globale (CosPlace)

Chaque panorama de rue dans l'index a été prétraité en une « empreinte digitale » à 512 dimensions à l'aide de CosPlace, un modèle de reconnaissance de lieu visuel entraîné sur des millions d'images géolocalisées.

Lorsque vous téléchargez une photo de requête :

  1. Le système extrait un descripteur CosPlace de votre image
  2. Il extrait également un descripteur d'une version retournée horizontalement (capte les perspectives inversées)
  3. Les deux descripteurs sont comparés à chaque entrée de l'index à l'aide de la similarité cosinus
  4. Un filtre de rayon (distance haversine) réduit les candidats à votre zone de recherche spécifiée
  5. Les 500 à 1000 vues panoramiques les plus similaires visuellement sont renvoyées comme candidats

Cette étape s'exécute en moins d'une seconde quelle que soit la taille de l'index — c'est une simple multiplication matricielle.

Étape 2 — Vérification géométrique locale (ALIKED/DISK + LightGlue)

CosPlace trouve des endroits qui se ressemblent. L'étape 2 prouve qu'ils sont le même endroit en utilisant la vérification géométrique.

Pour chaque candidat :

  1. Le panorama original est téléchargé depuis Google Street View (8 tuiles, assemblées)
  2. Un recadrage rectilinéaire est extrait à l'angle de direction indexé
  3. Des recadrages multi-champs de vision sont générés à trois champs de vision (70°, 90°, 110°) pour gérer les décalages de zoom entre la photo de requête et la vue indexée
  4. ALIKED (sur CUDA) ou DISK (sur MPS/CPU) extrait les points clés et descripteurs locaux
  5. LightGlue effectue un appariement profond de caractéristiques entre les points clés de la requête et du candidat
  6. RANSAC filtre les correspondances pour ne conserver que les correspondances géométriquement cohérentes (rejette les fausses correspondances)
  7. Le candidat avec le plus grand nombre d'inliers vérifiés est la meilleure correspondance

Cette étape traite 300 à 500 candidats en 2 à 5 minutes selon votre matériel.

Étape 3 — Raffinement

La correspondance initiale est bonne mais pas toujours optimale. Le raffinement l'améliore :

  • Raffinement de l'angle de direction : Pour les 15 meilleurs candidats, le système teste des décalages de direction de ±45° par pas de 15° sur 3 FOV. Cela permet de rattraper les cas où l'angle de direction indexé ne correspond pas exactement à la direction de vue de la requête.
  • Consensus spatial : Les correspondances sont regroupées en cellules de 50 m. Si plusieurs candidats se regroupent dans une zone, ce groupe est préféré à un seul inlier élevé mais aberrant — réduisant les faux positifs.
  • Score de confiance : Le système évalue le regroupement géographique des meilleures correspondances et le ratio d'unicité (à quel point la meilleure correspondance est meilleure que le second dans un endroit différent).

Mode Ultra (Optionnel)

Pour les images difficiles (nuit, flou, faible texture), le mode Ultra ajoute :

  • LoFTR : Un apparieur dense sans détecteur qui trouve des correspondances sans s'appuyer sur la détection de points clés. Gère le flou et les scènes à faible contraste où ALIKED/DISK peinent.
  • Saut de descripteur : Si la correspondance initiale est faible (<50 inliers), le système extrait un descripteur CosPlace à partir du panorama correspondant (qui est propre/haute qualité) et refait une recherche dans l'index. Cela permet souvent de trouver le panorama exact que la requête dégradée avait manqué.
  • Expansion de voisinage : Recherche tous les panoramas dans un rayon de 100 m autour de la meilleure correspondance. Le bon emplacement est souvent à un nœud de rue de distance de la meilleure correspondance CosPlace.

Architecture

root@kitploit:~
Image de requête
    │
    ├── Extraction du descripteur CosPlace (empreinte 512 dimensions)
    ├── Extraction du descripteur retourné
    │
    ▼
Recherche dans l'index (similarité cosinus, filtrée par rayon)
    │
    ├── Top 500 candidats classés par similarité visuelle
    │
    ▼
Télécharger les panoramas → Recadrer à 3 FOV → Extraire les points clés ALIKED/DISK
    │
    ├── Appariement LightGlue avec les points clés de la requête
    ├── Vérification géométrique RANSAC
    │
    ▼
Raffinement de l'angle de direction (±45°, 3 FOV, top 15 candidats)
    │
    ├── Regroupement par consensus spatial
    ├── Score de confiance
    │
    ▼
📍 Coordonnées GPS + Score de confiance

Pour commencer

Prérequis

Support GPU :

  • Mac : MPS (Metal Performance Shaders) — M1/M2/M3/M4
  • NVIDIA : CUDA — tout GPU avec 4 Go+ de VRAM
  • CPU : Fonctionne mais nettement plus lent

Installation

root@kitploit:~
# Cloner le dépôt
git clone https://github.com/sparkyniner/Netryx-OpenSource-Next-Gen-Street-Level-Geolocation.git

cd .\Netryx-OpenSource-Next-Gen-Street-Level-Geolocation\

# Créer un environnement virtuel
python3 -m venv venv
source venv/bin/activate  # Sur Windows : venv\Scripts\activate

# Installer les dépendances
pip install -r requirements.txt

# Installer LightGlue explicitement (requis pour l'appariement)
pip install git+https://github.com/cvg/LightGlue.git

# Optionnel : Installer kornia pour le mode Ultra (LoFTR)
pip install kornia

Remarque : lightglue est importé par l'application en tant que module Python, mais il est installé depuis le dépôt GitHub ci-dessus.

Clé API Gemini (Optionnelle — pour le mode IA Grossier) [Non recommandé pour utilisation, le manuel fait le travail]

Si vous souhaitez utiliser la fonction de géolocalisation aveugle assistée par IA :

  1. Obtenez une clé API gratuite depuis Google AI Studio
  2. Définissez-la comme variable d'environnement :
root@kitploit:~
export GEMINI_API_KEY="votre_clé_ici"

Utilisation

Lancer l'interface graphique

root@kitploit:~
python test_super.py

Utilisateurs macOS : Si l'interface graphique apparaît vide, mettez à jour tkinter : brew install [email protected] (ou votre version Python). Le tkinter intégré au Python système a des problèmes de rendu connus sur les versions récentes de macOS.

Étape 1 : Créer un index

Avant de rechercher, vous devez indexer une zone. Cela parcourt les panoramas Street View et extrait les empreintes CosPlace.

  1. Sélectionnez le mode Créer
  2. Entrez les coordonnées du centre (latitude, longitude) de la zone que vous souhaitez indexer
  3. Définissez le rayon de recherche (commencez par 0,5–1 km pour les tests, 5–10 km pour la production)
  4. Définissez la résolution de la grille (300 est une bonne valeur par défaut — plus élevé = couverture plus dense, veuillez ne pas modifier cela)
  5. Cliquez sur Créer l'index

Estimations du temps d'indexation :

L'index est sauvegardé de manière incrémentielle — si le processus est interrompu, il reprend là où il s'était arrêté lors de l'exécution suivante.

Étape 2 : Rechercher

  1. Sélectionnez le mode Rechercher
  2. Téléchargez une photo de rue
  3. Choisissez la méthode de recherche :
    • Manuel : Entrez les coordonnées + rayon si vous savez approximativement d'où vient la photo
    • IA Grossier : Laissez Gemini analyser les indices visuels (panneaux, architecture, végétation) pour deviner la région — aucune connaissance préalable nécessaire
  4. Cliquez sur Lancer la recherche, puis Démarrer la recherche complète
  5. Regardez la visualisation de balayage en temps réel pendant l'évaluation des candidats
  6. Le résultat apparaît sur la carte avec un score de confiance

Mode Ultra

Activez la case Mode Ultra pour les images difficiles. Cela ajoute l'appariement dense LoFTR, le saut de descripteur et l'expansion de voisinage. Nettement plus lent mais trouve des correspondances que le pipeline standard manque.


Comment fonctionne l'index

Tous les embeddings sont stockés dans un seul index unifié. Lorsque vous recherchez, le filtre de rayon restreint automatiquement les résultats à la zone que vous spécifiez. Cela signifie :

  • Vous pouvez indexer Paris, puis Tel Aviv, puis Londres — tout dans le même index
  • Rechercher avec centre=Paris, rayon=5 km ne renvoie que des résultats parisiens
  • Rechercher avec centre=Londres, rayon=10 km ne renvoie que des résultats londoniens
  • Aucune sélection de ville nécessaire — les coordonnées + le rayon gèrent tout

Flux de données :

root@kitploit:~
Mode Créer :
  Points de grille → API Google Street View → Panoramas → Recadrages → CosPlace → cosplace_parts/*.npz

Construction automatique :
  cosplace_parts/*.npz → cosplace_descriptors.npy + metadata.npz (index interrogeable)

Mode Rechercher :
  Image de requête → CosPlace → Recherche dans l'index (filtrée par rayon) → Télécharger les candidats → ALIKED/DISK + LightGlue → Résultat

Structure du projet

root@kitploit:~
netryx/
├── test_super.py          # Application principale (interface graphique + indexation + recherche)
├── cosplace_utils.py      # Chargement du modèle CosPlace et extraction de descripteurs
├── build_index.py         # Constructeur d'index autonome haute performance (pour grands ensembles de données)
├── requirements.txt       # Dépendances Python
├── cosplace_parts/        # Morceaux d'embeddings bruts (créés lors de l'indexation)
├── index/                 # Index interrogeable compilé
│   ├── cosplace_descriptors.npy   # Tous les descripteurs 512 dimensions
│   └── metadata.npz               # Coordonnées, angles de direction, ID de panoid
└── README.md

Détails techniques

Modèles utilisés

Comportement selon la plateforme


FAQ

La précision diminue-t-elle avec un rayon de recherche plus grand ?

Non. CosPlace classe par similarité visuelle sur l'ensemble de l'index. Que votre index couvre 1 km ou 50 km, les meilleurs candidats sont toujours les plus similaires visuellement. Le filtre de rayon exclut simplement les entrées géographiquement non pertinentes avant le classement.

Combien de temps prend une recherche ?

Généralement 2 à 5 minutes sur Apple Silicon, 1 à 3 minutes sur GPU NVIDIA. Le goulot d'étranglement est le téléchargement des tuiles de panorama depuis Google (lié au réseau), pas l'appariement lui-même.

Puis-je indexer un pays entier ?

Pas pratique. Un rayon de 10 km produit environ 100 000 panoramas et un index d'environ 7 Go. Un pays entier nécessiterait des pétaoctets. Indexez des villes ou régions spécifiques d'intérêt (5–20 km).

Ma recherche n'a trouvé aucun candidat.

Vos coordonnées de recherche ne chevauchent aucune zone indexée. Soit indexez la zone d'abord, soit ajustez votre centre/rayon de recherche pour chevaucher les données indexées existantes. Utilisez « Afficher la carte de couverture » pour visualiser ce qui a été indexé.

La correspondance est légèrement erronée (décalée d'un bloc).

Activez le mode Ultra. L'expansion de voisinage recherche tous les panoramas dans un rayon de 100 m autour de la correspondance initiale, trouvant souvent le nœud de rue exact correct.

Cela fonctionne-t-il avec des photos d'intérieur ?

Non. Netryx compare uniquement avec des panoramas de rue extérieurs. Les photos d'intérieur, les images aériennes/satellites et les photos en gros plan d'objets ne produiront pas de résultats significatifs.

Cela coûte-t-il de l'argent ?

Netryx est gratuit et open source. La fonction optionnelle IA Grossier nécessite une clé API Gemini (niveau gratuit disponible chez Google). Les coûts de calcul proviennent de votre propre matériel — aucun service cloud requis.

Existe-t-il une version hébergée ?

Oui. netryx.live exécute le pipeline complet dans le cloud, vous n'avez donc pas besoin de configurer quoi que ce soit localement. Utile si vous voulez des résultats rapides sans construire votre propre index. Mais sa précision est environ 30 % inférieure à celle de la version open source en raison de contraintes de calcul.


Vous ne voulez pas configurer le pipeline complet ?

netryx.live exécute le même moteur dans le cloud — téléchargez une photo, obtenez des coordonnées. Aucune installation, aucune indexation, aucun GPU requis. Mais sa précision est environ 30 % inférieure à celle de la version open source en raison de contraintes de calcul.


Créé par

Sairaj Balaji — Chercheur en IA et créateur de PrismX. Bourses de Microsoft for Startups et ElevenLabs. Présenté dans Fast Company et Deutsche Welle.

  • LinkedIn

Licence

Licence MIT. Voir LICENSE pour plus de détails.


Avis de non-responsabilité légal

Netryx est conçu pour la recherche OSINT légitime, le journalisme d'investigation, la surveillance des droits de l'homme, la réponse aux catastrophes et la recherche académique.

Responsabilité de l'utilisateur : Vous êtes seul responsable du respect des lois applicables, y compris les conditions d'utilisation de Google Maps/Street View et les réglementations locales sur la vie privée.

Ne pas utiliser pour : Le harcèlement, la traque, la surveillance non autorisée, ou toute activité qui viole la vie privée ou la sécurité des individus.

Les développeurs de Netryx déclinent toute responsabilité en cas d'utilisation abusive.

Télécharger l’outil
Cas d'utilisationLien
Géolocalisation de frappe de missile — Qatar (fév. 2026)Regarder sur YouTube
Surveillance de conflit — manifestations à ParisRegarder sur YouTube
Géolocalisation aveugle à partir d'une photo aléatoire — ParisRegarder sur YouTube
Analyse technique approfondie : fonctionnement du pipelineRegarder sur YouTube
ComposantMinimumRecommandé
OSmacOS / Linux / WindowsmacOS (M1+) ou Linux avec GPU NVIDIA
VRAM GPU4 Go8 Go+
RAM8 Go16 Go+
Stockage10 Go50 Go+ (dépend de la taille de la zone indexée)
InternetRequis pour l'indexation et la rechercheBande passante large recommandée
Python3.9+3.10+
RayonEnviron PanoramasTemps (M2 Max)Taille de l'index
0,5 km~50030 min~60 Mo
1 km~2 0001–2 heures~250 Mo
5 km~30 0008–12 heures~3 Go
10 km~100 00024–48 heures~7 Go
ModèleObjectifArticle
CosPlaceReconnaissance de lieu visuel (descripteur global)CVPR 2022
ALIKEDExtraction de caractéristiques locales (utilisé sur CUDA)IEEE TIP 2023
DISKExtraction de caractéristiques locales (utilisé sur MPS/CPU)NeurIPS 2020
LightGlueAppariement profond de caractéristiquesICCV 2023
LoFTRAppariement dense sans détecteur (mode Ultra)CVPR 2021
FonctionnalitéCUDA (NVIDIA)MPS (Mac)CPU
Extracteur de caractéristiquesALIKED (1024 kp)DISK (768 kp)DISK (768 kp)
Attention flash LightGlueActivéeDésactivéeDésactivée
LoFTR (mode Ultra)Pleine vitesseRepli CPU pour certaines opérationsPlein CPU
Vitesse d'indexationLa plus rapideBonneLente