评估运动员在比赛中的表现对于实现有效的体育教练至关重要。然而,对球拍类运动中运动员的定量评估是困难的,因为这需要从复杂的战术和技术表现的综合中得出。作者提出了一种基于深度强化学习的球拍类运动评估的新方法,它可以更详细地分析球员的动作,而不仅仅是考虑得分情况。该方法使用历史数据来学习下一个球运动员得分的概率,并把它作为 Q 函数用于评估球员的表现。我们利用 LSTM 模型来学习 Q 函数,其中球员的姿势和球的位置作为输入,分别由 AlphaPose 和 TrackNet 算法识别。作者通过比较各种基线来验证他们的方法,并通过分析顶级羽毛球运动员在世界级赛事中的表现的用例证明了该方法的有效性。
方法
如图所示,是对论文中提出的方法的概述。使用 AlphaPose 和 TrackNet 对球员的姿势估计和羽毛球位置检测,然后是用于估计 Q 函数的 Deep Reinforcement Learning 模型。给定一个 Q 函数后,action的value就被定义为动作引起的 Q 值的变化。
羽毛球是一项竞技运动,比赛采用三局两胜制,每局21分。一颗球从发球开始,在某方得分时结束。为了描述一场羽毛球比赛,我们将一颗球作为分析的基本单元。每一颗球包含一系列的击球动作,其过程可以描述为不同状态之间的相互转换。
通过使用羽毛球比赛的视频数据,我们首先将一场比赛中的每局切分成基本单元。对于每颗球,作者使用 AlphaPose 估计了鼻子、眼睛、耳朵、肩膀、肘部、手腕、臀部、膝盖和脚踝关节位置的坐标,并使用 TrackNet 检测羽毛球位置。AlphaPose 是一种流行的高精度多人身体姿势估计系统,TrackNet 是一种对象跟踪网络,已被证明在高速球类游戏中表现出不错的跟踪能力。
关于处理数据时的特殊情况,主要有两个:一个是通过 COCO 注释器对由于重叠而未正确估计的关节位置进行标注,COCO是一个监督学习的数据集。另一个,假设两个脚踝的中点表示玩家的位置,姿势表示为相对于玩家位置的一系列坐标,对于左手持拍的运动员,作者颠倒了相应的相对坐标。
将动作的坐标和球的坐标组合为 DRL 模型的输入特征向量,应用 DRL 方法估计 Q 值,最后从 Q 值中获得动作值,用于评估运动员的表现。根据运动员相对于摄像机的位置,我们将比赛中的两名运动员分为前和后。离镜头更近的是前面;相反,离相机更远的是后面的。
建模
奖励 R
表示赢下了当前这颗球的一方。动作 a_t
被划分成9种情况,如图所示,(1) 表示发球,(2) 表示劈吊球,(3) 表示杀球,(4) 表示高远球,(5) 表示挑球,(6) 表示平抽,(7) 表示挡网,(8) 表示封网,(9) 表示放网。状态 s
表示为每次击球瞬间的特征向量,包括球的位置,球员的位置等。
Q函数 Q(s,a)
表示运动员赢下当前这一分的条件概率
Q_{front/back}(s,a) = P(point=1|s_t=s,a_t=a).
事实上,Q函数计算了给定状态下选择一个动作的期望奖励。
学习Q函数
如图所示,展示了论文中使用的DRL的框架。使用的网络模型是两层的LSTM,网络模型的输入是在每个关键帧(击球帧)状态和动作的序列。一个完整的序列对应一分球,或者说一颗球从发球到得分的整个过程。LSTM的输出有三个值,Q_{Back}(s,a)
,Q_{Front}(s,a)
和 Q_{Rally_end}(s,a)
,分别表示两个运动员各自赢下这一分的条件概率以及这一分球在下一个时刻结束的概率。
这里学习出来的Q函数是动作值函数的近似,并且使用on-policy算法来估计Q值
Q(s_t,a_t) \gets Q(s_t,a_t) + \alpha[R+\gamma Q(s_{t+1},a_{t+1})-Q(s_t,a_t)].
当然,这是tabular方法,相同的思想迁移到网络上,只需要定义如下的损失函数即可
\mathcal{L} = \frac{1}{n}\sum_{t=1}^{n}\left(R+\gamma Q(s_{t+1},a_{t+1})-Q(s_t,a_t)\right)^2.
实验
实验所需数据非常简单,只需要一些比赛视频即可。作者从世界羽联官网上下载了从半决赛到决赛的男单视频进行分析。
关于实验的设计和分析,是比较粗糙的。首先,作者尝试使用不同的网络模型和不同的输入特征来判断是否能够获得更优的损失函数最小化效果。然后,作者汇总了每个运动员在每种不同类别的动作下的平均值函数,从而区分出同一场比赛中发挥较好的一方。最后,作者将模型的输出与真实的比赛结果以及世界排名做了对比,发现论文提出的模型具有较高的代表性。
总结
这篇论文汇总了羽毛球运动建模所需的各种技术手段,对后续的工作起到了很好的铺垫作用。