476. TensorFlow - Help Protect the Great Barrier Reef | tensorflow-great-barrier-reef
首先,我要感谢主办方组织了如此激动人心的比赛。我很高兴能在这场激烈的竞争中坚持下来!
因为我只使用了 Kaggle Kernel 的 GPU,所以我希望减少显存使用和训练时间。因此,我将训练图像放大了两倍(2560x1440),并将它们分割成四张 1280x720 的图像。之后,我丢弃了不包含边界框的分割图像。这意味着训练尺寸为 1280。在推理阶段,使用了 2560 的尺寸。通过这样做,我认为其结果与使用 2560 尺寸进行训练的结果几乎相同,但减少了显存使用。
我复用了我在 NFL 比赛 中编写的基于光流的追踪代码。利用光流,可以根据前一帧的检测结果估计下一帧的边界框。因此,即使检测模型丢失了目标,它也可以继续追踪。根据截止该帧为止的追踪计数,我改变了在丢失检测条件下继续追踪的帧数,其最大值为 5 帧。
在我的交叉验证(CV)中,我注意到将训练尺寸和推理尺寸从原始 1280x720 尺寸同等放大,对 CV 分数和 LB 分数都有贡献。然而,在训练和推理之间使用不同的尺寸(例如训练 2560 和推理 3840)仅对 LB 分数有贡献,却导致 CV 分数下降。所以我怀疑存在过拟合的可能性,并选择了以下四次提交。
为了获得 TensorFlow 奖项,我训练了 EfficientDet-D2 模型,但它的 Private LB 分数是 0.543...
分数如下。
| 提交 | Private LB (含追踪) | Private LB (不含追踪) | Public LB (含追踪) | Public LB (不含追踪) |
|---|---|---|---|---|
| 1 | 0.712 | 0.697 | 0.718 | 0.703 |
| 2 | 0.708 | 0.700 | 0.621 |