通过 PGA TOUR 在云中跟踪球位置 |亚马逊网络服务

通过 PGA TOUR 在云中跟踪球位置 |亚马逊网络服务

源节点: 3057379

美巡赛继续通过实时数据增强高尔夫体验,让球迷更近距离地了解比赛。为了提供更丰富的体验,他们正在开发下一代球位置跟踪系统,该系统可以自动跟踪球在果岭上的位置。

TOUR 目前使用由 CDW 提供支持的 ShotLink,CDW 是一种一流的评分系统,使用具有现场计算功能的复杂摄像头系统,可以密切跟踪每次击球的开始和结束位置。美巡赛希望探索计算机视觉和机器学习 (ML) 技术,以开发下一代基于云的管道来定位果岭上的高尔夫球。

亚马逊生成式人工智能创新中心 (GAIIC) 在最近的 PGA TOUR 赛事的示例数据集中展示了这些技术的有效性。 GAIIC 设计了一个级联一系列深度卷积神经网络的模块化管道,可以成功地将玩家定位在摄像机视野内,确定哪个玩家正在推杆,并在球向杯子移动时对其进行跟踪。

在这篇文章中,我们描述了该管道的开发、原始数据、包含该管道的卷积神经网络的设计以及对其性能的评估。

时间

美巡赛通过位于一个洞果岭周围的三台 3K 摄像机提供了最近一场比赛的 4 天连续视频。下图显示了经过裁剪和缩放的一台摄像机的帧,以便玩家可以轻松看到推杆。请注意,尽管摄像机分辨率很高,但由于距果岭的距离,球显得很小(通常为 3×3、4×4 或 5×5 像素),并且这种尺寸的目标可能难以准确定位。

除了摄像机反馈之外,巡回赛还向 GAIIC 提供了每次击球的带注释的得分数据,包括其静止位置的世界位置和时间戳。这使得果岭上的每次推杆可视化,以及提取球员推杆的所有视频剪辑的能力,这些视频剪辑可以被手动标记并用于训练构成管道的检测模型。下图显示了三个摄像机视图以及近似推杆路径叠加(从左上角逆时针方向)。该图钉每天都会移动,其中第 1 天对应蓝色,第 2 天对应红色,第 3 天对应橙色。

管道概览

整个系统由训练管道和推理管道组成。下图说明了训练管道的架构。起点是从流媒体模块(如 亚马逊Kinesis 用于实时视频或直接放置到 亚马逊简单存储服务 (Amazon S3)用于历史视频。训练管道需要视频预处理和手动标记图像 亚马逊SageMaker地面真相。模型可以通过以下方式进行训练 亚马逊SageMaker 以及他们的工件存储在 Amazon S3 中。

推理管道如下图所示,由多个模块组成,这些模块依次从原始视频中提取信息并最终预测静止球的世界坐标。最初,从每个摄像机的较大视野中裁剪果岭,以减少模型必须搜索球员和球的像素区域。接下来,使用深度卷积神经网络(CNN)来查找视野中人物的位置。另一个 CNN 用于预测发现了哪种类型的人,以便确定是否有人要推杆。在视场中定位可能的推杆后,使用相同的网络来预测推杆附近球的位置。第三个 CNN 在球运动过程中跟踪球,最后应用从相机像素位置到 GPS 坐标的转换函数。

玩家检测

尽管可以以设定的间隔在整个 4K 帧上运行 CNN 进行球检测,但考虑到这些摄像机距离下球的角度大小,任何小的白色物体都会触发检测,从而导致许多误报。为了避免在整个图像帧中搜索球,可以利用球员姿势和球位置之间的相关性。即将投入的球必须位于球员旁边,因此在视野中找到球员将极大地限制探测器必须搜索球的像素区域。

我们能够使用预先训练的 CNN 来预测场景中所有人周围的边界框,如下图所示。不幸的是,果岭上经常有多个球,因此除了简单地找到所有人并搜索球之外,还需要进一步的逻辑。这需要另一个 CNN 来找到当前正在推杆的玩家。

球员分类和球检测

为了进一步缩小球可能的位置,我们对预先训练的对象检测 CNN (YOLO v7) 进行了微调,以对果岭上的所有人员进行分类。此过程的一个重要组成部分是使用 SageMaker Ground Truth 手动标记一组图像。这些标签使 CNN 能够对推杆选手进行高精度分类。在标记过程中,球也随着球员推杆一起被勾画出来,因此这个 CNN 也能够执行球检测,在推杆之前在球周围绘制一个初始边界框,并将位置信息输入下游的球跟踪 CNN 。

我们使用四种不同的标签来注释图像中的对象:

  • 球员推杆 – 持有球杆并处于推杆位置的球员
  • 球员不推杆 – 球员不在推杆位置(也可能持有球杆)
  • 别人 – 任何其他非玩家的人
  • 高尔夫球 – 高尔夫球

下图显示了使用 SageMaker Ground Truth 中的标签对 CNN 进行微调,以对视野中的每个人进行分类。这是很困难的,因为球员、球童和球迷的视觉形象多种多样。当一名球员被归类为推杆后,针对球检测进行微调的 CNN 被应用于该球员周围的小区域。

球轨迹跟踪

第三个 CNN 是一种针对运动跟踪进行预训练的 ResNet 架构,用于在球被推击后进行跟踪。运动跟踪是一个经过彻底研究的问题,因此该网络在集成到管道中时表现良好,无需进一步微调。

管道输出

级联的 CNN 在人周围放置边界框,对果岭上的人进行分类,检测球的初始位置,并在球开始移动时对其进行跟踪。下图显示了管道的标记视频输出。跟踪并记录球移动时的像素位置。请注意,果岭上的人正在被边界框跟踪和勾勒出轮廓;底部的推杆被正确标记为“球员推杆”,并且正在跟踪移动的球并由一个小的蓝色边界框勾勒出轮廓。

性能

为了评估管道组件的性能,需要有标记数据。尽管我们提供了球的地面实况世界位置,但我们没有地面实况的中间点,例如球的最终像素位置或玩家推杆的像素位置。通过我们执行的标记工作,我们为管道的这些中间输出开发了地面实况数据,使我们能够衡量性能。

球员分类和球检测准确性

为了检测球员推杆和初始球位置,我们标记了一个数据集并微调了 YOLO v7 CNN 模型,如前所述。该模型将前一个人检测模块的输出分为四类:推杆球员、未推杆球员、其他人和高尔夫球,如下图所示。

该模块的性能通过混淆矩阵进行评估,如下图所示。对角框中的值显示预测类别与真实标签中的实际类别相匹配的频率。该模型对于每个人类别的召回率为 89% 或更高,对于高尔夫球的召回率为 79%(这是预期的,因为该模型是在人的示例上进行预训练的,而不是在高尔夫球的示例上进行的;这可以通过以下方式改进训练集中有更多标记的高尔夫球)。

下一步是触发球跟踪器。由于球检测输出是置信概率,因此还可以设置“检测到的球”的阈值并观察结果如何变化,如下图所示。这种方法需要权衡,因为较高的阈值必然会减少误报,但也会错过一些不太确定的球示例。我们测试了 20% 和 50% 置信度的阈值,发现球检测率分别为 78% 和 61%。以此衡量,20% 的阈值较好。这种权衡很明显,对于 20% 置信度阈值,总检测中 80% 实际上是球(20% 误报),而对于 50% 置信度阈值,90% 是球(10% 误报)。对于误报较少的情况,50% 的置信阈值更好。对于更大的训练集,可以使用更多标记数据来改进这两种措施。

检测管道吞吐量约为每秒 10 帧,因此在当前形式下,单个实例的速度不够快,无法以每秒 50 帧的速度在输入上连续运行。要在球步后实现 7 秒的输出标记,需要进一步优化延迟,例如可以通过并行运行多个版本的管道并通过量化压缩 CNN 模型来实现。

球轨迹跟踪精度

MMTracking 的预训练 CNN 模型运行良好,但也有一些有趣的失败案例。下图显示了跟踪器从球开始,扩展其边界框以包括推杆头和球,然后不幸地跟踪推杆头并忘记球的情况。在这种情况下,推杆头呈现白色(可能是由于镜面反射),因此这种混乱是可以理解的;用于跟踪的标记数据和跟踪 CNN 的微调可能有助于将来改进这一点。

结论

在这篇文章中,我们讨论了模块化管道的开发,该管道将玩家定位在摄像机视野内,确定哪个玩家正在推球,并在球向杯子移动时对其进行跟踪。

有关 AWS 与 PGA TOUR 合作的更多信息,请参阅 PGA TOUR 与 AWS 合作重新构想球迷体验.


作者简介

詹姆斯金 是 Amazon Bedrock 的应用科学家,拥有机器学习和神经科学背景。

亨利·王 是 Amazon 生成式 AI 创新中心的应用科学家,他在那里为 AWS 客户研究和构建生成式 AI 解决方案。他专注于体育和媒体娱乐行业,过去曾与多个体育联盟、球队和广播公司合作。业余时间,他喜欢打网球和高尔夫球。

特里亚巴克·甘戈帕德耶 是 AWS 生成式 AI 创新中心的应用科学家,他与不同行业的组织合作。他的职责包括开展研究和开发生成式人工智能解决方案,以应对关键的业务挑战并加速人工智能的采用。

时间戳记:

更多来自 AWS机器学习