返回列表

16th Simple Solution - Only Yolov5

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

开始: 2021-11-22 结束: 2022-02-14 环境监测 数据算法赛
第16名 简单解决方案 - 仅使用Yolov5

第16名 简单解决方案 - 仅使用Yolov5

作者: kaggler (Master) | 比赛排名: 第16名

我要感谢主办方举办了这场精彩的比赛。
同时,我也非常荣幸能与 @vaillant@hwigeon 成为队友。
我真的从队友那里学到了很多东西。我认为这将是一次难忘的美好经历。

总结

我们利用大尺寸推理技巧和简单的IOU跟踪器,很快就达到了LB 709的分数。
但与此同时,我们开始怀疑公共LB(Public LB),因为我们无法清晰地复现结果。我们发现增加图像尺寸虽然提高了召回率,但也产生了不必要的边界框。
因此,我们开始通过检查CV F2分数来构建稳健的模型。
在CV中,只有使用原始训练尺寸进行推理才有效。
我们尝试了基于尺寸阈值的预测、IOU跟踪器(可能是我弄错了),但在本地环境中,比原始训练尺寸更大的尺寸并没有起作用。

模型

我们发现并不一定需要大型模型。
我们还发现多尺度集成可以同时提升CV和公共LB分数。
与其花时间寻找复杂的模型,我们准备了在不同尺寸下训练的 yolov5m 和 yolov5s:
yolov5m 的训练尺寸为 [2400, 2560, 2688, 2880, 3000]
yolov5s 的训练尺寸为 [3000, 3600, 3720, 3840, 3960, 4032, 4080, 4244]

训练方法

我们稍微修改了YOLO的超参数。
应用 mixup 0.5、mosaic 1.0 以及强烈的HSV变化帮助很大。
选择了10个epoch的训练和Adam优化器。
模型的选择是基于召回率与精确度 4:1 的权重进行的。

验证

我们选择了视频分割折叠,因为这更符合实际情况。
视频分割的集成CV分数分别为 [0.71, 0.64, 0.77]。
之后,我们使用网格搜索方法寻找优化的WBF系数和置信度分数。

对于视频折叠 0-1,WBF系数 0.5,跳过bbox阈值 0.01,置信度分数 0.1 效果最好。
对于视频折叠 2,WBF系数 0.5,跳过bbox阈值 0.1,置信度分数 0.2 效果最好。

利用这些数值,我们使用所有数据训练了模型,并将公共LB视为留出集。
每个模型的公共LB分数范围在 [0.55~0.60] 之间。

最终结果是私人LB 0.713,公共LB 0.648。
我们错过了金牌,但由于这是一次排名波动较大的比赛,我们无法选择出最好的私人LB分数。

感谢您的阅读!

同比赛其他方案