📌 项目地址microsoft/TRELLIS.2 | ⭐ 9,849 颗星 | 🔧 Python | 📜 未标注

3D 生成卡在了哪里

3D 生成模型的难点从来不是”生成一个形状”,而是”生成一个能直接用的东西”。传统方法把 3D 资产表达为隐式场(如 NeRF、SDF),靠 Marching Cubes 之类的算法提取等值面。这套路有两个老毛病:一是等值面场天然没法表达开放表面——衣服、树叶、有孔洞的结构一转换就丢面;二是”场”的离散化分辨率受限于体素网格,想提分辨率,显存和计算量就爆炸。

TRELLIS.2 给出的答案是换一种表征方式。它提出了一种叫 O-Voxel 的稀疏体素结构,不依赖等值面场,直接从稀疏体素里重建几何。这意味着它可以原生支持:

  • 开放表面(比如随风飘动的布料)
  • 非流形几何(多张面交汇在一起的结构)
  • 内部封闭结构(外壳里包裹的内腔)

这些都是传统方法会出问题、或者需要损耗性转换才能处理的场景。

O-Voxel:用稀疏结构换效率

O-Voxel 的本质是把 3D 资产编码成稀疏体素格,然后用 Sparse 3D VAE 做 16× 空间下采样,把资产压缩进一个紧凑的潜空间。生成时用 Vanilla DiT(也就是没有特殊改造的标准 Diffusion Transformer)在这个潜空间里做生成。模型总计 4B 参数,架构上并不花哨,亮点全在表征设计上。

这个设计直接反映在效率上。以下数据来自项目 README,测试环境是 NVIDIA H100:

输出分辨率 总耗时 分解(形状 + 材质)
512³ ~3s 2s + 1s
1024³ ~17s 10s + 7s
1536³ ~60s 35s + 25s

注意这个时间是”生成 + 材质”的总时间,不是单出个白模。3 秒钟出一张 512³ 带 PBR 材质的资产,这个速度已经接近实时交互的阈值。

另一个值得提的点是材质建模。TRELLIS.2 不止生成颜色贴图,而是输出完整的 PBR 材质属性:Base Color、Roughness、Metallic、Opacity。前三个是 PBR 渲染的基础,Opacity 则意味着它原生支持透明材质——树叶、玻璃、半透明布料都可以直接渲染,不需要后期抠通道。

训练入口:官方给出的命令

很多项目只发布推理代码,训练代码语焉不详。TRELLIS.2 的 README 提供了一部分训练入口。注意,README 明确把所有数据处理流程指向了 data_toolkit/README.md——数据预处理和数据集组织方式需要去那里看详情。

训练统一走 train.py 脚本,通过命令参数配置实验。以下命令是官方文档直接给出的,用于训练形状 SC-VAE:

python train.py 
  --config configs/scvae/shape_vae_next_dc_f16c32_fp16.json 
  --output_dir results/shape_vae

train.py 支持的关键参数如下:

  • --config:实验配置文件路径
  • --output_dir:训练输出目录
  • --load_dir:从哪个目录加载 checkpoint(默认与 output_dir 相同)
  • --ckpt:从哪个 checkpoint 步数恢复(默认是最新的)
  • --data_dir:数据集路径,或一个 JSON 字符串指定多个数据集位置
  • --auto_retry:失败后自动重试次数
  • --tryrun:空跑一次,不实际训练
  • --profile:开启训练性能分析
  • --num_nodes / --node_rank / --num_gpus / --master_addr / --master_port:分布式训练配置

至于推理生成、数据转换的具体命令,README 正文没有展开,需要参考项目页和 data_toolkit 目录下的文档。

局限与注意事项

第一,README 中点名了 4B 参数规模。这个量级的模型,单卡 4090 大概率只能跑推理,训练至少需要多卡 H100 级别的集群。

第二,数据流程不是拿到模型就能跑。README 明确说数据处理是”rendering-free”和”optimization-free”的,这意味着转换效率高,但数据集的格式组织是一项独立工程,必须读 data_toolkit/README.md

第三,这是微软研究院的开源项目,许可证细节需要去仓库确认。如果用于商业项目,务必核对授权条款。

第四,README 给的训练命令只是 SC-VAE 的训练示例。完整的训练流程(包括 DiT 生成模型的训练)需要更完整的配置文件和数据集准备,这部分文档目前还没有完全展开。

适合谁

如果你在做一个需要实时或近实时产出 3D 资产生成的产品,TRELLIS.2 的性能数据值得认真研究——3 秒出 512³ 带 PBR 的结果,意味着它有机会嵌入交互式工作流。如果你在处理的是传统方法搞不定的复杂拓扑数据(开放表面、非流形、内部结构),O-Voxel 的表征设计本身就是一种思路参考。但如果你只是想快速跑通一个 3D 生成 Demo,4B 参数的显存门槛和数据集构建成本是必须先评估的障碍。

这篇文章对你有帮助吗?

发表回复