使用 亚马逊云科技 机器学习跟踪体育广播视频中的球轨迹

作者:Wei Teh 和 Mecit Gungor | 2023 年 7 月

在过去的几年中,职业体育应用了机器学习 (ML),彻底改变了游戏分析、加速创新和改善球迷体验。例如, NFL Next Gen St ats 使用机器学习和数据分析来实时提高准确性、速度和洞察力,从而增强观看体验。 NHL Face-off Probilitience 使用 ML 驱动的数据,根据冰上球员、对决的地点和当前的比赛情况,预测哪支球队将赢得即将到来的对决。

在球类运动方面,球轨迹分析是评估球员表现和增强比赛策略分析的最有用技术之一。但是,识别球的位置具有挑战性,尤其是在网球、羽毛球和棒球等运动中,那些涉及小球高速运动的位置,在这些运动中,球的图像相对较小、模糊,有时会有残像痕迹甚至不可见。应用于计算机视觉的深度学习在跟踪体育广播视频中的微小物体方面显示出可喜的结果。受名为 TrackNet 的深度学习架构启发的解决方案在广播羽毛球比赛中 实现了对羽毛球位置的高精度预测。

在这篇博客文章中,我们描述了一种基于深度学习的端到端解决方案,该解决方案无需使用昂贵的摄像设备即可对广播体育视频进行球类跟踪。我们专注于使用亚马逊网络服务 (亚马逊云科技) 的托管服务来开发解决方案。该解决方案包括机器学习工作流程,首先是将标签应用于广播视频,然后对带注释的标签执行数据转换,向模型训练提供数据,然后将模型部署到允许应用程序根据提供的输入创建球轨迹视频的端点。

我们提供了一个 Github 存储库 来演示解决方案,因此您可以在自己的 亚马逊云科技 账户中试用,也可以将其用于自己的用例。

架构

Figure 1:End to-End Architecture Diagram

图 1:端到端架构图

该解决方案架构描绘了球轨迹跟踪 ML 工作流程中涉及的关键组件,这些组件按前面显示的特定顺序编排。这些步骤可以分为以下几步:

  1. 用户将体育广播视频文件上传到 Amazon S3 存储桶
  2. 为视频帧执行标签任务
  3. 执行数据转换以处理带注释的视频帧
  4. 使用上一步的功能来训练深度学习模型
  5. 将经过训练的模型部署到实时 HTTPS 端点
  6. 通过部署的端点制作球轨迹视频

为视频帧添加标签

TrackNet 是一种在计算机视觉中使用深度学习的监督式机器学习模型。该模型要求将球在 2D 平面中的位置作为标签,以便准确地学习球的轨迹。为了获得高质量的训练数据集,在帧级别上应用标签。根据视频的时长和帧速率,可能会有大量数据需要标记。为了简化贴标流程,我们创建了一个 Amazon SageMaker Ground Tr uth 视频贴标作业,允许私人工作人员在视频中注释球的位置。如果您有其他标签要求, Amazon SageMaker Ground Truth Plus 将提供一支接受过机器学习任务培训的专家队伍,可以帮助您满足数据安全、隐私和合规要求。以下是 SageMaker Ground Truth 视频标签作业提供的用户界面的屏幕截图。

Figure 2: SageMaker Ground Truth Labeling Portal

图 2:SageMaker 基本真相标签门户

功能工程

如本 研究论文 所述 ,TrackNet旨在通过学习轨迹模式来对连续的视频帧进行训练,从而实现更好的物体检测精度。输入帧数是一个网络参数,可以根据视频中球的速度进行调整。用于训练的 Ground Truth 标签是位于球位置中心的放大的 2D 热图。我们使用 Amazon SageMaker Processing 作业通过组合连续帧作为输入来处理 Amazon S3 中 SageMaker Ground Truth 标记的数据集,并在特征工程步骤中生成相应的二维高斯热图作为基本真相标签。下图更详细地描述了特征工程工作流程。

Figure 3: Processing Job Flow

图 3:处理任务流程

SageMaker 处理任务完成后,要素和标签数据集都将上传到给定的 Amazon S3 可供培训的地点。

模型训练

在较高的层面上,TrackNet 结合了 2 个深度神经网络,形成了模型架构。设计的目标是让第一个网络 (VGG-16) 从连续的输入帧中学习压缩要素,然后将其馈送到第二个网络 (DeconvNet) 进行向上采样以重建最终图像。下图更详细地说明了网络架构。鉴于该模型是在 Tensorflow 2 中实现的,我们可以使用 SageMaker 训练作业训练 TrackNet 模型,而无需构建任何自定义容器。本 文档 提供有关 SageMaker 支持的预建深度学习 docker 镜像(包括 PyTorch、Hugging Face 等)的指导。为了训练模型,我们只需通过 SageMaker SDK 将训练脚本作为作业参数之一传递即可。SageMaker 负责在训练环境中执行训练脚本。

Figure 4: TrackNet Architecture

图 4:TrackNet 架构

部署球追踪模型

在 Amazon SageMaker 训练任务完成后,经过训练的模型工件将存储在指定的 Amazon S3 位置。此时,有几种方法可以将您的应用程序与经过训练的模型集成。首先,您可以托管一个 HTTPS 端点,该端点提供根据输入帧识别球位置的推论。另一种方法是从本地的 Amazon S3 位置下载模型工件,然后构建一个应用程序,将指定的深度学习库与相关的依赖项耦合在一起,以便在离线环境中处理输入帧。第一种模式是首选选项,因为它可以将应用程序代码与机器学习模型的生命周期分离,并允许推理请求独立扩展。SageMaker 推理支持各种用例场景,包括低延迟(几毫秒)和高吞吐量(每秒数十万个请求)以及长时间运行的推理。对于我们的用例,我们部署了一个支持 GPU 的实时 SageMaker 端点,允许应用程序创建球轨迹视频。通常,深度学习应用程序可以受益于支持多次同步计算的 GPU。我们观察到,使用 GPU 端点执行相同任务时,延迟比 CPU 低 5 倍。

把所有东西放在一起

有了实时推理端点,我们可以利用 TrackNet 模型开始跟踪给定视频的球轨迹。 Github 存储库 中提供了一个工作示例 ,用于说明端点与输入视频的集成。但是在运行任何东西之前,让我们回顾一下模型端点所涉及的组成部分,以及它如何解释预测以创建准确的球位置。如上一节所述,TrackNet 从视频帧中获取 3 张连续的图像作为输入,以预测图像的像素表示。同样,应用程序将连续的视频帧合并到输入中以调用端点。未达到概率阈值 (0.5) 的预测图像将排除在进一步处理之外。对于检测到球的图像,会在球的中心周围创建一个圆圈,然后叠加到原始视频帧上以标记球的位置。重复此过程,直到对视频中的所有帧进行分析,并在应用程序的最后一步中创建新的视频文件。以下是应用程序为单个羽毛球比赛视频制作的示例视频。

Gif image of ball tracking

结论

体育行业正在使用机器学习来预测比赛结果、制定游戏策略并获得竞争优势。在这篇博客文章中,我们展示了一个端到端的机器学习工作流程,该工作流程使用 Amazon SageMaker 功能在球类运动中提供球轨迹跟踪。该解决方案使用深度学习模型在广播体育视频中实现高精度的球跟踪,无需使用昂贵的摄像设备。我们从使用亚马逊 SageMaker Ground Truth 标签作业的视频标签工作流程开始,然后使用 SageMaker 处理作业进行特征工程。为了构建深度学习模型,我们描述了如何启动 SageMaker 训练作业来大规模训练模型。最后,我们描述了一款与推理端点集成的应用程序,可通过 Amazon SageMaker Inference 托管服务生成球类追踪视频。