457. Google Landmark Recognition 2021 | landmark-recognition-2021
感谢我的老队友 @haqishen 和新队友 @hongweizhang。这又是一次很棒的团队合作。我们在检索比赛中获得了第3名,在识别比赛中获得了第4名。为了方便日后参考,我将解决方案发布在两个论坛上,尽管内容上有很大的重叠。
Qishen 和我是2020年识别比赛第3名团队(连同 @garybios 和 @alexanderliao)的成员。去年我们开发了一个强大的模型,即带有动态边距的子中心 ArcFace(sub-center ArcFace with dynamic margins)。
今年有两场比赛同时进行,截止日期更紧,所以我们很大程度上复用了去年的流程,并采用了更新的架构和更好的后处理方法。我们在检索和识别比赛中以相同的方式训练模型,但在最终提交时选择了不同的模型组合和后处理方法。
我们主要遵循去年的解决方案(详情见此处)。配方包括:
在过去的一年中发表了不少新的 SOTA 图像模型, notably EfficientNet v2, NFNet, ViT, Swin transformers。我们使用去年的配方训练了所有这些新模型。对于 Transformers,我们使用了 384 的图像尺寸。对于 CNN 模型,我们使用了逐渐增大的图像尺寸(256 -> 512 -> 640/768)。
我们发现 CNN 和 Transformers 在本地 GAP 分数(识别指标)上表现同样出色,但 Transformers 在本地 mAP(检索指标)上明显更高,即使使用较小的 384 图像尺寸也是如此。我们认为这是因为 Transformers 是基于补丁的,可以捕获更多的局部特征及其相互作用,这对检索任务更为重要。
除了新模型外,我们还通过微调复用了去年的一些模型,主要是 EfficientNets。
我们的最终集成由 11 个模型组成:3 个 Transformers,3 个新 CNN 和 5 个旧 CNN。它们的规格和本地分数如下。未显示旧 CNN 的 CV 分数,因为它们存在泄漏(去年的折叠划分不同)。
我们最佳的检索集成少了 4 个 CNN,总共只有 7 个模型(3 个 Transformers + 4 个 CNN),因为增加 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 | 640 | 38 | 0.7053 | 0.3600 | |
| EfficientNet v2m | 640 | 45 | 0.7136 | 0.3811 | |
| EfficientNet v2l | 512 | 30 | 0.7146 | 0.4117 | |
| EfficientNet B4 | 768 | 10 | ✓ | ||
| EfficientNet B5 | 768 | 20 | ✓ | ||
| EfficientNet B6 |