
CosPlace, ALIKED 및 LightGlue 컴퓨터 비전 모델을 사용하여 거리 사진의 정확한 GPS 좌표를 식별하는 로컬 우선 지리 위치 엔진입니다. 50m 미만의 정확도, 랜드마크 불필요.
오픈소스 거리 수준 지리 위치 엔진
거리 사진을 업로드하세요. 정확한 GPS 좌표를 얻으세요.
50m 미만 정확도. 랜드마크 불필요. 전적으로 하드웨어에서 실행됩니다.
Netryx는 모든 거리 수준 사진의 정확한 GPS 좌표를 식별하는 로컬 우선 지리 위치 도구입니다. 역 이미지 검색(업로드된 웹 이미지와 매칭)과 달리, Netryx는 체계적으로 크롤링된 스트리트 뷰 파노라마와 매칭합니다. 즉, 인터넷에 전혀 존재하지 않는 임의의 길 모퉁이에서도 작동합니다.
핵심 파이프라인은 세 가지 최첨단 컴퓨터 비전 모델을 결합합니다:
Google Lens는 인터넷을 검색합니다. Netryx는 물리적 세계를 검색합니다.
| 사용 사례 | 링크 |
|---|---|
| 미사일 공격 지리 위치 — 카타르 (2026년 2월) | YouTube에서 시청 |
| 분쟁 모니터링 — 파리 시위 | YouTube에서 시청 |
| 무작위 사진에서 블라인드 지리 위치 — 파리 | YouTube에서 시청 |
| 기술 심층 분석: 파이프라인 작동 방식 | YouTube에서 시청 |
Netryx는 수백만 개의 후보에서 단일 정확한 일치로 점진적으로 좁혀가는 3단계 파이프라인을 사용합니다. Netryx는 단순한 도구이며, 소스에 구애받지 않으며 mapilliary나 kartaview 등 모든 공급자의 이미지를 처리할 수 있습니다.
인덱스의 모든 스트리트 뷰 파노라마는 CosPlace를 사용하여 512차원의 '지문'으로 사전 처리되었습니다. 이 모델은 수백만 개의 지리 태그가 지정된 이미지로 훈련된 시각적 장소 인식 모델입니다.
쿼리 사진을 업로드하면:
이 단계는 인덱스 크기에 관계없이 1초 미만에 실행됩니다. 단일 행렬 곱셈이기 때문입니다.
CosPlace는 비슷해 보이는 장소를 찾습니다. 2단계에서는 기하학적 검증을 사용하여 같은 장소임을 증명합니다.
각 후보에 대해:
이 단계는 하드웨어에 따라 300500개의 후보를 **25분** 안에 처리합니다.
초기 일치는 좋지만 항상 최적은 아닙니다. 정제를 통해 개선합니다:
어려운 이미지(야간, 흐림, 낮은 텍스처)의 경우 울트라 모드가 다음을 추가합니다:
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
| 구성 요소 | 최소 | 권장 |
|---|---|---|
| OS | macOS / Linux / Windows | macOS (M1+) 또는 NVIDIA GPU가 있는 Linux |
| GPU VRAM | 4GB | 8GB+ |
| RAM | 8GB | 16GB+ |
| 저장 공간 | 10GB | 50GB+ (인덱싱 영역 크기에 따라 다름) |
| 인터넷 | 인덱싱 및 검색에 필요 | 광대역 권장 |
| Python | 3.9+ | 3.10+ |
GPU 지원:
# 저장소 복제
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 저장소에서 설치됩니다.
AI 지원 블라인드 지리 위치 기능을 사용하려면:
export GEMINI_API_KEY="your_key_here"
python test_super.py
macOS 사용자: GUI가 비어 보이면 tkinter를 업그레이드하세요: brew install [email protected] (또는 Python 버전). 시스템 Python에 번들된 tkinter는 최신 macOS 버전에서 알려진 렌더링 문제가 있습니다.
검색 전에 영역을 인덱싱해야 합니다. 이 과정에서 스트리트 뷰 파노라마를 크롤링하고 CosPlace 지문을 추출합니다.
인덱싱 시간 예상:
| 반경 | 대략 파노라마 수 | 시간 (M2 Max) | 인덱스 크기 |
|---|---|---|---|
| 0.5 km | ~500 | 30분 | ~60 MB |
| 1 km | ~2,000 | 1~2시간 | ~250 MB |
| 5 km | ~30,000 | 8~12시간 | ~3 GB |
| 10 km | ~100,000 | 24~48시간 | ~7 GB |
인덱스는 점진적으로 저장됩니다. 프로세스가 중단되면 다음 실행 시 중단된 지점부터 재개됩니다.
어려운 이미지의 경우 울트라 모드 체크박스를 활성화하세요. 이 모드는 LoFTR 조밀 매칭, 설명자 호핑, 이웃 확장을 추가합니다. 현저히 느리지만 표준 파이프라인이 놓치는 일치를 잡아냅니다.
모든 임베딩은 단일 통합 인덱스에 저장됩니다. 검색 시 반경 필터가 결과를 사용자가 지정한 영역으로 자동 제한합니다. 즉:
데이터 흐름:
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