返回列表

[10th place solution] Extended Centernet

412. NFL 1st and Future - Impact Detection | nfl-impact-detection

开始: 2020-11-16 结束: 2021-01-04 运动员表现 数据算法赛
[第10名方案] 扩展版 Centernet

[第10名方案] 扩展版 Centernet

作者:nvnn (Grandmaster) | 比赛排名:第10名

感谢 NFL 和 Kaggle 主办了这场有趣的比赛。祝贺所有人,特别是获奖者和金牌得主。

以下是我的方法。

1. 检测模型

我的检测模型源自 Centernet(MIT 许可证),并进行了一些修改。

  • 我将基于图像的特征提取替换为基于视频的特征提取。获取视频特征对于检测撞击非常有用。
  • 我在特征提取块的顶部堆叠了多个 Centernet 的检测头。每个检测头负责预测每一帧中的头盔。
  • 我独立计算两个类别(有撞击的头盔和无撞击的头盔)之间的损失,然后使用这两个损失的加权和。
  • 我为视频编写了自己的数据增强方法。
    网络结构图
  • 输入:我使用由 15 个连续帧组成的序列。我还使用了一种定制的采样方法,更多地关注有撞击的帧。我认为使用更长的序列可以进一步改善结果,但我的 GPU 不允许我这样做。
  • 视频特征提取:我使用 EfficientB5(需要修改输入通道数)。我测试了 EfficientB3、EfficientB5 和 EfficientB6。我没有足够的时间和 GPU 来进一步探索。
  • 检测头:这个检测头我只使用了 Centernet,因为我更熟悉它。

2. 后处理

  • IOU-Tracker:我简单地使用 IOU-Tracker(MIT 许可证)来链接附近帧中检测到的撞击。对于每个跟踪的轨迹,我只保留中间的框并忽略其余的。
  • 动态置信度阈值:由于撞击最有可能发生在第 30 帧到第 80 帧之间,我在此范围内使用较低的阈值。随着视频接近尾声,撞击次数减少,因此我慢慢提高视频结束时的置信度阈值。下面是我在整个视频中使用的阈值曲线:
    阈值曲线图
同比赛其他方案