Hierarchical-Localization (hloc) 是一个用于大规模6自由度视觉定位的模块化工具箱。它实现了分层定位算法,利用图像检索和特征匹配,具有快速、准确和可扩展的特点。该代码库整合了多年来图像匹配和运动结构重建(Structure-from-Motion)方面的研究成果,使其易于使用。
使用 hloc,您可以:
分层定位同时利用图像检索和特征匹配
您现在可以在 Google Colab 中免费使用 GPU 运行 hloc 和 COLMAP 了! notebook demo.ipynb 展示了如何仅需几个步骤就可以运行 SfM 和定位。试试用您自己的数据,我们很想听听您的反馈!
hloc 需要 Python >=3.7 和 PyTorch >=1.1。在本地安装软件包会拉取其他依赖项:
git clone --recursive https://github.com/cvg/Hierarchical-Localization/ cd Hierarchical-Localization/ python -m pip install -e .
所有依赖项都列在 requirements.txt 中。从 hloc-v1.3 开始,不再需要安装 COLMAP。 该存储库包含外部局部特征作为 git 子模块 - 别忘了用 git submodule update --init --recursive 拉取子模块。
我们还提供了一个 Docker 镜像:
docker build -t hloc:latest . docker run -it --rm -p 8888:8888 hloc:latest # 对于 GPU 支持,添加 `--runtime=nvidia` jupyter notebook --ip 0.0.0.0 --port 8888 --no-browser --allow-root
该工具箱由脚本组成,大致执行以下步骤:
然后可以在 visuallocalization.net 上评估支持的数据集的定位。当有 3D LiDAR 扫描可用时,例如对于室内数据集 InLoc,可以跳过步骤 2。
工具箱的结构:
hloc/*.py: 顶层脚本hloc/extractors/: 特征提取器接口hloc/matchers/: 特征匹配器接口hloc/pipelines/: 多个数据集的完整管道hloc 可以作为外部包导入 import hloc,也可以从命令行调用:
python -m hloc.name_of_script --arg1 --arg2
我们提供了使用 Aachen、InLoc 定位以及使用 SfM 为您自己的数据生成参考姿态的分步指南。只需下载数据集,您就可以开始了!
查看 pipeline_Aachen.ipynb 获取使用 Aachen 定位的分步指南。使用可视化工具,尝试新的局部特征或匹配器,享受其中的乐趣!不喜欢笔记本?您也可以从命令行运行所有脚本。
notebook pipeline_InLoc.ipynb 展示了使用 InLoc 定位的步骤。这要简单得多,因为不需要 3D SfM 模型。
我们在 pipeline_SfM.ipynb 中展示了如何为无序图像集运行 3D 重建。这会生成参考姿态,以及适合使用与 Aachen 相同管道进行定位的良好稀疏 3D 模型。
使用 NetVLAD 进行检索,我们获得了以下最佳结果:
| 方法 | Aachen 白天 | Aachen 夜晚 | 检索 |
|---|---|---|---|
| SuperPoint + SuperGlue | 89.6 / 95.4 / 98.8 | 86.7 / 93.9 / 100 | NetVLAD top 50 |
| SuperPoint + NN | 85.4 / 93.3 / 97.2 | 75.5 / 86.7 / 92.9 | NetVLAD top 30 |
| D2Net (SS) + NN | 84.6 / 91.4 / 97.1 | 83.7 / 90.8 / 100 | NetVLAD top 30 |
| 方法 | InLoc DUC1 | InLoc DUC2 | 检索 |
|---|---|---|---|
| SuperPoint + SuperGlue | 46.5 / 65.7 / 78.3 | 52.7 / 72.5 / 79.4 | NetVLAD top 40 |
| SuperPoint + SuperGlue (temporal) | 49.0 / 68.7 / 80.8 | 53.4 / 77.1 / 82.4 | NetVLAD top 40 |
| SuperPoint + NN | 39.9 / 55.6 / 67.2 | 37.4 / 57.3 / 70.2 | NetVLAD top 20 |
| D2Net (SS) + NN | 39.9 / 57.6 / 67.2 | 36.6 / 53.4 / 61.8 | NetVLAD top 20 |
查看 visuallocalization.net/benchmark 获取更多详细信息和其他基准。
我们在 hloc/pipelines/ 中提供了脚本,用于在以下数据集上运行重建和定位:Aachen Day-Night (v1.0 和 v1.1)、InLoc、Extended CMU Seasons、RobotCar Seasons、4Seasons、Cambridge Landmarks 和 7-Scenes。例如,在按照这里给出的说明下载数据集后,我们可以使用以下命令运行使用 SuperPoint+SuperGlue 的 Aachen Day-Night 管道:
python -m hloc.pipelines.Aachen.pipeline [--outputs ./outputs/aachen]
如果您在出版物中报告上述任何结果,或使用此处提供的任何工具,请考虑同时引用 Hierarchical Localization 和 SuperGlue 论文:
@inproceedings{sarlin2019coarse, title = {From Coarse to Fine: Robust Hierarchical Localization at Large Scale}, author = {Paul-Edouard Sarlin and Cesar Cadena and Roland Siegwart and Marcin Dymczyk}, booktitle = {CVPR}, year = {2019} } @inproceedings{sarlin2020superglue, title = {{SuperGlue}: Learning Feature Matching with Graph Neural Networks}, author = {Paul-Edouard Sarlin and Daniel DeTone and Tomasz Malisiewicz and Andrew Rabinovich}, booktitle = {CVPR}, year = {2020}, }
每次定位运行都会生成一个 pickle 日志文件。对于每个查询,它包含选定的数据库图像、它们的匹配以及来自姿态求解器的信息,例如 RANSAC 内点。因此,可以解析它以收集统计数据并分析失败模式或困难场景。
我们还在 hloc/visualization.py 中提供了一些可视化工具,用于可视化 3D SfM 模型的一些属性,例如关键点的可见性、它们的跟踪长度或估计的稀疏深度(如下所示)。
如果您的代码基于 PyTorch:只需在 hloc/extractors/ 或 hloc/matchers/ 中添加一个新接口。它需要继承自 hloc.utils.base_model.BaseModel,将数据字典作为输入,并输出预测字典。参考 hloc/extractors/superpoint.py 获取示例。您还可以在 hloc/extract_features.py 或 hloc/match_features.py 中定义标准配置 - 然后可以直接


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号