返回列表

21st place solution summary

495. Image Matching Challenge 2022 | image-matching-challenge-2022

开始: 2022-04-04 结束: 2022-06-02 计算机视觉 数据算法赛
第21名方案总结

第21名方案总结

作者: Kirderf (Grandmaster) | 排名: 第21名 | 发布时间: 2022-06-03

再次感谢主办方举办这场精彩的比赛,以及直到最后一刻关于“线”的激动人心的角逐!🙂
还要特别感谢主办方在比赛期间以专业、快速和全力支持的态度进行回应和互动。如果我们也有一个主办方排行榜,这位主办方肯定会名列前茅 😉

也要感谢各位参赛伙伴,这不是一场独角戏,而是一个团队的社区协作,正如我们在这里看到的,大家贡献了许多想法和顶尖的创意。


方案简述

该方案结合了两个公开的SOTA(State-of-the-Art)模型:Loftr + QuadTreeAttentionMatchFormer。通过调整参数并将它们融合在同一解决方案中,同时参考了相关研究论文以及训练/测试代码中的信息。在本次比赛中,融合后的结果优于单独使用它们,这并不令人意外,因为不同类型模型的集成/拼接通常能带来更好的结果,代价是消耗更多的时间和硬件资源。但在这里,我们利用了 Loftr+Q 框架中 GPU 开销更少且推理速度更快的优势。

训练

没有进行训练,仅使用了预训练模型。

验证与测试

在测试过程中使用训练数据作为验证集,并以比赛指标作为验证分数。

使用的模型/匹配器

具体方案细节与参数调整

Loftr + QuadTreeAttention 特征匹配

  • 使用 Outdoor Megadepth 预训练模型。
  • 配置文件:loftr_ds_quadtree.py
  • ['match_coarse']['thr'] = 0.2255
  • ['match_coarse']['border_rm'] = 1
  • ['match_coarse']['skh_prefilter'] = True

Matchformer

  • 使用 Outdoor-large-LA 预训练模型。
  • 配置文件:megadepth_test_1500.py
  • ['scens'] = 'outdoor'
  • ['match_coarse']['thr'] = 0.180

图像与基础矩阵处理

图像处理

这里我使用了标准 Loftr+Q 框架中的预处理流程,并将其应用于两个模型。我发现这对两者甚至其他 Loftr 模型都很有效,而且比自定义的调整大小、缩放等代码效果更好。换句话说,使用模型设计时原本的流程是最好的。

我将标准值改为 mgdpt_df = 2,这在本次挑战中效果最好。

图像尺寸和缩放是本次挑战的关键领域之一。不同的模型似乎有不同的最佳格式和强制要求。我在这里找到了一个折中的方案。我采用了经典的“尝试/捕获”方法,共有三种尝试:

  1. 首先使用第二张图像的最大边长,这似乎效果最好;
  2. 测试使用 // 8*8 方法的原始尺寸;
  3. 如果模型在第二次尝试中失败,则尺寸增加 +64;
  4. 作为最后的尝试,我直接使用尺寸 1088。

所有尺寸都经过测试以获得最佳结果并确保容错性。

基础矩阵处理

然后,我按照论文/网站中的描述,使用置信度阈值 1e-5 过滤匹配器的结果。我也尝试过不设阈值,改为对得分进行排序(例如使用前 1000 个),但第一种

同比赛其他方案