矩阵中的灌篮高手: SkillMimic 如何教会物理模拟角色打篮球

如果你玩过体育类电子游戏,你会知道虽然画面看起来很逼真,但底层的动画往往只是录制动作的“回放”。但在机器人技术和基于物理的模拟世界中,我们想要的是不同的东西: 我们希望一个数字角色能够真正“学习”如何驱动肌肉来完成任务,并遵守物理定律。

我们在教导这些模拟角色跑步或后空翻 (运动能力) 方面已经做得相当不错了。但递给它们一个物体——比如篮球——一切就都变了。角色突然需要将身体动作与一个会反弹、旋转和飞行的外部物体同步。

在这篇文章中,我们将深入探讨 SkillMimic , 这是一篇提出开创性数据驱动框架的研究论文。该系统允许物理模拟的人形机器人完全通过演示数据学习复杂的篮球技能——运球、投篮、上篮和捡球——而无需为每一个动作费力地手工设计奖励函数。

模拟的人形机器人正在展示投篮、捡球和上篮等篮球技能。

1. 核心问题: 为什么对 AI 来说打篮球这么难?

在强化学习 (RL) 中,智能体通过试错进行学习。要教导一个智能体,你需要定义一个 奖励函数——一个告诉智能体“干得好,你做对了”的分数。

对于简单的跑步,奖励可能是“保持直立并向前移动”。但对于人-物交互 (HOI) ,特别是篮球,简直是一场噩梦。如果你想让角色运球,你需要奖励手的位置、施力大小、球的高度和节奏。如果你想让它们投篮,你需要一套完全不同的奖励。

以前的方法 (如 DeepMimic 或 AMP) 在模仿身体动作方面表现出色,但在涉及物体时就会失败。它们通常会导致“飘忽”的物理效果,即球不能正确地粘在手上,或者角色完全忽略了球。

SkillMimic 背后的研究人员提出了一个关键问题: 我们能否设计一个单一、统一的框架,仅通过观察数据就能学会所有这些技能,而无需为每项技能进行人工微调?

2. 背景: 从动作捕捉到模拟

在理解解决方案之前,我们需要了解输入数据。该系统依赖于 人-物交互 (HOI) 数据 。 本质上,这是一种同时记录两件事的动作捕捉数据:

  1. 人类的姿态 (关节角度、肢体位置) 。
  2. 物体的状态 (球的位置和旋转) 。

研究人员为此项工作介绍了两个数据集: BallPlay-V (从视频中提取) 和 BallPlay-M (高精度光学动作捕捉) 。

标注流程图,展示了如何从 RGB 图像生成 BallPlay-V 数据集的 3D 网格。

如上图所示,创建这些数据涉及复杂的流程,需要从视频中提取 3D 人体网格和物体轨迹。然而,拥有数据只是第一步。挑战在于将记录的动作转移到物理模拟器中,角色必须在模拟器中使用模拟肌肉 (PD控制器) 主动保持平衡并操控球。

3. SkillMimic 框架

SkillMimic 的核心理念很简单: 通过状态转移进行模仿

一个“交互技能”被定义为一系列状态,其中人类和物体随时间发生变化。如果模拟角色能让自己和球模仿这些转移过程,它就学会了这项技能。

SkillMimic 的概念: 通过模仿学习将现实世界的 HOI 数据转移到物理模拟器中。

3.1 架构

该系统建立在标准的强化学习设置之上。

  1. 策略 (大脑) : 一个神经网络,接收当前世界的状态 (身体姿态、球的位置等) 并输出动作 (身体关节的目标角度) 。
  2. 环境: 一个物理模拟器 (Isaac Gym) ,用于计算这些动作的结果。

策略的输入是全面的。它能看到“本体感觉” (身体状态) 、指尖接触力和物体状态。

展示状态向量的方程,由本体感觉、指尖力和物体观测值组成。

3.2 秘诀: 统一的 HOI 模仿奖励

这篇论文最大的贡献是 统一 HOI 模仿奖励 。 研究人员没有将不同的奖励相加 (例如 奖励 = 身体 + 球 + 接触) ,而是使用了 乘法

为什么要用乘法?在加法系统中,如果智能体忽略了球但完美模仿了身体动作,它仍然能得到不错的分数。在乘法系统中,如果任何部分 (如控球) 为零, 整个奖励归零 。 这迫使智能体关注交互的每一个方面。

总奖励 \(r_t\) 计算如下:

统一奖励方程,将身体、物体、相对运动、正则化和接触图奖励相乘。

让我们分解这些术语:

  • \(r_t^b\): 身体运动学。 身体是否像参考数据那样移动?
  • \(r_t^o\): 物体运动学。 球是否像参考数据那样移动?
  • \(r_t^{rel}\): 相对运动。 球相对于身体的位置是否正确 (例如,在手附近) ?
  • \(r_t^{reg}\): 正则化。 防止抖动和不自然的震颤。
  • \(r_t^{cg}\): 接触图奖励。 这是一个颠覆性的设计。

3.3 接触图 (Contact Graph)

标准的 RL 很难处理手接触球的精确时刻。研究人员通过将交互建模为 接触图 解决了这个问题。

想象一个图,其中的节点是“左手”、“右手”、“身体”和“球”。如果两个节点正在接触,它们之间就存在一条边 (连接) 。

接触图概念示意图,显示手、身体和球的节点,以及代表接触的边。

接触图奖励 (\(r_t^{cg}\)) 衡量模拟接触图与参考接触图之间的误差。如果参考数据表明“球正在接触右手”,而模拟中的接触没有发生,模拟角色将受到重罚。

该特定奖励部分的数学公式为:

接触图奖励的方程。

为什么接触图如此重要?

如果没有它,物理模拟会找到“作弊方法”或局部最优解。例如,如果没有接触奖励,角色可能会尝试把球顶在头上或用胸部夹住球,因为这样比运球更容易。接触图强迫角色在应该用手的时候精确地使用手。

看看下面的消融实验对比。没有接触图奖励 (CGR) ,角色无法接球,或者使用别扭的身体部位来控制球。

对比图: 展示了没有接触图奖励时的模拟失败情况,以及有该奖励时的成功交互。

4. 重用技能: 高层控制器

一旦 交互技能 (IS) 策略 学会了基础 (运球、投篮、传球) ,我们实际上就拥有了一个动作库。但我们该如何进行比赛呢?

研究人员引入了 高层控制器 (HLC) 。 这是第二个分层策略。它不控制肌肉,而是控制技能。它观察比赛情况 (例如,“我离篮筐很远”) ,并告诉 IS 策略: “切换到向前运球”,然后“切换到跳投”。

图解展示三个阶段: 数据采集、SkillMimic 训练,以及使用高层控制器重用技能。

这种分层方法允许系统解决长程任务,如捡球、运球到篮筐并得分,这些任务如果是从零开始学习几乎是不可能的。

技能切换和复杂任务 (如得分和运球到目标位置) 的示例。

5. 实验与结果

结果的视觉效果令人印象深刻。SkillMimic 成功学会了各种各样的技能,涵盖了几乎所有基础的篮球交互。

成功率对比。SkillMimic 在篮球技能上显著优于 DeepMimic 和 AMP 的变体。

5.1 与基准方法的对比

研究人员将 SkillMimic 与 DeepMimic 和 AMP (对抗性动作先验) 的变体进行了比较。如下面的对比所示,之前的方法非常吃力。 AMP* (中行) 经常无法控制球或犹豫不决,而 DeepMimic* (上行) 可能会卡在不自然的姿势中。 SkillMimic (下行) 产生了流畅、类似人类的动作。

DeepMimic、AMP 和 SkillMimic 之间的动作质量视觉对比。

5.2 泛化能力

一个主要问题是: 角色仅仅是死记硬背动作捕捉数据吗?还是它能做出反应? “捡球”技能实验回答了这个问题。角色接受了特定的捡球片段训练。在测试中,球被放置在 5 米半径内的随机位置 (角色从未见过完全相同的情况) 。

如下面的热力图所示,随着训练数据规模的增加 (从 1 个片段到 131 个片段) ,角色泛化并从球场任何地方捡球的能力显著提高。

热力图显示随着训练数据规模增加,捡球的泛化性能提高。

这证明了 SkillMimic 不仅仅是回放动画——它正在学习一种适应环境物理特性的鲁棒控制策略。

5.3 复杂任务

最后,研究人员测试了高层控制器在“得分” (运球 -> 投篮 -> 得分) 等任务上的表现。 下表将 SkillMimic 与 PPO (从零开始学习) 和 ASE (一种专注于移动的方法) 进行了比较。基准方法完全失败 (0% 成功率) ,因为任务太复杂了。SkillMimic 实现了高成功率,因为它利用了预先学到的交互技能。

表格显示了头球、绕圈和得分等高层任务的成功率。SkillMimic 占据主导地位。

6. 结论与未来展望

SkillMimic 代表了角色动画领域的一个巨大飞跃。通过摆脱手工制作的奖励,并引入 接触图统一模仿奖励 , 研究人员创造了一种可扩展的方法来教导机器人和虚拟化身如何与世界互动。

主要结论:

  1. 乘法优于加法: 在复杂的多目标任务 (身体 + 物体) 中,乘法奖励可以防止智能体忽略任务中的困难部分。
  2. 接触是关键: 通过图结构显式建模接触对于逼真的物体操纵至关重要。
  3. 分层有效: 先学习基本技能,再学习如何组合它们,是解决长期任务的有力配方。

虽然这篇论文主要关注篮球,但其意义延伸到了任何数字角色需要处理物体的场景——从虚拟现实游戏到训练用于家务的功能性人形机器人。“飘忽不定”的物理动画时代屈指可数了;未来看起来将是脚踏实地、符合物理规律且技巧娴熟的。