返回列表

3rd place solution

458. Google Landmark Retrieval 2021 | landmark-retrieval-2021

开始: 2021-08-11 结束: 2021-10-01 计算机视觉 数据算法赛
第3名解决方案

第3名解决方案

作者:Bo | 比赛排名:第3名

感谢我的老队友 @haqishen 和新队友 @hongweizhang。这又是一次很棒的合作。我们在检索比赛中获得了第3名,在识别比赛中获得了第4名。为了方便日后参考,我将解决方案发布在两个论坛上,尽管内容上有很大的重叠。

方法概述

Qishen 和我是2020年识别比赛第3名团队(连同 @garybios@alexanderliao)的成员。去年我们开发了一个强大的模型,即带有动态边距的子中心 ArcFace(sub-center ArcFace with dynamic margins)。

今年两场比赛同时进行,截止日期更紧,所以我们很大程度上沿用了去年的流程,但采用了更新的架构和更好的后处理方法。我们在检索和识别比赛中以相同的方式训练模型,但在最终提交时选择了不同的模型组合和后处理方式。

训练配方

我们主要遵循去年的解决方案(详情见这里)。配方包括:

  • 带有动态边距的子中心 ArcFace
  • 随着图像尺寸增大而进行的渐进式训练
  • indispensable timm
  • 结合 Adam/AdamW 优化器的余弦学习率调度
  • 使用 DistributedDataParallel 进行多 GPU 训练

模型选择

在过去的一年中,有不少新的 SOTA 图像模型发布, notably EfficientNet v2, NFNet, ViT, Swin transformers。我们使用去年的配方训练了所有这些新模型。对于 Transformers,我们使用了 384 的图像尺寸。对于 CNN 模型,我们使用了逐渐增大的图像尺寸(256 -> 512 -> 640/768)。

我们发现 CNN 和 Transformers 在本地 GAP 分数(识别指标)上表现相当,但 Transformers 在本地 mAP(检索指标)上明显更高,即使使用较小的 384 图像尺寸也是如此。我们认为这是因为 Transformers 是基于补丁的,可以捕获更多的局部特征及其相互作用,这对检索任务更为重要。

除了新模型,我们还通过微调重用了一些去年的模型,主要是 EfficientNets。

模型集成

我们的最终集成由 7 个模型组成:3 个 Transformers,2 个新 CNN 和 2 个旧 CNN。它们的规格和本地分数如下。旧 CNN 的 CV 分数未显示,因为它们存在数据泄露(去年的折叠划分不同)。

向集成中添加更多 CNN 会损害检索分数但有助于识别分数——我们识别比赛的最佳集成多包含 4 个 CNN,因为 Transformers 对检索更重要,而添加更多 CNN 会降低 Transformers 的权重。

模型 图像尺寸 总轮数 微调 2020 cv GAP (识别) cv mAP@100 (检索)
Swin base 384 60 0.7049 0.4442
Swin large 384 60 0.6775 0.5161
ViT large 384 50 0.6589 0.5633
ECA NFNet L2 512 30 0.7021 0.3565
EfficientNet v2l 640 40 0.7129 0.4158
EfficientNet B6 512