522. DFL - Bundesliga Data Shootout | dfl-bundesliga-data-shootout
感谢组织者提供这个有趣的挑战,祝贺所有参与并享受其中的人!由于这个比赛可以通过多种方式来解决,我很期待看到大家的解决方案。
我的流程包括:
一旦我发现注意力机制或裁剪球附近的区域对提高动作分类器的准确性有效,我就专注于改进检测器和分类器的性能。
在以下情况下很难检测到球:
所以我的想法是利用多帧来检测通常正在移动的比赛用球,这是通过光流实现的。
起初,我实现了高分辨率图像的光流,因为球非常小,但这很慢,不适合这个比赛。所以我采用了低分辨率光流来仅预测全局(相机)运动。光流本身无法分辨哪一个是比赛用球,但扭曲图像与原始图像之间的差异非常有信息量。

我使用RAFT来预测光流。它是通过自监督方式在提供的视频上进行训练的。

为了制作球检测器,我重复了几次训练和标注。
(标注 -> 训练检测器 -> 预测 -> 标注 -> 训练检测器 -> 预测 -> …)
我选择了CenterNet,因为我不喜欢标注。标注点比标注矩形容易得多。
由于目标(球)非常小,模型的输入是高分辨率图像。
为了同时实现推理速度和准确性,我使用了编码器的初始部分。

检测器的输入由9个通道组成:
后两者极大地提高了检测器的准确性,特别是在拥挤的场景中。

利用多帧信息可以更准确地估计球的位置。我在选择球路径上应用了代价最小化。
如果我们知道球的轨迹,我们可以估计它接下来会去哪里。在下面的例子中,即使球很难看清,人们也可以正确选择下一个点。