返回列表

My solution - 29th rank [part]

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

开始: 2022-02-01 结束: 2022-04-18 计算机视觉 数据算法赛
我的解决方案 - 第29名 [部分]

我的解决方案 - 第29名 [部分]

作者:Balaji Selvaraj | 排名:34

图像尺寸

模型 训练图像尺寸 推理图像尺寸
B5 960 1056
B6 768 840
B7 600 660

数据增强

image = tf.image.random_flip_left_right(image)
image = tf.image.random_hue(image, 0.1)
image = tf.image.random_saturation(image, 0.80, 1.20)
image = tf.image.random_contrast(image, 0.80, 1.20)
image = tf.image.random_brightness(image, 0.10)

架构

编码器 {B5/B6/B7} -> GAP {全局平均池化} -> 批归一化 -> 多样本Dropout (Multi-SampleDropout)

多样本Dropout的输出被送入两个Arcface分类头:

  1. 个体分类头,
  2. 物种分类头
individual_margin = head(n_classes = config.N_CLASSES, s = 30, m = 0.3, name=f'head_individual/{config.head}', dtype='float32')
species_margin =  head(n_classes = config.N_SPECIES, s = 30, m = 0.3, name=f'head_species/{config.head}', dtype='float32')

训练设置

  1. 第一阶段训练40个epoch。
  2. 使用伪标签训练10个epoch。
    使用多个模型,找出大多数模型一致同意的top-1样本,确保第1类和第2类的置信度之间有0.2的差距。生成了12157个伪标签。
  3. 嵌入维度:4096。
  4. 冻结批归一化。
  5. 使用4个不同的数据集:
    • a. 全身
    • b. 追踪器 + 全身 {大多数情况下使用追踪器。如果追踪器bbox不存在,则使用全身bbox}
    • c. 背鳍 {所有bbox}
    • d. 背鳍 {@bre建议清理后的bbox}
  6. 优化器:Lookahead + Adam。

致谢

感谢数据集贡献者:
@adnanpen
@jpbremer

队友:
@lextoumbourou
@zekunn
@poorneshwaran

由于队友们的鼎力支持和辛勤工作,我们才取得了不错的排名。非常感谢。让我们在其他挑战中再接再厉,争取更好的成绩。

备注

查看 @lextoumbourou 分享的笔记本:
https://www.kaggle.com/code/lextoumbourou/happywhale-tpu-baseline-to-0-804-elasticface/notebook

同比赛其他方案