Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Netryx-Astra-V2-Geolocation-Tool — 世界上最精密的街景图像地理定位软件 | Kitploit
工具/GitHubGitHub/sparkyniner/netryx-astra-v2-geolocation-tool
OSINT (开源情报)侦察信息收集CTF机器学习学习与教育精选资源
GitHubsparkyniner/netryx-astra-v2-geolocation-tool

Netryx-Astra-V2-Geolocation-Tool

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

世界上最精密的街景图像地理定位软件

查看仓库
71178221个月前Kitploit 审核通过

图片

Netryx Astra V2

最先进的AI地理定位:仅凭单张图像。

核心理念 • 工作原理 • 快速开始 • 社区中心 • 安装

LinkedIn MegaLoc MASt3R License Python

Netryx Astra V2 运行中


核心理念

你有一张照片。可能是一段视频的截图;可能是一张从网上摘取的、被裁切或模糊的手机照片;可能只显示了一个店面、一段道路或一栋建筑的角落。你想知道它究竟是在哪里拍摄的。

Netryx Astra V2 回答了这个问题。

这是一款开源的地理定位系统,它通过将单张图像与街景全景图数据库进行匹配,从而找到精确的 GPS 坐标。上传你的照片,几分钟内它就能告诉你街道、城市和坐标——误差仅几米。

与最初的 Netryx(以及市面上的其他工具)相比,V2 的不同之处在于匹配流程。我们从头开始重建了一切,使用了本项目启动时尚不存在的两个模型:

  • MegaLoc(CVPR 2025)——用于地点识别的最准确图像检索模型,在涵盖室内、室外、白天、黑夜和季节变化的六个数据集上训练。它能找到正确的街区。
  • MASt3R(ECCV 2024)——一款三维感知的密集匹配器,能够理解场景的几何结构,而不仅仅是像素模式。即使面对部分遮挡或严重裁切的照片(这些照片会让传统匹配器崩溃),它也能确认精确位置。

结果是一个三步流程,比它取代的九阶段系统更简单、更准确。

V1 相比有哪些变化

最初的 Netryx 使用 CosPlace 进行检索,并采用 DISK + LightGlue + LoFTR + RANSAC + 描述符跳跃 + 邻域扩展的堆叠结构进行验证。它虽然能工作,但很脆弱——许多启发式规则层层叠加,每一条都是对前一阶段局限性的临时修复。

V2 完全抛弃了这些。以下是替换情况:

简化不仅仅是美观上的。阶段越少,出错的地方就越少,搜索速度更快,代码也更易于维护。

工作原理

流程分为三个阶段。这并非简化版描述——它真的只有三个阶段。

root@kitploit:~
查询图像
     │
     ▼
┌─────────────┐
│   MegaLoc   │  “这座城市中这个位置可能在哪里?”
│   检索      │  
└─────┬───────┘
      │  Top 500 候选地点
      ▼
┌─────────────┐
│   MASt3R    │  “这真的是同一个地方吗?”
│   匹配      │  
└─────┬───────┘
      │  得分后的候选地点
      ▼
┌─────────────┐
│   空间      │  “哪一组匹配最可信?”
│   一致性    │  
└─────┬───────┘
      │
      ▼
  📍 GPS 坐标

阶段 1:MegaLoc 检索

你的查询图像被转换成一个紧凑的描述符——一个 8448 维的向量,捕捉场景的视觉本质。该向量经 PCA 降维至 1024 维,然后通过点积相似度与所有已索引位置进行比较。

我们还为查询图像的略微放大中心裁切和水平翻转版本提取描述符,然后合并结果。这可以处理查询图像缩放级别不同或朝向与索引视图相反的情况。

输出是从索引中按视觉相似度排序的前 500 个候选位置。

MegaLoc 来自 Gabriele Berton 的实验室(同样开发了 CosPlace 和 EigenPlaces 的团队)。这是他们系列工作中的最新成果,同时在 SF-XL、GSV-Cities、MSLS 和地标检索数据上训练。目前没有任何其他检索模型能在所有基准测试(室内、室外、城市、乡村、白天、黑夜)上始终超越它。

阶段 2:MASt3R 密集匹配

对于这 500 个候选地点,我们下载对应的街景全景图,按索引的方位角进行裁切,然后运行 MASt3R 查找查询图像与裁切图像之间的密集像素对应关系。

这就是处理困难查询时的魔法所在。像 SuperPoint + LightGlue 这样的传统匹配器大约提取 500-2000 个稀疏关键点并尝试匹配它们。如果你的查询图像与数据库图像仅有 20% 的视觉重叠,那么可能只存在 50 个共存关键点——不足以进行可靠匹配。

MASt3R 的工作原理完全不同。它将匹配视为一个三维重建问题,预测每个像素的密集点图和局部特征描述符。即使是一个很小的重叠区域,也能产生数百个可靠的对应关系,因为它理解场景的三维结构,而不仅仅是二维像素模式。

在无地图定位基准(单张参考图像,视角变化可达 180°)上,MASt3R 的表现比之前的方法提高了 30%。这不是渐进式的改进——而是一代人的飞跃。

阶段 3:空间一致性

单纯选择匹配得分最高的候选地点存在的问题是:存在假阳性。两家相隔 5 公里的相同连锁餐厅都会产生很高的 MASt3R 分数。一排排苏联时代的公寓楼看起来都一样。

空间一致性解决了这个问题。我们将搜索区域划分为约 50 米的网格单元,并将所有高分匹配按地理位置进行聚类。每个网格单元根据该单元及其相邻单元中所有匹配的综合证据获得一个分数。

一个在错误位置有 200 个内点的孤立匹配,会被在正确位置各有 80-150 个内点的 5 个匹配聚类得分超过。胜出聚类中的最佳匹配成为最终答案。

这就是为什么即使在搜索半径较大、存在更多相似位置时,准确率也能保持稳定。

示例

图片 我们可以看到,在这张图片中,完全没有任何可供参考的线索,它只是一个小小的裁切部分。传统的 OSINT 在这里绝对会失败。然而,Netryx Astra 却在完全本地运行、没有元数据或任何前置线索的情况下,将其精确定位到了精确的坐标。 图片 一张建筑物的小幅裁切照片,仅凭这一点就在莫斯科 1 公里半径范围内找到了它的位置。

快速开始

社区中心

这是最让我们兴奋的部分。

为一座城市建立索引需要数小时的计算时间。每个用户都独立对同一城市进行索引是非常浪费的。因此,我们构建了一个共享系统:一个人索引莫斯科,上传结果,其他人几分钟内即可下载。

选项 A:下载现有索引并开始搜索

最快的方式。别人已经完成了索引工作——你只需下载他们预建的索引。

图片

将模式设置为 搜索,点击 运行搜索,然后选择你的查询图像。地图坐标和搜索半径会自动从索引元数据中填充。此功能仅在社区贡献和互相支持下才能发挥作用:如果你为一个地区建立了索引,我们都很感谢你能将其上传。

选项 B:从头建立自己的索引

重要提示:如果在拟合 PCA 时应用程序因内存不足而冻结,请在终端中使用以下命令!python3 -c "from test_super import build_compact_index; build_compact_index()"

想要索引一个尚未被他人覆盖的城市或区域?应用程序处理一切——下载全景图、提取描述符、构建搜索索引。

root@kitploit:~
python test_super.py
  1. 将模式设置为 创建
  2. 输入中心坐标(纬度,经度)和半径(公里)
  3. 点击 创建索引
  4. 等待。对于 1 公里半径,预计约 20-30 分钟。对于 5 公里,需几个小时。对于 10 公里,需要一整晚。

幕后发生了什么:应用程序在半径内生成一个点网格,查找所有可用的全景图位置,以分块方式下载并拼接每张全景图,在多个方位角下裁切每张全景图,为每个裁切提取 MegaLoc 描述符,对所有描述符拟合 PCA,并构建一个紧凑的搜索索引。

选项 C:从他人处导入索引文件

从朋友、Discord 服务器或下载链接获得了一个 .netryx 文件?只需在应用程序中点击 📥 导入索引,选择该文件,即可开始搜索。无需账户,无需互联网——这是一个完全离线的流程。

工作原理

索引托管在 Hugging Face Hub 上,作为公共数据集。任何人都可以无需账户即可下载。贡献(上传)需要一个免费的 Hugging Face 账户。

**从 GUI:**点击 🌐 社区中心 按钮浏览、搜索和下载可用的索引。点击 ⬆ 上传当前索引 来分享你的索引。

.netryx 格式

索引包使用 .netryx 格式——一个 ZIP 归档文件,包含:

  • PCA 降维后的 MegaLoc 描述符(实际的搜索向量)
  • 坐标元数据(每个条目的纬度/经度/方位角/全景图 ID)
  • 拟合好的 PCA 模型(搜索时需要用于变换查询描述符)
  • 包含覆盖信息的清单(中心、半径、条目数、创建者等)

当你导出时,地理过滤会自动进行。如果你的索引包含莫斯科 + 巴黎 + 东京,但只导出“莫斯科 1 公里”,则仅包含莫斯科的条目。你可以从较大的索引中切片出特定区域,无需手动操作。

离线共享

不想使用 Hugging Face?只需导出并以你想要的任何方式共享文件:

root@kitploit:~
# 导出
python netryx_hub.py export \
  --index-dir ./netryx_data/index \
  -o moscow_1km.netryx \
  --city moscow --radius 1 --lat 55.75 --lon 37.62

# 通过 Discord、电子邮件、Google Drive 等方式发送文件

# 其他人导入
python netryx_hub.py import moscow_1km.netryx -o ./netryx_data/index

安装

快速设置(推荐)

Mac / Linux:

root@kitploit:~
git clone https://github.com/sparkyniner/Netryx-Astra-V2-Geolocation-Tool.git
cd netryx-astra-v2
chmod +x setup.sh && ./setup.sh
source venv/bin/activate
python3 test_super.py

Windows:

root@kitploit:~
git clone https://github.com/sparkyniner/netryx-astra-v2.git
cd netryx-astra-v2

然后双击 setup.bat 安装所有内容。安装完成后,双击 run.bat 启动。

就这样。设置脚本会创建虚拟环境,安装所有依赖项,将 MASt3R 克隆到仓库旁,并预下载模型权重。无需手动配置。

系统要求

  • Python 3.10+
  • macOS(Apple Silicon,通过 MPS)
  • Linux(NVIDIA GPU,通过 CUDA;AMD GPU,通过 ROCM)
  • Windows(NVIDIA GPU,通过 CUDA)
  • 8GB+ RAM 用于搜索(建立大范围索引建议 16GB+)
  • 每个城市索引约需 2GB 磁盘空间

MASt3R 权重在首次运行时自动从 Hugging Face 下载。

你的文件夹结构应如下所示:

root@kitploit:~
某个文件夹/
├── netryx-astra-v2/       # 本仓库
│   ├── test_super.py
│   ├── megaloc_utils.py
│   ├── mast3r_utils.py
│   ├── netryx_hub.py
│   └── ...
└── mast3r/                # 单独克隆
    ├── mast3r/
    ├── dust3r/
    └── ...

mast3r_utils.py 会在运行时自动找到并导入相邻的 mast3r/ 目录。无需配置路径。

Apple Silicon (MPS) 注意事项

所有内容开箱即可在 Apple Silicon 上运行。代码会自动处理 MPS 的怪癖——对于未实现的操作回退到 CPU,对不连续的张量进行猴子补丁 .view() → .reshape(),并在长时间索引运行期间清理 MPS 缓存。

如果你使用的是 M1/M2/M3/M4 Mac,它会自动使用 GPU 加速。无需任何配置。

AMD Rocm 注意事项

运行安装脚本后,你需要手动为你的特定设备安装 rocm/pytorch 到 venv 中。

请为你的设备使用 TheRock pytorch 构建: https://github.com/ROCm/TheRock/blob/main/RELEASES.md#installing-pytorch-python-packages

例如,对于 RX7xxx 系列显卡安装:

root@kitploit:~
pip install --index-url https://rocm.nightlies.amd.com/v2/gfx110X-all/ torch torchaudio torchvision

注意:确保用户属于 render 组:

root@kitploit:~
sudo usermod -aG render <用户ID>

并且已经安装了基本驱动: https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/quick-start.html#amd-gpu-driver-installation

项目结构

root@kitploit:~
netryx-astra-v2/
├── test_super.py          # 主应用程序——GUI、流程、一切
├── megaloc_utils.py       # MegaLoc 模型加载、描述符提取、PCA
├── megaloc_model.py       # 自包含的 MegaLoc 架构(如果 torch.hub 失败时回退)
├── mast3r_utils.py        # MASt3R 加载和密集匹配
├── netryx_hub.py          # 社区中心——上传、下载、导出、导入
├── README.md
├── LICENSE
└── requirements.txt

# 运行时创建(不提交到 git):
netryx_data/
├── megaloc_parts/         # 原始 8448 维描述符块(索引时创建)
└── index/                 # 紧凑搜索索引
    ├── megaloc_descriptors.npy   # PCA 降维后的描述符
    ├── metadata.npz              # 坐标、方位角、全景图 ID
    ├── megaloc_pca.pkl           # 查询时变换使用的 PCA 模型
    └── manifest.json             # 如果从社区中心下载则存在

# 外部依赖(另行克隆,不在本仓库内):
../mast3r/                 # https://github.com/naver/mast3r

配置

如果需要,你可以在 test_super.py 中调整这些参数。默认值适用于大多数用例。

你可能最想调整的是 INDEX_TARGET_DIM——降为 512 可使索引大小减半,而精度只损失约 2-3%。

局限性

我们相信如实说明此工具能做什么和不能做什么。

它只能找到索引中已有的地点。 如果一个位置未被你或社区下载的索引覆盖,就无法找到。无论模型多么先进,都无法与不存在的数据进行匹配。准确率的上限由覆盖范围决定,而非模型本身。

重复的建筑样式会导致假阳性。 连锁店、郊区住宅开发项目、一排排相同的公寓楼——这些从街景上看确实非常相似。空间一致性有所帮助(邻近匹配的聚类优于单个孤立的异常值),但它并非万无一失,尤其是在大搜索半径(10 公里以上)的情况下,存在更多相似的候选位置。这是该领域尚未解决的问题,并非 Netryx 特有的局限。

某些区域存在覆盖缺口。 农村地区、发展中国家、新建社区和室内空间可能没有或仅有有限的街景图像可供索引。

这不是一个实时系统。 在消费级 GPU 上,对 500 个候选位置运行 MASt3R 需要几分钟。此工具专为取证分析而设计——调查性新闻、人权记录、OSINT 研究、保险欺诈调查——而非用于导航或实时跟踪。

建立索引需要可观的计算资源。 MegaLoc 的 DINOv2 骨干网络比 V1 中使用的 CosPlace 骨干网络大约重 5 倍。为 1 公里半径建立索引约需 20-30 分钟。一个完整的城市(10 公里以上)需要一整晚。这就是社区中心存在的原因——这样成本只需支付一次,然后共享。另外,内点数最多的匹配不一定是正确的匹配,因此它会返回多个结果供你交叉核对。

引用

如果你在研究或工作中使用了 Netryx Astra V2,我们感谢你引用:

root@kitploit:~
@software{netryx_astra_v2,
  title={Netryx Astra V2: State-of-the-Art AI Geolocation},
  author={Sairaj Balaji},
  year={2026},
  url={https://github.com/yourusername/netryx-astra-v2}
}

许可证

MIT 许可证。详见 LICENSE。

MegaLoc 权重采用 MIT 许可证。MASt3R 采用 Apache 2.0 许可证。DINOv2 采用 Apache 2.0 许可证。社区共享的索引采用 CC-BY-4.0 许可证。


由 Sairaj Balaji 构建

还构建了 PrismX,被 Fast Company · 404 Media · Deutsche Welle 报道

下载工具
V1(原版)V2(Astra)
寻找候选地点CosPlace(ResNet-50,512维)MegaLoc(DINOv2 ViT-B/14,8448维→PCA 1024)
确认匹配DISK + LightGlue + RANSACMASt3R 密集三维匹配
处理边缘情况LoFTR 后备、描述符跳跃、邻域扩展、Ultra 模式空间一致性——仅此而已
总流程阶段数9+3
部分图像匹配能力弱——稀疏关键点在重叠区域小时会失效强——MASt3R 能在微小区域中找到密集对应点
共享索引不可行通过 Hugging Face 的社区中心 + 离线 .netryx 包
参数默认值作用
INDEX_TARGET_DIM1024PCA 输出维度。512 = 索引更小,精度略有下降。1024 = 良好的平衡。
MAX_PANOID_WORKERS16索引期间并行下载全景图的数量
MAX_DOWNLOAD_WORKERS100并发的分块下载连接数(每张全景图 = 8 个分块)
EARLY_EXIT_INLIER_THRESHOLD450如果 MASt3R 找到这么多密集匹配,则提前停止搜索——这是一个确定性的命中
MAST3R_STAGE2_TOP_N500通过 MASt3R 处理的前 N 个 MegaLoc 候选