返回列表

9th place solution overview

397. Google Landmark Retrieval 2020 | landmark-retrieval-2020

开始: 2020-06-30 结束: 2020-08-17 计算机视觉 数据算法赛
第9名解决方案概述

第9名解决方案概述

作者: kenji (Grandmaster), ns64 (Grandmaster), tomotana14 (Master), ryoshih (Master)
比赛排名: 第9名

我们要感谢所有组织者举办了这场激动人心的比赛。
祝贺所有完成比赛的人以及获胜者。

我们仅在 PyTorch 上使用 GLDv2clean 数据集训练模型,并将它们转换为 TensorFlow 的 saved_model 格式。
然后,我们使用 GLR2019 公共和私有数据集对它们进行了验证。

最终提交

ResNeSt50 + ResNet101 + ResNet152 + SEResNeXt101

模型 输出维度 输入尺寸 GLR2019 mAP@100 Public LB Private LB
ResNeSt50 512 416 0.3114 0.335 0.292
ResNet101 512 608 0.3243 0.346 0.303
ResNet152 512 480 0.3180 0.336 0.288
SEResNeXt101 512 480 0.3209 0.337 0.296
4个模型集成 2048 (拼接) - 0.3396 0.361 0.317

模型细节

  • 主干网络: ResNeSt50, ResNet101, ResNet152 和 SEResNeXt101 的集成
  • 池化层: GeM (p=3)
  • 头部结构: FC->BN->L2 (与去年第一名团队相同)
  • 损失函数: 带有标签平滑的 CosFace (ArcFace 效果也不错,但 CosFace 更好)
  • 数据增强: RandomResizedCrop, Rotation, RandomGrayScale, ColorJitter, GaussianNoise, Normalize, 和 GridMask
  • 学习率: 带有预热 的余弦退火学习率,训练 30 个 epoch
  • 训练时的输入图像尺寸: 352

尝试过且有效的方案

  • 自动混合精度训练
  • 在测试时将 GeM 的参数 p=3 替换为 p=4
  • 在训练的最后几个 epoch 增加输入图像尺寸,并冻结 BN 层
  • 测试时使用较大且多种输入图像尺寸:416, 480 和 608
  • MVArcFace

尝试过但无效的方案

  • PCA 白化
  • 在测试时保持输入图像的纵横比(可能是因为我们的模型是在方形图像上训练的)
  • 结合 arcface loss 和成对 loss(例如 triplet loss)
    我们尝试过将 arcface loss 与成对 loss(特别是 multi-similarity loss)结合使用。然而,单独使用 arcface loss 效果优于多种 loss 的组合。
  • EfficientNet
  • Circle loss
  • 移除噪声类别
    我们尝试移除基于 arcface 类权重方差最大的 3 个噪声最严重的类别,但没有效果。

尚未尝试的方案

  • 使用 GLDv1 数据集进行训练
  • 在不改变图像纵横比的情况下进行训练
同比赛其他方案