EA出品2020版「灌篮高手」:运球、抢断生成敏捷流畅,帮你找回童年梦想

2020-06-17 20:47:47 浏览数 (1)

机器之心报道

机器之心编辑部

未来的 NBA Live 要用上机器学习指导人物动作了吗?

上世纪 90 年代,《灌篮高手》风靡亚洲,承载了无数 80、90 后的童年回忆和梦想。二十多年过去了,《灌篮高手》早已完结,但关于篮球的动画技术却一直在进步。在今年的 SIGGRAPH 计算机图形学顶会中,一篇论文向我们展示了 2020 年的「灌篮高手」是什么样子。

这篇论文的作者来自英国爱丁堡大学和全球著名互动娱乐软件公司艺电(Electronic Arts)。利用他们在论文中给出的方法,我们可以得到更加复杂、流畅且多样的篮球动作。比如抢断:

运球:

躲避障碍:

急转弯:

怎么样,是不是比你还灵活?

虽然只是放出来个 demo,但其中展现的动作真实度已经折服了一票运动发烧友:

甚至已经有网友表示要投资了:

研究者表示,这项技术可以用到电脑游戏或 VR 中,让人们体验更加逼真的篮球游戏。

当然,这么好的效果并不是短期内做出来的,而是作者数年工作的积累。此外,论文一作 Sebastian Starke 还表示,这个项目也是他博士论文的一部分。

  • 项目地址:https://github.com/sebastianstarke/AI4Animation
  • 论文链接:https://github.com/sebastianstarke/AI4Animation/blob/master/Media/SIGGRAPH_2020/Paper.pdf

以下是论文的详细内容。

引言

模拟角色对象与目标物体、环境以及其他角色之间多次接触的快速而复杂的交互有着巨大的需求。例如,玩篮球时,球员们需要运球等各种动作来和对手比赛。

之前从非结构化动作捕获库学到的技术在动作的可扩展性、真实性以及多样性上存在限制。首先,大多数技术都需要用像相位(phase)这样的全局时间参数来对齐动作,但在动作涉及多次异步接触时,要做到这点就非常困难。其次,即使动作是通过控制器学习的,用户通过键盘或游戏手柄提供的低维控制信号再现各种动作也会存在问题。

本篇论文的研究者提出了一种新型数据驱动的框架,来学习含有多次接触的迅速、动态的交互。研究者用一个大型的一对一篮球的数据库作为主要的样例,即只有一个球员做接球、运球、使用技巧躲避对方队员拦截球等动作。研究者设计和训练了一个神经角色控制器,它可以在一个统一的框架下学习并生成逼真的进攻和防守动作,使得球员们可以轻松地由进攻转为防守。

为了让模型学习包含快速而复杂的交互的运动(球员肢体和球或地面之间的接触以异步的方式迅速转换),研究者提出了一种叫做局部运动相位(local motion phase)的特征。

局部运动相位是指每个身体部位是如何与外部物体接触的。该特征可以通过一种进化策略自动地从非结构化运动捕获数据中计算得到。

使用局部运动相位,网络能够学习人的局部肢体部位的运动,而无需用全局相位来对齐整个身体的运动。在篮球运动中,如果交互非常快速或复杂,用全局相位来对齐整个身体的运动会非常困难。

为了应对低维控制信号和整个身体的丰富运动之间的歧义,研究者提出了一种能够在高水平控制信号下再现各种剧烈运动的新型生成模型。该生成控制模型能够将来自用户指示的抽象控制信号转换成各种剧烈控制信号,这些信号能够与完整的身体运动相对应。

系统经过篮球比赛中大量的运动捕获数据训练之后,用户就可以交互地控制角色,来生成迅速且异步的篮球技巧,例如运球、佯攻、抢断、防守等,这对于电脑游戏和 VR 运动训练是很有用的。

该系统也可以用于学习其他接触较多的运动,比如坐在椅子上,开门以及四足运动。和之前的模型相比,该模型生成的动作质量很高,而且不需要任何人为标签。

系统概览

该研究的深度学习框架是一个类似于 [Zhang et al. 2018] 和 [Starke et al. 2019] 的混合专家方案。系统是由运动预测网络和门网络组成的。门网络计算一套专家权重,并且学习如何通过混合系数将它们动态组合来构建运动预测网络。然后从当前角色状态和用户给出的控制命令以自回归的方式计算从一帧到下一帧的运动。

图 2:由门网络和运动预测网络组成的系统的架构。门网络用局部运动相位作为输入,并计算专家混合系数,然后将其用于生成运动预测网络。运动预测网络将姿势和用户控制变量作为输入,来预测从一帧到下一帧的运动。

为了使该框架能够从大型运动数据库中学习篮球动作,研究者提出了两项主要改进:首先,用局部运动相位训练系统;其次,生成控制模型以原始的高水平用户控制命令作为输入,生成一种更剧烈的控制信号。

每个和其他物体或环境接触的骨骼的局部运动相位是单独计算的,并且能够给四肢的动作进行异步编码。这和 [Starke et al. 2019] 的研究完全不同,在 [Starke et al. 2019] 的研究中,研究者假设每一个动作都由一个全局相位变量进行同步,这需要仔细的标注过程,或者定义有关动作何时开始和结束的明确规则。这些工作有时非常困难,甚至是模棱两可的。而局部运动相位是基于单个骨骼的接触、以统一的规则进行计算的,并且易于自动计算。

图 4:用于单个骨骼的相位提取方法示例。

图 5:双脚(LF、RF)、双手(LH、RH)和球(B)的局部运动相位提取示例。

此外,研究者还引入了生成控制模型,以根据用户提供的粗略高电平控制信号生成各种剧烈动作。当有许多动作对应于相同的输入信号时,通过确定性模型进行的简单回归将生成一个平均动作,其中剧烈程度几乎没有变化。研究者通过引入一个生成模型来解决这个问题。该生成模型用高水平的用户控制命令以及随机噪音作为输入,从中生成一段更加剧烈的控制信号序列。这使得系统不仅能生成较高质量的动作,还能以非确定的方式生成变化后的动作。

图 6:生成控制方案概览。

实验和评估

研究者通过游戏手柄让角色做出各种动作,如下图 10 所示。

图 10:通过该研究的系统合成的动作样式。

可以看出,除了具有多次接触和快速动作的复杂的角色动作,角色之间的交互,例如避开对手等动作也都能够生成。

研究者在测试数据集对该系统在肢体运动、接触准确度以及响应性三方面进行了定量评估,他们通过每帧所有关节的确切角度更新之和来量化肢体动作。

下图 11 将该研究方法与 PFNN、MANN 和 LSTM 做了比较,结果显示在所有动作样式上表现更佳。并且,在后退和转向此类数据样本更加稀疏的情况下,差异更加明显。

研究者评估了球员双脚和地面之间的接触准确度,在球员脚高度和竖直速度低于阈值时(此时应处于接触状态),通过汇总水平方向的运动,计算球员脚部的滑动量。如下图 12 所示,该研究方法的脚部滑动量最少。

如下图 13 所示,研究者也给出了运球动作中手部和篮球之间的距离变化图。

角色对用户输入的响应能力是角色控制中最重要的方面之一。响应能力能够通过度量达到目标速度和方向平均需要的时间,以及在用户给出输入信号之后完成诸如旋转等任务平均需要的时间来进行评估。完成这些任务平均所需时间如图 14 所示:

如下图 15 所示,该研究系统在响应能力上略微逊色于 PFNN,但响应能力仍优于其他方法。

如下图 16 所示,该系统也能够合成数据集中没有的新动作。

如下图 17 所示,通过研究脚部与地面接触的方法,研究者还用局部运动相位训练了一个四足控制器。

研究者还将局部运动相位应用于 [Starke et al. 2019] 中的目标物体 / 环境交互样例。下图 18 演示了拿起和放下盒子、坐下和从椅子上站起来的快照及其对应的局部运动相位。

vr

0 人点赞