跳转至

ARMesh: Autoregressive Mesh Generation via Next-Level-of-Detail Prediction

会议: NeurIPS 2025
arXiv: 2509.20824
代码: 项目主页
领域: 3d_vision
关键词: 3D mesh generation, autoregressive model, level-of-detail, mesh simplification, simplicial complex
单位: 香港中文大学(深圳)、香港大学、腾讯混元

一句话总结

提出将 3D mesh 生成建模为"由粗到精"的逐级细化过程(next-level-of-detail prediction),通过反转广义网格简化算法(GSlim)获得渐进式细化序列,再用 Transformer 自回归学习,从单个点开始逐步增加几何与拓扑细节生成完整网格。

研究背景与动机

  1. 3D 网格是图形学的默认表示:三角网格在游戏、影视制作中广泛使用,因其显式可控、紧凑且兼容现代图形管线,直接生成网格(而非间接表示)具有重要意义。
  2. 现有 AR 方法按面逐个生成,顺序缺乏几何意义:MeshGPT 等方法给面赋予字典序或遍历序,将网格转为 1D 序列后逐面生成,但这种人为顺序无法在生成过程中捕捉整体形状,也不符合人类粗到精的感知方式。
  3. 2D 领域已验证"下一尺度预测"的有效性:VAR 等工作从低分辨率到高分辨率逐级生成图像,效果优于光栅扫描顺序;但 3D mesh 因结构不规则,LOD 概念难以直接迁移。
  4. 网格简化算法天然提供"精到粗"序列:QSlim 等算法通过迭代折叠边将复杂网格简化为粗网格,天然形成不同 LOD 层级,反转此过程即可得到粗到精的生成序列。
  5. QSlim 存在关键局限:无法处理非流形网格、不能改变拓扑结构、无法将网格简化到单个点——而理想的生成从单个点开始。
  6. 中间结果无法控制:过去的逐面方法不支持 early stopping 获取不同精度的网格;用户无法灵活控制生成质量与耗时的权衡。

方法详解

整体框架

整体流程分为三步: 1. GSlim 简化:将输入网格(推广为简单复形)通过广义简化算法逐步折叠至单个点,产生从精到粗的简化序列; 2. PSC 反转:将简化序列反转为渐进式细化序列(Progressive Simplicial Complex),每步为一个 vertex split 操作; 3. AR 学习与生成:将细化序列 token 化后,用 Transformer 自回归学习;生成时从单个点开始,逐步预测细化操作以重建完整网格。

关键设计 1:GSlim 广义网格简化

  • 简单复形(Simplicial Complex, SC):将网格推广为可包含孤立点和边段(不一定属于三角形)的表示,使得任意网格最终可简化到单点。
  • 广义 quadric 定义:为每种维度的 simplex(点 d=0、边 d=1、三角形 d=2)分别定义 quadric 系数 \(\mathbf{A} = \mathbf{I} - \sum_{i=1}^{d} \mathbf{e}_i \mathbf{e}_i^\top\),统一度量几何误差。
  • 拓扑可变的边折叠:引入"虚拟边"桥接不相连组件(通过 Delaunay 四面体化获得),使边折叠可改变拓扑结构,解决 QSlim 拓扑不变的瓶颈。
  • 惩罚因子控制保留偏好:对顶点/边界边/面分别设置惩罚权重(默认 VEF=0,1,1),通过加权 quadric 控制简化优先级。
  • n 个顶点的网格恰好需要 n-1 步简化至单个顶点。

关键设计 2:PSC 细化序列与拓扑标签

  • 每次 vertex split 需记录四类信息:①待分裂的顶点索引;②分裂后位置是原点还是中点(boolean);③新顶点相对偏移向量;④邻接 simplex 的拓扑标签列表。
  • 拓扑标签:为每个邻接 simplex 分配 0~8 共 9 种情况(点 2 种、边 4 种、面 3 种),描述 split 后局部连接如何变化。
  • 四条约束规则:作者完整推导了拓扑标签间的硬约束规则,保证预测组合的合法性,约束主要体现在边的标签上。

关键设计 3:Token 化与受约束解码

  • 紧凑 token 布局:每个 vertex split 操作的 token 序列包含:2 bytes 顶点索引(int16,0-255)→ 6 bytes 偏移量(3×fp16,256-511)→ 1 byte 顶点拓扑(512-513)→ 面拓扑标签(514-516)→ 边拓扑标签(517-520)→ 1 byte 中点标志。
  • BPE 压缩:使用 Byte Pair Encoding 压缩 token,词表大小 16384,序列长度缩减 2~3 倍。
  • 受约束解码:设计布尔函数 \(\phi(x_i | x_1, \ldots, x_{i-1})\) 验证 token 合法性;基于深度优先搜索的树遍历+随机采样确保多样性,同时保证所有预测操作拓扑一致。

损失函数

标准的自回归 next-token prediction 交叉熵损失,无特殊设计(论文强调核心贡献在表示与序列化方案,学习方案采用最简单的方式)。

实验关键数据

Table 3:ShapeNet 无条件生成(四类别,与 MeshGPT 等对比)

类别 方法 COV↑ MMD↓ 1-NNA FID↓ KID↓
Chair MeshGPT 43.28 3.29 75.51 18.46 0.010
Chair ARMesh 36.67 2.44 67.40 1.54 0.0001
Table MeshGPT 45.68 2.36 72.88 6.24 0.002
Table ARMesh 32.94 1.94 69.46 2.05 0.0002
Bench MeshGPT 55.23 1.44 68.24 8.72 0.001
Bench ARMesh 56.29 0.75 39.81 2.63 0.0001
Lamp MeshGPT 53.88 3.94 65.73 19.91 0.004
Lamp ARMesh 70.68 1.54 41.20 6.60 0.0005

Table 4:不同 token 化方案在不同 AR 步数比例下的对比(Bench 类别)

方法 COV@10% COV@50% COV@100% MMD@10% MMD@100% Token/shape
EdgeRunner 9.43 40.33 54.90 10.32 0.81 5840
BPT 15.15 34.11 56.35 3.02 0.76 3235
ARMesh 41.07 54.84 56.29 1.67 0.75 2556

Table 2:不同 LOD 比例下的生成质量(Lamp 类别)

  • 10% 步数 → 23 顶点/36 面,FID=49.91
  • 50% 步数 → 109 顶点/209 面,FID=10.44
  • 100% 步数 → 216 顶点/418 面,FID=6.60

关键发现

  1. ARMesh 在 FID/KID 上大幅领先:Lamp 类 FID 从 MeshGPT 的 19.91 降至 6.60,KID 低一个数量级。
  2. 中间结果质量远超其他方案:10% AR 步数时 ARMesh COV=41.07 vs EdgeRunner 仅 9.43,因粗到精策略的中间结果本身就是合理的粗网格。
  3. token 效率最高:平均 2556 tokens/shape,比 EdgeRunner(5840)少 56%。
  4. 50% 简化仍保持decent质量:平均生成时间约 1 分钟,50% 早停可节省一半时间且结果仍然可用。

亮点与洞察

  1. 核心洞察极其优雅:将 2D 中"下一尺度预测"推广到 3D mesh 的"下一 LOD 预测",通过反转简化算法获得自然的粗到精序列——这是一个连接传统图形学与现代生成模型的精彩桥梁。
  2. 统一处理任意拓扑:简单复形表示使得非流形、非水密、混合维度的网格都可统一处理,QSlim 处理非流形网格会崩溃或出错。
  3. 灵活的 early stopping:用户可在任意步停止获得对应精度的网格,这在之前的逐面生成方法中不可能实现——提供了质量-速度的直觉化权衡。
  4. 拓扑约束的完整推导:对 vertex split 的 9 种拓扑情况推导出完整的 4 条约束规则,supporting 受约束解码保证输出合法性。
  5. 应用潜力广泛:支持形状细化(从粗略草图精细化)和骨架编辑(提取粗骨架操控精细形状),实用价值高。

局限性

  1. 泛化能力有限:与基于连续空间的扩散模型相比,AR 方法在跨域泛化上仍有差距,可能需要数量级更大的训练数据来缓解。
  2. 拓扑灵活性过高可能带来噪声:PSC 允许任意拓扑变化,某些情况下可能生成不必要的拓扑结构,作者建议用 PSC 建立初始拓扑后切换到 progressive meshes 限制后续拓扑变化。
  3. 生成复杂度为线性:每步 vertex split 串行依赖前序结果,未利用并行化;未来可用 parallel vertex splits 将线性降为对数复杂度。
  4. 不可微:PSC 表示不支持梯度更新,无法与可微渲染等端到端优化结合。
  5. 数据规模:当前实验主要在 ShapeNet 子集上进行(<1700 顶点/<800 面),对更大规模高精度网格的表现待验证。

相关工作

  • 间接网格生成:通过隐式场(SDF / NeRF)+ marching cubes 后处理获得网格,缺点是后处理引入误差且难以控制网格质量。
  • 直接网格生成(逐面方式):PolyGen → MeshGPT → PivotMesh → EdgeRunner → BPT,核心范式是将网格面序列化后 AR 生成;ARMesh 与之根本区别在于按 LOD 而非按面生成。
  • LOD 方法:传统 QSlim/Progressive Meshes 提供多尺度;深度学习中如 EdgeRunner 仅支持 3 个离散 LOD 且非内在建模;VertexRegen(并发工作)基于 progressive meshes 但要求初始与目标同胚,ARMesh 无此限制。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ — 将经典网格简化反转为生成序列的思路极具原创性,GSlim→PSC→AR 的技术路线完整且巧妙
  • 实验充分度: ⭐⭐⭐⭐ — 多类别 ShapeNet 对比、消融研究(惩罚因子/LOD/流形)充分,但缺少更大规模数据集和条件生成实验
  • 写作质量: ⭐⭐⭐⭐⭐ — 从 QSlim 到 GSlim 到 PSC 的递进叙述清晰严谨,背景自洽,图示丰富
  • 价值: ⭐⭐⭐⭐ — 打开了 LOD 式网格生成的新范式,early stopping 的灵活性有很强的实际工程价值