跳转至

MeshArt: Generating Articulated Meshes with Structure-Guided Transformers

会议: CVPR 2025
arXiv: 2412.11596
代码: https://daoyig.github.io/Mesh_Art/ (有)
领域: 3D视觉
关键词: 铰接物体生成, 三角网格生成, 层次化Transformer, 结构引导, 部件关节

一句话总结

MeshArt提出了一种层次化Transformer方法,通过将铰接物体分解为高层关节结构和低层部件网格两阶段生成,自回归地生成紧凑、清晰的三角网格铰接物体,在结构覆盖率上提升57.1%,网格FID提升209分。

研究背景与动机

  1. 领域现状:3D网格生成领域已有MeshGPT、PolyGen等方法生成静态三角网格,近期MeshAnythingV2和MeshXL等进一步提升了生成质量。然而,这些方法都只生成静态物体。铰接物体(如可开门的柜子、旋转的座椅轮子)在真实环境中无处不在。

  2. 现有痛点:(1) 生成铰接物体需要同时建模功能性部件运动和清晰几何,现有方法难以兼顾;(2) NAP等方法使用隐式场解码几何导致过度光滑;(3) CAGE依赖部件检索,导致几何不一致;(4) 现有铰接物体数据集(PartNet-Mobility)规模过小。

  3. 核心矛盾:铰接物体生成的难点在于分离处理结构(哪些部件可动、如何运动)和几何(每个部件的详细三角网格)之间的关系,同时确保部件之间的几何连贯性。

  4. 本文目标 以紧凑三角网格形式生成具有锐利细节和正确关节属性的铰接3D物体。

  5. 切入角度:将铰接网格分解为高层结构(包围盒+关节属性)和低层几何(部件三角网格),两者都统一为三角序列表示,实现一致的层次化生成。

  6. 核心 idea:将包围盒表示为三角网格使得结构和几何可以统一为三角序列预测任务,用两级Transformer分层生成铰接物体。

方法详解

整体框架

MeshArt分为两阶段:第一阶段(结构生成),用结构VQ-VAE编码包围盒+关节信息为量化token序列,结构Transformer自回归预测该序列以生成物体结构。第二阶段(部件网格生成),对每个部件,用几何VQ-VAE编码三角网格为token序列,几何Transformer以结构和接合面为条件,自回归预测每个部件的三角序列。最终合并所有部件网格。

关键设计

  1. 统一三角序列表示的结构编码:

    • 功能:将物体结构(包围盒、关节类型/位置/方向、语义标签、潜在几何)编码为可自回归预测的序列
    • 核心思路:将每个部件的AABB包围盒三角化为12个三角面,所有部件的包围盒按从低到高排序后连接成一个三角序列。用图卷积编码器将三角坐标+关节属性+CLIP语义向量+潜在几何编码为特征向量,通过残差向量量化(RQ,深度D=6)映射到结构codebook。解码器用交叉熵损失重建包围盒坐标、关节类型/存在性/位置,用L2损失回归关节方向和语义/几何特征。
    • 设计动机:将包围盒也表示为三角网格是关键创新——统一了结构和几何的表示形式,使两级生成框架更一致。与直接用顶点坐标或min/max角点相比,三角表示在COV指标上从35.0/36.3提升到39.1。
  2. 接合面机制(Junction Face Mechanism):

    • 功能:确保逐部件生成时部件之间的几何平滑过渡
    • 核心思路:在几何VQ-VAE中增加一个预测头,对每个三角面预测其作为接合面(连接其他部件的面)的概率 \(p_k^i\)。通过计算每个三角面到相邻部件的距离来生成GT标签。生成时,已生成部件的接合面token被缓存,并作为下一个部件生成的条件注入到序列开头。
    • 设计动机:逐部件生成时部件边界处容易出现不连贯。接合面提供了局部几何连接的关键线索——例如椅子轮子的接合面强烈暗示了底座的形状和连接点。
  3. 结构引导的部件网格生成:

    • 功能:以全局物体结构和局部接合面为条件,生成每个部件的三角网格
    • 核心思路:几何Transformer的输入序列由三部分构成:(1) 当前部件在全局结构中的token经cross-attention与全局结构交互后放在序列前端;(2) 相邻已生成部件的接合面token;(3) 当前部件的三角token。仅对三角token计算损失。关键是采用灵活位置编码——由于条件序列长度不固定(接合面数量变化),固定从三角token序列开始分配位置编码,条件序列使用常量位置编码向量。
    • 设计动机:条件序列长度变化会导致三角token的起始位置编码不一致,影响长程依赖学习。灵活位置编码解决了这一问题。

损失函数 / 训练策略

  • VQ-VAE用交叉熵损失预测量化后的三角坐标(128³离散化空间),RQ深度D=6
  • Transformer用交叉熵损失进行next-token预测
  • 训练含数据增强:随机偏移、随机缩放、平面抽取。部件面数<700的用于训练
  • 先跨类别预训练再单类别微调
  • 补充注释了PartNet数据集的关节信息(150+小时工作量),使铰接物体数量增加6倍以上

实验关键数据

主实验

结构生成质量(AID):

类别 NAP COV↑ NAP MMD↓ CAGE COV↑ CAGE MMD↓ MeshArt COV↑ MeshArt MMD↓
Chair 28.3 3.7 32.9 3.9 43.3 3.6
Table 21.1 3.0 25.9 3.9 40.2 2.3
Storage 30.6 2.6 33.4 4.7 39.1 2.1

网格生成质量(FID/KID):

类别 NAP FID↓ MeshArt FID↓ NAP KID↓ MeshArt KID↓
Chair 267.7 40.8 0.263 0.008
Table 252.6 14.3 0.238 0.002
Storage 170.6 8.1 0.167 0.002

消融实验

配置 AID COV↑ AID MMD↓
Min/Max Bounds 36.3 4.6
Bbox Corners 35.0 4.4
MeshArt (三角) 39.1 2.1
配置改变 影响
无接合面条件 部件连接不平滑,FID明显上升
无全局结构条件 形状一致性差
无灵活位置编码 只能生成简单形状

关键发现

  • 三角表示远优于其他包围盒参数化:使用三角网格表示包围盒比min/max corners在COV上高4.1个点
  • FID/KID改善巨大:相比NAP,平均FID改善209分以上,因为NAP使用Marching Cubes导致过度镶嵌和过度光滑
  • 数据集扩充效果显著:新注释的PartNet比PartNet-Mobility大6倍+,直接支撑了数据驱动方法的训练
  • 灵活位置编码的重要性:没有它模型退化为只能生成简单形状
  • 支持条件生成:可以从点云或草图条件生成铰接物体

亮点与洞察

  • 统一三角表示的巧妙性:将包围盒也三角化,使结构和几何共享同一种序列表示,大幅简化了两级框架的设计。这个"统一表示"思路可以迁移到其他层次化生成任务。
  • 接合面机制的优雅:不需要额外的对齐网络或后处理,仅通过将接合面token作为条件注入,就自然实现了部件间的平滑过渡。这比检索+拼接的方式更端到端。
  • 数据集贡献:花150+小时手工标注PartNet的关节信息,将可用铰接物体增加6倍以上,为这个方向提供了急需的数据基础。

局限与展望

  • 部件面数限制为<700(受Transformer上下文窗口限制),无法生成高精度细节网格
  • 仅覆盖3个类别(椅子、桌子、储物家具),未涉及更复杂的铰接物体(如机器人、车辆)
  • 生成速度受限于逐部件自回归,部件数多时效率低
  • 关节类型仅支持fixed/revolute/prismatic三种,未覆盖更复杂的运动模式
  • 部件排序依赖启发式规则(从低到高),可能影响特定结构的生成质量

相关工作与启发

  • vs NAP: NAP用隐式场+Marching Cubes生成几何,导致过度光滑和过度镶嵌。MeshArt直接生成三角网格,获得紧凑清晰的结果(FID差距200+分)
  • vs CAGE: CAGE依赖部件检索,导致几何不一致。MeshArt端到端生成结构和几何,避免了检索带来的不匹配问题
  • vs MeshGPT: MeshGPT只生成静态网格,MeshArt扩展到铰接物体,引入了结构-几何层次化生成和接合面机制

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首个以三角网格形式生成铰接物体的层次化方法,统一表示设计非常巧妙
  • 实验充分度: ⭐⭐⭐⭐ 全面对比+消融+新颖性分析+条件生成,数据集贡献也很大
  • 写作质量: ⭐⭐⭐⭐ 方法描述清晰,图表精美,论文组织合理
  • 价值: ⭐⭐⭐⭐⭐ 方法+数据集双重贡献,对铰接物体生成方向有开创性推动

相关论文