437. Hotel-ID to Combat Human Trafficking 2021 - FGVC8 | hotel-id-2021-fgvc8
感谢主办方举办这场有趣的挑战赛!我很自豪能参加这样一个具有社会意义的比赛。
代码:https://github.com/smly/hotelid-2021-first-place-solution
许多 Traffickcam 的图像没有正确的旋转角度。我创建了一个分类模型来校正旋转角度,并将其应用于所有 traffickcam 图像。该模型是在 Hotels50k 数据集上训练的。最终,在 97554 张训练图像中,有 4859 张图像的旋转角度得到了校正。
我通过度量学习和最近邻搜索解决了这个比赛。图像表征通过 Arcface 训练。对于主干网络,我使用了 ResNeSt101e、RegNetY120 和 Swin Transformer (Swin-L)。我训练的所有模型在 Public LB(公开排行榜)上的得分几乎相同。
针对不平衡问题,在最近邻搜索中,仅使用每个酒店的 TOP1 最近邻相似度得分作为置信度。当使用 topk 分数之和进行聚合时,结果会更差。
通过数据库增强(k=5)更新图像表征,可以提高 LB 分数。然而,由于相似图像很少,DBA 很容易受到不同类别图像表征的影响。因此,我在 DBA 中添加了以下标签约束。(代码)
我使用 Hotels50k 作为索引,以 Hotel-ID 为查询进行搜索,并映射了酒店。将 H50k 图像添加到训练集以及最近邻搜索的索引集中,进一步提高了分类精度。
我使用了三种主干网络:ResNeSt101e、RegNetY120 和 Swin Transformer,通过训练集和索引集的各种组合来创建模型。主要的改进来自于训练集和索引集的差异,而不是建模部分。
HID+H50k(a) 表示在 H50k 中添加了 traffickcam 图像的图像集。HID+H50k(b) 表示在 H50k 中添加了 traffickcam 和 travel site 图像的图像集。HID+H50k(a) 和 HID+H50k(b) 分别对应 https://www.kaggle.com/confirm/hotelid-models 中的 train_hotelidv3.csv 和 train_hotelidv4.csv。
| 主干网络 | 输入尺寸 | 训练集 | 索引集 | Public LB | Private LB |
|---|---|---|---|---|---|
| ResNeSt101e | 512 | H50k->HID | HID only | 0.7852 | 0.8027 |
| ResNeSt101e | 512 | H50k→HID+H50k(a) | HID+H50k(a) | 0.8197 | 0.8250 |
| ResNeSt101e | 512 | H50k→HID+H50k(a) | HID+H50k(b) | tbd | tbd |