Journal

RigAnything: Template-Free Autoregressive Rigging for Diverse 3D Assets

Isabella Liu, Zhan Xu, Wang Yifan, Hao Tan, Zexiang Xu, Xiaolong Wang, Hao Su, Zifan Shi

UC San Diego

一句话总结

RigAnything 用自回归 Transformer 把任意 3D 资产的绑定(rigging)问题变成”逐个预测下一个关节”的序列生成任务,无需任何骨架模板,就能为人形、四足、鱼类、昆虫等多类物体在数秒内生成骨架拓扑与蒙皮权重。

研究背景

绑定(rigging)是让静态 3D 模型动起来的基础环节:需要为模型生成一套骨架,并计算每个表面点受各关节影响的蒙皮权重,之后就能用线性混合蒙皮(LBS)驱动出各种姿态。随着大规模 3D 生成技术让静态模型的产量暴涨,把这些资产自动变成”可动画(rig-ready)”的需求越来越迫切。

现有自动绑定方法有两条主要路线,各有硬伤:

  • 模板依赖类(Pinocchio、TARig、Neural Blend Shapes、以及并行工作 Make-it-Animatable、HumanRig):依赖预定义骨架模板,只能处理特定类别(多为人形角色的标准姿态),泛化性差。
  • 无模板类(RigNet):用聚类获取关节位置、用最小生成树构建拓扑,但这些非可微算子导致无法端到端训练,鲁棒性与效率都受限,单个模型绑定约需两分钟,且只支持静止姿态(rest pose)。

作者提出的核心观察是:骨架本质上是一棵树,而树可以被序列化。于是把绑定重新表述成一个自回归生成问题——从根关节出发”生长”骨架,逐个概率性地预测下一个关节的位置和它的父节点,天然支持任意关节数量与任意拓扑,从根上摆脱了模板依赖。相比之前方法,RigAnything 首次把自回归模型引入自动绑定任务,且在质量、鲁棒性、泛化性和效率上全面领先,绑定单个物体仅需约 2 秒。

方法

骨架的两类歧义

作者先指出绑定中固有的两类歧义,这也是确定性方法容易失效的根源:

  • 兄弟歧义(Sibling ambiguity):树中同一深度的节点之间没有天然的先后顺序。按 BFS 遍历时,已有 1、2、3 号关节后,下一个究竟是 4 还是 5 两者等价。
  • 拓扑歧义(Topology ambiguity):同一个形状可能存在多套合理的骨架拓扑。

这两类歧义要求方法去建模一个”下一个关节”的分布,而不是给出单一确定答案。RigAnything 用概率建模天然地覆盖了这种不确定性。

骨架序列化

把树结构骨架按广度优先搜索(BFS)顺序展开成一个序列:

\[J = [(j_1, p_1), (j_2, p_2), ..., (j_K, p_K)]\]

其中 \(j_k \in \mathbb{R}^3\) 是第 \(k\) 个关节的 3D 位置,\(p_k\) 是它的父节点索引。BFS 顺序保证 \(p_k < k\),且第一个元素永远是根关节。同深度关节的顺序不确定,训练时随机采样其顺序,用生成式建模覆盖这种不确定性。

给定输入形状 \(S\),用链式法则分解整套骨架的联合概率:

\[P(J \mid S) = \prod_{k=1}^{K} P(j_k, p_k \mid J_{1:k-1}, S)\]

每一步进一步拆成”先预测位置、再预测连接”:

\[P(j_k, p_k \mid J_{1:k-1}, S) = P(j_k \mid J_{1:k-1}, S)\, P(p_k \mid j_k, J_{1:k-1}, S)\]

整体流程

flowchart TD
    A[输入形状<br/>1024 点云 + 法向量] --> B[Shape Tokenizer<br/>MLP]
    P[已预测的骨架序列<br/>BFS 顺序] --> C[Skeleton Tokenizer<br/>MLP + 位置编码]
    B --> D[自回归 Transformer<br/>12 层 · 混合注意力掩码]
    C --> D
    D --> E[关节扩散模块<br/>采样下一关节位置 j_k]
    D --> F[蒙皮模块<br/>解码每点权重 w_l]
    E --> G[连接模块<br/>预测 j_k 的父节点]
    G --> H{父节点是自己?}
    H -- 否 --> P
    H -- 是 --> I[输出完整骨架 + 蒙皮权重<br/>LBS 驱动动画]
    F --> I

关键设计

一、混合注意力掩码(Hybrid attention mask)。形状 token 与骨架 token 拼接后一起送入 12 层 Transformer。其中形状 token 之间用完整自注意力捕获全局几何;骨架 token 先对所有形状 token 做注意力吸收几何信息,再在骨架 token 内部用因果注意力(每个 token 只看之前的 token),从而保证自回归生成所需的因果性。推理时用 KV 缓存加速。

二、扩散建模关节位置(Joint Prediction with Diffusion)。传统自回归模型面向离散输出,而关节位置是连续值。作者借鉴自回归图像生成的思路,用扩散采样来预测连续关节位置。前向过程逐步加噪:

\[j_m = \sqrt{\bar{\alpha}_m}\, j_0 + \sqrt{1 - \bar{\alpha}_m}\, \epsilon\]

训练一个以 Transformer 输出上下文 \(Z\) 和时间步 \(m\) 为条件的噪声估计器 \(\epsilon_\theta\):

\[L_{joint}(Z, j_0) = \mathbb{E}_{\epsilon, m}\left[\, \|\epsilon - \epsilon_\theta(j_m \mid m, Z)\|^2 \,\right]\]

推理时从高斯噪声出发逐步去噪采样出下一关节位置。扩散建模的关键价值在于:它能捕获多模态分布,避免确定性 L2 损失下关节”塌缩”到样本均值(即中轴线)的问题。

三、连接预测(Connectivity)。采样出新关节 \(j_k\) 后,先用融合模块 \(F\) 更新上下文,再由连接模块 \(C\) 对每个已有关节 token 计算父节点概率,用二元交叉熵监督:

\[L_{connect} = -\sum_{i=1}^{k-1}\left[\hat{y}_{k,i}\log q_{k,i} + (1 - \hat{y}_{k,i})\log(1 - q_{k,i})\right]\]

四、蒙皮预测(Skinning)。蒙皮权重矩阵 \(W \in \mathbb{R}^{L \times K}\) 中 \(w_{lk}\) 表示第 \(k\) 个关节对第 \(l\) 个表面点的影响,需满足每点权重和为 1、非负。蒙皮模块 \(G\) 对每个表面点 token 和每个关节 token 成对计算影响分数,再经 softmax 得到权重,用加权交叉熵监督:

\[L_{skinning} = \frac{1}{L}\sum_{l=1}^{L}\left(-\sum_{k=1}^{K}\hat{w}_{l,k}\log w_{l,k}\right)\]

五、端到端联合训练。关节扩散、连接、蒙皮三个损失合成单一目标,让骨架结构与蒙皮权重相互强化地一起学习:

\[L = L_{joint} + L_{connect} + L_{skinning}\]

停止条件:BFS 生成过程中,若某关节的父节点指向自己,则序列结束。

六、在线姿态增强。训练时用真值骨架和蒙皮随机形变输入点云(关节最大旋转 45 度),显著提升对未见姿态和任意姿态的泛化能力。

实现要点:输入 1024 点云,每样本最多 64 个关节;Transformer 为 12 层、隐藏维 1024、16 头注意力;扩散采用余弦噪声调度,训练 1000 步、推理 50 步重采样,条件通过 AdaLN 注入。

实验结果

训练数据来自 RigNet 数据集(2354 个高质量模型)与经过严格筛选的 Objaverse 子集。作者从 Objaverse 原始 21622 个带绑定标注的模型中,剔除关节数超 64 的 811 个、低质量标注的 10471 个,最终保留可靠子集(论文正文一处给出筛选后 12040、另一处给出用于训练的 9686/统计表合计 9388,覆盖人形/双足 7459、四足 543、昆虫 129、鸟类 176、海洋 251、其他 830)。

骨架预测(RigNet + Objaverse 数据集),指标含骨骼匹配的 IoU/精确率/召回率,以及关节、骨线段的 Chamfer 距离:

方法 IoU ↑ Prec. ↑ Rec. ↑ CD-J2J ↓ CD-J2B ↓ CD-B2B ↓
RigNet 0.456 0.424 0.591 0.048 0.042 0.030
RigAnything 0.768 0.789 0.766 0.034 0.035 0.020

在人形子集上与人形专用方法对比,优势更大:

方法 IoU ↑ Prec. ↑ Rec. ↑ CD-J2J ↓ CD-J2B ↓ CD-B2B ↓
NBS 0.337 0.313 0.377 0.124 0.107 0.377
TARig 0.603 0.591 0.637 0.100 0.090 0.079
RigAnything 0.886 0.904 0.884 0.030 0.033 0.018

连接预测(给定真值关节),指标含二分类准确率、CD-B2B 和编辑距离 ED:

方法 Class. Acc. ↑ CD-B2B ↓ ED ↓
RigNet 0.358 0.017 12.663
RigAnything 0.965 0.001 2.150

蒙皮权重预测(不依赖几何先验):

方法 Prec. ↑ Rec. ↑ Avg. L1 ↓
RigNet 0.755 0.828 0.485
RigAnything 0.825 0.798 0.432

消融实验(骨架预测)验证了各组件的作用:

配置 IoU ↑ Prec. ↑ Rec. ↑ CD-J2J ↓ CD-J2B ↓ CD-B2B ↓
无关节扩散 0.308 0.277 0.364 0.068 0.059 0.046
无法向量注入 0.559 0.603 0.547 0.053 0.048 0.034
无姿态增强 0.741 0.768 0.732 0.037 0.037 0.022
完整模型 0.765 0.786 0.765 0.033 0.034 0.019

其中关节扩散影响最大:去掉后 IoU 从 0.765 掉到 0.308,几乎三倍差距,印证了确定性 L2 损失会导致关节塌缩到均值位置。法向量注入对蒙皮预测也有帮助(法向相似的表面通常测地距离也近,有助于推断连接信息)。效率方面,RigAnything 在 A100 上约 2 秒完成绑定,而 RigNet 约 120 秒、TARig 与 Pinocchio 约 40 秒。方法还能对由真实图像经 image-to-3D 管线生成的形状预测出合理骨架,展示了较强的真实数据泛化性。

亮点与局限

亮点:

  • 把树结构骨架序列化为 BFS 序列 + 自回归生成,是一个优雅且通用的表述,从根上摆脱骨架模板,天然支持任意关节数与任意拓扑。
  • 用扩散建模连续关节位置,恰当地解决了兄弟/拓扑歧义带来的多模态问题,避免关节塌缩,消融显示这是性能的关键。
  • 端到端可训练、单物体约 2 秒,比 RigNet 快约 60 倍,且在多类别(人形、四足、鸟类、海洋、昆虫、可动刚体)上全面领先。
  • 混合注意力掩码设计清晰:几何全局感知 + 骨架因果生成,兼顾表达力与自回归性质。

局限(作者列出):

  • 无法控制绑定的细节层级(level of detail),艺术家往往需要对头、手等区域做更精细的绑定,需要更细粒度的数据和可控条件。
  • 仅依赖几何信息推断绑定,缺乏纹理线索时会产生歧义,未来可引入纹理信息。
  • 蒙皮权重未考虑材质等不同运动风格,需要引入动态数据训练,但高质量动态数据稀缺。

延伸思考

RigAnything 把”生成序列”的自回归范式成功迁移到了图形学里一个看似结构化、非序列的问题上,其核心思路——用 BFS 把树拍平成序列、再用扩散处理其中的连续量——具有相当的可迁移性,对网格生成、场景图生成等其他树/图结构任务有启发。值得注意的是,同届 SIGGRAPH 2025 出现了多篇自回归绑定工作(如 UniRig、ARMO/OmniRig 等),说明”自回归 + 大规模绑定数据”正在成为该方向的主流范式;后续 TokenRig、Puppeteer 等进一步把骨架与蒙皮统一进单一 token 序列或扩展到动画生成。RigAnything 作者自己指出的两个方向——细节层级可控和引入纹理/动态线索——恰恰点出了当前纯几何、单一粒度绑定的天花板,也是把自动绑定从”能用”推向”艺术家可用”的关键一步。此外,作者对 Objaverse 做的严格筛选(保留约万级高质量绑定资产)本身也是对社区有价值的数据贡献。