MeshFIM: Local Low-Poly Mesh Editing via Fill-in-the-Middle Autoregressive Generation¶
会议: NeurIPS 2026
arXiv: 2605.08744
OpenReview: https://openreview.net/forum?id=20I21ZHLci
领域: 3D生成与编辑
关键词: 低多边形网格生成, 局部网格编辑, 自回归生成, Fill-in-the-Middle, 几何补全
一句话总结¶
提出首个基于 Fill-in-the-Middle(FIM)自回归范式的局部低多边形网格编辑模型 MeshFIM,通过显式边界标记、拓扑位置编码与门控差分几何编码器,实现无缝缝合且保持周围边流结构的高质量局部拓扑重构。
研究背景与动机¶
三维低多边形网格(low-poly mesh)在游戏工业资产制作、动画绑定与轻量化实时渲染中占据核心地位,其拓扑结构不仅是几何曲面的离散化表示,更凝聚了三维艺术家的布线设计意图。真实场景下获取或生成的网格往往不可避免地存在局部缺陷:3D 扫描因遮挡或噪声产生孔洞与破损,新兴 AI 自动生成的网格经常出现翻转面、局部拓扑混乱或面片密度异常;此外,在资产微调与骨骼绑定时,美术师往往仅需对局部关节或特征区域重新布线(rewire)或细化,而希望完整保留其余精雕细琢的高质量区域。
然而,现存的网格处理范式在此类局部编辑任务中面临两难困境。传统几何编辑(如 Liepa 孔洞修补、泊松表面重构或各类细分算法)通常针对稠密三角面汤(triangle soup),仅遵循曲面平滑与距离逼近等几何准则,不仅破坏原有的面片连接拓扑,更无法感知周围网格的边流(edge flow)与高层语义意图。另一方面,新兴的自回归网格生成模型(如 PolyGen、MeshGPT、MeshAnything、QuadGPT 等)虽能生成艺术家级拓扑,但均采用全局“全有或全无”(all-or-nothing)的从头生成策略;一旦局部区域存在瑕疵,用户被迫重新生成整张网格,造成极大的算力浪费,且无法保证未修改区域拓扑结构的稳定继承。
将代码大模型中经典的“中间填充”(Fill-in-the-Middle, FIM)自回归模式迁移至三维网格表面存在本质困难:网格是嵌入在三维欧氏空间中的二维流形复形,当周围上下文面片被拉平序列化后,二维局部邻域的几何拓扑秩序被严重割裂,极易导致新生成的面片破坏边缘流;更为严峻的是,生成面片若未与暴露的外轮廓顶点实现严格重合,微小的坐标量化误差都会造成接缝处明显的网格裂缝(cracks)或 T 型交错(T-junctions),且模型容易失去边界约束向外溢出生成重复面。本文的核心 idea 是:将局部网格编辑建模为空间解耦的上下文条件自回归填充,通过可学习边界标记硬约束接缝锚点,结合拓展上下文与参考表面门控差分编码器约束生成空间,实现与周围低多边形拓扑严格连续且无缝拼合的局部重构。
方法详解¶
整体框架¶
MeshFIM 的核心目标是在保持网格未编辑区域拓扑绝对冻结的前提下,给定待修补/编辑的连通目标区域 \(\mathcal{B}\),仅自回归生成替换补丁面片 \(\mathcal{B}'\)。整体系统接收参考高精度曲面点云 \(\mathbf{P}_{\text{gt}}\)、待编辑低多边形网格上下文面片 \(\mathcal{A}\setminus\mathcal{B}\) 以及挖除目标区域后的现有低多边形点云 \(\mathbf{P}_{\text{lp}}\) 作为输入。
整个处理管线分为三大部分:首先,对几何上下文进行 FIM 序列化构建,提取暴露外轮廓的边界锚点顶点并注入专属边界标记与上下文拓扑位置编码;其次,利用共享查询位置的双路 Perceiver-IO 编码器分别编码参考曲面点云与现有网格点云,通过门控差分模块动态识别“缺失几何区域”,压制已有区域特征;最后,基于 Hourglass Transformer 解码器在特征引导下逐 token 自回归生成替换面片坐标块,并直接与原始网格进行高精度边界焊接缝合。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
In1["参考稠密曲面点云 P_gt"] --> Enc["双路几何编码器<br/>共享查询位置 q"]
In2["挖除编辑区后的网格点云 P_lp"] --> Enc
Enc --> Gate["门控几何差分网络<br/>空间聚焦缺失区域"]
In3["外围环形上下文面片 A\\B"] --> FIM["FIM 序列构建<br/>边界标记与拓扑位置编码"]
Gate --> Dec["Hourglass Transformer 解码器<br/>自回归生成替换面片 B'"]
FIM --> Dec
Dec --> Weld["边界顶点焊接<br/>无缝缝合输出最终网格"]
关键设计¶
1. 空间解耦的 FIM 序列化与边界顶点标记:消除序列错位与拼缝裂隙
传统自回归网格生成依赖严格的底部至顶部 YXZ 字典序排列整个网格的面片。若在全局序列中直接套用文本遮蔽(masking),目标区域面片的 token 位置和数量完全取决于尚未生成的待填充几何本身,由于不同布线拓扑具有完全不同的面片数和排序,导致序列结构在生成前不可知。MeshFIM 采用解耦序列化方案,首先序列化上下文面片,再自回归解码目标面片: $\([\mathrm{S}_{\mathrm{ctx}}]\oplus\operatorname{Tok}(\mathcal{A}\setminus\mathcal{B})\oplus[\mathrm{E}_{\mathrm{ctx}}]\oplus\operatorname{Tok}(\mathcal{B}')\oplus[\mathrm{eos}]\)$ 在训练期间,交叉熵损失仅施加于目标区域 \(\operatorname{Tok}(\mathcal{B}')\) 与结尾符号。更关键的是,局部拼缝对坐标误差极其敏感,若生成的新面片仅与上下文顶点发生亚量化级别的微小错位,就会在几何上形成穿孔与悬挂边。为此,模型在上下文序列中提取所有暴露在开边界上的顶点集合 \(V_{\partial}\),并为其特征显式叠加可学习的边界标记向量: $\(\tilde{\mathbf{e}}_{i}^{\mathrm{ctx}}=\mathbf{e}_{i}^{\mathrm{ctx}}+\mathbf{m}_{\mathrm{bdry}},\quad\text{若 } t_{i}\in V_{\partial}\)$ 这一显式信号作为强提示通知解码器直接复用上述顶点作为几何拼接锚点,无需解码器隐式猜测接缝对齐。
2. 拓扑恢复位置编码与多环上下文窗口:维持连续边流并防止溢出生成
低多边形网格建模对“边流”(edge flow)有极高要求,即四边形/三角面的走向必须符合曲率与形体逻辑。当二维环状上下文被展平为一维 token 序列时,局部邻域的连通性会被打散,极易退化为无序的点云包。MeshFIM 在序列化后的上下文词向量中注入了可学习的序列拓扑位置编码 \(\mathbf{p}_{i}^{\mathrm{ctx}}\),使得 Transformer 能够显式重构上下文内的面片邻接秩序与曲面走向,进而使补丁内部生成的环线与外部边缘平滑过渡。与此同时,若上下文仅包含紧邻的 1 环面片,模型无法感知足够的局部法向变化与主曲率趋势,极易产生“溢出生成”(overflow,即生成的面片穿透已有几何、向外重复铺设)。MeshFIM 将上下文宽度扩展为基于广度优先搜索(BFS)的 3 环面片(\(w=3\)),在可承受的 prompt 序列长度内为解码器提供了充沛的曲率上下文支撑。
3. 共享查询门控低多边形几何编码器:基于空间差分的缺失区域聚焦
标准条件自回归模型通常只输入目标曲面的点云 \(\mathbf{P}_{\text{gt}}\),这导致解码器知道“理想形状是什么”,却不清楚“现有低多边形网格已经在哪些位置铺设完毕”,仅靠离散的上下文 token 难以形成全局抑制。MeshFIM 设计了基于统一 Perceiver-IO 结构的双分支几何编码器,使用在三维欧几里得空间中预先采样的同一组查询点 \(\mathbf{q}=\{\mathbf{q}_{i}\}_{i=1}^M\),分别对参考点云 \(\mathbf{P}_{\text{gt}}\) 与挖孔低多边形点云 \(\mathbf{P}_{\text{lp}}\) 进行跨注意力编码,得到空间位置严格对齐的潜变量序列 \(\mathbf{z}_{\text{gt}},\mathbf{z}_{\text{lp}}\in\mathbb{R}^{M\times d}\)。
利用逐点对齐的优势,轻量级门控网络计算出空间衰减门控向量 \(\mathbf{g}\in(0,1)^M\) 并完成特征衰减: $\(\mathbf{g}=\sigma\bigl(N_{\mathrm{gate}}([\mathbf{z}_{\text{gt}};\mathbf{z}_{\text{lp}}])\bigr),\qquad\hat{\mathbf{z}}=(1-\mathbf{g})\mathbf{z}_{\text{gt}}\)$ 在现有网格已覆盖良好表面的空间位置,\(\mathbf{z}_{\text{lp}}\) 与 \(\mathbf{z}_{\text{gt}}\) 匹配,门控值 \(g_i\to 1\),从而抑制该区域的条件引导;在待编辑的孔洞区域,\(g_i\to 0\),解码器接收到完整的参考曲面几何信号。这种空间连续的差分信号从根本上遏制了面片跨界溢出生成。
4. 渗流区域采样与上下文噪声增广:弥合训练与推理域迁移鸿沟
在真实应用中,用户交互笔刷涂抹或自动缺陷检测给出的待编辑区域极不规则,且推理时输入的现有网格本身可能携带量化噪声或早期生成瑕疵。为了增强模型鲁棒性,MeshFIM 在训练阶段引入了两项关键策略:一方面采用渗流理论(percolation)进行区域随机生长采样,以 \(p\sim\mathcal{U}(0.55, 0.85)\) 的概率沿面片前沿随机扩展,生成逼真的非规则涂抹状多边形区块;另一方面在训练时对上下文顶点坐标引入均匀分布噪声扰动 \(\mathcal{U}(-0.002, 0.002)\),迫使模型学会适应带有瑕疵的非理想边界,显著提升实际部署时的容错能力。
损失函数 / 训练策略¶
骨干网络采用 24 层、16 头的 Hourglass Transformer,隐层维度 \(d=1536\)。模型在 64 张 90GB 计算单元上进行联合训练。优化目标为仅针对替换面片序列的标准自回归自注意力交叉熵损失: $\(\mathcal{L} = -\sum_{i=1}^{|\operatorname{Tok}(\mathcal{B}')|+1} \log p\left(x_i \mid x_{<i}, \hat{\mathbf{z}}, \operatorname{Tok}(\mathcal{A}\setminus\mathcal{B})\right)\)$ 门控网络 \(N_{\mathrm{gate}}\) 在初始化时将偏置设为 \(b=-4\),使得训练初始阶段 \(g_i\approx\sigma(-4)\approx 0.018\),从而确保初始条件特征平滑过渡自 \(\hat{\mathbf{z}}\approx\mathbf{z}_{\text{gt}}\)。
实验关键数据¶
主实验¶
主实验在 256 个来自代表性类别的测试低多边形网格上进行,每个网格采样 4 个局部编辑区域(共 1024 个编辑样本)。评估指标包括:平均顶点匹配率(A-VMR,反映拼缝处边界顶点重合度)、单向倒角距离改善率(O-CDIR,反映几何精度相对于原始目标补丁的相对提升幅度)、倒角距离正改善率(CD-PR,反映几何优于原补丁的样本占比)以及面片增加比例(#F-Inc)。
| 类别 / 方法 | A-VMR (%) ↑ | O-CDIR (%) ↑ | CD-PR (%) ↑ | #F-Inc (%) | 局部性 (Locality) | 参考真值 (GT Ref) |
|---|---|---|---|---|---|---|
| 细分重构类 | ||||||
| Modified Butterfly | 100.00 | -2.00 | 25.00 | +300.00 | ✓ | ✗ |
| Neural Subdivision | 0.00 | -0.002 | 38.28 | +852.25 | ✗ | ✗ |
| Neural Mesh Refinement | 33.68 | +0.007 | 60.94 | +845.21 | ✗ | ✗ |
| 孔洞修复类 | ||||||
| Liepa Hole Filling | 67.64 | -220.82 | 5.47 | -73.97 | ✓ | ✗ |
| SeMIGCN | 0.00 | -191.62 | 0.93 | -41.29 | ✗ | ✗ |
| 全局生成回贴类 | ||||||
| BPT + Stitch Back | 2.65 | -67.25 | 0.00 | -84.98 | ✗ | ✓ |
| MeshAnythingV2 + Stitch | 26.90 | -335.28 | 0.00 | -20.45 | ✗ | ✓ |
| Ours | ||||||
| MeshFIM (Ours) | 99.75 | +8.25 | 95.54 | +55.83 | ✓ | ✓ |
消融实验¶
消融实验基于 250k 次迭代的累加配置测试,引入了完全匹配率(PMR,全部边界点完全吻合的样本比例)、溢出率(OvR,溢出比例超过 1% 阈值的样本占比)以及平均溢出率(A-Overflow)。括号内标注无编辑下界基准值(no-edit reference lower bound)。
| 配置编号与模块增量 | PMR (%) ↑ | A-VMR (%) ↑ | O-CDIR (%) ↑ | OvR (%) ↓ | A-Overflow (%) ↓ |
|---|---|---|---|---|---|
| Baseline (基础 FIM) | 52.12 | 94.59 | 5.03 | 25.00 | 17.81 |
| + 边界顶点标记 (A) | 69.53 | 98.49 | 6.15 | 14.84 | 15.12 |
| + 扩展上下文宽度 \(w=3\) (B) | 75.78 | 99.12 | 5.49 | 10.16 | 10.52 |
| + 上下文噪声增广 (C) | 84.38 | 99.18 | 7.12 | 10.16 | 12.13 |
| + 上下文拓扑位置编码 (D) | 85.16 | 99.45 | 7.48 | 9.38 | 10.75 |
| + 低多边形几何编码器 (Full E) | 88.28 | 99.75 | 8.25 | 6.25 (6.25) | 4.40 (3.49) |
| 低多边形编码器变体 | |||||
| 朴素 Token 拼接 (无门控) | 85.16 | 99.51 | 7.50 | 8.59 | 9.27 |
| 独立采样查询点 (无对齐) | 85.31 | 99.48 | 7.31 | 9.38 | 10.61 |
关键发现¶
- 边界标记是无缝贴合的基石:引入边界标记向量(Configuration A)直接使 PMR 飙升 17.41 个百分点(从 52.12% 跃升至 69.53%),证明强特征提示能直接抑制量化漂移带来的裂缝。
- 上下文拓展与门控编码器双重夹击溢出生成:将上下文从 1 环扩至 3 环使 OvR 从 14.84% 降至 10.16%;门控几何编码器进一步将 OvR 压缩至 6.25%,完全触及理论下界(6.25%),消除了由于空间盲目生成导致的冗余交叠面。
- 查询点位置对齐不可或缺:若几何编码器使用未对齐的独立查询点,门控机制无法感知同名空间位置的覆盖差异,门控值坍塌至全零附近,OvR 与溢出率显著恶化。
亮点与洞察¶
- 空间序列解耦打破 3D 网格 FIM 僵局:敏锐地指出了文本代码 FIM 与流形网格序列化的核心差异——未填充区域拓扑未知导致全局排序动态错位,采用“上下文先行、补丁在后”的解耦结构从架构层化解了序列难题。
- 共享查询点差分门控设计兼具轻量与物理可解释性:借助 Perceiver-IO 共享查询位置,巧妙地在隐空间对“参考表面”与“现有表面”做逐点差分过滤,为解码器提供了动态的“孔洞掩码”。
- 闭环自动缺陷修复流水线:结合多视角光线追踪与法向检验启发式算法,实现了缺陷检测、MeshFIM 局部重构、溢出质检与边界焊接的完整自动化闭环,在 2417 个有缺陷生成网格上达到 88.9% 的修复成功率。
局限与展望¶
- 单连通编辑区域强假设:当前管线假设目标区域 \(\mathcal{B}\) 必须为一个连续单连通区块;若网格存在多处离散分布的微小瑕疵,必须依靠多轮迭代独立调用,无法单次并行处理多个非连通子孔洞。
- 对稠密网格的扩展瓶颈:受限于自回归 Transformer 的序列长度限制,该方法定位于中低多边形资产(单次补丁面片数在 1200 以内),难以直接扩展至百万面级别的工业级高模编辑。
- 未来方向:探索分层或图神经网络辅助的跨连通区域联合自回归编辑,并结合几何先验进一步放宽对稠密参考曲面的强依赖。
相关工作与启发¶
- vs MeshAnything / QuadGPT: 现有 SOTA 自回归模型仅支持整网格从头生成;MeshFIM 引入 FIM 范式实现真正意义上的局部拓扑可控编辑,保留未修改区的高质量拓扑。
- vs Neural Subdivision / Liepa Hole Filling: 传统孔洞填补与神经细分不具备自回归低多边形流形先验,破坏原有布线且无法按照外部边流平滑走向重构四边形/规则三角面,而 MeshFIM 能生成符合艺术家意图的结构化布线。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次将 Fill-in-the-Middle 自回归填充成功引入三维网格局部拓扑编辑领域。
- 实验充分度: ⭐⭐⭐⭐⭐ 覆盖细分、修补、全局重生成回贴等多元基线,消融实验扎实且带有严格理论下界验证。
- 写作质量: ⭐⭐⭐⭐⭐ 问题阐述切中痛点,数学符号与系统设计高度自洽。
- 价值: ⭐⭐⭐⭐⭐ 对 3D 资产修复与交互式低多边形建模工具链具有极高的工业落地价值。