返回列表

2nd place solution summary

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

开始: 2020-06-30 结束: 2020-08-17 计算机视觉 数据算法赛
第二名方案总结

第二名方案总结

作者: xue tong, smileimg, cc, feymanpriv, Wicked AI
比赛: Landmark Retrieval 2020

[更新]
添加 Google Drive 下载链接:
https://drive.google.com/file/d/1XnzxMOHhzua9tjrAjo-X55ieKVJzRJw_/view?usp=sharing

[更新]
arXiv 投稿暂缓。我们在 PDF 文件中提供了详细信息,下载链接:
https://vis-bj.bj.bcebos.com/landmark/landmark2020_retrieval.pdf

方法

我们在本次比赛中使用的检索方法如图 1 所示。我们主要训练了两个模型用于最终提交,每个模型包括一个用于特征提取的主干模型和一个用于分类的头模型。由于 ResNeSt269 和 Res2Net200_vd 在 ImageNet 上的优异表现,我们选择它们作为主干模型。头模型包括一个池化层和两个全连接(fc)层。第一个 fc 层通常被称为嵌入层或白化层,其输出大小为 512。而第二个 fc 层的输出大小对应于训练数据集的类别数量。我们没有使用 softmax 损失进行训练,而是使用 ArcMargin 损失来训练这些模型。ArcMargin 损失最初应用于人脸识别,我们发现它在检索任务中表现良好,可以在地标识别中产生具有区分度和紧凑性的描述符。

Figure 1

训练过程主要包括三个步骤。首先,我们在 GLDv1 数据集(包含 14950 个类别的 1215498 张图像)和 GLDv2-clean 数据集(包含 81313 个类别的 1580470 张图像)上以 224x224 的分辨率训练这两个模型。其次,这两个模型在 GLDv2-clean 数据集上以 448x448 的分辨率进行进一步训练,在此过程中 ArcMargin 损失的参数可能会发生变化。我们认为使用较大的输入尺寸有利于提取微小地标的特征。然而,主要由于巨大的计算成本和 GPU 资源的缺乏,我们不得不采用“从小到大”的训练策略。在最后一步,我们尝试了一些技巧来提高性能。我们尝试了很多方法,例如三元组损失微调、Circle Loss 微调等,但只有“GemPool”和“Fix”策略有效。

训练和测试细节

在数据层面,我们首先使用低分辨率的 GLDv1 和 GLDv2-clean 数据以较大的学习率进行训练,然后使用高分辨率的 GLDv2-clean 数据以较小的学习率进行训练。具体细节列于表 1 中。表 2 展示了使用上述策略的训练结果。表 3 列出了模型集成的 mAP@100 分数。

Table 1
Table 2
同比赛其他方案