返回列表

22th place solution - Train4Ever

476. TensorFlow - Help Protect the Great Barrier Reef | tensorflow-great-barrier-reef

开始: 2021-11-22 结束: 2022-02-14 环境监测 数据算法赛
第22名方案 - Train4Ever

第22名方案 - Train4Ever

作者:Train4Ever 团队 (Liam Nguyen, Bùi Nhật Trường, Đàm Trọng Tuyên, KhanhVD)
比赛排名:第22名

感谢主办方提供了如此有趣的比赛。虽然最终未能进入金牌区,但我们仍希望分享我们的解决方案。

我们的解决方案包含3个阶段:

  • 检测
  • 追踪
  • 分类后处理

1. 检测

  • 像大家一样使用了一些流行的模型。我们使用了 CascadeRCNN ResNeSt200、YoloV5、YoloX 和 YoloR。
  • 模型集成方式:WBF (加权框融合)

2. 追踪:

  • 我们没有投入足够的时间去寻找比公开 Notebook 中更好的追踪方案。因此,我们直接使用了 Norfair,没有做任何重大修改。
  • 应用 Norfair 后,可以肯定的是,虽然召回率提高了,但预测结果中包含了许多误检。这正是第3阶段旨在解决的问题。

3. 分类:

  • 这在我们的流程中非常重要,因为我们没有特别强的检测器和追踪方法。
  • 流程:检测器预测边界框 -> 裁剪 -> 分类 -> 融合
  • 我们使用了5折交叉验证。在每一折中,4个检测器分别对训练集和验证集进行预测。我们重点关注难处理的假阳性(检测分数高但错误)和难处理的假阴性(检测分数低但正确)。所有检测器在训练集上的预测结果被拼接起来,并通过 NMS 减少重叠,然后用于训练分类模型。同样的方法也被用于生成分类模型的验证集。
  • 我们还从互联网上抓取了一些知识共享许可的 COTS 数据,以增强模型的泛化能力。
  • 模型:EfficientnetB7, Eca Nfnet L0
  • 图像尺寸:128
  • 数据增强:重度增强。仅在训练 EffB7 时使用 Cutmix。
  • 训练 Notebooks:
    Eca nfnet l0 训练代码
    EffB7 训练代码
  • 2种模型 x 5折 = 最终提交使用了10个分类模型
  • 融合方法:使用分类概率分数与检测器的边界框置信度分数的几何平均值。
  • 我们估计,在我们最终 0.706 分的解决方案中,这一步在私有排行榜上提升了约 6%。
同比赛其他方案