返回列表

30th Place 827 Private LB with image size 840

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

开始: 2022-04-04 结束: 2022-06-02 计算机视觉 数据算法赛
第30名:图像尺寸840下的Private LB得分827

第30名:图像尺寸840下的Private LB得分827

作者: ammarali32 | 团队排名: 第30名

首先,我要感谢组织者举办这次精彩的比赛。非常感谢我的队友兼朋友 @jaafarmahmoud1 的辛勤工作,我们真的很享受再次在 Kaggle 上合作。

我对这次比赛不满意的地方

  • 训练数据和测试数据之间的不一致性。所以如果你专注于验证集,你很可能会最终掉出奖牌区。我原本以为私有测试集会很难,以测试模型的鲁棒性和稳定性,但它似乎与公共数据非常相似(就结果而言)。

我们的解决方案:

我们开发了两种解决方案,一种是为了最大化验证集分数,另一种是为了最大化LB(排行榜)分数。

最佳验证集提交:

在验证数据上测试了 SuperPoint + SuperGlue, DKM, Loftr, Loftr QuadTree 和 MatchFormer 之后。我们注意到其中一些模型影响(增加)了简单场景的分数,如 "notre_dame_front_facade",但降低了其他(困难-中等)场景的 MAA,如 "colosseum_exterior",这表明如果数据更具一般性,结果会有巨大的差异(波动)。同一场景的差异可能高达 0.08。

为了克服这个问题,我们验证了模型的组合,并选取每个场景的最佳结果来标记数据。我们训练了一个分类模型来判断何时使用 DKM + Matchformer light 以及何时忽略,同样也判断何时使用 SuperPoint + Loftr 以及何时忽略。应用于所有图像的主要部分(模型)是 MatchFormer 和 Loftr QT 的集成。

对所有人都有效的技巧:

  • 使用 Loftr 可以随输入传递一个掩码。这个掩码原本是用于填充的,所以如果你将图像从 840 x ? 填充到 840x840 并传递一个指示填充区域要忽略的掩码,结果会变得更好,提升高达 +0.01。
  • 基于掩码的想法,如果你传递深度或分割掩码而不是仅仅传递填充掩码,那将改变匹配点和匹配项,为你提供另一个集成方案来增加并提升你的结果,高达 +0.01。
  • 输入反转:代替将图像作为 inp1, inp2 传递,将它们作为 inp2 然后 inp1 传递,你也可以翻转它们以获得更好的结果,但这确实是一个非常好的方法来解决 Loftr 模型的网格问题,提升高达 0.015。它也适用于 SuperGlue,因此你可以应用一次 SuperPoint 配合两次 SuperGlue + 0.006。

该模型在公共 LB 上得分 0.813,在私有 LB 上得分 0.816。

最佳提交

我们在 LB 上的最佳提交使用了相同的模型,但没有 Loftr QT。分类模型仅用于确定是否使用 DKM。主要模型是 SP + 2个 SuperGlue, Loftr, MatchFormer 反向 和 MatchFormer light。

尝试过但无效的方法:

  • 除了 MAGSAC++ 之外,其他方法(包括 USAC_ACCURATE, DEGENSAC, VSAC ..)都更差。
  • MEMORIZE:从两张图像中寻找第三张与两者具有更高覆盖率的图像,并计算 F 矩阵:
    $$X_1^t F_{12} X_2 = X_1^t F_{13} X_3 X_3^t F_{32} X_2 -> F_{12} = F_{13} X_3 X_3^t F_{32} $$
  • OANet - Disc - HardNet 和(任何其他公共模型)
  • 多步骤 MAGSAC
  • 除了翻转之外的 TTA(测试时增强)效果不佳 :(
  • 裁剪感兴趣区域(具有主要匹配数量的区域)或多个区域

希望我对这次比赛的贡献有所帮助,感谢大家,祝贺所有奖牌获得者。

同比赛其他方案