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 自回归学习,从单个点开始逐步增加几何与拓扑细节生成完整网格。
研究背景与动机¶
- 3D 网格是图形学的默认表示:三角网格在游戏、影视制作中广泛使用,因其显式可控、紧凑且兼容现代图形管线,直接生成网格(而非间接表示)具有重要意义。
- 现有 AR 方法按面逐个生成,顺序缺乏几何意义:MeshGPT 等方法给面赋予字典序或遍历序,将网格转为 1D 序列后逐面生成,但这种人为顺序无法在生成过程中捕捉整体形状,也不符合人类粗到精的感知方式。
- 2D 领域已验证"下一尺度预测"的有效性:VAR 等工作从低分辨率到高分辨率逐级生成图像,效果优于光栅扫描顺序;但 3D mesh 因结构不规则,LOD 概念难以直接迁移。
- 网格简化算法天然提供"精到粗"序列:QSlim 等算法通过迭代折叠边将复杂网格简化为粗网格,天然形成不同 LOD 层级,反转此过程即可得到粗到精的生成序列。
- QSlim 存在关键局限:无法处理非流形网格、不能改变拓扑结构、无法将网格简化到单个点——而理想的生成从单个点开始。
- 中间结果无法控制:过去的逐面方法不支持 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
关键发现¶
- ARMesh 在 FID/KID 上大幅领先:Lamp 类 FID 从 MeshGPT 的 19.91 降至 6.60,KID 低一个数量级。
- 中间结果质量远超其他方案:10% AR 步数时 ARMesh COV=41.07 vs EdgeRunner 仅 9.43,因粗到精策略的中间结果本身就是合理的粗网格。
- token 效率最高:平均 2556 tokens/shape,比 EdgeRunner(5840)少 56%。
- 50% 简化仍保持decent质量:平均生成时间约 1 分钟,50% 早停可节省一半时间且结果仍然可用。
亮点与洞察¶
- 核心洞察极其优雅:将 2D 中"下一尺度预测"推广到 3D mesh 的"下一 LOD 预测",通过反转简化算法获得自然的粗到精序列——这是一个连接传统图形学与现代生成模型的精彩桥梁。
- 统一处理任意拓扑:简单复形表示使得非流形、非水密、混合维度的网格都可统一处理,QSlim 处理非流形网格会崩溃或出错。
- 灵活的 early stopping:用户可在任意步停止获得对应精度的网格,这在之前的逐面生成方法中不可能实现——提供了质量-速度的直觉化权衡。
- 拓扑约束的完整推导:对 vertex split 的 9 种拓扑情况推导出完整的 4 条约束规则,supporting 受约束解码保证输出合法性。
- 应用潜力广泛:支持形状细化(从粗略草图精细化)和骨架编辑(提取粗骨架操控精细形状),实用价值高。
局限性¶
- 泛化能力有限:与基于连续空间的扩散模型相比,AR 方法在跨域泛化上仍有差距,可能需要数量级更大的训练数据来缓解。
- 拓扑灵活性过高可能带来噪声:PSC 允许任意拓扑变化,某些情况下可能生成不必要的拓扑结构,作者建议用 PSC 建立初始拓扑后切换到 progressive meshes 限制后续拓扑变化。
- 生成复杂度为线性:每步 vertex split 串行依赖前序结果,未利用并行化;未来可用 parallel vertex splits 将线性降为对数复杂度。
- 不可微:PSC 表示不支持梯度更新,无法与可微渲染等端到端优化结合。
- 数据规模:当前实验主要在 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 的灵活性有很强的实际工程价值