一句话定位

UniTracker 用一个三阶段训练流水线(特权 teacher → CVAE 学生策略 → 残差微调)取代传统 teacher-student 全身动作跟踪里的 MLP+DAgger 学生,靠条件变分自编码器(CVAE)显式建模人类动作的分布多样性,让 Unitree G1 人形机器人用单一策略跟踪 8179 条 AMASS 动作(含高动态动作),并在真机上验证了对未见动作(文本生成动作、单目视频估计动作)的泛化能力。

背景与定位

问题范式与 asapgmtkungfubotbeyondmimic 同属全身动作跟踪(whole-body motion tracking):给定参考动作序列,训练单一策略在人形机器人上精确复现(走路、踢腿、转身、跳舞等),区别于稀疏指令控制(hugwbc 一类的 task-command 范式)。

论文指出主流 teacher-student 框架(尤其用简单 MLP+DAgger 做学生蒸馏,如 h2o-human2humanoidomnih2o)存在三个问题:

  1. 蒸馏过程中动作多样性丢失,学生策略退化为”平均化”行为;
  2. MLP 学生表征能力有限,对未见动作泛化差;
  3. 缺乏全局上下文信息(学生只能看局部 proprioception),导致部署到真机时出现朝向漂移(orientation drift)等全局不一致问题。

UniTracker 的方案是把 CVAE 引入学生策略:encoder 用与 teacher 相同的特权观测(含全局信息)推断隐变量,一个仅基于可部署(partial)观测的 prior network 与之对齐(KL 散度),使得最终部署的策略虽然只能看局部观测,但训练时学到的隐空间携带了全局上下文,从而缓解漂移问题。此外论文认为”学生策略应当通过隐变量而非显式参考信号获得动作多样性”——消融显示如果 actor 直接吃显式参考动作,隐变量 z 的影响会消失、退化为标准 DAgger 行为。

在此基础上再加一个第三阶段:轻量级残差解码器(residual decoder),针对通用策略跟不好的分布外/高动态动作做快速微调,思路上接近 asap 的残差修正范式,但 ASAP 修正的是 sim-to-real 动力学 gap,UniTracker 的残差微调修正的是通用策略本身对特定难动作的跟踪误差(仍在仿真里训练,未涉及真实 rollout 数据)。

训练数据集用 AMASS 经 gmtasap 等工作也采用的 PHC 过滤协议筛选;对比基线包括 omnih2oexbody2 与自建的 DAgger-without-CVAE、train-from-scratch 两个内部消融基线。

模型架构

三阶段流水线,均为低层全身控制策略(非 VLA,不含 VLM/语言模型):

动作空间与机器人:Unitree G1,29 自由度、身高 1.3m;锁定 6 个手腕关节,剩 23 维动作空间(目标关节位置,经 PD controller 驱动)。

Stage 1 — Oracle 策略(特权 teacher,仿真训练)

  • 目标条件 RL,PPO 优化,最大化折扣累积奖励 $\mathbb{E}[\sum_t \gamma^{t-1} r_t]$。
  • Proprioception:$s_t^{p-oracle}=[p_t,q_t,\theta_t,\dot p_t,\dot q_t,\omega_t,a_{t-1}]$(刚体位置、朝向、线速度、角速度、关节位置/速度、上一步动作)。
  • Goal state:参考位姿与当前位姿的单帧差分(位置、关节位置、朝向、线/角速度差,以及相对 root 的位置/朝向差),全部旋转到当前位姿局部坐标系。
  • Early Termination:朝向——重力投影在 x/y 轴超过 0.8;跟踪容差——机器人与参考动作平均连杆距离超过 0.5m。
  • 采用 Reference State Initialization(RSI):参考动作起始点随机采样,机器人初始状态(根位置/朝向/线角速度、关节位置/速度)由对应参考位姿导出,使不同动作阶段可并行学习。
  • Domain Randomization:与既往工作同时随机化资产属性(摩擦系数、质心偏移、连杆质量)与环境动力学(PD 增益、外部扰动)不同,本文将二者解耦——第一阶段(oracle 训练)仅随机化资产属性,以最大化策略对多样动作的跟踪精度上限;第二阶段(学生蒸馏)如何处理环境动力学随机化,论文正文未进一步展开(未披露)。

Stage 2 — CVAE 学生策略(可部署,在线蒸馏)

  • Proprioception(可部署):$s_t^{p-deploy}=[q_{t-25:t},\dot q_{t-25:t},w^{root}{t-25:t},g{t-25:t},a_{t-25:t-1}]$,堆叠过去 25 步。
  • Goal state(可部署):$[\hat h_{t+5},\hat\theta^{root}{t+5}\ominus\theta^{root}t,\hat v^{root}{t+5},\hat w^{root}{t+5},\hat p_{t+5}-\hat p^{root}_{t+5}]$,堆叠未来 5 步参考(对应消融里选出的最优 future window size = 5)。
  • CVAE 三件套:encoder $\varepsilon(z_t|s_t^{p-oracle},s_t^{g-oracle})$(吃与 teacher 相同的特权观测)、可学习条件 prior $\rho(z_t|s_t^{p-deploy},s_t^{g-deploy})$(只吃可部署观测)、decoder $D(a_t|s_t^{p-deploy},z_t)$ 输出动作;三者均建模为对角高斯。
  • 残差 KL 形式:encoder 被建模为 prior 的残差,$\varepsilon=\mathcal N(\mu^\rho+\mu^\varepsilon,\sigma^\varepsilon)$,而非独立高斯;消融显示这一设计显著优于无残差版本(SR 91.82 vs 85.39,MPKPE 82.57 vs 91.35,全 AMASS 训练集)。
  • 损失:$L=L_{action}+\beta L_{KL}$,$L_{action}=|a_t^{deploy}-a_t^{oracle}|2^2$(用 oracle 输出的动作做在线蒸馏监督),$L{KL}$ 为 encoder 与 prior 的 KL 散度。
  • 关键超参(消融选出的最优值):CVAE 隐维度 = 64(对比 32/128/256,64 最优,更大维度更难训练且无提升);future window = 5(对比 1/10/20);KL 系数 = 0.1(对比 1.0/0.01/0.001)。
  • Actor 架构消融:decoder 若显式吃参考动作($s^{p-deploy},s^{g-deploy},z_t$ 之外再加参考信号)会导致隐变量 z 的影响消失、行为退化为标准 DAgger(SR 88.20 vs 不显式喂参考的 91.82)。

Stage 3 — 快速自适应(残差解码器,仍在仿真训练)

  • 冻结 Stage-2 全部参数,只新增并训练一个轻量残差解码器 $D(\tilde a_t|s_t^{p-deploy},s_t^{g-deploy})$,输入与 prior network 相同(直接用显式动作参考而非隐变量,理由:分布外动作可能不在 CVAE prior 的建模范围内,且此阶段目标是对特定序列快速过拟合而非维持泛化)。
  • 用与 Stage-1 相同的奖励函数以 RL 训练残差解码器。
  • 最终执行动作 $a_t^{final}=a_t+\tilde a_t$(冻结通用策略输出 + 残差修正之和)。
  • 支持单序列自适应与批量(batch)自适应两种模式。

数据

  • 底层来源:公开 AMASS 数据集(SMPL 参数化,形状参数 β∈ℝ¹⁰、姿态参数 θ∈ℝ^{24×3}、根平移 p∈ℝ³)。
  • 过滤流程:先剔除人-物交互序列和短于 10 帧的片段,再套用 PHC(Perpetual Humanoid Control)的过滤协议进一步筛除不适合人形机器人的高动态/物理不可行动作,最终得到 8179 条训练动作(v1 版本此前报告的是 11,313 条”过滤交互与短片段后”但未经 PHC 精筛的数据集;本文最终版实验与部署均基于 8179 条 PHC-过滤后的数据)。
  • Retargeting(人体→机器人,两阶段,受 H2O 启发):
    1. 挑选 16 个对应身体连杆(body links),在静止姿态下最小化连杆间距离,优化出人形机器人专用形状参数 β′;
    2. 用 β′ 结合数据集原始 pose θ 与平移 p,对机器人根平移/根朝向/关节位置做梯度下降,逐帧最小化选定连杆间距离;额外加正则项抑制过激行为、保证时序平滑。
  • 消融证实数据质量的重要性:未经 PHC 过滤的数据集训练出的策略关键点跟踪误差明显更高,动作速率/速度变化显著偏大,呈现过于激进、不适合真机部署的行为(定性结论,图 4 展示,无表格数值)。
  • 无仿真到真实的域内数据混合说明(纯 sim 训练+真机零样本部署),无视频数据用于训练(视频估计只是下游应用,不用于训练集)。

训练方法

  • 目标函数:Stage 1 是标准 goal-conditioned RL 的奖励最大化(PPO);Stage 2 是 ELBO 推导出的 CVAE 目标 $\log P(a_t|s_t^{p-d},s_t^{g-d}) \ge \mathbb E_{\varepsilon}[\log D(a_t|s_t^{p-d},z_t)] - D_{KL}(\varepsilon|\rho)$,转化为 $L=L_{action}+\beta L_{KL}$ 做在线蒸馏(学生边训练边从冻结的 oracle 策略拿监督信号,非离线数据集蒸馏);Stage 3 是标准 RL(与 Stage 1 同奖励)只更新新增的残差解码器。

  • 课程学习:对正则项和惩罚项奖励施加 curriculum,使策略先专注动作跟踪本身,逐步再考虑合理性约束。

  • 奖励构成与权重(Stage 1/2 共用同一套跟踪奖励,来自论文 Table I):

    奖励项形式权重
    tracking keypointsexp(‖p_ref − p‖)1.6
    tracking feet positionexp(‖p_feet_ref − p_feet‖)2.1
    tracking body rotationexp(‖r − r_ref‖)0.5
    tracking joint positionexp(‖q_ref − q‖)0.75
    tracking joint velocityexp(‖q̇_ref − q̇‖)0.5
    tracking body linear velocityexp(‖ṗ_ref − ṗ‖)0.5
    tracking body angular velocityexp(‖ṙ − ṙ_ref‖)0.5
    action rate−‖a_t − a_{t-1}‖−0.5
    torque−τ−1e-6
    slippage−‖v_foot·F_contact‖−1.0
    termination1.0−200.0
  • 蒸馏方式:在线蒸馏(online distillation),学生策略训练时实时查询 oracle 策略输出作为动作监督,而非先离线采集 teacher 轨迹再做行为克隆。

  • Baselines/消融对照组:train-from-scratch(不用 teacher-student)、DAgger-without-CVAE(同样两阶段蒸馏但学生是普通 MLP、无 CVAE)、以及外部基线 omnih2oexbody2

Infra(训练 / 推理工程)

  • 仿真器:IsaacGym,8192 个并行环境,训练时施加域随机化。
  • 验证链路:先在 IsaacGym 训练,再做 sim-to-sim 迁移到 MuJoCo 做消融/对比评测,最后部署真机 Unitree G1。
  • GPU 型号、GPU 数量、训练时长(GPU-hours):论文正文未披露。
  • 真机/仿真推理的控制频率(Hz)、单步推理延迟、边缘计算硬件:论文正文未披露。

评测 benchmark

评测指标:Success Rate (SR)、Mean Per-Keypoint Position Error (MPKPE,世界坐标系关键点误差)、Vel-Dist(关节速度与参考的差异)、Acc-Dist(关节加速度与参考的差异),分别在”全部 AMASS 训练集”与”(tracking 未失败的)成功子集”上报告。

主对比表(All AMASS Train Dataset / Successful AMASS Train Dataset,均值±标准差):

方法SR↑ (All)MPKPE↓ (All)Vel-Dist↓ (All)Acc-Dist↓ (All)MPKPE↓ (Succ.)Vel-Dist↓ (Succ.)Acc-Dist↓ (Succ.)
OmniH2O84.58±0.38688.91±0.0677.09±0.0083.98±0.00288.14±0.2917.08±0.0123.82±0.006
Exbody286.39±0.14386.77±0.1996.10±0.0713.63±0.00186.25±0.0456.03±0.0013.48±0.006
DAgger without CVAE88.03±0.22185.01±0.1855.63±0.0032.95±0.00184.78±0.1415.05±0.0032.40±0.001
Train from Scratch72.22±0.262104.49±0.4538.79±0.0086.33±0.00598.94±0.3968.44±0.0036.34±0.003
UniTracker (Ours)91.82±0.11482.57±0.0974.22±0.0011.79±0.00178.95±0.1213.67±0.0011.39±0.001

观测噪声鲁棒性(全 AMASS 训练集,SR / MPKPE):

噪声等级DAgger without CVAEUniTracker
Level 088.23±0.105 / 84.75±0.09191.81±0.048 / 82.69±0.116
Level 185.78±0.191 / 88.61±0.31290.29±0.094 / 83.83±0.168
Level 279.58±0.066 / 93.79±0.01986.78±0.212 / 87.31±0.182

UniTracker 随噪声等级上升的性能衰减明显慢于无 CVAE 基线。

定性结果(无表格数值,论文原话描述)

  • MuJoCo 中一个训练未见过的”新月踢(crescent kick)“动作上,UniTracker 成功跟踪,无 CVAE 版本跟踪失败;
  • MuJoCo 直线行走序列上,UniTracker 保持全局朝向一致(不偏航),无 CVAE 版本逐渐偏离参考轨迹(验证 CVAE 隐空间携带全局上下文的设计动机);
  • Stage-3 快速自适应相比”从零训练”在单条难动作 + 全 AMASS 测试集上,episode 长度和累计奖励收敛显著更快(图 5,无具体数值);
  • 下游应用(文本到动作 MDM 生成、单目视频 GVHMR 姿态估计)在 MuJoCo 与真机上均成功跟踪,未见量化指标,仅定性成功/失败描述。

真机部署:Unitree G1 上验证走路、踢腿、转身、跳舞、下蹲等动作,单一策略跟踪超过 8100 条动作序列(对应过滤后的 8179 条训练集,真机验证子集规模未单独披露)。

创新点与影响

  • 把 CVAE 引入 teacher-student 全身跟踪的学生策略端,用结构化隐空间显式建模人类动作的分布多样性,替代此前 MLP+DAgger “平均化坍缩”的做法;
  • 用”特权 encoder + 部分观测 prior 对齐”的设计隐式把全局上下文信息注入部署策略,缓解朝向漂移问题,这是相对纯粹动作多样性建模之外的额外贡献;
  • 三阶段设计把”通用性”与”极端难例”解耦:Stage 2 的通用策略负责覆盖大多数动作,Stage 3 的轻量残差解码器只需针对分布外/高动态动作做快速专精微调(冻结主干、只训练一个小残差模块),思路上与 asap 的残差修正范式呼应,但用于弥补的是策略表达能力的缺口而非 sim-to-real 动力学 gap;
  • 消融清楚证明了两个关键设计选择的因果贡献:(1) 残差 KL 形式(encoder 相对 prior 的残差参数化)对训练稳定性和最终精度至关重要;(2) actor 不能显式吃参考动作,否则隐变量会被显式信号”短路”、退化为普通 DAgger;
  • 论文自陈局限:不要求(也不现实要求)CVAE 通用策略完美跟踪所有参考序列——尤其是罕见、高动态或严重分布外的动作,因此需要 Stage 3 兜底;论文正文未披露 GPU 规模/训练时长、真机控制频率与推理延迟,也未公开代码仓库。

原始链接

一手源存档(sources/)

  • unitracker—project-page — 项目主页快照(作者/单位、abstract、演示视频清单、BibTeX)
  • arXiv 原文 HTML/PDF(v3,2507.07356)未入 git,通过上方 arXiv 链接可重新获取