如何快速搭建image-matching-toolbox环境:conda+PyTorch+预训练权重安装完整教程
2026/8/22 14:24:04 网站建设 项目流程

如何快速搭建image-matching-toolbox环境:conda+PyTorch+预训练权重安装完整教程

【免费下载链接】image-matching-toolboxThis is a toolbox repository to help evaluate various methods that perform image matching from a pair of images.项目地址: https://gitcode.com/gh_mirrors/im/image-matching-toolbox

image-matching-toolbox 是一个面向图像特征匹配任务的开源工具箱(immatch),它为 LoFTR、SuperPoint、SuperGlue、D2Net 等 10 余种主流图像匹配方法提供了统一的调用接口和基准评测脚本。本文将手把手带你用 conda + PyTorch 在 15 分钟内完成环境搭建、预训练权重下载与安装验证,零基础也能一次跑通。

这个工具箱能做什么?

image-matching-toolbox 把分散在各处的图像匹配算法模块化封装成统一的 Python 接口,支持两类主流匹配范式:

  • 稀疏关键点匹配:SuperPoint、CAPS、D2Net、R2D2、Dog-AffNet-HardNet + SuperGlue 匹配器
  • 半稠密/Transformer 匹配:LoFTR、COTR、Aspanformer、NCNet、Patch2Pix 等

同时内置了 HPatches 特征匹配与单应性估计、InLoc、Aachen、RobotCar 视觉定位等常用基准的评测脚本。下面这张图就是安装完成后,用 Patch2Pix 方法对一对图像运行特征匹配的真实输出效果:

安装前准备:环境要求一览

代码已在Ubuntu 18.04 + Python 3.7 + PyTorch 1.7.0 + CUDA 10.2上验证通过。搭建前请确认:

依赖项要求版本
操作系统Ubuntu 18.04(推荐)
Python3.7
PyTorch1.7.0
CUDA Toolkit10.2
Conda已安装并可用

安装步骤一:克隆仓库并初始化子模块

所有图像匹配方法的原始实现都以 git submodule 形式存放在third_party/目录下,克隆后必须初始化子模块,否则方法无法加载:

git clone https://gitcode.com/gh_mirrors/im/image-matching-toolbox cd image-matching-toolbox git submodule update --init

安装步骤二:下载预训练权重

各方法的预训练模型统一放在pretrained/目录,官方提供了一键下载脚本 pretrained/download.sh,会自动下载 CAPS、D2Net、SparseNCNet、LoFTR、COTR 等权重并为 R2D2、Patch2Pix、Aspanformer 建立软链接:

cd pretrained bash download.sh

💡 建议在网络良好的情况下运行,LoFTR 的室外/室内两个 checkpoint 文件较大。

安装步骤三:用 conda 创建 immatch 环境

项目自带环境配置文件 environment.yml,一条命令即可创建包含 PyTorch 1.7.0、CUDA 10.2、OpenCV 等全部依赖的immatch环境:

conda env create -f environment.yml conda activate immatch

⚠️ 注意:该环境可运行除 SparseNCNet 之外的所有方法。如需使用 SparseNCNet,需按其官方说明额外安装对应依赖。

安装步骤四:以开发模式安装 immatch 包

在项目根目录执行开发模式安装:

cd image-matching-toolbox python setup.py develop

开发模式的优点是修改代码后无需重新安装即可生效;依赖声明位于 setup.py 中。日后如需卸载:

pip uninstall immatch

安装步骤五(可选):安装 pycolmap

如果你计划在 InLoc、Aachen、RobotCar 等视觉定位基准上做评测,还需要安装 pycolmap:

pip install pycolmap

只做图像匹配而不跑定位评测的话,可以跳过这一步。

安装验证:3 行代码跑通首次匹配

环境装好后,用官方示例快速验证。指定一对示例图像,用 configs/patch2pix.yml 的example配置加载 Patch2Pix 模型:

import immatch import yaml from immatch.utils import plot_matches with open('configs/patch2pix.yml', 'r') as f: args = yaml.load(f, Loader=yaml.FullLoader)['example'] model = immatch.__dict__[args['class']](args) matcher = lambda im1, im2: model.match_pairs(im1, im2) im1 = 'third_party/patch2pix/examples/images/pair_2/1.jpg' im2 = 'third_party/patch2pix/examples/images/pair_2/2.jpg' matches, _, _, _ = matcher(im1, im2) plot_matches(im1, im2, matches, radius=2, lines=True)

若屏幕上显示出两幅图像之间的密集匹配连线(类似文章开头的效果示例图),说明 image-matching-toolbox 环境已完全就绪 🎉 也可以直接打开示例 Notebook notebooks/visualize_matches_on_example_pairs.ipynb 跟着体验。

常见问题与后续维护

  • 如何更新环境?两种方式:把新依赖加入 setup.py 后重新执行python setup.py develop(推荐),或用conda env update --file environment.yml --prune更新环境文件。
  • 方法配置在哪里改?每个方法的测试参数都在 configs/ 目录下独立的 yml 文件中,如 configs/loftr.yml、configs/superpoint.yml。
  • 评测流程在哪看?数据集准备与各基准的评测命令详见官方文档 docs/evaluation.md,完整安装说明见 docs/install.md。

按以上五个步骤操作,你已成功搭建好 image-matching-toolbox 图像特征匹配工具箱。接下来只需按评测文档下载对应数据集,即可开始对比各 SotA 匹配方法的表现,祝研究顺利!

【免费下载链接】image-matching-toolboxThis is a toolbox repository to help evaluate various methods that perform image matching from a pair of images.项目地址: https://gitcode.com/gh_mirrors/im/image-matching-toolbox

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询