返回列表

37th place solution - T0m part [Segment Copy-Paste & Progressive Learning]

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

开始: 2021-11-22 结束: 2022-02-14 环境监测 数据算法赛
第37名解决方案 - T0m部分 [分割复制粘贴 & 渐进式学习]
作者: T0m (Master) | 团队: Sea of Dreams (第37名) | 队友: Ahmet Erdem (Grandmaster)

第37名解决方案 - T0m部分 [分割复制粘贴 & 渐进式学习]

感谢主办方提供了一场有趣的比赛,并祝贺所有获奖者。这是我第一次参加检测类比赛,这是一次很棒的体验。

我想分享我工作中的关键点。

分割复制粘贴增强 (Segment Copy-Paste Augmentation)

我们认为让模型学习检测小海星非常重要。所以我们尝试通过粘贴小海星来增强数据。然而,我们认为简单的复制粘贴会导致图像不自然以及背景过拟合。因此,我们(@aerdem4)首先训练了一个分割模型,创建了分割掩码,然后使用它们应用复制粘贴增强。

分割复制粘贴示意图

照原样的话,风格会有所不同,我们通过移动RGB值以匹配均值来转换风格。

例如:
segment[:, :, 0] = segment[:, :, 0] - (segment[:, :, 0].mean() - background[:, :, 0].mean())

渐进式学习

为了创建一个对噪声和尺寸具有鲁棒性的模型,随着训练轮次的推进,图像尺寸变得更大,增强变得更强(渐进式学习)。

渐进式学习示意图

模型

模型 图像尺寸 描述 Public LB Private LB
yolov5m 3200 CustomCopyPaste & 渐进式学习 Epoch=25 0.629 0.699
yolov5m 3000 Epoch=8 0.662 0.691
yolov5x6 1920 Epoch=12 ??? ???

我使用了TTA(测试时增强)和Tracking(跟踪)。

训练集:video-0, 1
验证集:video-2 (CV: 0.71~0.73)

集成

使用WBF(加权框融合)进行集成。并且,针对每个检测到的边界框大小加权置信度。

例如:
if (bbox from model_1 and bbox_area < 1000):
    conf *= 3
elif (bbox from model_1 and bbox_area < 4000):
    conf *= 0.5
...
然后进行WBF

描述 Public LB Private LB 提交状态
3个模型 0.638 0.711 未选中
3个模型全量数据重训 0.638 0.696 选中

CV: 0.77~0.78

谢谢 :)

</
同比赛其他方案