DeepMimic: Example‑Guided Deep Reinforcement Learning of Physics‑Based Character Skills

问题和目标

动画艺术家希望用数据驱动的参照动作获得高质量的运动风格,同时又希望通过物理模拟应对外界扰动和用户指定的任务。传统基于物理的角色动画需要大量人工设计的控制器,难以泛化并且不易直观操控;纯深度强化学习(RL)虽然无需手工编码控制策略,但仅利用任务奖励往往产生不自然的动作。因此,DeepMimic旨在解决以下问题:

  • 自然度与泛化:利用RL生成逼真但又能应对未知环境的动作,避免仅靠手工控制器的限制。
  • 任务驱动性:既模仿给定的参考动作,又能在物理模拟环境中执行目标任务,如改变行进方向或击中目标。
  • 多技能整合:将多个参照动作整合到一个策略中,或让策略在多种技能间自如切换。

相关工作及其不足

1. 运动学模型

早期的角色动画广泛使用运动学数据驱动的方法。利用大量动作片段,可通过检索或插值生成新动作。采用高斯过程、自动编码器或相位网络构建的运动学模型能在有充足数据时生成高质量动作。然而,它们缺乏对复杂任务的泛化能力,面对复杂环境时需要收集大量样本,难以涵盖所有可能情景。

2. 基于物理的控制器

大量研究利用简化模型和离线优化或二次规划设计控制器,实现人形或非人形角色的行走、跑动等技能。这类方法通常依赖专家经验设定低维参数或轨迹优化,难以处理需要长时规划和复杂接触的动态动作。实时模型预测控制在复杂行为上依然受限。

3. 强化学习与模仿

与传统控制器不同,RL利用试错训练策略。深度RL在各种控制任务上取得进展,但单靠任务奖励生成的动作常常存在不自然的姿态和怪异步态。设计合适的奖励函数需要大量人工经验,并且效果有限。一些工作采用模仿学习或对抗模仿(如 GAIL)直接从数据诱导奖励,但生成的动作质量尚未达到动画行业标准。

4. 现有模仿强化学习方法的局限

  • DeepLoco (2017):利用模仿奖励辅助RL,但固定初始状态、只处理足部定位的行走任务,无法学习高度动态的空翻等技能,并且只应用于单一无臂双足模型。
  • SAMCON (Sampling‑based Controller):通过复杂的采样和反馈控制合成高度动态动作,但需要低维表示和多步骤迭代,难以扩展到带有感知输入和任务目标的场景。
  • Deep RL + 参照奖励:前作仅用单个运动片段模仿简单技能,缺乏对多技能整合和任务驱动的探索。

上述方法要么缺少强物理可行性,要么难以处理大量技能或复杂任务。DeepMimic提出一种简单且通用的框架来弥补这些缺陷。

方法概述

总体流程

输入包括一个角色模型(人形、Atlas机器人、恐龙或龙)、一组参考运动片段和一个任务奖励函数。策略 π(at∣st,gt)\pi(a_t | s_t, g_t)π(atst,gt)接收状态 sts_tst和任务目标 gtg_tgt,输出用于各关节PD控制器的目标角度。训练使用近端策略优化(PPO)。关键创新包括:

  • 模仿奖励与任务奖励结合:总奖励 rt=ωIrtI+ωGrtGr_t = \omega_I r^I_t + \omega_G r^G_trt=ωIrtI+ωGrtG,其中模仿奖励鼓励策略跟踪参照动作,任务奖励鼓励完成目标。
  • 参考状态初始化 (RSI):每次模拟开始时,从参照运动中随机抽取一个状态作为初始状态。这让策略在训练早期即可看到关键姿态,如空翻中的腾空状态,从而缓解探索难题。
  • 早期终止 (ET):当角色发生跌倒等失败事件时立即结束当前模拟,并将后续奖励置为零。这样可以消除因长时间挣扎造成的数据偏置,并引导策略学习避免失败。

多技能整合

提出三种方法在单一策略中整合多个参照片段:

  • 多片段奖励:对每个片段计算模仿奖励并取最大值 rtI=max⁡jrtjr_t^I = \max_{j} r_t^jrtI=maxjrtj。策略自动选择当前最合适的片段,不需手工规划。
  • 技能选择器:向策略输入一个 one‑hot 目标向量,明确指定要模仿哪段动作;训练中随机切换,促使策略学会在技能之间平滑过渡。
  • 组合策略:针对不同片段训练多套策略及其价值函数,运行时按价值函数的软最大算权组合各策略。

动作重定向 (Retargeting)

通过简单地复制参照片段的局部关节旋转到新的模型,并重新训练策略,可将动作迁移到不同角色(如Atlas)、不同环境(如跳下高台或越障碍)、甚至不同物理条件(如月球重力)。

状态和动作表示

  • 状态 sss:角色每个关节相对于根(骨盆)的姿态(旋转四元数)、关节速度、线速度和角速度。采用局部坐标系,其中根位于原点,x 轴指向角色面朝方向。引入一个相位变量 ϕ∈[0,1]\phi \in [0,1]ϕ[0,1]表示参考动作的进度。
  • 行动 aaa:为每个关节的PD控制器提供目标角度或旋转,策略以 30Hz 频率输出动作。使用PD控制而非直接输出力矩可提升学习效率。

奖励设计

模仿奖励分为四项:

  • 姿态匹配 rtpr^p_trtp:测量角色和参考在各关节四元数方向的差异,取指数衰减形式。
  • 速度匹配 rtvr^v_trtv:根据各关节的局部角速度差异计算。
  • 末端效应器匹配 rter^e_trte:鼓励手和脚跟踪参考轨迹的世界坐标。
  • 质心匹配 rtcr^c_trtc:鼓励整体重心位置与参考一致。

任务奖励则根据具体任务设计,例如行走朝向奖励惩罚速度偏差或敲击目标奖励。

训练算法

训练采用PPO,并使用广义优势估计(GAE)和多步TD更新值函数。每轮迭代从RSI采样初始状态,执行固定时间或直至早期终止来生成轨迹。

实验

单技能学习

论文展示了 20 多个动态技能,包括走、跑、爬、击球、空翻、踢腿、旋转踢等。大多数技能获得 0.8–0.95 的高回报,说明策略成功模仿并保持动作稳定。

多技能整合

  • 多片段奖励:通过简单地对多个参照片段的模仿奖励取最大值,策略能在走路、转弯等片段之间自如切换,无需手写规划器。
  • 技能选择器:训练策略根据用户输入的 one‑hot 向量执行指定技能,能在运行时即时切换不同技能。
  • 组合策略:对每个技能单独训练策略和价值函数,运行时根据各策略的价值函数分布组合动作。

动作重定向

  • 角色重定向:将参照片段从人形角色直接拷贝到 Atlas 机器人,重新训练策略后,机器人成功模仿走、跑、空翻和旋转踢等动作。
  • 环境重定向:策略能适应不同物理环境(如跳跃和越障碍)并完成任务。
  • 物理重定向:在月球重力下训练旋转踢和侧手翻,策略成功调整动作以适应低重力。

创新点与优势

  1. 数据驱动的物理动画框架:首次将深度RL与参照动作、任务目标和PD控制结合,形成一个通用框架,可处理多种角色、运动和任务。
  2. 参考状态初始化与早期终止:通过利用参考动作的各状态作为初始状态并在失败时立即终止,大幅改善探索效率和学习稳定性,是训练高度动态技能的关键。
  3. 多技能融合策略:提出多片段奖励、技能选择器和组合策略三种方案,实现策略在多技能间自动或可控的切换。
  4. 动作重定向:无需复杂处理即可将参照动作映射到不同角色、地形或物理参数,并通过重新训练适应差异。

局限与讨论

  1. 相位依赖:策略依赖线性推进的相位变量与参考同步,无法灵活调整动作节奏或暂停/加速。
  2. 多片段规模:多片段奖励在片段数量较小时效果良好,但对大型动作库的扩展性尚未验证。
  3. PD增益和奖励权重:每个角色仍需手动设定PD控制器参数和奖励权重;错误的参数可能导致学习困难。
  4. 训练成本:每个技能的训练需几天时间,且策略目前独立训练;大规模学习仍受限制。

DeepMimic 提出了一种结合物理模拟、深度强化学习和参考运动数据的通用框架,实现了逼真而可控的角色动画。通过引入参考状态初始化和早期终止,策略能够学习复杂的跳跃、空翻和击打动作;通过多片段奖励、技能选择器和组合策略,单个策略或多策略组合即可完成丰富的技能库并支持用户控制。实验在多种角色、环境和任务上验证了方法的广泛适用性和高质量表现。尽管仍存在训练成本高、相位依赖和参数调节等问题,DeepMimic为以模仿为基础的物理动画开辟了新的方向,并为后续的动作生成、机器人控制和多技能整合研究奠定基础。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐