Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/sparkyniner/netryx-opensource-next-gen-street-level-geolocation
OSINT (Open Source Intelligence)RicognizioneRaccolta InformazioniMachine Learning
GitHubsparkyniner/netryx-opensource-next-gen-street-level-geolocation

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

Motore di geolocalizzazione locale-primo che identifica coordinate GPS precise di foto a livello stradale utilizzando i modelli di visione artificiale CosPlace, ALIKED e LightGlue. Precisione inferiore a 50 m, nessun punto di riferimento necessario.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
72164 mesi faRevisionato da Kitploit

NETRYX

Motore di geolocalizzazione stradale open‑source

Carica una foto stradale. Ottieni coordinate GPS precise.
Precisione inferiore a 50 m. Nessun punto di riferimento necessario. Funziona interamente sul tuo hardware.

Demo · Come funziona · Per iniziare · Utilizzo · FAQ


QUESTA VERSIONE È VECCHIA, USA QUESTA

NEW REPO

Cos'è Netryx?

Netryx è uno strumento di geolocalizzazione locale‑first che identifica le coordinate GPS esatte di una fotografia stradale. A differenza della ricerca inversa per immagini (che confronta con immagini caricate sul web), Netryx confronta con panorami stradali acquisiti sistematicamente — quindi funziona su qualsiasi angolo di strada senza alcuna presenza su Internet.

La pipeline principale combina tre modelli di visione artificiale all'avanguardia:

  • CosPlace per il riconoscimento visivo globale di luoghi (recupero)
  • ALIKED/DISK per l'estrazione di caratteristiche locali (keypoint)
  • LightGlue per il matching profondo delle caratteristiche (verifica)

Google Lens cerca su Internet. Netryx cerca nel mondo fisico.


Demo


Come funziona

Netryx utilizza una pipeline a tre stadi che restringe progressivamente da milioni di candidati a una singola corrispondenza precisa. Netryx è semplicemente uno strumento, è agnostico rispetto alla fonte e può elaborare immagini da qualsiasi fornitore come Mapillary o KartaView o qualsiasi altro.

Stadio 1 — Recupero globale (CosPlace)

Ogni panorama stradale nell'indice è stato pre‑elaborato in una "impronta digitale" a 512 dimensioni usando CosPlace, un modello di riconoscimento visivo di luoghi addestrato su milioni di immagini geotaggate.

Quando carichi una foto di query:

  1. Il sistema estrae un descrittore CosPlace dalla tua immagine
  2. Estrae anche un descrittore da una versione capovolta orizzontalmente (cattura prospettive invertite)
  3. Entrambi i descrittori vengono confrontati con ogni voce dell'indice usando la similarità coseno
  4. Un filtro di raggio (distanza haversiana) restringe i candidati all'area di ricerca specificata
  5. Le prime 500–1000 viste panoramiche visivamente più simili vengono restituite come candidati

Questo stadio viene eseguito in meno di 1 secondo indipendentemente dalla dimensione dell'indice — è una singola moltiplicazione di matrici.

Stadio 2 — Verifica geometrica locale (ALIKED/DISK + LightGlue)

CosPlace trova luoghi che sembrano simili. Lo Stadio 2 dimostra che sono lo stesso posto usando la verifica geometrica.

Per ogni candidato:

  1. Il panorama originale viene scaricato da Google Street View (8 tile, ricomposti)
  2. Viene estratta una porzione rettilinea all'angolo di orientamento indicizzato
  3. Vengono generate ritagli multi-FOV a tre campi visivi (70°, 90°, 110°) per gestire le differenze di zoom tra la foto di query e la vista indicizzata
  4. ALIKED (su CUDA) o DISK (su MPS/CPU) estrae keypoint e descrittori locali
  5. LightGlue esegue il matching profondo delle caratteristiche tra i keypoint della query e del candidato
  6. RANSAC filtra le corrispondenze mantenendo solo quelle geometricamente consistenti (rifiuta i falsi positivi)
  7. Il candidato con il maggior numero di inlier verificati è la corrispondenza migliore

Questo stadio elabora 300–500 candidati in 2–5 minuti a seconda dell'hardware.

Stadio 3 — Raffinamento

La corrispondenza iniziale è buona ma non sempre ottimale. Il raffinamento la migliora:

  • Raffinamento dell'orientamento: per i primi 15 candidati, il sistema testa offset di orientamento di ±45° con passi di 15° su 3 FOV. Questo cattura i casi in cui l'orientamento indicizzato non corrisponde esattamente alla direzione di visione della query.
  • Consenso spaziale: le corrispondenze vengono raggruppate in celle da 50 m. Se più candidati si raggruppano in una zona, quel cluster viene preferito a un singolo outlier con molti inlier — riducendo i falsi positivi.
  • Punteggio di confidenza: il sistema valuta il raggruppamento geografico delle migliori corrispondenze e il rapporto di unicità (quanto è migliore la corrispondenza migliore rispetto alla seconda in una posizione diversa).

Modalità Ultra (opzionale)

Per immagini difficili (notte, sfocate, a bassa texture), la Modalità Ultra aggiunge:

  • LoFTR: un matcher denso senza rilevatore che trova corrispondenze senza fare affidamento sulla rilevazione di keypoint. Gestisce scene sfocate e a basso contrasto dove ALIKED/DISK faticano.
  • Salto del descrittore: se la corrispondenza iniziale è debole (<50 inlier), il sistema estrae un descrittore CosPlace dal panorama corrispondente (che è pulito/di alta qualità) e ricerca di nuovo nell'indice. Spesso trova il panorama esatto che la query degradata non aveva trovato.
  • Espansione di vicinato: cerca tutti i panorami entro 100 m dalla miglior corrispondenza. La posizione corretta è spesso a un nodo stradale di distanza dalla miglior corrispondenza di CosPlace.

Architettura

root@kitploit:~
Immagine di query
    │
    ├── Estrazione descrittore CosPlace (impronta 512‑dim)
    ├── Estrazione descrittore capovolto
    │
    ▼
Ricerca nell'indice (similarità coseno, filtro per raggio)
    │
    ├── Primi 500 candidati ordinati per similarità visiva
    │
    ▼
Scarica panorami → Ritaglia a 3 FOV → Estrai keypoint ALIKED/DISK
    │
    ├── Matching LightGlue con keypoint della query
    ├── Verifica geometrica RANSAC
    │
    ▼
Raffinamento orientamento (±45°, 3 FOV, primi 15 candidati)
    │
    ├── Raggruppamento consenso spaziale
    ├── Punteggio di confidenza
    │
    ▼
📍 Coordinate GPS + Punteggio di confidenza

Per iniziare

Requisiti

Supporto GPU:

  • Mac: MPS (Metal Performance Shaders) — M1/M2/M3/M4
  • NVIDIA: CUDA — qualsiasi GPU con 4 GB+ di VRAM
  • CPU: funziona ma notevolmente più lento

Installazione

root@kitploit:~
# Clona il repository
git clone https://github.com/sparkyniner/Netryx-OpenSource-Next-Gen-Street-Level-Geolocation.git

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

# Crea ambiente virtuale
python3 -m venv venv
source venv/bin/activate  # Su Windows: venv\Scripts\activate

# Installa le dipendenze
pip install -r requirements.txt

# Installa esplicitamente LightGlue (richiesto per il matching)
pip install git+https://github.com/cvg/LightGlue.git

# Opzionale: installa kornia per la Modalità Ultra (LoFTR)
pip install kornia

Nota: lightglue viene importato dall'app come modulo Python, ma viene installato dal repository GitHub sopra.

Chiave API Gemini (Opzionale — per modalità AI Coarse) [Non consigliata per l'uso, manuale è sufficiente]

Se vuoi utilizzare la funzione di geolocalizzazione cieca assistita dall'AI:

  1. Ottieni una chiave API gratuita da Google AI Studio
  2. Impostala come variabile d'ambiente:
root@kitploit:~
export GEMINI_API_KEY="tua_chiave_qui"

Utilizzo

Avvia la GUI

root@kitploit:~
python test_super.py

Utenti macOS: se la GUI appare vuota, aggiorna tkinter: brew install [email protected] (o la versione del tuo Python). Il tkinter incluso nel Python di sistema ha problemi noti di rendering sulle versioni recenti di macOS.

Passo 1: Crea un Indice

Prima di cercare, devi indicizzare un'area. Questo processo esplora i panorami di Street View ed estrae le impronte CosPlace.

  1. Seleziona la modalità Create
  2. Inserisci le coordinate del centro (latitudine, longitudine) dell'area da indicizzare
  3. Imposta il raggio di ricerca (inizia con 0.5–1 km per test, 5–10 km per produzione)
  4. Imposta la risoluzione della griglia (300 è un buon default — più alto = copertura più densa, per favore non modificarlo)
  5. Clicca Create Index

Tempi stimati di indicizzazione:

L'indice viene salvato in modo incrementale — se il processo viene interrotto, riprende da dove era stato lasciato al prossimo avvio.

Passo 2: Cerca

  1. Seleziona la modalità Search
  2. Carica una foto stradale
  3. Scegli il metodo di ricerca:
    • Manual: inserisci coordinate + raggio se sai approssimativamente da dove proviene la foto
    • AI Coarse: lascia che Gemini analizzi indizi visivi (insegne, architettura, vegetazione) per indovinare la regione — nessuna conoscenza pregressa necessaria
  4. Clicca Run Search, poi Start Full Search
  5. Osserva la visualizzazione in tempo reale della scansione mentre i candidati vengono valutati
  6. Il risultato appare sulla mappa con il punteggio di confidenza

Modalità Ultra

Abilita la casella Ultra Mode per immagini difficili. Aggiunge il matching denso LoFTR, il salto del descrittore e l'espansione di vicinato. Significativamente più lento ma cattura corrispondenze che la pipeline standard non trova.


Come funziona l'indice

Tutti gli embedding sono memorizzati in un unico indice unificato. Quando cerchi, il filtro del raggio restringe automaticamente i risultati all'area specificata. Questo significa:

  • Puoi indicizzare Parigi, poi Tel Aviv, poi Londra — tutto nello stesso indice
  • Cercare con centro=Parigi, raggio=5 km restituisce solo risultati di Parigi
  • Cercare con centro=Londra, raggio=10 km restituisce solo risultati di Londra
  • Nessuna selezione di città necessaria — coordinate + raggio gestiscono tutto

Flusso dei dati:

root@kitploit:~
Modalità Create:
  Punti della griglia → Google Street View API → Panorami → Ritagli → CosPlace → cosplace_parts/*.npz

Costruzione automatica:
  cosplace_parts/*.npz → cosplace_descriptors.npy + metadata.npz (indice ricercabile)

Modalità Search:
  Immagine query → CosPlace → Ricerca indice (filtrato per raggio) → Scarica candidati → ALIKED/DISK + LightGlue → Risultato

Struttura del progetto

root@kitploit:~
netryx/
├── test_super.py          # Applicazione principale (GUI + indicizzazione + ricerca)
├── cosplace_utils.py      # Caricamento del modello CosPlace ed estrazione descrittori
├── build_index.py         # Costruttore di indice autonomo ad alte prestazioni (per grandi dataset)
├── requirements.txt       # Dipendenze Python
├── cosplace_parts/        # Chunk di embedding grezzi (creati durante l'indicizzazione)
├── index/                 # Indice compilato ricercabile
│   ├── cosplace_descriptors.npy   # Tutti i descrittori a 512 dimensioni
│   └── metadata.npz               # Coordinate, orientamenti, ID panoid
└── README.md

Dettagli tecnici

Modelli utilizzati

Comportamento specifico per piattaforma


FAQ

La precisione diminuisce con un raggio di ricerca maggiore?

No. CosPlace classifica per similarità visiva su tutto l'indice. Che il tuo indice copra 1 km o 50 km, i primi candidati sono sempre i più simili visivamente. Il filtro del raggio si limita a escludere le voci geograficamente irrilevanti prima della classificazione.

Quanto tempo richiede una ricerca?

In genere 2–5 minuti su Apple Silicon, 1–3 minuti su GPU NVIDIA. Il collo di bottiglia è lo scaricamento delle tile dei panorami da Google (limitato dalla rete), non il matching stesso.

Posso indicizzare un intero paese?

Non è pratico. Un raggio di 10 km produce circa 100.000 panorami e un indice di circa 7 GB. Un intero paese richiederebbe petabyte. Indicizza città o regioni di interesse specifiche (5–20 km).

La mia ricerca ha trovato 0 candidati.

Le tue coordinate di ricerca non si sovrappongono ad alcuna area indicizzata. Indicizza prima l'area oppure regola il centro/raggio di ricerca in modo che si sovrapponga ai dati indicizzati esistenti. Usa "Show Coverage Map" per visualizzare cosa è stato indicizzato.

La corrispondenza è leggermente sbagliata (fuori di un isolato).

Abilita la Modalità Ultra. L'espansione di vicinato cerca tutti i panorami entro 100 m dalla corrispondenza iniziale, trovando spesso il nodo stradale esatto corretto.

Funziona con foto di interni?

No. Netryx confronta solo con panorami stradali esterni. Foto di interni, immagini aeree/satellitari e foto ravvicinate di oggetti non produrranno risultati significativi.

Costa denaro?

Netryx è gratuito e open source. La funzione opzionale AI Coarse richiede una chiave API Gemini (livello gratuito disponibile da Google). I costi di calcolo sono relativi al tuo hardware — nessun servizio cloud richiesto.

Esiste una versione ospitata?

Sì. netryx.live esegue l'intera pipeline nel cloud, così non devi configurare nulla in locale. Utile se vuoi risultati rapidi senza costruire il tuo indice. Tuttavia, è circa il 30% meno accurato della versione open source a causa di limitazioni di calcolo.


Non vuoi configurare l'intera pipeline?

netryx.live esegue lo stesso motore nel cloud — carica una foto, ottieni coordinate. Nessuna installazione, nessuna indicizzazione, nessuna GPU richiesta. Tuttavia, è circa il 30% meno accurato della versione open source a causa di limitazioni di calcolo.


Creato da

Sairaj Balaji — ricercatore AI e creatore di PrismX. Sovvenzioni da Microsoft for Startups e ElevenLabs. In evidenza su Fast Company e Deutsche Welle.

  • LinkedIn

Licenza

Licenza MIT. Vedi LICENSE per i dettagli.


Avvertenza legale

Netryx è progettato per la ricerca OSINT legittima, il giornalismo investigativo, il monitoraggio dei diritti umani, la risposta ai disastri e la ricerca accademica.

Responsabilità dell'utente: Sei l'unico responsabile del rispetto delle leggi applicabili, inclusi i Termini di servizio di Google Maps/Street View e le normative locali sulla privacy.

Non utilizzare per: Stalking, molestie, sorveglianza non autorizzata o qualsiasi attività che violi la privacy o la sicurezza di individui.

Gli sviluppatori di Netryx declinano ogni responsabilità per un uso improprio.

Scarica lo strumento
Caso d'usoCollegamento
Geolocalizzazione di un attacco missilistico — Qatar (febbraio 2026)Guarda su YouTube
Monitoraggio di conflitti — proteste a ParigiGuarda su YouTube
Geolocalizzazione cieca da una foto casuale — ParigiGuarda su YouTube
Approfondimento tecnico: come funziona la pipelineGuarda su YouTube
ComponenteMinimoConsigliato
Sistema operativomacOS / Linux / WindowsmacOS (M1+) o Linux con GPU NVIDIA
VRAM GPU4 GB8 GB+
RAM8 GB16 GB+
Archiviazione10 GB50 GB+ (dipende dalla dimensione dell'area indicizzata)
InternetRichiesto per indicizzazione e ricercaBanda larga consigliata
Python3.9+3.10+
RaggioPanorami approssimativiTempo (M2 Max)Dimensione indice
0.5 km~50030 min~60 MB
1 km~2.0001–2 ore~250 MB
5 km~30.0008–12 ore~3 GB
10 km~100.00024–48 ore~7 GB
ModelloScopoArticolo
CosPlaceRiconoscimento visivo di luoghi (descrittore globale)CVPR 2022
ALIKEDEstrazione di caratteristiche locali (usato su CUDA)IEEE TIP 2023
DISKEstrazione di caratteristiche locali (usato su MPS/CPU)NeurIPS 2020
LightGlueMatching profondo delle caratteristicheICCV 2023
LoFTRMatching denso senza rilevatore (Modalità Ultra)CVPR 2021
CaratteristicaCUDA (NVIDIA)MPS (Mac)CPU
Estrattore di caratteristicheALIKED (1024 kp)DISK (768 kp)DISK (768 kp)
Attenzione flash LightGlueAbilitataDisabilitataDisabilitata
LoFTR (Modalità Ultra)Piena velocitàFallback CPU per alcune operazioniPiena CPU
Velocità di indicizzazionePiù veloceBuonaLenta