Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Netryx-OpenSource-Next-Gen-Street-Level-Geolocation — Локально-ориентированный движок геолокации, который определяет точные GPS-координаты уличных фотографий с использованием моделей компьютерного зрения CosPlace, ALIKED и LightGlue. Точность менее 50 метров, не требует ориентиров. | Kitploit
Инструменты/GitHubGitHub/sparkyniner/netryx-opensource-next-gen-street-level-geolocation
OSINT (Разведка открытых источников)РазведкаСбор информацииМашинное Обучение
GitHubsparkyniner/netryx-opensource-next-gen-street-level-geolocation

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

Локально-ориентированный движок геолокации, который определяет точные GPS-координаты уличных фотографий с использованием моделей компьютерного зрения CosPlace, ALIKED и LightGlue. Точность менее 50 метров, не требует ориентиров.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
72164 месяцев назадПроверено Kitploit

NETRYX

Движок геолокации уровня улицы с открытым исходным кодом

Загрузите любую уличную фотографию. Получите точные GPS-координаты.
Точность менее 50 м. Ориентиры не требуются. Работает полностью на вашем оборудовании.

Демонстрации · Как это работает · Начало работы · Использование · ЧаВО


ЭТА ВЕРСИЯ СТАРАЯ, ИСПОЛЬЗУЙТЕ ЭТУ ВМЕСТО НЕЁ

НОВЫЙ РЕПОЗИТОРИЙ

Что такое Netryx?

Netryx — это инструмент геолокации, работающий в первую очередь локально, который определяет точные GPS-координаты любой уличной фотографии. В отличие от обратного поиска изображений (который сопоставляет загруженные веб-изображения), Netryx сопоставляет с систематически сканированными панорамами улиц — это означает, что он работает на любом случайном углу улицы, не имеющем присутствия в интернете.

Основной конвейер объединяет три современные модели компьютерного зрения:

  • CosPlace для глобального распознавания визуальных мест (поиск)
  • ALIKED/DISK для извлечения локальных признаков (ключевые точки)
  • LightGlue для глубокого сопоставления признаков (верификация)

Google Lens ищет в интернете. Netryx ищет в физическом мире.


Демонстрации


Как это работает

Netryx использует трёхэтапный конвейер, который последовательно сужает выбор от миллионов кандидатов до одного точного совпадения. Netryx — это просто инструмент, он не зависит от источника и может обрабатывать изображения от любого провайдера, такого как Mapillary или KartaView, или любого другого.

Этап 1 — Глобальный поиск (CosPlace)

Каждая панорама улиц в индексе была предварительно обработана в 512-мерный «отпечаток» с помощью CosPlace — модели распознавания визуальных мест, обученной на миллионах геотегированных изображений.

Когда вы загружаете запрашиваемую фотографию:

  1. Система извлекает дескриптор CosPlace из вашего изображения
  2. Также извлекается дескриптор из горизонтально отражённой версии (чтобы учесть обратные ракурсы)
  3. Оба дескриптора сравниваются с каждой записью в индексе с использованием косинусного сходства
  4. Фильтр радиуса (расстояние по гаверсинусу) сужает кандидатов до указанной области поиска
  5. Возвращаются 500–1000 наиболее визуально похожих видов панорам в качестве кандидатов

Этот этап выполняется менее чем за 1 секунду независимо от размера индекса — это одно матричное умножение.

Этап 2 — Локальная геометрическая верификация (ALIKED/DISK + LightGlue)

CosPlace находит места, которые выглядят похожими. Этап 2 доказывает, что это одно и то же место, используя геометрическую верификацию.

Для каждого кандидата:

  1. Исходная панорама загружается из Google Street View (8 тайлов, сшитых вместе)
  2. Извлекается прямоугольный кадр под индексированным углом направления
  3. Создаются кадры с несколькими полями обзора при трёх значениях поля зрения (70°, 90°, 110°) для обработки несоответствия масштаба между запрашиваемым фото и индексированным видом
  4. ALIKED (на CUDA) или DISK (на MPS/CPU) извлекает локальные ключевые точки и дескрипторы
  5. LightGlue выполняет глубокое сопоставление признаков между ключевыми точками запроса и кандидата
  6. RANSAC фильтрует совпадения, оставляя только геометрически согласованные соответствия (отбрасывает ложные совпадения)
  7. Кандидат с наибольшим количеством верифицированных инлайеров является наилучшим совпадением

Этот этап обрабатывает 300–500 кандидатов за 2–5 минут в зависимости от вашего оборудования.

Этап 3 — Уточнение

Первоначальное совпадение хорошее, но не всегда оптимальное. Уточнение улучшает его:

  • Уточнение направления: Для 15 лучших кандидатов система проверяет смещения направления ±45° с шагом 15° для 3 полей обзора. Это позволяет поймать случаи, когда индексированное направление не совсем соответствует направлению взгляда запроса.
  • Пространственный консенсус: Совпадения группируются в ячейки по 50 м. Если несколько кандидатов группируются в одной области, этот кластер предпочитается одному выбросу с высоким числом инлайеров — это снижает количество ложных срабатываний.
  • Оценка уверенности: Система оценивает географическую кластеризацию лучших совпадений и коэффициент уникальности (насколько лучше лучшее совпадение по сравнению с кандидатом, занявшим второе место в другом месте).

Ультра-режим (опционально)

Для сложных изображений (ночь, размытие, низкая текстура) Ультра-режим добавляет:

  • LoFTR: Беcдетекторный плотный matcher, который находит соответствия без опоры на обнаружение ключевых точек. Работает с размытыми и низкоконтрастными сценами, где ALIKED/DISK испытывают трудности.
  • Перескок дескрипторов: Если начальное совпадение слабое (<50 инлайеров), система извлекает дескриптор CosPlace из совпавшей панорамы (которая чистая/высокого качества) и повторно ищет в индексе. Это часто позволяет найти точную правильную панораму, которую ухудшенный запрос пропустил.
  • Расширение окрестности: Поиск всех панорам в радиусе 100 м от наилучшего совпадения. Правильное местоположение часто находится на расстоянии одного уличного узла от наилучшего совпадения CosPlace.

Архитектура

root@kitploit:~
Изображение запроса
    │
    ├── Извлечение дескриптора CosPlace (512-мерный отпечаток)
    ├── Извлечение дескриптора отражённого изображения
    │
    ▼
Поиск по индексу (косинусное сходство, фильтр по радиусу)
    │
    ├── 500 лучших кандидатов, ранжированных по визуальному сходству
    │
    ▼
Загрузка панорам → Кадрирование при 3 полях обзора → Извлечение ключевых точек ALIKED/DISK
    │
    ├── Сопоставление LightGlue с ключевыми точками запроса
    ├── Геометрическая верификация RANSAC
    │
    ▼
Уточнение направления (±45°, 3 поля обзора, 15 лучших кандидатов)
    │
    ├── Кластеризация пространственного консенсуса
    ├── Оценка уверенности
    │
    ▼
📍 GPS-координаты + Оценка уверенности

Начало работы

Требования

Поддержка GPU:

  • Mac: MPS (Metal Performance Shaders) — M1/M2/M3/M4
  • NVIDIA: CUDA — любой GPU с 4 ГБ+ видеопамяти
  • CPU: Работает, но значительно медленнее

Установка

root@kitploit:~
# Клонирование репозитория
git clone https://github.com/sparkyniner/Netryx-OpenSource-Next-Gen-Street-Level-Geolocation.git

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

# Создание виртуального окружения
python3 -m venv venv
source venv/bin/activate  # На Windows: venv\Scripts\activate

# Установка зависимостей
pip install -r requirements.txt

# Явная установка LightGlue (требуется для сопоставления)
pip install git+https://github.com/cvg/LightGlue.git

# Опционально: Установка kornia для Ультра-режима (LoFTR)
pip install kornia

Примечание: lightglue импортируется приложением как модуль Python, но устанавливается из указанного выше репозитория GitHub.

Ключ Gemini API (Опционально — для режима AI Coarse) [Не рекомендуется к использованию, ручной режим справляется]

Если вы хотите использовать функцию AI-ассистированной слепой геолокации:

  1. Получите бесплатный ключ API на Google AI Studio
  2. Установите его как переменную окружения:
root@kitploit:~
export GEMINI_API_KEY="ваш_ключ_здесь"

Использование

Запуск графического интерфейса

root@kitploit:~
python test_super.py

Пользователи macOS: Если графический интерфейс отображается пустым, обновите tkinter: brew install [email protected] (или вашу версию Python). Встроенный tkinter системного Python имеет известные проблемы с отображением на последних версиях macOS.

Шаг 1: Создание индекса

Перед поиском вам нужно проиндексировать область. Это сканирует панорамы Street View и извлекает отпечатки CosPlace.

  1. Выберите режим Создание
  2. Введите центральные координаты (широта, долгота) области, которую хотите проиндексировать
  3. Установите радиус поиска (начните с 0.5–1 км для тестирования, 5–10 км для продуктивного использования)
  4. Установите разрешение сетки (300 — хорошее значение по умолчанию; больше = более плотное покрытие, пожалуйста, не изменяйте это)
  5. Нажмите Создать индекс

Оценка времени индексации:

Индекс сохраняется инкрементально — если процесс прерывается, он возобновляется с того места, где остановился, при следующем запуске.

Шаг 2: Поиск

  1. Выберите режим Поиск
  2. Загрузите уличную фотографию
  3. Выберите метод поиска:
    • Ручной: Введите координаты + радиус, если вы примерно знаете, откуда сделано фото
    • AI Coarse: Позвольте Gemini проанализировать визуальные подсказки (знаки, архитектуру, растительность), чтобы угадать регион — предварительные знания не требуются
  4. Нажмите Запустить поиск, затем Начать полный поиск
  5. Наблюдайте за визуализацией сканирования в реальном времени по мере оценки кандидатов
  6. Результат появляется на карте с оценкой уверенности

Ультра-режим

Включите флажок Ультра-режим для сложных изображений. Это добавляет плотное сопоставление LoFTR, перескок дескрипторов и расширение окрестности. Значительно медленнее, но находит совпадения, которые пропускает стандартный конвейер.


Как работает индекс

Все вложения хранятся в едином индексе. При поиске фильтр радиуса автоматически ограничивает результаты указанной вами областью. Это означает:

  • Вы можете индексировать Париж, затем Тель-Авив, затем Лондон — всё в один и тот же индекс
  • Поиск с центром=Париж, радиус=5 км вернёт только парижские результаты
  • Поиск с центром=Лондон, радиус=10 км вернёт только лондонские результаты
  • Выбор города не требуется — координаты + радиус обрабатывают всё

Поток данных:

root@kitploit:~
Режим создания:
  Точки сетки → Google Street View API → Панорамы → Кадры → CosPlace → cosplace_parts/*.npz

Автопостроение:
  cosplace_parts/*.npz → cosplace_descriptors.npy + metadata.npz (доступный для поиска индекс)

Режим поиска:
  Изображение запроса → CosPlace → Поиск по индексу (фильтр по радиусу) → Загрузка кандидатов → ALIKED/DISK + LightGlue → Результат

Структура проекта

root@kitploit:~
netryx/
├── test_super.py          # Основное приложение (GUI + индексация + поиск)
├── cosplace_utils.py      # Загрузка модели CosPlace и извлечение дескрипторов
├── build_index.py         # Автономный высокопроизводительный построитель индексов (для больших наборов данных)
├── requirements.txt       # Зависимости Python
├── cosplace_parts/        # Сырые чанки вложений (создаются во время индексации)
├── index/                 # Скомпилированный доступный для поиска индекс
│   ├── cosplace_descriptors.npy   # Все 512-мерные дескрипторы
│   └── metadata.npz               # Координаты, направления, ID панорам
└── README.md

Технические детали

Используемые модели

Поведение, зависящее от платформы


ЧаВО

Уменьшается ли точность при большем радиусе поиска?

Нет. CosPlace ранжирует по визуальному сходству по всему индексу. Покрывает ли ваш индекс 1 км или 50 км, лучшие кандидаты всегда будут наиболее визуально похожими. Фильтр радиуса просто исключает географически нерелевантные записи перед ранжированием.

Сколько времени занимает поиск?

Обычно 2–5 минут на Apple Silicon, 1–3 минуты на NVIDIA GPU. Узким местом является загрузка тайлов панорам из Google (сетевая задержка), а не само сопоставление.

Могу ли я проиндексировать целую страну?

Нецелесообразно. Радиус 10 км даёт ~100 тыс. панорам и индекс ~7 ГБ. Для целой страны потребовались бы петабайты. Индексируйте конкретные города или регионы, представляющие интерес (5–20 км).

Мой поиск не нашёл ни одного кандидата.

Ваши координаты поиска не пересекаются ни с одной проиндексированной областью. Либо сначала проиндексируйте эту область, либо измените центр/радиус поиска, чтобы он пересекался с существующими индексированными данными. Используйте «Показать карту покрытия», чтобы визуализировать, что было проиндексировано.

Совпадение немного неверное (смещение на один квартал).

Включите Ультра-режим. Расширение окрестности ищет все панорамы в радиусе 100 м от начального совпадения, часто находя точный правильный уличный узел.

Работает ли это с indoor-фотографиями?

Нет. Netryx сопоставляет только с уличными панорамами. Фотографии помещений, аэрофотоснимки/спутниковые снимки и крупные планы объектов не дадут осмысленных результатов.

Это стоит денег?

Netryx — бесплатный и открытый. Опциональная функция AI Coarse требует ключа Gemini API (бесплатный уровень доступен от Google). Вычислительные затраты — ваше собственное оборудование, облачные сервисы не требуются.

Есть ли хостинговая версия?

Да. netryx.live запускает полный конвейер в облаке, так что вам не нужно ничего настраивать локально. Полезно, если вам нужны быстрые результаты без создания собственного индекса. Но она примерно на 30% менее точна, чем версия с открытым исходным кодом, из-за ограничений по вычислительным ресурсам.


Не хотите настраивать полный конвейер?

netryx.live запускает тот же движок в облаке — загрузите фото, получите координаты. Никакой установки, индексации или GPU не требуется. Но она примерно на 30% менее точна, чем версия с открытым исходным кодом, из-за ограничений по вычислительным ресурсам.


Создатель

Сайрадж Баладжи — исследователь ИИ и создатель PrismX. Гранты от Microsoft for Startups и ElevenLabs. Публикации в Fast Company и Deutsche Welle.

  • LinkedIn

Лицензия

Лицензия MIT. См. LICENSE для подробностей.


Правовое предупреждение

Netryx предназначен для законных исследований OSINT, журналистских расследований, мониторинга прав человека, реагирования на стихийные бедствия и академических исследований.

Ответственность пользователя: Вы несёте единоличную ответственность за соблюдение применимых законов, включая Условия использования Google Maps/Street View и местные правила конфиденциальности.

Не используйте для: Сталкинга, домогательств, несанкционированного наблюдения или любых действий, нарушающих конфиденциальность или безопасность людей.

Разработчики Netryx снимают с себя всякую ответственность за неправомерное использование.

Скачать инструмент
Сценарий использованияСсылка
Геолокация ракетного удара — Катар (февраль 2026)Смотреть на YouTube
Мониторинг конфликтов — протесты в ПарижеСмотреть на YouTube
Слепая геолокация по случайному фото — ПарижСмотреть на YouTube
Техническое погружение: как работает конвейерСмотреть на YouTube
КомпонентМинимальныеРекомендуемые
ОСmacOS / Linux / WindowsmacOS (M1+) или Linux с NVIDIA GPU
Видеопамять GPU4 ГБ8 ГБ+
ОЗУ8 ГБ16 ГБ+
Память10 ГБ50 ГБ+ (зависит от размера индексируемой области)
ИнтернетТребуется для индексации и поискаРекомендуется широкополосный
Python3.9+3.10+
РадиусПриблизительно панорамВремя (M2 Max)Размер индекса
0.5 км~50030 мин~60 МБ
1 км~2,0001–2 часа~250 МБ
5 км~30,0008–12 часов~3 ГБ
10 км~100,00024–48 часов~7 ГБ
МодельНазначениеСтатья
CosPlaceРаспознавание визуальных мест (глобальный дескриптор)CVPR 2022
ALIKEDИзвлечение локальных признаков (используется на CUDA)IEEE TIP 2023
DISKИзвлечение локальных признаков (используется на MPS/CPU)NeurIPS 2020
LightGlueГлубокое сопоставление признаковICCV 2023
LoFTRБеcдетекторное плотное сопоставление (Ультра-режим)CVPR 2021
ОсобенностьCUDA (NVIDIA)MPS (Mac)CPU
Извлекатель признаковALIKED (1024 ключевых точек)DISK (768 ключевых точек)DISK (768 ключевых точек)
Flash-внимание LightGlueВключеноОтключеноОтключено
LoFTR (Ультра-режим)Полная скоростьCPU fallback для некоторых операцийПолный CPU
Скорость индексацииСамая быстраяХорошаяМедленная