将 3D mesh 生成分解为两个独立的 flow matching 阶段——先用 V-Flow 生成顶点、再用以顶点为条件的 T-Flow 生成拓扑——从根本上消除了顶点几何与离散连接性在联合隐空间中相互纠缠所导致的破损曲面问题,并独特地支持分块高分辨率生成与拓扑自适应编辑。
整个框架以一个粗粒度稀疏体素结构 \(\hat{S}\)(64³ 分辨率)作为空间锚点,V-VAE 和 T-VAE 都附着于此 scaffold,保证顶点与拓扑在同一坐标系下对齐。推理时先由任务条件(图像或点云)生成 \(\hat{S}\),再顺序采样 V-Flow → T-Flow。
输入:从 mesh 表面均匀采样 819,200 个点,每点携带位置、法向量和顶点位移场(VDF)——指向所在面的某个顶点的偏移向量。PointNet 提取逐点特征后,先光栅化到 1024³ 稀疏体素格,再经稀疏 3D 卷积 + Sparse Transformer 压缩为 64³ × 32ch 的顶点隐编码 \(z_v\)。
解码器以粗到细稀疏细化方式重建:逐级细分体素并剪枝(不含顶点的体素),每步剪枝后用 \(z_v\) 做稀疏交叉注意力注入全局上下文。在最细层,解码器为每个存活体素预测一个亚体素漂移向量 \(\delta_i\),将顶点从体素中心精化到真实位置:
\[ z_v = E_v(P), \quad \{\hat{v}_i, \delta_i\} = D_v(z_v), \quad \text{顶点} = \hat{v}_i + \delta_i \]
训练目标:各细化层非对称焦点损失(应对空/非空体素极度不平衡)+ MSE 偏移回归 + KL 正则。
给定已知顶点集 \(\hat{V}\),T-VAE 将连接性编码为逐顶点特征(而非全局隐向量),使得拓扑信息自然定位于它所涉及的顶点处。
编码器:对顶点坐标做位置编码后,用 8 层 Transformer 处理——关键在于,ground-truth 连接性仅通过注意力掩码引入:每层中,顶点 token 只能注意自身及其相邻顶点(邻接掩码 Masked Self-Attention),编码器被迫将连接性信息全部吸收进逐顶点隐编码 \(z_t\)。
解码器:用无掩码 Self-Attention Transformer,从 \(z_t\) 得到逐顶点隐状态 \(h_i\),再用对称 MLP 预测成对边概率:
\[ \hat{e}_{ij} = \sigma\!\left(\text{MLP}(h_i \oplus h_j) + \text{MLP}(h_j \oplus h_i)\right) \]
训练采样策略:正例(真实相邻顶点对)+ Top-K 近邻(难负例)+ 均匀随机对(易负例),用非对称焦点损失训练,推理时通过环路检测(loop detection)从预测边集恢复三角面。
在 \(\hat{S}\) 的活跃体素上,用稀疏 Flow Matching Transformer(12 块,改自 TRELLIS)采样顶点隐编码。条件包括:DINOv2 图像特征(交叉注意力)+ 顶点数条件 \(c_{vn} = \log_2 N\)(adaLN 注入),使用户可在推理时直接指定目标顶点数。训练目标为 rectified-flow MSE:\(\mathcal{L}_\text{V-Flow} = \mathbb{E}[\|v_\theta(z_v^\tau,\tau,c_\text{img},c_{vn}) - (\epsilon - z_v)\|_2^2]\)。
给定 V-Flow 解码的顶点集,T-Flow 在逐顶点 token 上采样拓扑隐编码。顶点位置通过 3D 位置编码直接注入每个 token,同时加入粗粒度几何上下文 \(c_g = \text{3DCNN}(\hat{S})\) 提供全局形状信息。为支持无条件采样(如编辑场景),训练时随机 drop \(c_g\)。注意力块中使用 RMSNorm 稳定不同大小顶点集的训练。
LATO.2 = V-VAE(亚体素顶点压缩)+ T-VAE(邻接掩码拓扑压缩)+ V-Flow(可控数量顶点生成)+ T-Flow(顶点条件拓扑生成),四个模块顺序执行,顶点与拓扑完全分离建模。
分解设计的核心实用价值:任何对顶点集的修改,均可通过重新运行 T-Flow 自动传播到连接性,无需重新优化或手工设计拓扑规则。
将多个 mesh 对齐缩放后取顶点并集,T-Flow 在合并顶点上直接生成跨界面的连贯拓扑,自动弥合拼接区域。
对局部顶点子集做旋转/平移后,原始连接性会在过渡区产生自交和拉伸。识别受影响区域后,以更新的顶点位置重新运行 T-Flow 即可修复拓扑,无需手工处理。
单一隐空间(64³ 格)决定了最大可解码顶点数上限。LATO.2 通过将 scaffold \(\hat{S}\) 分割为多个 part,每个 part 独立归一化到全分辨率后用 V-Flow 生成顶点,再合并全部顶点交给 T-Flow 生成连接性——每个 part 均以最大隐容量采样,等效突破了单一隐空间的分辨率瓶颈。
| 方法 | 量化级别 | CD(L2)↓ | CD(L1)↓ | HD↓ |
|---|---|---|---|---|
| MeshGPT | 128 | 0.0013 | 0.0185 | 0.0955 |
| PivotMesh | 128 | 0.0074 | 0.0395 | 0.2227 |
| MeshCraft | 256 | 0.0106 | 0.0524 | 0.2842 |
| LATO | 512 | 0.0000 | 0.0038 | 0.0083 |
| Ours (V-VAE) | 1024 + δ (Float) | 0.0000 | 0.0003 | 0.0069 |
亚体素偏移预测将 CD(L1) 从 LATO 的 0.0038 降至 0.0003(约 12.7×),HD 也略有改善。
| 方法 | 类型 | CD(L2)↓ | CD(L1)↓ | HD↓ | NC↑ |
|---|---|---|---|---|---|
| MeshAnythingV2 | AR | 0.1083 | 0.1505 | 0.2318 | 0.6946 |
| FastMesh | AR | 0.0822 | 0.1163 | 0.1397 | 0.6939 |
| MeshSilkSong | AR | 0.0654 | 0.0937 | 0.1455 | 0.7759 |
| BPT | AR | 0.0603 | 0.0862 | 0.1067 | 0.8111 |
| DeepMesh | AR | 0.0529 | 0.0765 | 0.0946 | 0.8218 |
| MeshRipple | AR | 0.0458 | 0.0668 | 0.0941 | 0.8174 |
| MeshFlow | Flow | 0.0455 | 0.0668 | 0.0772 | 0.8227 |
| LATO | Flow | 0.0421 | 0.0617 | 0.0738 | 0.8262 |
| Ours (LATO.2) | Flow | 0.0407 | 0.0596 | 0.0657 | 0.8341 |
LATO.2 在所有指标上均超越 SOTA,CD(L2) 相对 LATO 改善约 3.3%,HD 改善约 11%。
| 顶点来源 | 拓扑模块 | CD(L2)↓ | CD(L1)↓ | HD↓ | NC↑ |
|---|---|---|---|---|---|
| GT-Verts | T-VAE(上界) | 0.0351 | 0.0478 | 0.0859 | 0.8615 |
| GT-Verts | T-Flow | 0.0399 | 0.0543 | 0.1047 | 0.8199 |
| V-VAE | T-Flow | 0.0393 | 0.0538 | 0.0993 | 0.8201 |
| V-Flow | T-Flow(完整流程) | 0.0407 | 0.0570 | 0.1029 | 0.8051 |
T-Flow 保留了 T-VAE 重建质量的大部分;V-VAE 重建顶点与 GT 顶点的拓扑生成效果相近,说明顶点量化误差对拓扑影响可控。