返回列表

11th Place Solution

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

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

第11名解决方案

作者:tereka (Grandmaster)

队友:aerdem4 (Grandmaster), ren4yu (Grandmaster)

比赛排名:第11名

感谢主办方,也感谢我的队友(@aerdem4 @ren4yu)。这次比赛非常激烈,所以我们每天都努力加倍工作,但这对我们来说非常有趣。我写了一份我们团队解决方案的总结。

总结

  • 检测部分:YOLOV5 + WBF
  • 识别模型:EfficientNet B5/B6/B7/V2S/V2M/V2L/V2XL + 伪标签
  • 重评分:孪生网络

检测部分

数据集

首先,我们在图像中发现了很小的鲸鱼,所以我们需要专注于鲸鱼以进行准确的识别。

我使用 labelimg 来标注鲸鱼。这个标注工具可以导出 yolo 格式。
https://github.com/tzutalin/labelImg

最后,我们标注了 5800 张图像。

训练

  • 图像尺寸:1280
  • 模型:YOLOV5x6
  • 批次大小:8
  • SyncBN
  • 轮次:20
  • 折数:6

推理

6折模型 + WBF -> 筛选出置信度最高的1个框

鲸鱼身份识别部分

数据集

  • 检测部分的结果

训练

  • 模型:EfficientNet B5/B6/B7/V2S/V2M/V2L/V2XL
  • 损失函数:ArcFace
  • 优化器:Adam
  • 伪标签(多步,阈值筛选)
  • CosineAnnealingWarmRestarts
  • GPU/TPU

使用 concat 进行集成(32000维)。单模型得分约为 0.805。我将数据分成了 100 折进行训练。

预测

我们使用余弦相似度进行鲸鱼识别,并进行了一些后处理。

重评分

在最终预测之前,我们对 Top 20 的结果使用了孪生网络。

我们将相似度矩阵和孪生网络得分结合起来。这对我们的分数有巨大的提升。

最终成绩:Public LB 0.881 / Private LB 0.853

我们尝试过但未奏效的方法

  • DoLG
  • 使用翻转进行两次身份识别
  • Swin/ConvNeXt
同比赛其他方案