495. Image Matching Challenge 2022 | image-matching-challenge-2022
恭喜所有的获奖者,感谢组织者和所有的参与者。这是我和我出色的队友 @yamash73 共同撰写的总结(非常感谢我们团队的出色合作)。
我们的最终模型是 MatchFormer、QuadTreeAttention、SuperPoint+SuperGlue(2种尺度)和 Patch2Pix 的集成。和其他解决方案一样,我们的解决方案仅使用了预训练权重。
代码: https://www.kaggle.com/code/yamash73/imc2022-14th-place-solution-private-lb-0-839/notebook
注意:我们使用上述 notebook 进行 CV 计算和提交。这两种模式可以通过更改 CFG 类中的 "mode" 参数来切换。
设置最大匹配数是为了平衡来自 5 个模型的匹配数量,并减少计算时间。在许多情况下,基于 Transformer 的方法(LoFTR/MatchFormer)的匹配数量多于 SuperGlue。
我们在最终模型中使用了以下 5 个模型。我们在最终模型中使用了 Patch2Pix,因为 LB/CV 略有提高。但是,分数的变化非常小,因此该模型可能不是最终模型所必需的。
| # | 模型 | 分辨率 | 最大匹配数 |
|---|---|---|---|
| 1 | MatchFormer | 840 | 900 |
| 2 | QuadTreeAttention | 960 | 900 |
| 3 | SuperPoint + SuperGlue | 2000 | 450 |
| 4 | SuperPoint + SuperGlue | 1600 | 450 |
| 5 | Patch2Pix | 2048 | 400 |
我们使用 cv2.findFundamentalMat(mkpts0, mkpts1, cv2.USAC_MAGSAC, 0.2, 0.99999, 18000) 来计算基础矩阵,就像其他团队一样。我们减少了最大迭代次数以减少计算时间。
我们使用了两种具有固定随机种子的 CV 分数。