引言
我们目前正见证着 3D 内容生成领域的“寒武纪大爆发”。随着文本到图像和图像到 3D 模型的出现,以前艺术家需要数天才能创建出的详细 3D 人形角色,现在只需几秒钟。但在静态 3D 模型和可玩的视频游戏角色之间,存在一个巨大的瓶颈: 绑定 (Rigging) 。
绑定相当于在雕像内部放置骨架的数字化过程。它包括定义骨骼 (骨架构建) 并告诉计算机“皮肤” (网格) 的哪些部分应该随哪块骨头移动 (蒙皮) 。没有绑定,3D 模型就只是一个雕像——它不能走动、挥手或跳舞。
传统上,绑定是一项高度技术性、劳动密集型的工作,由熟练的技术美术 (Technical Artists) 完成。虽然已有尝试使用机器学习来自动化这一过程,但在面对现代 AI 3D 生成器产生的混乱、不规则的几何形状时,现有方法往往会失败。
在这篇深度文章中,我们将探索一篇新论文 HumanRig , 它提出了解决这一僵局的方案。研究人员介绍了两大主要贡献: 一个专门为 AI 生成角色设计的大规模数据集,以及一种新颖的深度学习框架,该框架使用“互注意力 (mutual attention) ”来稳健地绑定从逼真人类到风格化卡通的各种角色。
如果你是计算机图形学或深度学习的学生,了解 HumanRig 如何解决“拓扑问题”,将为你提供一个观察自动化动画流水线未来的迷人视角。
问题所在: 艺术家与 AI 的拓扑结构对比
要理解为什么自动绑定如此困难,我们需要先看看数据。
过去,3D 模型是由艺术家手工制作的。艺术家会创建“干净的拓扑”——模型的线框顺应肌肉的走向。在肘部和膝盖等关节附近会有更多的顶点 (点) 以允许弯曲,且布局合乎逻辑。
然而,AI 生成的模型则不同。它们表面看起来很棒 (纹理和形状是正确的) ,但底层的线框通常是混乱的。三角形不均匀,不存在循环边,顶点密度也不一致。

如 图 1 所示,差异非常明显。右侧的网格 (艺术家创建) 具有结构化、干净的网格。左侧的网格 (AI 生成) 看起来像一张皱巴巴的网。
以前的自动绑定方法,例如基于图神经网络 (GNN) 的方法,严重依赖网格的连接性 (边) 。当它们试图处理 AI 网格这种混乱的“意大利面条”时,往往无法识别关节应该在哪里。
数据缺口
第二个主要障碍是数据。深度学习需要大量的训练数据。然而,高质量的已绑定角色数据集非常稀缺。
- Mixamo: 质量很高,但非常小 (约 100 个角色) 。
- RigNetv1: 较大 (约 2,703 个模型) ,但不一致。骨架没有共享统一的拓扑结构 (有的有尾巴,有的没有,骨骼名称各异) ,这使得训练通用模型变得很困难。
- SMPL: 使用一致的骨架,但专注于没有衣服或头发的逼真人体形状,限制了其在风格化角色上的用途。
这就是 HumanRig 数据集 发挥作用的地方。
奠定基础: HumanRig 数据集
研究人员意识到,要训练一个适用于 AI 网格的模型,他们需要一个由 AI 网格组成的数据集。他们构建了 HumanRig , 这是第一个专为解决此问题而设计的大规模数据集。
该数据集的创建流程巧妙地结合了生成式 AI 和人工优化。

如 图 2 所示,该过程如下:
- 提示词工程 (Prompt Engineering) : 使用大语言模型 (LLM) 为各种角色 (机器人、动漫女孩、未来士兵) 生成详细的文本提示。
- T-pose 生成: 他们使用 ControlNet 和 Stable Diffusion 生成这些角色严格处于 T-pose (手臂伸直,腿伸直) 的图像。这是绑定的标准“绑定姿势”。
- 3D 合成: 图像到 3D 模型 (如 InstantMesh 或 TripoSR) 将这些 2D 图像转换为 3D 网格。
- 绑定与优化: 使用 Mixamo 的工具自动绑定网格,然后由艺术家手动优化以确保高质量。
数据集统计
由此产生的数据集对于该领域来说是一个游戏规则改变者。它包含 11,434 个已绑定的类人模型。至关重要的是,所有模型都共享统一的骨架拓扑 (标准的 Mixamo 骨架) 。这意味着在该数据集上训练的模型可以学习到一致的骨骼结构,无论输入是哥布林还是宇航员。

表 1 突出了规模差异。HumanRig 比以前的 T-pose 数据集大近 10 倍,并且与 RigNet 不同,它严格遵守统一的骨架。
此外,该数据集在身体比例方面极其多样化。在动画中,我们经常谈论“头身比” (例如,逼真的人类是 7-8 个头高,而“Q版”角色可能是 2-3 个头高) 。

图 3 显示 HumanRig 涵盖了从 2 头身比例 (卡通风格) 到 9 头身比例 (英雄/理想化风格) 的所有内容。这种多样性对于训练一个能很好地泛化到任何角色风格的网络至关重要。
方法: 自动绑定架构
有了数据,我们该如何构建模型?研究人员提出了一个框架,将绑定视为两个耦合的任务: 骨架构建 (预测关节位置) 和蒙皮 (预测顶点权重) 。
这个名为 HumanRig (与数据集同名) 的框架旨在克服 AI 网格的“混乱拓扑”问题。

图 4 提供了架构的路线图。让我们将其分解为三个核心组件:
- 先验引导骨架估计器 (PGSE)
- Point Transformer 编码器
- 网格-骨架互注意力网络 (MSMAN)
1. 先验引导骨架估计器 (PGSE)
直接从原始 3D 网格预测 3D 骨架关节非常困难,因为网格的内部体积是空的;计算机只能看到表面的皮肤。
为了解决这个问题,作者利用了“2D 先验”。由于他们拥有每个角色的正面渲染图,他们首先在该图像上运行 2D 姿态估计器 (基于 RTM-Pose) 。这对 AI 来说容易得多,因为 2D 姿态估计是一个成熟的领域。
一旦他们获得了 2D 关节位置 (\(J_{2D}\)),他们就会将其反向投影到 3D 空间中。

在这个公式中:
- \(\mathbf{P}_c\) 是相机投影矩阵的伪逆。
- \(\ddot{\mathbf{X}}_c\) 是相机中心。
- \(\mu\) 代表沿射线的深度。
本质上,他们从相机通过 2D 关节像素发射一条射线,并找到它进入和退出 3D 网格的位置。进入点和退出点之间的中点为粗略 3D 骨架提供了一个稳健的初始猜测。这给网络提供了一个强有力的起点,而不是从零开始猜测。
2. 特征编码: 超越 GNN
以前的大多数方法都使用图神经网络 (GNN) 来理解 3D 身体。GNN 沿着网格的边缘传递信息。但还记得图 1 吗?AI 网格有着糟糕、混乱的边缘。沿着断裂的边缘传递信息会导致断裂的特征。
HumanRig 的作者放弃了 GNN,转而支持 Point Transformer (点变换器) 。
Point Transformer 将网格顶点视为空间中的点云,忽略具体的边缘连接。它根据空间邻近度 (它们在 3D 中的距离) 而不是拓扑连接性 (它们是如何连接的) 对点进行分组。这使得模型对 AI 生成资产的混乱拓扑具有鲁棒性。
- 骨架编码器: 一个简单的多层感知机 (MLP) 编码粗略的骨架关节。
- 网格编码器: U 形 Point Transformer 处理网格顶点以提取深度几何特征。
3. 网格-骨架互注意力网络 (MSMAN)
这是整个操作的“大脑”。绑定是一种共生关系: 要正确放置关节,你需要了解网格形状 (这是粗腿还是细腿?) 。要正确地对皮肤进行权重分配,你需要知道关节在哪里。
MSMAN 使用一种称为交叉注意力 (Cross-Attention) 的机制融合网格特征 (\(f_m\)) 和骨架特征 (\(f_s\)) 之间的信息。
对于正在阅读本文的学生来说,注意力机制 (因 Transformers/ChatGPT 而流行) 允许模型动态地“聚焦”于输入的相关部分。
作者将注意力操作定义为:

在这里,他们准备了查询 (Queries, \(Q\)) 、键 (Keys, \(K\)) 和值 (Values, \(V\)) 。如果我们想用来自网格的信息更新骨架特征,我们将 \(Q\) 设置为骨架,将 \(K, V\) 设置为网格。
注意力公式是标准的缩放点积注意力:

这产生了更新后的特征,其中每个骨架关节都“看过”每个网格顶点并收集了相关上下文,反之亦然。这种相互交换允许网络将粗略骨架细化为精确的最终骨架,并同时生成准确的蒙皮权重。
训练巨兽
网络输出两样东西: 最终的关节位置和蒙皮权重。这些使用特定的损失函数进行训练。
骨架损失: 这是一个标准的均方误差 (MSE) 损失,用于最小化预测关节 (\(P_{ske}\)) 和真实关节 (\(G_{ske}\)) 之间的距离。

蒙皮损失: 蒙皮权重是概率 (例如,肘部的一个顶点可能是 50% 上臂,50% 下臂) 。作者使用 Kullback-Leibler (KL) 散度,它衡量两个概率分布之间的差异。

总损失仅仅是两者的总和:

实验与结果
这种复杂的架构实际上比现有方法效果更好吗?作者与 RigNet (之前的最先进技术) 和 NBS (神经混合形状) 进行了广泛的比较。
定量比较
首先,让我们看看数字。研究人员使用 CD-J2J (倒角距离关节到关节) 等指标比较了模型,该指标衡量预测的骨骼与真实骨骼的偏差程度。数值越低越好。

表 2 揭示了一个重大胜利。即使在较小的数据子集上训练,HumanRig 的表现也优于 RigNet。当在完整数据集上训练时,错误率急剧下降。
他们还进行了消融实验 , 以证明他们特定的架构选择 (PGSE 和 MSMAN) 是必要的。

表 3 显示,移除先验引导骨架估计器 (w/o PGSE) 会导致误差大幅飙升 (0.0110 vs 0.0027) 。这证明了来自 2D 图像的“初始猜测”至关重要。同样,移除互注意力模块 (w/o MSMAN) 会降低蒙皮精度。
此外,他们验证了选择 Point Transformer 而非 GNN 的正确性。

如 表 4 所示,与 GraphSAGE 或 GraphTransformer 相比,Point Transformer 产生了最低的误差和最高的精度,证实了对于这些类型的网格,基于空间的学习优于基于边缘的学习。
对身体形状的鲁棒性
最酷的实验之一涉及在不同的“头身比”上测试模型。

在 图 5 中,蓝线代表仅在“5 头身”角色 (标准卡通比例) 上训练的模型。注意当它试图绑定 2 头身或 9 头身的角色时,误差是如何飙升的。橙线代表在多样化的 HumanRig 数据集上训练的模型——误差在所有体型中都保持平稳且较低。这证明了多样化数据集的价值。
视觉质量
数字固然重要,但动画是视觉的。让我们看看骨架构建。

在 图 6 中,观察蓝色的骨架线。
- RigNet (上): 骨架很乱;关节缺失或漂浮在身体之外。
- NBS (中): 腿部经常对不齐。
- HumanRig (下): 无论角色是高个子苗条女性 (c) 还是矮胖卡通男孩 (e),骨架在解剖学上都是合理的,并且完全符合 Mixamo 标准 (f)。
最后,是变形 (蒙皮) 质量。

表 5 证实 HumanRig 产生了最低的变形误差。在视觉上,这转化为更平滑的弯曲。

在 图 7 中,红框突出显示了竞争对手方法中的伪影——塌陷的网格或“糖纸”扭曲效应。HumanRig 列显示的平滑变形与艺术家创建的真实绑定非常相似。
结论与启示
HumanRig 论文代表了 3D 内容创作民主化向前迈出的重要一步。通过将庞大、多样、高质量的数据集与专门为应对 AI 生成网格的混乱现实而设计的神经架构相结合,作者解决了一个主要瓶颈。
关键要点:
- 拓扑很重要: 传统的 GNN 在混乱的 AI 网格上会失效;忽略边缘的 Point Transformer 是解决方案。
- 先验很强大: 不要让 AI 从零开始猜测 3D 位置。使用 2D 投影作为“小抄” (PGSE) 可以大幅提高准确性。
- 互注意力: 骨架放置和蒙皮权重紧密交织;通过交叉注意力同时解决它们比按顺序解决效果更好。
对于动画行业而言,这意味着未来概念艺术家可以输入提示词,生成 3D 模型,并在几分钟内让其在游戏引擎中跑动,无需手动绑定。虽然目前的方法还不能完美处理手指或面部表情,但它为全自动、高保真的角色动画流水线奠定了基础。
](https://deep-paper.org/en/paper/2412.02317/images/cover.png)