GMR——人形动作追踪的通用动作重定向:在不做复杂奖励和域随机化的前提下,缓解或消除重定向带来的伪影(含PHC的详解)
前言在本博客中GMR已经出现过多次如下图所示加之近期我们在研究beyondmimic过程中在我组建的交流群内有朋友交流道Zorpiabeyondmimic是用gmr重定向的么gmr重定向效果怎么样呀郑我尝试的是GMR重定位感觉效果挺不错的如此让我再次关注到了这个GMR特此本文来解读下第一部分 GMR面向人形动作追踪的通用动作重定向1.1 引言与相关工作1.1.1 引言如GMR原论文所说要让人形机器人策略在真实世界环境中实现真正的泛化必须从能够反映物理交互的数据中进行学习鉴于人类与类人机器人在形态结构上的相似性近期的研究工作1-Whole-body geometric retargeting forhumanoid robots2-Learning human-to-humanoid real-time whole-body teleoperation即为H2O3-Exbody4-Real-world humanoid locomotion with reinforcement learning5-Humanplus6-Twist7-Hub: Learning extreme humanoidbalance8-Kungfubot利用三维人体运动数据『来源于动作捕捉[9-AMASS]或基于视频的人体动作恢复[7-Hub]、[8-Kungfubot]、[10-VideoMimic]』作为示范来训练人形机器人执行需要类人平衡和敏捷性的全身运动这类人形机器人运动追踪策略是构建遥操作流水线或分层控制系统的基础工具然而在骨骼长度、关节活动范围、运动学结构、身体形状、质量分布以及驱动机制等方面人类与人形机器人之间仍然存在显著差异克服这种具身差异embodiment gap的标准方法是将源人类运动通过运动学重定向kinematicretargeting映射到目标类人机器人形体上。在获得重定向后的数据后当下机器人研究中的主流做法是采用基于强化学习RL的方法通过参考动作模仿来学习能够完成期望任务的策略在大多数情况下『除了[11-ASAP]中提到的例外』这一策略会以“零样本”zero-shot的方式直接部署到真实世界中这种实践要么忽略了重定向过程中引入的明显伪影(例如脚底滑动、地面穿透以及由于自身穿插导致的物理上不可能的动作)从而强迫 RL 策略在保持物理约束的同时去模仿物理上不可行的运动要么直接丢弃重定向质量较差的数据[7-Hub]已有研究12-Humanoid-gym13-Hover14-Omnih2o11-ASAP表明尽管在仿真环境中使用带有严重伪影的重定向数据来训练策略是可行的但要将这些策略迁移到真实世界则需要大量的试错、奖励塑形以及参数调优简言之重定向过程中引入的伪影如脚部滑动、自我穿透以及物理上不可行的动作往往会残留在参考轨迹中留待RL策略去纠正尽管已有研究展示了动作跟踪能力但通常需要大量的奖励工程和域随机化才能取得成功(很大程度上缓解或消除重定向带来的伪影)——如果缺乏这些工程化措施重定向结果的质量就会起到决定性作用对此来自Stanford University的研究者João Pedro Araújo†1, Yanjie Ze†1, Pei Xu†1, Jiajun Wu*1, C. Karen Liu*1共同提出了一种新的重定向方法——通用动作重定向GMR其paper地址为Retargeting Matters: General Motion Retargeting for Humanoid Motion Tracking其项目地址为github.io/retargeting_matters其GitHub地址为github.com/YanjieZe/GMR最早发布于2025-08-04: Initial release of GMR. Check our twitter post后于2025-09-16: GMR now supports to use GVHMR for extracting human pose from monocular video and retargeting to robot.且作者将GMR与两个开源重定向器PHC该方法被近期人形机器人动作追踪工作广泛采用[2-H2O][11-ASAP]ProtoMotions用于重定向具有挑战性的动态任务[8]以及Unitree提供的高质量闭源数据集进行了对比评估为了隔离重定向方法的影响作者采用 BeyondMimic[15]对跟踪给定参考动作的强化学习策略进行训练和评估。BeyondMimic 不依赖于奖励调整并且与作者使用的重定向方法独立开发因此可以作为评估这些方法的公正手段作者认为重定向方法的选择对人形机器人性能有着至关重要的影响。虽然基于不同重定向方法生成的动作进行训练的策略通常能够跟踪多种动作包括简单和高度动态的动作这一点与以往研究结果一致但在某些情况下重定向过程中引入的伪影会使策略的学习变得更加困难甚至在某些情况下完全无法有效学习这些案例突显了如果没有以往工作中广泛的奖励工程重定向伪影确实会对某些动作带来挑战(足部穿透、自身交叉和突发的速度尖峰都是在重定向过程中必须避免的关键伪影)并降低策略性能1.1.2 相关工作第一动作重定向是计算机图形学中角色动画常用的数据处理技术经典方法16-Physically based motion transformation17-physically-based motion retargeting filter18-Motion adaptation based oncharacter shape19-On-line motion retargetting采用基于优化的策略并依赖启发式定义的运动学约束将动作映射到关节化角色上随着深度学习技术的发展数据驱动的方法逐渐出现然而这些方法通常需要成对数据来进行有监督学习20-A variational u-net for motionretargetin21-Same: Skeleton-agnosticmotion embedding for character animation或需要语义标签来以无监督方式进行模型训练22-Neural kinematicnetworks for unsupervised motion retargetting23-Skeleton-aware networks for deep motion retargeting24-Pose-awareattention network for flexible motion retargeting by body part或者利用语言模型和可微分渲染技术从视觉上进行评估25-Semantics-aware motion retargeting withvision-language models除了面向单个刚体角色的重定向之外既有文献还提出了用于重定向多个交互角色26-Composition of complexoptimal multi-character motion27-Simulation and retargeting of complex multi-character interactions28-Geometry-awareretargeting for two-skinned characters interaction以及具有可变形形状角色的方法29-Surface based motionretargeting by preserving spatial relationship30-Contact-aware retargeting of skinned motion31-Skinned motion retargeting with residualperception of motion semantics geometry在机器人领域尽管数据驱动方法已被广泛用于控制人形机器人2-H2O3-Exbody4-Real-world humanoid locomotion with reinforcement learning5-Humanplus7-Hub8-Kungfubot6-Twist10-visualmimic15-Beyondmimic过模仿学习生成类人运动但在真实机器人上获取成对或具有语义标注的运动数据十分困难这限制了数据驱动的动作重定向方法在仿人机器人上的应用虽然已有一些研究32-Robust motion mapping betweenhuman and humanoids using cycleautoencoder33-Imitationnet: Unsupervisedhuman-to-robot motion retargeting via shared latent space34-Unsupervised neural motion retargeting for humanoid teleop-eration探索了基于学习的仿人机器人运动重定向方法但它们仅关注简单的手臂和上半身运动本文则聚焦于全身运动重定向方法该方法涉及行走等运动并且不需要预先采集任何数据第二朴素的方法[3-Exbody][5-Humanplus]直接将源人类动作的关节旋转复制到目标人形机器人的关节空间然而人类个体与人形机器人在拓扑结构和形态上的差异往往会导致诸如身体悬空、脚部穿透与滑动以及末端执行器脚和手漂移等伪影此外还需要额外的处理步骤将人类的SO(3)关节空间转换为人形机器人通常仅配备旋转关节所适用的空间第三通过求解逆运动学IK问题整体几何重定向WBGR方法能够在允许源关节空间与目标关节空间不对齐的情况下实现全身重定向基础的WBGR方法[35-Robust real-time whole-body motion retargeting from human to humanoid][1-Whole-body geometric retargeting forhumanoid robots]忽略了在笛卡尔空间中的尺寸差异仅通过求解 IK 来匹配关键连杆的方向相比之下HumanMimic [36]则通过在关键点上进行笛卡尔位置匹配来求解 IK并使用手动设定的系数对源动作进行缩放第四H2O [2]利用近期在计算机图形学中关于人体表示的研究采用 SMPL [37] 模型将机器人形状拟合为人体并据此对动作进行缩放然后再求解逆运动学IK问题相关的参考实现可在 PHC[38] 代码库中找到本文将该方法称为PHC 重定向方法该方法通过正向运动学利用梯度下降法来求解 IK 问题但这一过程耗时较长限制了其在实时场景中的应用尽管 PHC 方法已被许多后续工作采用14-Omnih2o13-Hover39-Harmon11-ASAP但在动作重定向过程中并未考虑动作的接触状态这可能导致漂浮、脚步滑移以及与地面穿透等伪影此外SMPL 设计用于人体表示对于与人类形态存在较大差异的机器人其适用性有限其他研究 [40-Protomotions: Physics-based character animation]、[8-Kungfubot]、[6-Twist] 探索了不同的使用方式——这些IK求解器[41-Mink: Python inverse kinematics based on MuJoCo]通过对源动作的笛卡尔关节位置进行缩放然后计算广义速度使其在原地积分后能够减少缩放后源动作与机器人之间在笛卡尔关节位置和姿态上的误差ProtoMotions方法[40]采用全局轴对齐缩放因子对源动作中的关节笛卡尔位置进行缩放然后最小化源人体动作与机器人之间匹配关键部位的位置和姿态误差的加权和比如KungfuBot[8]采用了ProtoMotions的方法但关闭了缩放功能1.2 重定向的三种方法PHC、ProtoMotions 和 GMR、数据处理1.2.1 重定向方法首先对于PHC [38], [2], [14], [11]PHC 重定向方法是为SMPL[37] 格式的动作设计的SMPL 是一个参数化人体模型给定形状参数向量和姿态参数返回姿态人体网格顶点的3D 位置给定顶点坐标使用关节回归器回归关节的3D 位置这些位置被视为关键身体的原点SMPL 格式中的一个动作因此是一个包含身体形状参数以及一个姿态参数张量的文件其中一个维度对应时间该重定向方法的第一步是为机器人骨架拟合一组形状参数然后给定人类动作的姿态参数使用SMPL 身体模型计算随时间变化的机器人关节目标3D坐标第二步是在每个时间步优化机器人的根平移、朝向和关节角度以最小化姿态机器人通过正向运动学计算的关节与由SMPL 机器人模型计算得到的目标之间的位置误差PHC 实现通过在所有帧上的误差 L2 范数平均值上执行梯度下降来求解该优化问题。根姿态的优化器使用 Adam关节值的优化器使用Adadelta。关节限制约束通过钳制clamping来施加优化完成后使用正向运动学来计算重定向运动片段中所有机器人刚体的高度并从根平移中减去最低高度其次对于ProtoMotions [40]ProtoMotions 工具包是一个用于训练运动模仿策略的流行方法的标准实现集合。其内置了一个基于优化的重定向算法源运动首先在世界坐标系的每个轴上使用自定义缩放因子进行缩放然后使用 Mink [41] 来最小化缩放后的人体与机器人关键刚体之间的关节位置和朝向误差与PHC 类似它也有一个用于修改高度的后处理步骤但不同的是它不是将最低高度设为 0而是将其设为源运动中的最低高度最后对于GMR作者声称他们开发 GMR 的主要动机是修复另外两种方法生成的重定向结果中明显的伪影即偏离源运动、脚部滑移、地面穿透以及自交现象其与前两种方法的主要区别在于其处理源运动缩放的方式而作者发现这正是导致许多伪影的根源。之后GMR 通过一个两阶段优化过程来求得机器人运动顺带对于Unitree作者声称尽管他们无法获得其重定向流程的细节但LAFAN1 数据集在 Unitree 机器人上的重定向结果已被近期的一些论文如 BeyondMimic 和 VideoMimic [10]采用作者将其作为一个基线用于衡量开源重定向方法与专有重定向方法的竞争情况1.2.2 数据处理作者从 LAFAN1 数据集 [42] 中选取了一个多样化的样本其内容涵盖了从行走、转身等简单动作到武术、踢腿和舞蹈等动态且复杂的动作不过作者声称他们未纳入与环境存在复杂交互的动作比如匍匐前进或从地面起身且作者破例加入了一段侧手翻序列因为对于该动作机器人要么是双脚着地要么是双手着地但从不同时手脚并用完整的动作列表见表 I并且作者将每个运动序列重定向到一台Unitree G1 机器人。LAFAN1 文件以BVH 格式提供与GMR 直接兼容。PHC 和ProtoMotions 都要求源运动数据为SMPL 格式ProtoMotions 还支持SMPL-X [43] 格式作者按照与PHC重定向类似的方法处理从BVH到SMPL(-X)的转换首先我们通过最小化两个骨骼之间的关节位置误差将SMPL(-X) 人体模型的形状参数β拟合到BVH骨骼同样惩罚∥β∥2因为作者发现其取值过大会导致人体网格产生较大畸变然后作者利用LAFAN1骨骼与SMPL(-X)具有相同运动学结构这一事实并且复制对应关节的三维旋转最后将根平移计算为一个偏移量使带姿态的 LAFAN1 骨骼与带姿态的 SMPL(-X) 骨骼之间的位置误差最小随后使用 PHC 和 ProtoMotions 的重定向方法获得最终的G1 动作作者发现相比SMPLSMPL-X 身体模型与LAFAN1 骨骼的匹配程度更高因此在ProtoMotions 中将其作为源模型。尽管 PHC 重定向代码包含一个后处理步骤用于修复脚部穿透但作者发现对某些序列而言这会导致严重的“漂浮”30cm 或更高为了解决这一问题作者对重定向后的序列运行前向运动学在每一帧存储身体的最小高度然后根据这些最小高度的平均值对整个动作进行整体平移偏移。由其他方法生成的重定向结果则不需要类似的后处理1.2.3 运动追踪评估作者使用 BeyondMimic 在 IsaacSim 中为每一个重定向后的动作训练独立的动作模仿策略。且衡量这些策略在观测噪声和域偏移下的鲁棒性为此作者在关闭域随机化的情况下对每个策略评估 100 次sim在开启域随机化的情况下评估 4096 次sim-dr。在每次评估的 rollout 中机器人都从其默认姿态开始。然后运行该策略直到机器人跌倒或参考动作序列结束为止此外BeyondMimic 发行版附带了一个用于通过 ROS向 Unitree G1 部署策略的专有软件包。该软件包同时负责状态估计和推理。为在部署前验证策略的鲁棒性该软件包还提供了一个运行 MuJoCo的 ROS 节点作者利用这一点在一个与真实世界设置相仿的环境中对他们的策略进行全面且安全的评估。我们将这种条件称为ssim2sim 评估对于每个策略作者在该 ROS 环境中对其进行 100 次 rollout并记录仿真中的机器人状态。与 sim 设置中一样机器人在每一幕开始时都从默认姿态出发该设置中的随机性来源于与 ROS相关的定时和同步条件以及与状态估计模块相关的噪声。且作者没有对仿真器参数进行任何调参且控制器无法访问诸如全局根姿态真实值等特权仿真器信息1.2.4 评价指标作者同时评估策略保持平衡的能力以及跟踪性能。对于每一次评估轨迹如果策略能够在机器人的锚点机身高度或姿态相对于参考不超过给定阈值超过该阈值则回合结束的情况下到达回合结束则认为该次评估为成功且作者报告成功率其定义为成功轨迹次数与总轨迹次数之比。参考[8]还使用全局坐标下身体部位平均位置误差、相对于根部位置的身体部位平均位置误差以及关节转动的平均角度误差来评估跟踪性能当然跟踪误差是在策略仍然存活的所有帧上计算得到的1.3 通用动作重定向GMR的完整方法论整个GMR的流程如下图所示1.3.1 步骤1人-机器人关键身体部位匹配首先从源人类骨骼中的身体部位列表开始(这些部位可以来自动作捕捉系统或如BVH 和SMPL 等格式的文件)以及目标人形机器人骨骼(可在XML 或URDF 机器人描述文件中找到)用户首先需要定义人类和机器人关键身体部位之间的映射(通常包括躯干、头部、腿、脚、手臂和手)这些信息用于为逆运动学(IK)求解器建立优化问题。用户还可以为这些关键部位的位置和姿态跟踪误差提供权重1.3.2 步骤2人-机器人笛卡尔空间静止姿态对齐作者对人体的姿态进行偏移使其在静止姿态下与机器人身体的姿态保持一致。在某些情况下作者还会对某一身体部位的位置添加局部偏移。这有助于减轻如文献[2-H2O]中所描述的内八字等伪影1.3.3 步骤3人体数据非均匀局部缩放作者发现大多数在其他重定向方法中出现的伪影都是在对源动作进行缩放时引入的这突显了正确缩放的重要性作者的缩放流程的第一步是根据源人体骨架的高度计算一个通用缩放因子。该通用因子用于调整为每个关键身体部位定义的自定义局部缩放因子自定义缩放因子的设置使作者能够考虑下半身与上半身之间的缩放差异例如目标身体在笛卡尔空间中的位置由以下公式给出其中为人体骨架的高度为设定缩放因子时假定的参考高度表示身体部位的位置为对应于身体部位的缩放因子注意当该身体部位为根节点时缩放方程可简化为作者发现通过对根部平移应用统一的缩放因子对于避免引入脚部滑动伪影至关重要1.3.4 步骤4带有旋转约束的机器人逆运动学求解接下来作者希望找到机器人广义坐标(包括根部平移、根部旋转和关节数值)使其相对于参考姿态最小化身体位置和方向误差为了避免局部最优解作者采用了两阶段处理过程给定目标姿态在第一阶段求解如下优化问题仅考虑身体方向和末端执行器的位置(定义为公式4)在上述内容中表示人体的朝向和分别是机器人身体的笛卡尔位置和朝向通过正向运动学获得是与在中的朝向差的指数映射表示Mee 是仅包含末端执行器手和脚的M 的子集和分别是第一阶段优化中的位置和朝向误差权重四元数 q 的根位置和方向分量通过缩放后的位置以及人体根关键体的方向偏航分量进行初始化优化受到关节最小值和最大值和的约束————作者发现有时需要收紧这个范围以避免非人类动作。且使用Mink一种微分逆运动学求解器来解决这个问题。这意味着不是寻找最小化代价函数的值而是计算广义速度通过积分可以降低代价这是通过求解以下优化问题实现的其中是公式4 中的损失函数是损失关于的雅可比矩阵是由和引入的权重矩阵是微分IK 求解器的一个参数并不一定对应于参考动作帧之间的时间差作者再运行求解器直至收敛价值函数的变化小于给定阈值将其设为 0.001或者达到最大迭代次数10 次1.3.5 步骤5利用旋转与平移约束进行精调最后作为上述流程的第二阶段作者将前一个问题的解作为初始猜测继续求解它使用了一组与————第一阶段——————————所用不同的权重和并且考虑了所有关键部件的位置且第一阶段优化中的终止条件同样适用上述方法主要用于重定向单一姿态。对于运动序列的重定向该方法会依次应用于每一帧并将前一帧的重定向结果作为第4步优化的初始猜测完成整个运动序列的重定向后通过正向运动学计算所有机器人部件在各时刻的高度。随后将最小高度值从全局平移中扣除以修正高度伪影(如悬浮或穿透地面现象)// 待更第二部分 PHC实时仿真虚拟人的持续控制其paper地址为Perpetual Humanoid Control for Real-time Simulated Avatars其项目地址为zhengyiluo.com/PHC-Site其GitHub地址为github.com/ZhengyiLuo/PHC// 待更