返回列表

49 place - Silver Solution

483. Happywhale - Whale and Dolphin Identification | happy-whale-and-dolphin

开始: 2022-02-01 结束: 2022-04-18 计算机视觉 数据算法赛
第49名方案 - 银牌解决方案

第49名方案 - 银牌解决方案

作者: Maksim Markeev | 排名: 49 | 发布时间: 2022-04-19

首先,我要感谢 Kaggle 提供了这个超级棒的平台和社区。我关于数据科学(DS)的所有知识都是在 Kaggle 上学到的。其次,感谢比赛组织者提供了如此有趣的任务,这帮助我从悲伤的思绪中解脱出来。

数据集

比赛的关键点在于数据集。我使用了由 JAN BRE 提供的 BaskfinsFullbody 数据集。

原本有想法使用中间数据集,但我没时间了。

我也尝试过使用去除了水体的数据集,但结果差了很多。不过我还是把它加入到了集成模型中。

模型

我尝试了 EfficientNet 模型,其中 Effnet 7 的效果最好。

使用了 ArcFace Loss。

图像分辨率为 768。我尝试过 1024,但模型无法收敛。

我也尝试了 ConvNext,结果稍差,但也加入了集成模型中。

训练了 30-50 个 epoch,包含 5 个 epoch 的预热,之后使用余弦退火衰减。

完全没有出现过拟合。训练轮数越多,结果越好。

交叉验证与集成

我连接了来自 9 个模型的嵌入向量,并计算了训练集和测试集图像之间的余弦距离。

由于数据量很大,而 TPU 上的时间非常有限,我只在 1 个折上进行了交叉验证。

在不考虑 new_individual 的情况下,CV 分数为 0.72;在阈值为 0.6 的情况下,CV 分数为 0.86。

然后我在 100% 的训练数据上训练了所有模型,并使用 0.65 作为阈值,因为测试集中 new_individual 较少。

感谢阅读!

同比赛其他方案