想象一下,你想教一个机器人、一只狼、一只鸟和一个机械蜘蛛如何跳舞,但你只能使用同一套指令。问题在于,它们的身体构造各不相同。机器人的关节有 96 个,狼有 22 个,而鸟有 14 个。如果你尝试为每一个关节提供指令列表(比如“移动关节 1,然后移动关节 2”),那么给鸟提供的指令对机器人来说就毫无意义。如果你尝试给出一个针对全身的宏大指令(比如“跳舞!”),你就会丢失所有的精彩细节,比如鸟是如何扇动翅膀的,或者蜘蛛是如何敲击腿部的。
SAMoR 是一个全新的系统,它通过寻找一种“中间地带”的语言来解决这个问题。
核心思想:“功能组”翻译器
与其通过列举每一个手指或脚趾来描述一段舞蹈动作,不如通过将它们分组为 8 个主要角色 来进行描述。这就像是在描述一段舞蹈时,不是在说每一个指尖的动作,而是将其归类为:
- 头部/颈部
- 上身
- 下身
- 左臂(或翅膀、或前肢)
- 右臂
- 左腿(或后肢)
- 右腿
- 尾巴
无论你是人类、狼还是机器人,你们都有类似于“左臂”或“尾巴”的部分。SAMoR 学习如何将任何生物的具体关节映射到这些 8 个通用的角色中。
它是如何运作的:“智能翻译器”
论文描述了一个实现这一目标的三步过程:
图变换器(大脑):
想象一位翻译员,他观察着一个生物的骨架(其骨骼的地图)及其运动方式。这位翻译员不仅仅是孤立地观察每一根骨头;他理解这些骨头是如何连接在一起的,就像家谱一样。他获取原始的运动数据并对其进行预处理,为翻译做好准备。
“注意力”技巧(秘诀):
这是最棘手的部分。如果仅仅要求系统寻找 8 个组,它可能会偷懒,把所有东西都塞进一个组里,导致这 8 个组变得毫无用处。
为了阻止这种情况,研究人员给了系统一个“监督者”。在训练期间,他们向系统展示了什么是典型的“腿”或“手臂”的例子。如果系统试图将腿和手臂混入同一个组,系统就会受到惩罚。
- 类比: 想象一位老师告诉学生:“你必须把这 100 件玩具分到 8 个盒子里。”如果学生把所有的玩具都放进了 1 号盒,老师会说:“不对!1 号盒是放小汽车的,2 号盒是放娃娃的。”系统通过这种方式学习根据关节的“功能”而非其“名称”将关节分类到正确的“盒子”中。
- 安全网: 有时,机器人的某个关节可能会有一个奇怪的名字,比如“Link_42”,听起来不像是一个“腿”。系统经过训练,可以忽略这些令人困惑的名字,转而只观察该关节是如何运动的。如果它动起来像一条腿,它就会进入“腿”这个盒子。
数字码本(字典):
一旦运动被分类到这 8 个组中,系统就会将其转化为一段简短的数字代码(就像一种秘密语言)。因为每个人都使用相同的 8 个组,所以这个码本是共享的。代表鸟类“扇动翅膀”的编码,与代表人类“挥动手臂”的编码是同一个“词”。
你能用它做什么?
论文展示了一旦拥有了这种共享语言,你可以做三件很酷的事情:
- 动作迁移(“身体替换”): 你可以提取一段人类表演的舞蹈,并立即将其应用到机器人或巨龙身上。系统会将人类的“左臂”运动转化为机器人的“左侧机械肢体”运动,同时保持节奏和风格不变。
- 文本生成动作(“魔杖”): 你可以输入“一个机器人正在快乐地跳舞”,系统就能为任何你选择的机器人骨架生成该动作,因为它理解“机器人”和“快乐舞蹈”在共享语言中的含义。
- 局部编辑(“激光切割器”): 你可以只改变动作中的某一部分。例如,你可以告诉系统:“保持这段舞蹈,但让腿部动作更快。”系统只会编辑“腿部”的标记(tokens),而让“头部”和“手臂”保持原样。
为什么它更好?
以往的方法就像是试图把方榫头塞进圆孔里。它们要么对人类效果很好但对动物失效,要么对动物有效但丢失了精细的细节。
SAMoR 是第一个成功创建通用运动词汇表的系统。
- 它在不同类型的骨架之间复制动作的准确度比以往最优秀的尝试高出 5.8 倍。
- 它不会丢失细节;即使在从鸟类转移到机器人时,它依然保留了翅膀的“扇动”和脚步的“敲击”。
简而言之,SAMoR 教会了计算机:虽然狼的腿和鸟的翅膀看起来不同,但它们的运动方式是相似的;通过专注于这种运动模式,我们可以让任何角色都随着同一段旋律起舞。
技术摘要:SAMoR —— 适用于任意骨架与拓扑结构的关节化物体运动建模
1. 问题陈述
为具有任意骨架拓扑结构(例如人类、四足动物、鸟类、昆虫以及机械装置)的关节化物体进行运动建模仍然是一个重大挑战。现有的最先进运动生成器,特别是文本生成运动(text-to-motion)系统,通常受限于固定的类人骨架(如 SMPL),并具有特定的关节数量、顺序和连接方式。虽然针对动物类别的扩展方案已经存在,但它们通常假设了一个预定义的拓扑结构。
跨拓扑方法已经出现,但面临以下局限性:
- 单 Token 方法 (K=1): 将不同的运动细节压缩为全局表示,导致肢体和附肢动力学信息的丢失。
- 逐关节方法 (K=J): 将每个关节视为独立的个体,阻碍了在具有不同关节数量的骨架之间共享离散运动词表。
- 缺乏共享词表: 缺乏一个可用于跨异构骨架执行运动迁移或基于 Token 生成任务的固定大小的离散运动码本(codebook)。
核心难点在于,虽然关节层级的运动在不同物种之间无法直接对应(由于关节数量和连接方式的不同),但功能性关节组(例如人类的手臂、狼的前肢或鸟的翅膀)在语义运动结构上是共享的。
2. 方法论:SAMoR
作者提出了 SAMoR(面向关节化物体的骨架感知运动表示),这是一种跨拓扑运动表示方法,它将运动片段编码为在任意骨架间共享的少量固定数量(K=8)的部分 Token(part tokens)。
架构概览
SAMoR 实现为一个骨架感知部分 VQ-VAE(向量量化变分自编码器),包含以下组件:
输入表示:
- 运动特征: 逐关节的位置与速度(xtj∈R6)。由于在跨拓扑设置中不同资产的静止姿态不一致,因此省略了局部旋转。
- 骨架条件化: 编码器和解码器通过三种信号受目标骨架的约束:
- 姿态锚点(Pose Anchors): 逐关节的 3D 位置(跨拓扑设置使用第一帧;HumanML3D 使用标准静止姿态)。
- 关节名称嵌入(Joint Name Embeddings): 关节名称(如“前臂”、“左翼_L1”)的 CLIP 嵌入。
- 图结构(Graph Structure): 基于运动学树跳数(hop distance)、链成员身份和边类型学习到的偏差,注入到空间注意力逻辑值中。
编码器(图 Transformer):
- 使用由时间自注意力(沿时间轴 T)和空间自注意力(沿关节轴 J)交替组成的 Transformer 块堆栈来处理运动块。
- 空间注意力利用上述定义的图结构偏差。
- 通过步长为 4 的 1D 卷积将时间轴下采样 4 倍。
部分池化(从关节到 Token):
- 交叉注意力池化: 使用 K=8 个可学习的查询向量将 J 个编码后的关节压缩为 K 个固定大小的部分 Token。
- 特化机制: 在没有监督的情况下,这些查询倾向于坍缩为相同的分布(实际上变为 K=1)。为了防止这种情况,作者引入了注意力监督(Attention Supervision)。
- 注意力监督损失 (Lattn): 在训练期间,通过来自关节名称的规范功能组标签来引导交叉注意力图。每个查询都被鼓励关注一个独特的功能组(例如左腿、尾巴、头部)。没有匹配标签的关节(yj=−1)对损失贡献为零,但仍会被学习到的注意力进行路由。
- 关节名称 Dropout: 为了确保对缺失或非语义名称的骨架具有鲁棒性,训练期间会随机丢弃关节名称嵌入。这迫使模型依赖于运动模式和骨架拓扑,而非仅仅依赖文本标签。
量化:
- 这 K 个部分 Token 使用带有共享码本的**残差向量量化(RVB)**进行量化。这创建了一个在所有骨架间共享的离散运动词表(Z∈{1,…,V})。
解码器:
- 解码器与编码器镜像对称,但通过逆向交叉注意力将 K 个量化的部分 Token 扩展回 J 个目标关节。
- 解码器受目标骨架的姿态锚点、关节名称和图偏差的约束。这使得相同的源 Token 可以在无需重新训练的情况下,解码到完全不同的骨架上(实现跨拓扑迁移)。
下游任务
- 文本驱动生成: 在 (T/4)×K 的 Token 网格上训练一个 MaskGIT Transformer,并以文本和目标骨架为条件。
- 部分级编辑: 可以对特定的部分 Token 进行掩码(masking)和填充(in-filling),从而实现局部的功能组编辑(例如,在保持手臂运动的同时改变腿部运动)。
3. 核心贡献
- 基于图 Transformer 的运动 Token 化: 一种 VQ-VAE,能将任意骨架的运动压缩为 K=8 个共享的部分 Token,从而产生单一的离散运动词表,适用于异构骨架。
- 用于查询特化的注意力监督: 一种新颖的损失函数,通过将每个查询锚定到不同的功能关节组来打破查询对称性,从而防止 K=8 个查询坍缩为单一的全局表示。结合关节名称 Dropout,该方法可泛化至未见过的骨架。
- 统一的异构运动语料库: 一个精选的数据集,包含来自 HumanML3D(人类)、Truebones Zoo(65 种动物)和动画 Objaverse-XL 资产的约 7.1 万个角色和约 10 万个运动。这包括自动化的规范关节匹配和功能组标注。
- 展示的下游能力: 共享的部分 Token 空间支持跨拓扑运动迁移、文本驱动生成以及局部的部分级编辑。
4. 实验结果
作者在持留(held-out)的未知骨架角色上对 SAMoR 进行了评估。
跨拓扑重建:
- SAMoR 实现了 2.75 ×10−2 的归一化 MPJPE。
- 这比最强的适配变量 J 的 Tokenizer 基准(MoGenTS, 16.14 ×10−2)要低(即更好)5.8 倍。
- 它显著优于单 Token 全局表示(K=1)和逐关节 Token 化(K=J)。
- 消融实验证实,移除注意力监督(Lattn)几乎使误差翻倍,而移除 RVQ 则使误差增加了 44%。
HumanML3D 基准测试:
- 当实例化为兼容 HumanML3D 的设置时,SAMoR 在固定骨架专业模型方面仍具竞争力。
- 文本生成运动: FID 为 0.039,与 MoGenTS (0.033) 相当,优于 MoMask (0.045)。
- VQ-VAE 重建: SAMoR-H3D 实现了 17.3 mm MPJPE,优于 MoMask (29.5 mm) 和 T2M-GPT (58.0 mm)。
跨拓扑迁移:
- 定性结果(图 3)显示,SAMoR 在拓扑转换过程中保留了附肢动力学(肢体、尾巴、翅膀),而 K=1 的基准模型仅保留粗略的身体节奏。
- 往返一致性(源 → SMPL → 源)对于 SAMoR 而言最高,表明部分 Token 表示能够通过中间拓扑结构保留运动结构。
5. 重要性与主张
本文声称 SAMoR 解决了当前运动模型受限于固定拓扑这一根本限制。通过识别出功能性关节组是跨拓扑运动的合适抽象层级(而非单个关节或整个身体),SAMoR 实现了:
- 可重用性: 一个单一的离散码本即可用于人类、动物和机械装置。
- 迁移性: 运动可以在解码时直接迁移到未见的骨架。
- 编辑性: 可以实现功能组的局部编辑,且无需重新训练。
作者强调,中间粒度(K=8)至关重要;K=1 会丢失细节,而 K=J 则会阻碍词表共享。注意力监督损失被认为是防止查询坍缩的关键组件,它使模型能够从混合了运动、结构和(可选)文本标签的数据中学习功能簇。
承认的局限性:
- 在跨拓扑设置中,SAMoR 在关节位置而非旋转上进行操作,因为异构资产缺乏统一的静止姿态参考。恢复用于线性混合蒙皮(LBS)的骨骼旋转需要逆运动学(IK)后处理,这会引入扭转歧义。
- K=8 的分组是一个固定的设计选择;自动学习组的数量和结构被建议作为未来的研究方向。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。