MagicArticulate: Make Your 3D Models Articulation-Ready 论文解读

目录

一、概述

二、Articulation-XL

1、数据集收集与过滤

2、父子层级关系

三、MagicArticulate

1、自回归骨架生成

2、预测蒙皮权重

四、实验


一、概述

该论文提出MagicArticulate框架,旨在将静态的3D模型自动转换为支持动画的articulation-ready资产。

以往的3D模型都是静态模型,转换成可连接的关节模型需要专业人员手动放置骨骼,定义联合层次结构。而后续的自动骨架提取方法,对于复杂的形状很难实现,或者依赖于固定的模版,有很差的通用性。

主要贡献:

(1)第一个包含over 33k的高质量关节注解数据集

(2)一个两阶段的框架,用于有效地处理骨架的生成和蒙皮权重预测

(3)在现实世界的动画pipeline中展示出SOTA性能

下图用Rodin Gen-1和Tripo 2.0生成input mesh,Maya Software Renderer渲染的骨骼和蒙皮

二、Articulation-XL

1、数据集收集与过滤

Articulation-XL是MagicArticulate模型后续使用到的数据集,因为考虑到传统数据集缺乏对动画所需骨骼和权重的标注,所以建立了一个新的数据集。

数据来源:Objaverse-XL(原有1000w+个3D models)中筛选出大约33万个候选模型,覆盖人物、动物、工具、机械等可动画的物体类别。

初步过滤:基于骨架和网格相似性去除重复数据,排除仅单个skeleton结构的模型,并过滤over 100 skeletons的数据。

基于VLM过滤:由于经过初步过滤还有一些无法评定的骨骼(如下图),所以进行基于VLM的过滤。基于VLM从四个角度来渲染每个对象的skeleton,并利用GPT-4o根据特定标准评估骨架质量(比如该骨骼是否合理),之后使用Pyrended4形成了四视图渲染、3D模型以及骨架。形成了Articulation-XL。其中每个模型的骨骼数量在2-100,关节数3-101个。

类别标注:利用了一个VLM进行类别标注,人类相关的最多。

2、父子层级关系

根据自动化骨骼生成工具进行初步生成,比如选择几何中心为根关节,利用最小生成树/层次聚类方法来确定父子关节。

另外通过VLM来进行过滤,如果VLM判定层次不合理,则重新进行骨骼标注。

还可以加以物理仿真,测试是否存在网格变形异常(撕裂或者穿透),来判定层次存在问题。

注意Articulation-XL数据集中没有蒙皮权重,是后面预测的。

三、MagicArticulate

1、自回归骨架生成

相较于以往的固定模版的方法,MagicArticulate使用一个自回归生成框架来处理3D对象的固有结构多样性。

那为什么要建立上面的数据集呢,当然是与自回归生成的skeleton进行比较啦,做损失函数用的。

目的:根据一个3D mesh生成skeleton。骨架由两个部分组成,一组关节定义空间位置,骨连接决定拓扑结构,就是骨骼上的点和线,最终得到一个条件概率

自回归网络原理如下:

(1)利用rodin Gen1生成3D mesh作为输入,利用点云编码器(PointNet++)提取3D模型的点云信息(全局特征,作为骨骼的条件),一共采样8192个点。

在这一部分论文提到了MeshAnything和MeshAnythingv2模型,前者是文本/图像生成3D网格的框架,结合了扩散模型和可微渲染技术,后者在其基础上,支持更复杂的网格编辑和细节生成。

(2)利用Shape Encoder(论文中用的是Michelangelo预训练的encoder模型,很多模型都是encoder+transformer的也合理)将原始三维点云转换为适合transformer处理的固定长度的shape token部分,用于后续自回归的生成,最后接一个【BOS】作为结尾。

(3)骨骼结构序列化

对Articulation-XL数据集中的骨骼进行标记化,每一个skeleton标记成一个序列,每一个骨骼由两个连接的关节定义(6个坐标,两组xyz)。

标记过程:为了保证一致和离散的表示,将输入mesh和相应的skeleton缩放并转换成一个单位cube [-0.5,0.5]^3,来确保空间对齐,之后将归一化的关节坐标映射到128^3的空间中(就是放大数值),从而得到一共b个skeleton总共序列长度为6b。

层次标记顺序:按照层次顺序(前序遍历)将关节排列为序列。

坐标顺序:对于每一个关节的空间坐标按照z-y-x升序排序。

将骨骼标记后,作为自回归的transformer的输入**skeleton token部分,**最后接一个【EOS】作为结尾。

下图Hierachical sequence ordering第二列为实际的标记方式,即从根节点往子节点放射式标记。

相比于MeshGPT,我们基于数据集的分析省略了VQ-VAE的compress step,为什么呢?因为数据集模型比较简单,本身数据量不多,压缩只会造成伪影。

(4)自回归架构部分

注意到,AR Transformer部分最终输出只有skeleton的结构,shape tokens只是作为输入的参考信息。

自回归架构使用decoder-only的架构,OPT-350M模型,这个模型在序列建模中效果较好。,并利用交叉损失来进行监督。

其中两个不同的T就是GT和pred的骨骼序列。

2、预测蒙皮权重

(1)为什么要用蒙皮权重?

蒙皮权重(Skinning Weights)定义了模型中每个顶点(Vertex)受哪些骨骼关节(Joints)的影响,以及影响的程度。当骨骼运动时,顶点位置根据权重和关节变换动态调整,从而实现平滑的形变。

想象你穿着连帽卫衣做「抬起手臂」的动作:

  • 肘部弯曲时 :卫衣袖子在手肘处的褶皱会紧贴肘关节移动(受肘关节控制)。
  • 靠近肩膀的袖子部分 :既会被肩膀抬起带动,也会被肘部弯曲轻微牵拉(同时受肩和肘影响 )。
    这里的「布料如何跟随身体运动」就是蒙皮权重在3D模型中的体现。

假设骨骼有一个顶点A靠近肘部,顶点B靠近肩膀。那么顶点A可能受到肘关节权重=0.9,肩关节权重=0.1,因为顶点A主要随肘部移动,形成明显褶皱。而顶点B可能受到肘关节权重=0.3,肩关节权重=0.7。

(2)为什么需要人工智能预测?

手动调节需要艺术家的调整,依赖经验又耗时。

(3)预测蒙皮权重流程:

体积测地距离计算预处理+Functional Diffusion

(4)体积测地距离计算预处理

目的:量化顶点与关节之间的几何关联性(非表面距离)

方法 :将模型体素化为三维网格。使用Dijkstra算法在体素空间内计算顶点到各关节的最短路径距离。

示例:对于管道内部的顶点,体积测地距离可穿透管壁直接连接关节,而表面测地距离会沿管道外壁绕行

(4)Functional Diffusion预测网络

核心思想:

将权重视为连续函数: 蒙皮权重是顶点到关节的连续影响函数,而非离散分配。扩散模型通过逐步去噪,生成平滑且符合几何规律的权重分布。

体积测地距离先验:在三维体积空间(而非表面)计算顶点到关节的测地距离,更准确建模空心结构。

网络架构:DDPM,但是应该提前编码了

公式解释:可以将这个扩散模型定义为,其实就是所有顶点的蒙皮权重分布状态。那么就是时间步t下,顶点x的蒙皮权重分布。

然后目的就是训练一个denoiser D:

四、实验

对比实验和效果。

左侧为使用ModelsResource数据集的效果,右侧为Articulation-XL数据集的效果,这应该是在不同数据集上的泛化性。

后续的都是对比GVB和RigNet的量化信息。

这个就是第一步采集点信息的数量的对比。

对于预测蒙皮权重中,是否使用测地线,归一化,和shape features(有吗这个,我忘了在哪里了)

相关项目:MagicArticulate: Make Your 3D Models Articulation-Ready

相关论文:https://arxiv.org/pdf/2502.12135​​​​​​

相关推荐
东风西巷44 分钟前
Balabolka:免费高效的文字转语音软件
前端·人工智能·学习·语音识别·软件需求
非门由也1 小时前
《sklearn机器学习——管道和复合估计器》联合特征(FeatureUnion)
人工智能·机器学习·sklearn
l12345sy1 小时前
Day21_【机器学习—决策树(1)—信息增益、信息增益率、基尼系数】
人工智能·决策树·机器学习·信息增益·信息增益率·基尼指数
非门由也1 小时前
《sklearn机器学习——管道和复合估算器》异构数据的列转换器
人工智能·机器学习·sklearn
计算机毕业设计指导1 小时前
基于ResNet50的智能垃圾分类系统
人工智能·分类·数据挖掘
飞哥数智坊1 小时前
终端里用 Claude Code 太难受?我把它接进 TRAE,真香!
人工智能·claude·trae
小王爱学人工智能2 小时前
OpenCV的阈值处理
人工智能·opencv·计算机视觉
新智元2 小时前
刚刚,光刻机巨头 ASML 杀入 AI!豪掷 15 亿押注「欧版 OpenAI」,成最大股东
人工智能·openai
机器之心2 小时前
全球图生视频榜单第一,爱诗科技PixVerse V5如何改变一亿用户的视频创作
人工智能·openai
新智元2 小时前
2025年了,AI还看不懂时钟!90%人都能答对,顶尖AI全军覆没
人工智能·openai