HubPart VI · 原生 3D 扩散 · vecset
Part VI · 原生 3D 扩散 · vecset 主线 · 2023 → 2025

主角登场:在 3D latent 空间里学真分布

这是当今最强 image→mesh 的配方,也是 Step1X-3D / TripoSG / Pixal3D 的所在地。 思路彻底转弯:不借 2D 先验、不做确定性回归,而是把形状压成一组 latent 向量(vecset),在这个空间里训一个 rectified-flow DiT 学真正的分布, 再采样、解码、取面、贴材质。一条清晰的谱系:3DShape2VecSet → Michelangelo → CLAY → 2025 的 rectified-flow 浪潮。

§6.13DShape2VecSet · vecset 的诞生

3DShape2VecSet— A 3D Shape Representation for Neural Fields and Generative Diffusion Models
SIGGRAPH 2023 Zhang, Tang, Nießner, Wonka · KAUST / TUM · arXiv:2301.11445 · code

网格/三平面/体素这些 latent 对 transformer 都别扭,难 scale 给扩散(痛点 b)。

关键想法:把一个形状表示成一组无序的 $N$ 个 latent 向量("vecset"),用注意力原生处理,而不是规则网格。这一个表示,定义了后面几乎所有模型的 latent。

$$ Z = \mathrm{SelfAttn}\!\big(\mathrm{CrossAttn}(Q,\ \mathrm{PE}(P))\big),\qquad O(x)=\mathrm{FC}\!\big(\mathrm{CrossAttn}(\mathrm{PE}(x),\ Z)\big) $$

采样表面点 $P$,用 farthest-point sampling 选 $N{\approx}512$ 个查询种子 $Q=\mathrm{PE}(\mathrm{FPS}(P))$,cross-attention 把形状压成 $Z\in\mathbb{R}^{N\times C}$;任意点 $x$ 的 occupancy 是 $x$ 对 $Z$ 的一次注意力读出。KL 正则让 $Z$ 可扩散。生成器就是在 $Z$ 上跑的自注意力扩散——3D 的 proto-DiT。

相比 NFD 的 triplane、LION 的点、Shap-E 的 MLP 权重,vecset 置换不变、无网格偏置、天生适配 transformer——这是赢家 latent。

下面这个 demo 把这套 encode→decode 全程画出来——它也是 §1.4 那张流水线的可视化。

Demo 7 · vecset VAE · 把形状压成 N 个向量再解出来
左:输入形状的表面采样点(青)+ FPS 选出的 N 个 latent 锚点(橙)。 中:被压成的 latent 集 $Z\in\mathbb{R}^{N\times C}$。右:decoder 在查询格上解出 occupancy,marching squares 重建出轮廓—— 实线 = 重建、虚线(青)= 原形,readout 实时给出两者的 IoU。 把 N 拉到很小(如 4–8):实线偏离虚线、细节丢失、IoU 掉下来——这就是"latent 容量 = 几何上限"。 把 N 拉大:实线贴上虚线、IoU 升高。

§6.2Michelangelo · 先对齐,再生成

Michelangelo— Conditional 3D Shape Generation based on Shape-Image-Text Aligned Latent
NeurIPS 2023 Zhao et al. · arXiv:2306.17115 · code

image/text→3D 不稳,因为 3D 的分布和 2D/文本差太远。

关键想法先对齐,再生成——用对比学习把 vecset 形状 latent 训得与图像+文本 CLIP-对齐(SITA-VAE),再在这个对齐空间里扩散(ASLDM)。

在 3DShape2VecSet 的 vecset 上加一层"跨模态对齐"——后来所有条件模型都继承了这个对齐直觉。

§6.3CLAY · 把 vecset 扩到基础模型规模

CLAY— A Controllable Large-scale Generative Model for Creating High-quality 3D Assets
SIGGRAPH 2024 Zhang et al. · ShanghaiTech / Deemos(Rodin) · arXiv:2406.13897

vecset+DiT 的想法对了,但要变成可控的生产级基础模型,得 scale。

关键想法:把 3DShape2VecSet 式 VAE + 一个极简纯 transformer DiT 扩到 1.5B 参数,在巨量精选数据上训,配丰富的 3D-aware 控制(文本、图像、多视图、体素、bbox、点云)。多分辨率 VAE(自适应 latent token 数,粗到细),输出 mesh + 单独的多视图材质扩散出 PBR

第一次把 vecset+DiT 做成"基础模型 + 强控制 + PBR"的完整生产模板——商用化身即 Rodin。后面所有人都在这张图上加螺丝。

"几何先行、材质后补"为什么成了标配

几何分布和 RGB 差一个量级,几何用 3D-native 的 occupancy/SDF 目标学最好;材质复用预训练 2D/多视图扩散最省。先出一张干净 mesh,就有了精确表面去 condition 材质(渲 depth/normal → 多视图 PBR → 烤 UV),保证对齐,还能模块化升级。CLAY、Hunyuan3D、TripoSG、Step1X-3D 全这么干。材质那一段是 Part VIII

这一代的 VAE 升级值得记一笔:Dora2412.17808Sharp Edge Sampling——在高曲率处重点采样,小 vecset 也能保住锐边)被后面广泛采用; LaGeM 把 vecset 做成层次化(每层一个 LoD)+ 级联扩散。

§6.4TripoSG · rectified flow 高保真时代

TripoSG— High-Fidelity 3D Shape Synthesis using Large-Scale Rectified Flow Models
2025.02 VAST AI Research · arXiv:2502.06608 · code

DDPM 在大 latent / 大模型上又慢又难训(痛点 d)。

关键想法:vecset latent + 大规模 rectified flow(直线流,少步采样,见 §1.5)+ MoE transformer。VAE 用 vecset 512→2048(推理可到 4096)token,监督 = SDF + 表面法线 + eikonal + KL;生成器 ~1.5B 基座经 MoE(8 专家 top-2) 扩到 ~4B;双 cross-attention 注入全局 CLIP + 局部 DINOv2 图像特征;2M 精选物体。

把 CLAY 的 vecset+DiT 从 DDPM 换成 rectified flow + MoE + 双特征条件——高保真、可少步、可开源复现。

几何细节这条线还有 CraftsMan(粗几何 DiT + 法线图 refiner)和 Hi3DGen2503.22236, 用法线图当 image→geometry 的桥,几何精度 +~20%)——"法线作中间信号"成了恢复锐利细节的通用招。

§6.5Step1X-3D · 最透明的开源两段式标杆

Step1X-3D— Towards High-Fidelity and Controllable Generation of Textured 3D Assets
2025.05 StepFun (Li, Zhang et al.) · arXiv:2505.07747 · code

主线模型大多闭源 / 半开,社区难复现完整两段式管线。

关键想法完全开源的两段式原生 3D 系统。阶段一·几何:hybrid VAE-DiT 出 TSDF——perceiver 式(cross-attention)vecset 编码器 + Sharp Edge Sampling(Dora 式)→ flow DiT → TSDF → marching cubes。阶段二·材质:几何条件多视图扩散 → 纹理空间同步保跨视图一致 → 多视图反投影 + UV inpainting。开放数据管线(>5M→2M)、训练代码、2D→3D 可迁移的 LoRA 控制。

把 TripoSG/Hunyuan 式两段式做成端到端全透明——是当下最适合上手读代码的参考实现。

把 §6.1–§6.5 拼成"今天的标准架构"

点云 cross-attention 的 vecset VAE(解码到 occupancy/SDF/TSDF)+ 一个 rectified-flow DiT(条件 = 全局 CLIP + 局部 DINOv2 图像特征)→ marching cubes → 单独一个多视图 PBR paint 阶段。triplane(Direct3D)、自回归(SAR3D)、MLP 权重(Shap-E)都是历史上的备选 latent,但 2025 的事实标准是vecset + 流

§6.6Hunyuan3D 2.x · 把它做成生产级 PBR 系统

Hunyuan3D 2.0 / 2.1— Scaling Diffusion for High-Res Textured 3D · Production-Ready PBR
2025.01 / 2025.06 Tencent Hunyuan · arXiv:2501.12202 · 2.1: 2506.15442

要把原生 3D 扩散做成带可重光照 PBR、还能开源的生产系统。

关键想法Hunyuan3D-ShapeVAE(重要性采样、可变 token 长度的 vecset)+ Hunyuan3D-DiT(flow)出几何;Hunyuan3D-Paint 出多视图纹理。2.1 是首个完全开源的 PBR 版本:albedo / metallic / roughness,空间对齐多注意力 + 3D-aware RoPE + 光照无关 albedo。

在 vecset+flow 主线上补齐"开源 + 生产级 PBR"——成为社区的几何+材质事实参考。(2.5 用 10B 的 LATTICE 基座,见 Part IX。)

§6.7Direct3D-S2 · 为了高分辨率,离开 vecset

Direct3D-S2— Gigascale 3D Generation Made Easy with Spatial Sparse Attention
NeurIPS 2025 Wu et al. · DreamTech / NJU · arXiv:2505.17412 · code

vecset 解码到 $1024^3$ 这种分辨率,算力会爆(痛点 b/d)。

关键想法:放弃 vecset,改用稀疏 SDF 体积 latent + Spatial Sparse Attention (SSA)——按 3D 坐标把 token 分块(前/后向 3.9×/9.6× 提速),8 卡就能训 $1024^3$

主线的高分辨率后继,但显著偏离了 vecset、转向稀疏体积——这把我们直接带到下一部"结构化 latent"。

这一部的谱系 + 仍开放的问题

3DShape2VecSet(vecset 诞生)→ Michelangelo(对齐)→ CLAY(扩到基础模型 + PBR 模板)→ rectified-flow 浪潮(TripoSG / Step1X-3D / Hunyuan3D 2.x,换流 + MoE + 双特征 + 开源 PBR)→ Direct3D-S2(为高分辨率离开 vecset 转稀疏体积)。 仍未解决:原生分辨率(稀疏注意力是当前答案)、锐边 / 薄结构(重要性采样、法线桥有帮助但没根治)、生产级 PBR、以及速度(少步流 / 蒸馏,见 Part IX)。 "离开 vecset 转稀疏体积"这件事本身,就是下一部的主题。