476. TensorFlow - Help Protect the Great Barrier Reef | tensorflow-great-barrier-reef
感谢主办方提供了一场有趣的比赛,并祝贺所有获奖者。这是我第一次参加检测类比赛,这是一次很棒的体验。
我想分享我工作中的关键点。
我们认为让模型学习检测小海星非常重要。所以我们尝试通过粘贴小海星来增强数据。然而,我们认为简单的复制粘贴会导致图像不自然以及背景过拟合。因此,我们(@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
谢谢 :)
</