Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Netryx-OpenSource-Next-Gen-Street-Level-Geolocation — CosPlace, ALIKED 및 LightGlue 컴퓨터 비전 모델을 사용하여 거리 사진의 정확한 GPS 좌표를 식별하는 로컬 우선 지리 위치 엔진입니다. 50m 미만의 정확도, 랜드마크 불필요. | Kitploit
도구/GitHubGitHub/sparkyniner/netryx-opensource-next-gen-street-level-geolocation
OSINT (Open Source Intelligence)ReconnaissanceInformation GatheringMachine Learning
GitHubsparkyniner/netryx-opensource-next-gen-street-level-geolocation

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

CosPlace, ALIKED 및 LightGlue 컴퓨터 비전 모델을 사용하여 거리 사진의 정확한 GPS 좌표를 식별하는 로컬 우선 지리 위치 엔진입니다. 50m 미만의 정확도, 랜드마크 불필요.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
7216636개월 전Kitploit 검토 완료

NETRYX

오픈소스 거리 수준 지리 위치 엔진

거리 사진을 업로드하세요. 정확한 GPS 좌표를 얻으세요.
50m 미만 정확도. 랜드마크 불필요. 전적으로 하드웨어에서 실행됩니다.

데모 · 작동 방식 · 시작하기 · 사용법 · FAQ


이 버전은 구버전입니다. 대신 이 링크를 사용하세요

새 저장소

Netryx란 무엇인가요?

Netryx는 모든 거리 수준 사진의 정확한 GPS 좌표를 식별하는 로컬 우선 지리 위치 도구입니다. 역 이미지 검색(업로드된 웹 이미지와 매칭)과 달리, Netryx는 체계적으로 크롤링된 스트리트 뷰 파노라마와 매칭합니다. 즉, 인터넷에 전혀 존재하지 않는 임의의 길 모퉁이에서도 작동합니다.

핵심 파이프라인은 세 가지 최첨단 컴퓨터 비전 모델을 결합합니다:

  • CosPlace: 글로벌 시각적 장소 인식 (검색)
  • ALIKED/DISK: 로컬 특징 추출 (키포인트)
  • LightGlue: 심층 특징 매칭 (검증)

Google Lens는 인터넷을 검색합니다. Netryx는 물리적 세계를 검색합니다.


데모

사용 사례링크
미사일 공격 지리 위치 — 카타르 (2026년 2월)YouTube에서 시청
분쟁 모니터링 — 파리 시위YouTube에서 시청
무작위 사진에서 블라인드 지리 위치 — 파리YouTube에서 시청
기술 심층 분석: 파이프라인 작동 방식YouTube에서 시청

작동 방식

Netryx는 수백만 개의 후보에서 단일 정확한 일치로 점진적으로 좁혀가는 3단계 파이프라인을 사용합니다. Netryx는 단순한 도구이며, 소스에 구애받지 않으며 mapilliary나 kartaview 등 모든 공급자의 이미지를 처리할 수 있습니다.

1단계 — 글로벌 검색 (CosPlace)

인덱스의 모든 스트리트 뷰 파노라마는 CosPlace를 사용하여 512차원의 '지문'으로 사전 처리되었습니다. 이 모델은 수백만 개의 지리 태그가 지정된 이미지로 훈련된 시각적 장소 인식 모델입니다.

쿼리 사진을 업로드하면:

  1. 시스템이 이미지에서 CosPlace 설명자를 추출합니다.
  2. 수평으로 뒤집힌 버전에서도 설명자를 추출합니다 (반대 시점 캐치).
  3. 두 설명자 모두 코사인 유사도를 사용하여 인덱스의 모든 항목과 비교됩니다.
  4. 반경 필터(대권 거리)가 후보를 지정된 검색 영역으로 좁힙니다.
  5. 시각적으로 가장 유사한 상위 500~1000개의 파노라마 뷰가 후보로 반환됩니다.

이 단계는 인덱스 크기에 관계없이 1초 미만에 실행됩니다. 단일 행렬 곱셈이기 때문입니다.

2단계 — 로컬 기하학적 검증 (ALIKED/DISK + LightGlue)

CosPlace는 비슷해 보이는 장소를 찾습니다. 2단계에서는 기하학적 검증을 사용하여 같은 장소임을 증명합니다.

각 후보에 대해:

  1. 원본 파노라마가 Google 스트리트 뷰에서 다운로드됩니다 (8개 타일, 이어붙임).
  2. 인덱싱된 방위각에서 직사각형 크롭이 추출됩니다.
  3. 쿼리 사진과 인덱싱된 뷰 간의 줌 차이를 처리하기 위해 세 가지 시야각(70°, 90°, 110°)에서 멀티-FOV 크롭이 생성됩니다.
  4. ALIKED (CUDA에서) 또는 DISK (MPS/CPU에서)가 로컬 키포인트와 설명자를 추출합니다.
  5. LightGlue가 쿼리와 후보 키포인트 간의 심층 특징 매칭을 수행합니다.
  6. RANSAC가 일치점을 필터링하여 기하학적으로 일관된 대응만 유지합니다 (거짓 일치 제거).
  7. 가장 많은 검증된 인라이어가 있는 후보가 최적의 일치입니다.

이 단계는 하드웨어에 따라 300500개의 후보를 **25분** 안에 처리합니다.

3단계 — 정제

초기 일치는 좋지만 항상 최적은 아닙니다. 정제를 통해 개선합니다:

  • 방위각 정제: 상위 15개 후보에 대해 시스템이 3개의 FOV에서 15° 간격으로 ±45° 방위각 오프셋을 테스트합니다. 이는 인덱싱된 방위각이 쿼리의 시야 방향과 정확히 일치하지 않는 경우를 잡아냅니다.
  • 공간 합의: 일치점이 50m 셀로 클러스터링됩니다. 여러 후보가 한 영역에 모이면 단일 고인라이어 이상값보다 해당 클러스터가 선호되어 거짓 양성을 줄입니다.
  • 신뢰도 점수 계산: 시스템이 상위 일치의 지리적 클러스터링과 고유성 비율(최고 일치가 다른 위치의 2위보다 얼마나 나은지)을 평가합니다.

울트라 모드 (선택 사항)

어려운 이미지(야간, 흐림, 낮은 텍스처)의 경우 울트라 모드가 다음을 추가합니다:

  • LoFTR: 키포인트 감지에 의존하지 않고 대응 관계를 찾는 검출기 없는 조밀 매처. ALIKED/DISK가 어려워하는 흐림 및 저대비 장면을 처리합니다.
  • 설명자 호핑: 초기 일치가 약한 경우(<50 인라이어), 시스템이 일치된 파노라마(깨끗하고 고품질)에서 CosPlace 설명자를 추출하여 인덱스를 다시 검색합니다. 이는 종종 저하된 쿼리가 놓친 정확한 올바른 파노라마를 찾습니다.
  • 이웃 확장: 최적 일치의 100m 이내에 있는 모든 파노라마를 검색합니다. 올바른 위치는 종종 CosPlace 상위 일치에서 한 거리 노드 떨어져 있습니다.

아키텍처

Query Image
    │
    ├── CosPlace descriptor extraction (512-dim fingerprint)
    ├── Flipped descriptor extraction
    │
    ▼
Index Search (cosine similarity, radius-filtered)
    │
    ├── Top 500 candidates ranked by visual similarity
    │
    ▼
Download Panoramas → Crop at 3 FOVs → Extract ALIKED/DISK keypoints
    │
    ├── LightGlue matching against query keypoints
    ├── RANSAC geometric verification
    │
    ▼
Heading Refinement (±45°, 3 FOVs, top 15 candidates)
    │
    ├── Spatial consensus clustering
    ├── Confidence scoring
    │
    ▼
📍 GPS Coordinates + Confidence Score

시작하기

요구 사항

구성 요소최소권장
OSmacOS / Linux / WindowsmacOS (M1+) 또는 NVIDIA GPU가 있는 Linux
GPU VRAM4GB8GB+
RAM8GB16GB+
저장 공간10GB50GB+ (인덱싱 영역 크기에 따라 다름)
인터넷인덱싱 및 검색에 필요광대역 권장
Python3.9+3.10+

GPU 지원:

  • Mac: MPS (Metal Performance Shaders) — M1/M2/M3/M4
  • NVIDIA: CUDA — 4GB+ VRAM GPU
  • CPU: 작동하지만 현저히 느림

설치

# 저장소 복제
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

# 선택 사항: 울트라 모드(LoFTR)를 위해 kornia 설치
pip install kornia

참고: lightglue는 앱에 의해 Python 모듈로 임포트되지만, 위의 GitHub 저장소에서 설치됩니다.

Gemini API 키 (선택 사항 — AI 대략 모드용) [수동으로 충분하므로 사용을 권장하지 않음]

AI 지원 블라인드 지리 위치 기능을 사용하려면:

  1. Google AI Studio에서 무료 API 키를 받으세요.
  2. 환경 변수로 설정:
export GEMINI_API_KEY="your_key_here"

사용법

GUI 실행

python test_super.py

macOS 사용자: GUI가 비어 보이면 tkinter를 업그레이드하세요: brew install [email protected] (또는 Python 버전). 시스템 Python에 번들된 tkinter는 최신 macOS 버전에서 알려진 렌더링 문제가 있습니다.

1단계: 인덱스 생성

검색 전에 영역을 인덱싱해야 합니다. 이 과정에서 스트리트 뷰 파노라마를 크롤링하고 CosPlace 지문을 추출합니다.

  1. 생성 모드 선택
  2. 인덱싱할 영역의 중심 좌표(위도, 경도) 입력
  3. 검색 반경 설정 (테스트 시 0.51km, 실제 사용 시 510km)
  4. 그리드 해상도 설정 (300이 좋은 기본값 — 높을수록 더 조밀한 커버리지, 건드리지 마세요)
  5. 인덱스 생성 클릭

인덱싱 시간 예상:

반경대략 파노라마 수시간 (M2 Max)인덱스 크기
0.5 km~50030분~60 MB
1 km~2,0001~2시간~250 MB
5 km~30,0008~12시간~3 GB
10 km~100,00024~48시간~7 GB

인덱스는 점진적으로 저장됩니다. 프로세스가 중단되면 다음 실행 시 중단된 지점부터 재개됩니다.

2단계: 검색

  1. 검색 모드 선택
  2. 거리 수준 사진 업로드
  3. 검색 방법 선택:
    • 수동: 사진이 대략 어디에서 찍혔는지 알면 좌표 + 반경 입력
    • AI 대략: Gemini가 시각적 단서(표지판, 건축물, 식생)를 분석하여 지역을 추측하게 함 — 사전 지식 불필요
  4. 검색 실행 클릭, 전체 검색 시작 클릭
  5. 후보 평가 과정의 실시간 스캔 시각화 확인
  6. 신뢰도 점수와 함께 지도에 결과 표시

울트라 모드

어려운 이미지의 경우 울트라 모드 체크박스를 활성화하세요. 이 모드는 LoFTR 조밀 매칭, 설명자 호핑, 이웃 확장을 추가합니다. 현저히 느리지만 표준 파이프라인이 놓치는 일치를 잡아냅니다.


인덱스 작동 방식

모든 임베딩은 단일 통합 인덱스에 저장됩니다. 검색 시 반경 필터가 결과를 사용자가 지정한 영역으로 자동 제한합니다. 즉:

  • 파리, 텔아비브, 런던을 모두 동일한 인덱스에 인덱싱할 수 있습니다.
  • center=Paris, radius=5km로 검색하면 파리 결과만 반환됩니다.
  • center=London, radius=10km로 검색하면 런던 결과만 반환됩니다.
  • 도시 선택이 필요 없습니다. 좌표 + 반경이 모든 것을 처리합니다.

데이터 흐름:

Create Mode:
  Grid points → Google Street View API → Panoramas → Crops → CosPlace → cosplace_parts/*.npz

Auto-build:
  cosplace_parts/*.npz → cosplace_descriptors.npy + metadata.npz (searchable index)

Search Mode:
  Query image → CosPlace → Index search (radius-filtered) → Download candidates → ALIKED/DISK + LightGlue → Result

프로젝트 구조

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

기술 세부사항

사용된 모델

도구 다운로드