返回列表

30th place solution. Affine transformation and voting deepsort cluster

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

开始: 2021-08-10 结束: 2021-11-02 运动员表现 数据算法赛
第30名方案:仿射变换与投票式DeepSORT聚类

第30名方案:仿射变换与投票式DeepSORT聚类

作者:David Ibáñez | 排名:第30名

祝贺大家取得优异的成绩,特别是获奖者们。这是一段非常耗费精力但也非常有趣的比赛经历!

大家的解决方案都非常出色且令人印象深刻。我没有什么高深的内容可以补充,但我之所以分享这个方案,是因为我认为它的简洁性值得一谈。它仅仅使用了提供的边界框和标准的DeepSORT。

该方案利用DeepSORT聚类,并通过仿射变换矩阵将坐标从跟踪数据转换到视频图像坐标,从而进行投票分配。

流程管道

  • 对提供的边界框应用DeepSORT。
  • 然后在每一帧上执行:
    • 获取仿射变换矩阵(使用4个真值点进行最小二乘法最小化)。
    • 线性分配。
    • 对聚类进行投票。
    • 当某个聚类获得足够的票数时,分配标签。
    • 对于经过一段时间后获得足够票数分配给另一个标签的聚类,进行拆分处理。

获取仿射变换矩阵

为了在第一帧获取仿射变换矩阵,该方法使用了4组球员-边界框组合作为真值。利用图像中最外侧的边界框(左、上、下、右),并尝试使用每一侧最外侧的6名球员,将其作为真值分配给边界框,然后比较每种组合的分配成本。

  • 获取外侧边界框(左、上、下、右)。
  • 遍历:
    • 尝试外侧球员(跟踪数据)的组合。
    • 对所有球员计算变换。
    • 进行线性分配并获取分配成本。
  • 获取具有最小分配成本的变换矩阵。

在前20帧中,得分在大多数情况下都是100%。在随后的帧中,变换矩阵是使用最孤立的边界框/球员计算的。
(图片:边界框旁边的小方块是跟踪数据的变换结果)

初始分配示意图

随着比赛的进行,该方案主要在以下方面遇到问题:'z'轴(深度)问题、球员倒地时的处理,以及分配包含混合球员的聚类。但它具有恢复能力,能够再次获得高分。(如下图所示,在第302帧恢复了100%的准确率)

比赛中段示意图

得分

排名:第30名
公开榜单:0.814
私有榜单:0.732

同比赛其他方案