尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

复现苹果SOTA图像匹配:用image-matching-toolbox在MegaDepth和ScanNet上跑ASpanFormer相对位姿估计

复现苹果SOTA图像匹配:用image-matching-toolbox在MegaDepth和ScanNet上跑ASpanFormer相对位姿估计 复现苹果SOTA图像匹配用image-matching-toolbox在MegaDepth和ScanNet上跑ASpanFormer相对位姿估计【免费下载链接】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是一个面向图像特征匹配的统一评测工具箱为 ASpanFormer、LoFTR、SuperGlue 等主流图像匹配算法提供了标准化接口与基准评测脚本。本文带你用两行命令在MegaDepth和ScanNet两大经典数据集上复现苹果提出的 SOTA 匹配方法ASpanFormer的相对位姿估计结果。一、这个图像匹配工具箱能做什么工具箱把各种图像匹配方法封装成统一接口覆盖三类主流技术路线类型支持的方法稀疏关键点匹配SuperPoint、D2Net、CAPS、R2D2、Dog-AffNet-HardNet SuperGlue 匹配器半稠密匹配Transformer 类ASpanFormer、LoFTR、COTR局部细化Patch2Pix评测能力覆盖 HPatches 匹配/单应估计、InLoc / Aachen / RobotCar 视觉定位以及本文主角——MegaDepth 与 ScanNet 的相对位姿估计。下面这张图展示了工具箱输出的一组图像匹配结果关键点连线你可以直观理解匹配任务长什么样二、最快安装方法3步搭好运行环境 ️完整说明见 docs/install.md核心步骤如下环境基于 Python 3.7 PyTorch 1.7.0 CUDA 10.21️⃣克隆仓库并初始化子模块各算法原始实现以子模块形式放在third_party/下git clone https://gitcode.com/gh_mirrors/im/image-matching-toolbox cd image-matching-toolbox git submodule update --init2️⃣下载预训练权重。ASpanFormer 的 outdoor/indoor 权重通过软链接指向third_party/aspanformer/weights统一由下载脚本处理cd pretrained bash download.sh3️⃣创建 conda 环境并以开发模式安装conda env create -f environment.yml conda activate immatch python setup.py develop环境定义见 environment.yml权重下载脚本见 pretrained/download.sh。三、数据准备MegaDepth 与 ScanNet 如何放置 评测脚本对数据目录有固定约定详见 docs/evaluation.mdMegaDepth去畸变后的图像放在data/datasets/MegaDepth_undistort/测试对信息1500 张测试图由 ASpanFormer 官方提供位于third_party/aspanformer/assets/megadepth_test_1500_scene_info/ScanNet测试场景放在data/datasets/scannet/test/含color/图像与pose/位姿文件测试对与内参信息在third_party/aspanformer/assets/scannet_test_1500/数据集组织方式沿用了 LoFTR 的官方测试协议保证结果可直接对比。四、核心操作两行命令跑通相对位姿估计 在仓库根目录执行完整评测逻辑在 immatch/eval_relapose.py# MegaDepth 户外场景加载 outdoor.ckpt python -m immatch.eval_relapose --config aspanformer --benchmark megadepth # ScanNet 室内场景加载 indoor.ckpt python -m immatch.eval_relapose --config aspanformer --benchmark scannet就这么简单。命令背后发生了三件事按基准加载配置脚本读取 configs/aspanformer.yml 中对应的megadepth/scannet段自动切换权重与输入分辨率如 MegaDepth 测试分辨率 1152×1152ScanNet 用 480×640 的室内权重逐对匹配调用封装好的 ASpanFormer 模块immatch/modules/aspanformer.py预测关键点对估计相对位姿用 OpenCV 的本质矩阵 RANSACcv2.findEssentialMatcv2.recoverPose从匹配点恢复 R、t再与真值比对调试技巧加--debug只跑前 10 对加--print_out打印每对的匹配数与误差。五、读懂结果AUC 指标意味着什么 评测最终输出形如RelaPose AUC1/3/5/10/20deg的曲线指标计算逻辑见 immatch/utils/metrics.py旋转误差 R_err预测旋转与真值的角度差度平移误差 t_err平移方向的角度误差度AUCθ误差小于 θ 度的样本累计面积θ 越小分数越高说明匹配方法在精细位姿上的能力越强拿到不同方法的 AUC 曲线后还可以用仓库自带的 Jupyter 笔记 notebooks/HPatches_MMA_Curves.ipynb 绘制方法对比曲线。六、新手上手小贴士 先用 Notebook 感受接口notebooks/visualize_matches_on_example_pairs.ipynb 里有 10 行左右的示例几秒即可看到任意方法的匹配连线换方法只需换配置--config参数换成 configs/ 下的任意 yaml 文件名如loftr、cotr同一套评测流程即可横向对比显存不够ASpanFormer 在 832×832 分辨率下推理建议 8GB 以上显存的显卡MegaDepth 段可通过test_res调低分辨率快速验证流程小结image-matching-toolbox 把装环境 → 放数据 → 跑评测压缩成了标准化三步让你无需逐个折腾各家官方仓库就能快速复现ASpanFormer 图像匹配在 MegaDepth 与 ScanNet 上的 SOTA 相对位姿估计结果并方便地与 LoFTR、COTR 等方法横向对比。上手试试吧【免费下载链接】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),仅供参考
返回列表