作者:Jianfeng Xiang, Zelong Lv, Sicheng Xu, Yu Deng, Ruicheng Wang, Bowen Zhang, Dong Chen, Xin Tong, Jiaolong Yang

单位:Tsinghua University, USTC, Microsoft Research

会议:CVPR 2025 Highlight

链接:https://arxiv.org/abs/2412.01506, https://microsoft.github.io/TRELLIS/, https://github.com/Microsoft/TRELLIS

研究动机

3D 资产生成一直卡在一个很难受的表示选择上:mesh、SDF、occupancy 等几何表示更容易得到可编辑、可导出的形状,但纹理和外观细节往往不够强;Radiance Fields 和 3D Gaussian 这类可微渲染表示外观质量高,却不一定能稳定抽取出干净几何。另一方面,很多 2D-assisted 方法先生成多视角图像再重建 3D,借到了 2D 扩散模型的视觉能力,但多视角不一致会直接转化为结构扭曲。

TRELLIS 想回答的问题是:能不能设计一种原生 3D 生成框架,既能统一承载几何和外观,又能解码成 3DGS、Radiance Fields、mesh 等不同格式,同时还能随模型规模和数据规模继续提升?

TRELLIS-0

图 1 很好地说明了论文的目标:输入可以是文本或图像,输出不只是一种固定格式的 3D 结果,而是可以根据需求得到高质量外观、详细几何,以及局部编辑后的资产变体。这里的关键不是又训练了一个更大的 text-to-3D 模型,而是把“3D 资产应该如何被一个生成模型内部表示”重新设计了一遍。

核心方法

TRELLIS 的核心是 Structured LATent,简称 SLAT。它把一个 3D 资产表示为一组稀疏体素上的局部 latent:

其中 (p_i) 是与物体表面相交的 active voxel 位置,提供粗结构;(z_i) 是挂在这个体素上的局部特征,负责保存几何细节和外观信息。这个设计的好处是,稀疏体素避免了完整 (N^3) 网格的巨大开销,而局部 latent 又比纯 occupancy 或 point latent 更适合承载纹理、法线、局部形变等细节。

TRELLIS-1

编码阶段先将 3D 资产体素化得到 sparse structure,再从密集多视角渲染图中用 DINOv2 提取视觉特征。每个 active voxel 会投影到多视角特征图中取对应特征,并通过多视角平均得到局部 visual feature。随后,一个基于 transformer 的 sparse VAE 将这些局部特征编码成 SLAT。这里 DINOv2 的作用很关键:它把强视觉基础模型中的语义和纹理感知能力带进了 3D latent,而 sparse voxel 则提供了几何锚点。

解码阶段,SLAT 不绑定某一种输出格式。论文分别训练 3D Gaussian、Radiance Field 和 mesh 解码器,三个解码器主体结构相近,只在输出层和重建损失上适配各自表示。实际训练中,作者主要用 Gaussian decoder 端到端学习 encoder-decoder,因为 3DGS 的重建效率和外观保真度更好;对 RF 和 mesh,则冻结已经学好的 encoder,再训练对应 decoder。这解释了为什么 Table 1 里 SLAT 能在多种输出格式上保持较高重建质量。

TRELLIS-2

生成阶段采用两段式 Rectified Flow Transformer:

  1. 先生成 sparse structure,也就是哪些体素是 active 的;
  2. 再在这些 active voxels 上生成对应的局部 latent (z_i);
  3. 最后用不同 decoder 将 SLAT 转成 3DGS、RF 或 mesh。

Rectified Flow 使用线性插值前向过程:

并学习从噪声指向数据的时间相关向量场。相比传统扩散的多步去噪,Rectified Flow 在近年的图像和视频生成中已经展示出较好的可扩展性;TRELLIS 将它改造成能处理 sparse 3D structure 和局部 latent 序列的 backbone。结构生成器 (G_S) 处理 dense binary grid 的连续 latent,SLAT 生成器 (G_L) 则通过 sparse convolution 做局部 packing,减少序列长度后再送入 transformer。

一个容易被忽略但很重要的点是:SLAT 的 locality 天然支持编辑。保持 structure 不变、重新采样 local latents,可以改变细节而不破坏整体轮廓;指定某个区域重新运行两阶段生成,则可以完成局部删除、添加或替换。这种编辑能力来自表示本身,而不是后处理修补。

数据集

训练数据来自约 500K 个高质量 3D 资产,论文主文列出的来源包括 Objaverse(XL)、ABO、3D-FUTURE 和 HSSD。每个资产渲染 150 张图像,并用 GPT-4o 生成 caption。为了增强条件输入的多样性,文本会被摘要成不同长度,图像 prompt 也会用不同 FoV 渲染。

评估主要使用 Toys4k。论文特别说明 Toys4k 不在 TRELLIS 及对比方法的训练集中,因此更适合作为 out-of-training-distribution 的质量评估。视觉比较和用户研究中,文本 prompt 来自 GPT-4,图像 prompt 来自 DALL-E 3。

算力

论文训练了三个规模的模型:Basic 342M、Large 1.1B、X-Large 2B。X-Large 使用 64 张 A100 40G 训练 400K steps,batch size 为 256;优化器为 AdamW,学习率 (1e^{-4}),classifier-free guidance 的 drop rate 为 0.1。推理时 CFG strength 设为 3,采样步数为 50。

TRELLIS-10

从 Table 5 可以看到,模型规模从 B 到 L 再到 XL,训练集和 Toys4k 上的 CLIP 分数、DINOv2 Fréchet Distance 都有稳定改善。这说明 TRELLIS 的设计至少在论文的实验尺度内具备 scaling benefit,但代价也很明显:它不是轻量级方法,真正复现训练需要非常高的数据处理、渲染和多卡训练成本。

实验结果

首先看表示本身的重建能力。Table 1 比较了不同 latent representation 的 reconstruction fidelity,TRELLIS 在 appearance 和 geometry 指标上都明显优于 LN3Diff、3DTopia-XL 和 CLAY:PSNR/LPIPS 更好,Chamfer Distance 更低,F-score 接近 1。这一组实验支撑了论文最核心的 claim:SLAT 不只是方便生成,也确实能高保真承载 3D 资产信息。

TRELLIS-4

生成质量上,TRELLIS 展示了同时输出 3DGS 外观和 mesh 几何的能力。Figure 4 中同一个资产通常展示两种视角或两种表示:彩色部分强调外观,灰色 mesh 强调几何。可以看到它在机械结构、透明物体、城堡、工具箱等物体上都保留了比较复杂的局部结构。

TRELLIS-3

与其他 3D 生成方法相比,Figure 5 直接暴露了不同范式的短板:Shap-E、LN3Diff 这类方法在细节和几何完整性上偏弱;InstantMesh 和 LGM 依赖 2D/重建流程,容易出现局部结构不稳;GaussianCube 外观和几何对齐不够。TRELLIS 的优势主要体现在两个方面:一是纹理更鲜明,二是灰色 mesh 的结构更完整。

TRELLIS-5

定量结果也支持这个判断。Table 2 在 Toys4k 上分别评估 text-to-3D 和 image-to-3D。Text-to-3D 中 Ours XL 的 CLIP 达到 26.70,DINOv2 FD 降到 237.48;Image-to-3D 中 Ours L 的 CLIP 为 85.77,DINOv2 FD 为 67.21,明显优于其他方法。这里要注意,不同指标衡量的是不同侧面:CLIP 更看 prompt alignment,FD/KD 更偏分布质量,因此多指标同时提升才比较有说服力。

TRELLIS-6

用户研究进一步补充了自动指标的局限。超过 100 名参与者基于 68 个文本 prompt 和 67 个图像 prompt 比较不同方法,TRELLIS 在 text-to-3D 中获得 67.1% 偏好,在 image-to-3D 中获得 94.5% 偏好。这个结果虽然仍然受展示样本和评价界面影响,但至少说明 TRELLIS 的视觉质量提升能被人类直观看到。

TRELLIS-7

消融实验回答了几个设计选择是否必要。Table 3 表明,在 (32^3) 分辨率下增加 channel 有收益但趋于饱和,而切到 (64^3) 且 channel 为 8 时 PSNR/LPIPS 明显变好,说明空间分辨率对 SLAT 的几何和外观细节更关键。

TRELLIS-8

Table 4 对比了 diffusion 与 rectified flow。在 Stage 1 或 Stage 2 中替换为 rectified flow 都能改善训练集和 Toys4k 的 CLIP/FD 指标,说明论文选择 Rectified Flow 不是单纯跟随潮流,而是在 structure generation 和 local latent generation 两个阶段都带来收益。

TRELLIS-9

最后是编辑能力。Figure 7 展示了两类应用:固定 coarse structure 改变材质/风格,以及对局部区域做删除、添加、替换。因为 SLAT 将 local latent 绑定在 active voxels 上,编辑时可以只重采样局部区域,而不必重新生成整个资产。这一点对于 3D 资产生产比单纯“一次性生成好看结果”更有价值。

TRELLIS-11

优势与不足

优势

  1. 统一表示非常优雅。 SLAT 用 sparse structure 管几何布局,用 dense visual feature/local latent 管外观和细节,再通过不同 decoder 输出 3DGS、RF、mesh,避免了每种 3D 表示各自训练一套生成模型。

  2. 生成质量和可扩展性同时成立。 500K 数据、2B 参数、Rectified Flow Transformer 的组合,使 TRELLIS 在 text/image-to-3D 上都比同类方法更强,且模型规模增大后仍有收益。

  3. 局部编辑不是后补功能。 active voxel 上的 local latent 让 detail variation 和 region-specific editing 有了天然操作对象,这比纯全局 latent 更适合真实 3D 资产工作流。

不足

  1. 训练成本很高。 64 张 A100 40G、400K steps、500K 资产和每资产 150 张渲染图,意味着这类方法更像大厂级基础模型路线,不容易被普通实验室完整复现。

  2. 主要面向 object-level 资产。 论文展示的多是独立物体或小型组合资产,对于大场景、可交互环境、拓扑严格的工程模型,还不能直接等同于通用 3D 世界生成。

  3. 文本条件仍可能不如图像条件稳定。 官方仓库也提示,实际使用时更推荐先用 text-to-image 生成图像,再用 image-conditioned TRELLIS 生成 3D,因为纯文本模型受数据限制,创造性和细节会弱一些。

  4. 多格式输出不等于所有格式都同等强。 论文中端到端学习主要依赖 Gaussian decoder,RF 和 mesh decoder 是在冻结 encoder 后训练的。mesh 虽然可用,但复杂拓扑、材质可编辑性和工程级 clean mesh 仍需要后续处理。

记忆点

  1. 好的 3D 生成模型不只是在“模型更大”,也在“内部表示更适合 3D 资产”。TRELLIS 的 SLAT 是整篇论文最值得记住的设计。

  2. Sparse voxel 负责结构,DINOv2 multiview feature 负责细节,这个组合比单纯点云、三平面或全局 latent 更均衡。

  3. 两阶段生成很自然:先决定哪里有东西,再决定这些位置上是什么东西。这个顺序符合 3D 资产从粗到细的生成逻辑。

  4. 表示的 locality 会直接影响编辑能力。TRELLIS 能做局部替换,不是因为后处理强,而是因为 latent 本来就挂在空间位置上。

  5. 对 3D 生成来说,最终输出格式很重要。能同时支持 3DGS、RF 和 mesh,让 TRELLIS 更接近真实生产管线,而不是只服务于论文渲染图。