537. 1st and Future - Player Contact Detection | nfl-player-contact-detection
我要感谢组织者提供了一个非常有趣的挑战(特别是 @robikscube 提供了非常有用的回答并帮助各团队)。参赛过程非常有趣。
该方法采用单阶段方式,端到端训练。每个玩家和步骤区间执行一个单独的模型(而不是针对配对或玩家),预测所有输入步骤范围内的当前玩家的地面接触以及与7个最近玩家的接触。该模型包含一个视频编码器部分用于处理输入视频帧,以及一个Transformer解码器用于结合跟踪特征和视频激活。

视频编码器使用请求步骤周围的一定数量的输入视频帧,并在下采样分辨率下生成相应步骤的激活。通常针对16个步骤,使用每秒帧作为输入,对应96帧。
我使用了几种不同的视频编码器模型:
视频帧被裁剪为224x224分辨率,当前玩家的头盔位于帧的中心/顶部,并进行缩放,使周围帧中头盔的平均大小缩放为34像素。我应用了增强方法,随机移动、缩放、旋转图像,移动HSV,添加模糊和噪声。
对于视频模型激活(在32倍下采样的7x7分辨率处),我添加了位置编码和可学习的单独边线/端区标记。视频激活也可以选择使用类似于DETR的方式通过每帧Transformer进行编码,但我发现这对结果影响很小或没有影响。
其思想是利用注意力机制将玩家特征与其他周围玩家信息结合,并查询图像的相关部分。
对于特定玩家和步骤,我选择了周围-7..+8步的当前玩家特征,并且对于每一步,我选择了2.4码内最多7个最近的玩家,因此总共是16步 * (7+1)个玩家输入。
对于每个玩家/步骤输入,我使用了以下特征,通过特征线性变换相加以匹配Transformer特征维度:
玩家/步骤特征被用作几轮Transformer层的输入/目标: