公司动态

一文看懂12个SOTA图像匹配方法:image-matching-toolbox评测工具箱完全介绍

📅 2026/8/22 15:27:10
一文看懂12个SOTA图像匹配方法:image-matching-toolbox评测工具箱完全介绍
一文看懂12个SOTA图像匹配方法image-matching-toolbox评测工具箱完全介绍【免费下载链接】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-toolboxPython 库名为immatch是一个一站式图像匹配评测工具箱它统一封装了 12 种 SOTA 图像匹配方法SuperPoint、SuperGlue、LoFTR、Patch2Pix 等并内置 HPatches、InLoc、Aachen、RobotCar 等主流基准的评测脚本让研究者用一个接口即可复现和横向对比不同算法的表现。 12 个 SOTA 图像匹配方法一览表工具箱将图像匹配算法分为两大技术路线所有方法都实现了统一的match_pairs()接口见 base.py切换算法只需换一行配置。路线一稀疏关键点匹配Sparse Keypoint先检测关键点 描述子再做匹配速度快、可解释性强是长时程视觉定位的主力方案。方法角色一句话简介配置文件CAPS特征检测对相机位姿估计不变性的局部特征configs/caps_sift.ymlD2Net特征检测可微分局部特征描述子旋转不变configs/d2net.ymlR2D2特征检测高效、旋转不变的局部特征检测configs/r2d2.ymlSuperPoint特征检测自监督关键点检测 描述子应用最广configs/superpoint.ymlDog-AffNet-HardNet特征检测SIFT 式 DoG 检测器 学习型描述子configs/dogaffnethardnet.ymlSuperGlue匹配器注意力 最优传输的深度匹配器configs/superglue.ymlSIFT经典基线OpenCV 实现的经典局部特征configs/sift.yml路线二半稠密匹配Semi-dense直接预测密集/半密集对应点不依赖离散关键点在姿态剧烈变化、纹理重复场景更鲁棒。方法类型一句话简介配置文件NCNet对应网络邻域一致性网络预测稠密对应configs/ncnet.ymlSparseNCNet对应网络NCNet 的稀疏加速版本configs/sparsencnet.ymlLoFTRTransformer基于 Transformer 的半稠密匹配免特征提取configs/loftr.ymlCOTRTransformer对应 Transformer端到端预测匹配configs/cotr.ymlAspanformerTransformer注意力跨度 Transformer兼顾密集与稀疏configs/aspanformer.ymlPatch2Pix局部细化极线引导的像素级匹配精化可叠加在 SuperGlue 之后configs/patch2pix.yml、configs/patch2pix_superglue.yml 提示所有方法的具体参数关键点数量、匹配阈值、图像尺寸等都在configs/目录下的 YAML 文件中分场景配置同一个方法可针对 HPatches、InLoc、Aachen 使用不同参数组。 最快上手方法几行代码完成图像匹配以 Patch2Pix 为例只需加载配置文件、初始化模型、传入一对图片即可获得匹配结果import immatch, yaml from immatch.utils import plot_matches with open(configs/patch2pix.yml) as f: args yaml.load(f, yaml.FullLoader)[example] model immatch.__dict__[args[class]](args) matches, _, _, _ model.match_pairs(img1.jpg, img2.jpg) plot_matches(img1.jpg, img2.jpg, matches, radius2, linesTrue)下图就是工具箱输出的一对夜间图像的匹配结果可视化彩色连线即算法预测的特征对应点更完整的交互式示例见notebooks/visualize_matches_on_example_pairs.ipynb。 图像匹配评测基准支持清单评测脚本位于immatch/目录下一条命令即可在对应基准上跑完整评测HPatches图像匹配 单应矩阵估计命令入口python -m immatch.eval_hpatches脚本eval_hpatches.pyInLoc长时程视觉定位python -m immatch.eval_inlocAachen Day and Night原版 v1.1python -m immatch.eval_aachenRobotCar Seasonsv1 v2python -m immatch.eval_robotcar数据量大完整评测约需数天MegaDepth / ScanNet 相对位姿估计python -m immatch.eval_relapose可复现 LoFTR、Aspanformer 的官方结果数据集准备与命令细节都写在 evaluation.md定位基准所需的图像对文件可用data/download.sh一键下载。⚙️ 如何安装 image-matching-toolbox完整步骤克隆仓库并初始化子模块各方法的原始实现在third_party/中git clone https://gitcode.com/gh_mirrors/im/image-matching-toolbox cd image-matching-toolbox git submodule update --init下载预训练权重cd pretrained/ bash download.sh创建 conda 环境conda env create -f environment.yml后conda activate immatch已验证环境Ubuntu 18.04 Python 3.7 PyTorch 1.7 CUDA 10.2以开发模式安装python setup.py develop改代码无需重装安装 pycolmappip install pycolmap视觉定位评测必需安装细节见 install.md。 项目目录结构速览configs/15 个 YAML 配置文件每个方法按评测场景分组immatch/方法封装与评测接口核心代码在immatch/modules/immatch/utils/COLMAP 读写、指标计算、数据 IO 等工具pretrained/各方法预训练模型third_party/LoFTR、SuperGlue、D2Net 等方法的原始实现git submoduledata/、outputs/数据集输入目录与评测结果输出目录 小结image-matching-toolbox 最大的价值在于统一接口 开箱即用不用再为每个算法单独折腾环境一个--config参数就能切换 12 种 SOTA 图像匹配方法并在 HPatches、InLoc、Aachen、RobotCar 等权威基准上获得可复现的对比结果是图像匹配研究与算法选型的高性价比起步工具。【免费下载链接】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),仅供参考