476. TensorFlow - Help Protect the Great Barrier Reef | tensorflow-great-barrier-reef
我们要衷心感谢 Tensorflow 组织方举办了这场精彩的比赛。请允许我向我的队友们致以最诚挚的问候,感谢他们的辛勤付出。
这是我们团队第一次参加检测类比赛,能够获得最终第7名的成绩,我们深感荣幸。
整体解决方案基于高度定制的 Cascade RCNN,并以 Tracking(目标跟踪)作为后处理方法。此外,好运气和整体设计的鲁棒性在本次比赛中发挥了至关重要的作用。
我们方法的主要思想基于更强大的基线 Cascade RCNN 模型设计(包含大量定制功能)、精心设计的数据增强策略以及目标跟踪后处理过程。我们的方法是单模型方案,不依赖任何集成策略。
在比赛开始时,我们根据视频 ID 随机划分训练集来分割数据集。
我们使用训练集-验证集的划分来选择合适的模型。在选择了合适的模型设计后,我们切换到完整的训练集并在 Public LB(公开排行榜)上进行比较。
团队设计了一个定制的 Cascade RCNN 基线。主要的模型改进列出如下:
受 @parapapapam (https://www.kaggle.com/parapapapam/yolox-inference-tracking-on-cots-lb-0-539) 的启发,我们采用 Norfair 跟踪作为后处理,并获得了性能提升。感谢您的慷慨分享。
由于我们的方法基于上述方法论,该方法在 Public LB 上出现了显著的性能下降。当 Public LB 的排名掉到第 1000 名时,团队陷入了深深的绝望。值得庆幸的是,该方法在 Private LB(私有排行榜)上展示了其鲁棒性。
我们从比赛中学到了很多,如果我们有更多的时间来探索模型集成策略,我们的方法可以获得额外的性能提升。
感谢所有尊重这场比赛的人。我们的 Cascade RCNN 实现是基于 [1] 构建的。由于 Kaggle notebook 对 MMDetection 代码库不太友好(所有自定义代码都变成了私有数据集……)以及一些私有代码问题(公司限制),我们将清理代码库,构建一个公开的 notebook 并在未来分享详细的配置。
[1] https://github.com/shinya7y/UniverseNet