如何快速搭建image-matching-toolbox环境condaPyTorch预训练权重安装完整教程【免费下载链接】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-toolboximage-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.7PyTorch1.7.0CUDA Toolkit10.2Conda已安装并可用安装步骤一克隆仓库并初始化子模块所有图像匹配方法的原始实现都以 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 等视觉定位基准上做评测还需要安装 pycolmappip 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, Loaderyaml.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, radius2, linesTrue)若屏幕上显示出两幅图像之间的密集匹配连线类似文章开头的效果示例图说明 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),仅供参考