微软如何让神经网络在几秒内组装3D模型
想想创建一个高质量的3D资产通常需要多长时间。即使你不用手工建模,而是使用第一代神经网络,这个过程也常常像买彩票一样:纹理会“漂移”,几何体会变得一团糟,或者GPU内存溢出。微软推出了TRELLIS.2,这可能是让从单张图像生成3D物体真正做到快速且高质量的最明智的尝试之一。
它是什么,为什么我们需要它
TRELLIS.2是一个拥有40亿参数的大型生成模型。简单来说,它接收一张普通的2D图像,并将其转换为一个完整的3D物体。但与许多只输出“点云”或破损网格的学术项目不同,这里你得到的是一个可直接渲染的资产,包含PBR材质(颜色、金属度、粗糙度)。
有趣的是,开发者们放弃了传统的符号距离场(SDF),转而采用了一种叫做O-Voxel的结构。这使得模型能够“理解”复杂拓扑:服装、树叶,或具有内部空腔的物体——这些都是之前的算法难以处理的。

TRELLIS.2与其他方案的区别
我经常看到一些项目承诺“照片级真实感”,但实际上它们需要H100和半小时才能生成一把椅子。这里情况不同。
速度和分辨率
该模型在具有16倍空间压缩率的稀疏3D VAE上运行。这使得在仅3秒内生成512³分辨率的物体成为可能。如果你需要更专业的分辨率,比如1024³,则需要等待约17秒。作为对比:许多替代方案需要花费数分钟,而且效果往往更差。
材质处理
这不仅仅是一个彩色雕像。该模型生成完整的表面属性:
- 基础色
- 粗糙度
- 金属度
- 不透明度
最后一点特别棒。现在你可以生成玻璃物体或半透明织物,它们在渲染时看起来会很不错。
拓扑多样性
得益于O-Voxel,模型不会试图“修补”物体上的所有孔洞。它能轻松处理开放表面(如一张薄纸或裙摆),而不会在表面不相交的地方破坏几何体。
技术层面
在底层,TRELLIS.2运行在DiT(扩散Transformer)上。为了让这一切高效运行,微软团队编写了几个辅助库,这些库都捆绑在一起:
- FlexGEMM — 在Triton上实现的稀疏卷积。
- CuMesh — 用于快速网格处理、UV展开和简化的CUDA工具。
- O-Voxel — 用于处理其新数据表示的核心库。
有趣的是,从网格到体素再返回的转换过程在GPU上只需几毫秒。如果你想将这样的解决方案嵌入到游戏开发管线中,这一点至关重要。
如何自行运行
我先说明:该项目要求较高。你需要Linux系统和至少24 GB显存的NVIDIA GPU(RTX 3090/4090或服务器级A100/H100)。在Windows上,你可能只能通过WSL2来运行,但开发者只在Linux上进行了严格测试。
安装过程对于此类项目来说看起来是标准的,但需要编译CUDA扩展:
git clone -b main https://github.com/microsoft/TRELLIS.2.git --recursive
cd TRELLIS.2
# Скрипт создаст окружение и поставит все зависимости, включая специфичные либы
. ./setup.sh --new-env --basic --flash-attn --nvdiffrast --nvdiffrec --cumesh --o-voxel --flexgemm
如果一切顺利,你只需几行代码就能运行生成:
from trellis2.pipelines import Trellis2ImageTo3DPipeline
from PIL import Image
# Загружаем модель (веса подтянутся с Hugging Face)
pipeline = Trellis2ImageTo3DPipeline.from_pretrained("microsoft/TRELLIS.2-4B")
pipeline.cuda()
# Берем картинку и запускаем магию
image = Image.open("your_image.png")
mesh = pipeline.run(image)[0]
# Экспортируем в GLB с текстурами
# (в коде репозитория есть подробный пример в example.py)
值得一试吗
这个项目看起来是一个扎实的工具,适合需要快速为场景填充独特物体的任何人。是的,系统要求很高,但40亿参数和真正的PBR是值得的。
我特别喜欢的是,微软不仅发布了权重和推理代码,还发布了完整的训练代码。这意味着我们很快就会看到针对特定风格或物体类别的微调模型。如果你从事3D生成工作,或者只是喜欢折腾最新的SOTA模型,TRELLIS.2绝对值得你花一个晚上来研究。只是确保你已安装CUDA 12.4,否则安装过程会变成一场修复编译错误的有趣探险。
相关项目