512. Google Universal Image Embedding | google-universal-image-embedding
感谢主办方举办这场精彩的比赛,也感谢我的队友 (@hycloud) 和其他参赛者的辛勤付出。
这是一场很棒的比赛。我从这次比赛和其他方案中学到了很多东西,感到非常开心。
以下是我们第12名方案的详细介绍。
数据集 1:
数据集 2:
| 模型 | 损失函数 | Neck 结构 | 数据 | 分数 (私有/公开) |
|---|---|---|---|---|
| ViT-Huge-224 | Arcface (s=30) | 1024-4096-BN-PReLU-64 | 数据集 1 | 0.629/0.609 |
| ViT-Huge-224 | Multi Similarity Loss + CrossBatchMemory | 1024-4096-BN-PReLU-64 | 数据集 2 | 0.624/0.622 |
| Swin-Large-384 | Arcface (s=30) | 1536-6144-BN-PReLU-64-BN-PReLU | 数据集 1 | 0.612/0.602 |
| Swin-Large-224 | Arcface (s=30) | 1536-6144-BN-PReLU-64-BN-PReLU | 数据集 1 | 0.576/0.562 |
对于 ViT-H,冻结主干网络,仅训练投影层;对于 Swin 采用两阶段训练,第一阶段冻结主干网络,第二阶段微调整个模型;第一阶段训练 10 到 20 个 epoch,第二阶段训练 1 到 5 个 epoch。
优化器:SGD,第一阶段学习率 0.1,第二阶段 0.001(ViT-H 使用了 Adam)。
我们在最后一层使用了 PCA 进行集成。
我们选取了比赛发布的数据集作为 PCA 的数据集,这是一个非常重要的点。
最终结果是选取 PCA 数据集的效果 > 使用完整数据集。
最终得分为 0.667/0.654 (私有/公开排行榜)。