返回列表

25th place solution (Trained DeepSort + Hyperparameter Sweep + Gmmreg + Hungarian Algorithm)

461. NFL Health & Safety - Helmet Assignment | nfl-health-and-safety-helmet-assignment

开始: 2021-08-10 结束: 2021-11-02 运动员表现 数据算法赛
第25名方案

第25名方案

首先,我要感谢主办方举办这场精彩的比赛,它真的非常有趣且充满挑战!

我们的解决方案遵循以下4步流程:

  1. 使用 YoloV5 进行头盔检测
  2. 使用 WBF 进行边界框融合
  3. 使用 DeepSort 进行头盔跟踪
  4. 标签分配(即:将跟踪数据映射到视频数据)

1) 头盔检测

我们以全图像分辨率训练了5个 yolov5x6 模型,采用5折交叉验证(5-fold CV),共训练10个epoch(每个epoch约1小时)。你可以在这里找到完整的 Notebook。

2) 边界框融合

然后我们使用 WBF 对边界框进行了融合。

3) 跟踪

我们使用比赛数据训练了 DeepSort(这稍微提升了 LB 分数)。训练方法很简单,就是使用裁剪后的框训练一个分类模型(包含1k+个类别)。你可以在这里找到训练用的 Notebook。

我们还使用 WandB Sweeps 进行了超参数调优,你可以在这里找到优化用的 Notebook。

WandB Sweeps

4) 标签分配

到目前为止,最具挑战性的部分是进行标签分配。你可以在下图中看到我们的算法。

标签分配算法

该算法中最重要的部分是标签平均(利用跟踪信息)和线性分配算法。配准是使用 gmmreg 完成的。

你可以在这里查看完整代码。

我们使用强大的 WandB sweep 工具调整了一些超参数,可以在这里找到该 Notebook。

WandB Sweep 结果

对我们无效的尝试:

  1. PointNet:无法让网络学到任何有用的东西(Notebook1Notebook2)。
  2. ProbReg 配准算法:它虽然有效,但 gmmreg 效果要好得多。
  3. 基于图像的分类:类别太多且遮挡太严重(网络可以在训练集上学习,但泛化能力不佳)。
同比赛其他方案