TRELLIS.2:微软开源的高保真图像到 3D 生成模型

原创 发布日期:
64

一、TRELLIS.2是什么?

TRELLIS.2是微软开源的一款4B参数3D生成模型,专注于解决“高保真图像到3D资产生成”的核心需求。该模型以4B参数规模为基础,创新引入“O-Voxel”无场稀疏体素结构,彻底打破传统等值面场模型的技术限制,能够高效、精准地将2D图像转换为具备复杂拓扑结构、高分辨率细节与全PBR(Physically Based Rendering,基于物理的渲染)材质的3D资产。

作为开源项目,TRELLIS.2的核心目标是降低高保真3D内容创作的技术门槛——无需专业的3D建模技能、复杂的渲染流程或长时间的优化计算,仅通过输入一张2D图像,即可快速生成可直接用于生产环境的3D资产(支持GLB格式导出,兼容主流3D软件与引擎)。项目当前已开放图像到3D推理代码、4B参数预训练权重、Web Demo等核心资源,后续将按计划补充形状条件纹理生成推理代码与完整训练代码,形成从“推理部署”到“二次开发”的全流程支持。

TRELLIS.2的适用场景覆盖个人创作者、企业研发团队、科研机构等多个群体,其核心价值在于:以“高效性、高质量、极简操作”为三大支柱,重新定义图像到3D生成的工作流,让3D资产创作从“专业门槛高、耗时久”的传统模式,转变为“低门槛、快速迭代、高保真”的现代化流程。

TRELLIS.2:微软开源的高保真图像到 3D 生成模型

二、功能特色

TRELLIS.2的功能特色围绕“高质量、高效率、强兼容性、易操作”四大核心维度展开,具体如下:

1. 高分辨率+高效率,兼顾质量与速度

TRELLIS.2基于4B参数模型架构与稀疏3D VAE(变分自编码器)设计,通过16×空间下采样技术将3D资产编码为紧凑潜空间,在保证高保真输出的同时,实现了行业领先的生成效率。其在NVIDIA H100 GPU(当前顶级AI计算卡)上的实测性能如下表所示:

输出分辨率 总生成时间 耗时拆分(形状生成 + 材质渲染) 核心优势
512³ ~3秒 2秒 + 1秒 极速生成,适合快速原型验证
1024³ ~17秒 10秒 + 7秒 平衡质量与效率,适用于多数生产场景
1536³ ~60秒 35秒 + 25秒 超高清细节,满足高精度资产需求

注:该测试结果基于纯模型推理时间,不包含图像预处理与格式导出耗时,实际使用中整体流程仍保持高效。

2. 突破拓扑限制,兼容任意复杂结构

传统3D生成模型多依赖等值面场技术,在处理开放表面、非流形几何等复杂结构时易出现失真、破损或需额外优化的问题。TRELLIS.2采用创新的O-Voxel无场稀疏体素结构,彻底摆脱这一限制,能够稳健处理各类复杂拓扑,且无需任何有损转换步骤:

  • ✅ 开放表面:如衣物、树叶、布料等无闭合边界的结构

  • ✅ 非流形几何:如多个面共享一条边、单个顶点连接多个不连续面的特殊结构

  • ✅ 内部封闭结构:如空心物体、带腔体的机械零件等内部复杂形态

这一特性使得TRELLIS.2能够覆盖更多真实世界场景的3D生成需求,无需用户手动修复模型拓扑,大幅降低后续处理成本。

3. 全PBR材质建模,支持照片级渲染

不同于仅支持基础颜色的简易3D生成工具,TRELLIS.2完整支持PBR材质的全维度属性建模,能够生成具备工业级标准的3D资产,具体包括:

  • 基础色(Base Color):物体表面的固有颜色,支持细腻纹理细节

  • 粗糙度(Roughness):控制物体表面的反光程度,从镜面到磨砂效果可精准呈现

  • 金属度(Metallic):模拟金属材质的反光特性,区分金属与非金属质感

  • 透明度(Opacity):支持半透明效果,如玻璃、塑料、布料等透明/半透明材质

通过全PBR材质建模,TRELLIS.2生成的3D资产可直接用于游戏引擎(如Unity、Unreal Engine)、影视渲染、AR/VR场景等专业领域,无需额外进行材质调整,实现“生成即可用”。

4. 极简数据处理,双向格式极速转换

TRELLIS.2优化了3D资产的格式转换流程,无需依赖复杂的渲染管线或优化算法,即可实现纹理网格与O-Voxel格式的双向极速转换,具体效率如下:

  • 纹理网格 → O-Voxel:单CPU环境下耗时<10秒,无需GPU加速即可完成

  • O-Voxel → 纹理网格:CUDA环境下耗时<100毫秒,近乎实时转换

这一特性极大提升了工作流效率:用户可快速将现有纹理网格资产转换为O-Voxel格式用于模型微调,也可将生成的O-Voxel模型即时转换为纹理网格用于导出与使用,全程无冗余步骤。

5. 开源易用,支持多场景部署

TRELLIS.2提供完整的开源代码、预训练权重与详细文档,支持两种核心使用方式:

  • 本地部署:通过Python脚本调用模型,支持自定义参数(如分辨率、输出格式)

  • Web Demo:通过简单命令启动本地Web服务,无需编写代码即可通过界面上传图像、生成3D资产

同时,项目提供Hugging Face Spaces在线Demo,用户无需本地配置环境即可快速体验核心功能,降低试用门槛。

三、技术细节

TRELLIS.2的核心技术优势源于其创新的模型架构、数据表示方法与高效的工程实现,以下从关键技术模块进行详细解析:

1. 核心表示方法:O-Voxel无场稀疏体素结构

O-Voxel是TRELLIS.2提出的“无场稀疏体素”创新表示方法,也是其突破传统3D生成限制的核心。传统3D生成模型多采用“等值面场”(如SDF、NeRF),需通过隐式函数拟合物体表面,在处理复杂拓扑时易出现精度损失或效率低下的问题。而O-Voxel采用显式稀疏体素表示,直接对物体的几何结构与材质属性进行离散化存储,无需通过隐式函数推导,具体优势如下:

  • 无拓扑限制:显式存储几何信息,无需满足等值面场的连续性假设,自然支持开放表面、非流形几何等复杂结构

  • 高效编码:通过稀疏存储技术,仅保留物体表面及内部有效区域的体素数据,大幅降低存储与计算开销

  • 双向兼容:设计了专门的格式转换逻辑,可与传统纹理网格格式(如GLB、OBJ)高效互转,兼容现有3D工作流

O-Voxel的核心价值在于“兼顾紧凑性与表达能力”:既通过稀疏存储实现了高效计算,又通过显式表示保证了几何与材质的高保真度,解决了传统3D生成模型中“效率”与“质量”难以兼顾的矛盾。

2. 模型架构:4B参数稀疏3D VAE + DiTs

TRELLIS.2的模型架构由“稀疏3D VAE”与“DiTs(Denoising Diffusion Transformers)”组成,形成“编码-生成-解码”的完整流程:

  • 稀疏3D VAE:负责将3D资产编码为紧凑潜空间。通过16×空间下采样,将高分辨率3D数据压缩为低维度潜向量,同时保留几何与材质的关键信息,为高效生成奠定基础

  • DiTs生成器:基于4B参数的Transformer架构,在潜空间中进行扩散生成。DiTs具备强大的全局依赖建模能力,能够精准还原2D图像中的细节信息,并将其映射为3D空间的几何与材质分布

  • 解码器:将生成的潜向量解码为O-Voxel格式,再通过格式转换模块输出为纹理网格或GLB格式,完成3D资产生成

这一架构的优势在于:通过VAE实现数据压缩,降低生成过程的计算开销;通过DiTs保证生成质量,利用Transformer的长距离依赖建模能力还原细腻细节;整体设计兼顾了模型规模与推理效率,在4B参数的高容量下仍能实现快速推理。

3. 工程优化:高效依赖组件与硬件适配

为实现“高分辨率+高效率”的目标,TRELLIS.2集成了多个微软自研的高性能组件,同时针对硬件进行了深度优化:

  • FlexGEMM:基于Triton的高效稀疏卷积实现,专门优化稀疏体素结构的卷积计算,大幅提升O-Voxel数据的处理速度

  • CuMesh:CUDA加速的网格处理工具,支持高速后处理(如网格简化、重新网格化、UV展开、降采样等),确保生成的纹理网格具备良好的实用性

  • 注意力后端优化:默认采用flash-attn作为注意力计算后端,兼顾速度与显存效率;对于不支持flash-attn的GPU(如NVIDIA V100),可切换为xformers后端,保证兼容性

  • CUDA Toolkit适配:推荐使用CUDA 12.4版本,通过底层优化充分发挥NVIDIA GPU的计算能力,尤其是在高分辨率生成场景下的并行计算效率

这些工程优化使得TRELLIS.2能够在常规硬件(≥24GB显存的GPU)上实现高分辨率3D生成,避免了对超高端硬件的过度依赖,提升了项目的可及性。

四、应用场景

基于其高保真、高效率、强兼容性的核心特性,TRELLIS.2可广泛应用于多个专业领域与个人创作场景,具体如下:

1. 游戏资产创作

游戏开发中,3D资产(如角色、道具、场景组件)的制作是耗时耗力的核心环节。TRELLIS.2可快速将概念设计图、参考照片转换为具备全PBR材质的3D资产,支持512³-1536³分辨率输出,能够满足移动端、PC端、主机端等不同平台的精度需求。例如:

  • 设计师上传角色概念图,快速生成3D基础模型,用于前期原型验证

  • 将真实世界道具(如武器、饰品)的照片转换为3D模型,减少手工建模工作量

  • 批量生成场景组件(如树木、岩石、建筑零件),提升场景搭建效率

生成的GLB格式资产可直接导入Unity、Unreal Engine等主流游戏引擎,无需额外材质调整,大幅缩短游戏开发周期。

2. AR/VR内容开发

AR/VR场景对3D资产的轻量化与真实感要求较高,TRELLIS.2的全PBR材质建模与高效格式转换特性能够很好地适配这一需求:

  • AR试穿/试戴:将服装、饰品、眼镜等产品的2D图片转换为3D资产,用于AR试穿场景,提升用户体验

  • VR场景构建:快速生成虚拟环境中的3D物体(如家具、工具、自然景观),降低VR内容制作成本

  • 教育类AR应用:将教材中的2D插图(如人体结构、机械零件)转换为3D模型,支持交互式观察,提升教学效果

3. 产品设计与原型制作

在工业设计、产品研发领域,TRELLIS.2可作为快速原型工具,帮助设计师将2D设计图转换为3D模型,加速迭代流程:

  • 工业零件设计:将零件的2D蓝图转换为3D模型,用于前期结构验证与装配测试

  • 消费电子产品设计:如手机、家电等产品的2D渲染图转换为3D模型,用于外观展示与用户调研

  • 3D打印原型:生成高精度3D模型,直接导出为3D打印支持的格式(如STL),缩短原型制作周期

4. 影视与动画制作

影视动画中的场景、道具、角色模型往往需要高精度与真实感,TRELLIS.2的1536³超高清分辨率与全PBR材质支持能够满足这一需求:

  • 场景道具生成:将概念艺术图转换为3D场景组件(如建筑、家具、装饰),提升场景搭建效率

  • 角色辅助建模:快速生成角色的基础3D模型,为动画师提供前期参考

  • 特效资产制作:生成透明/半透明特效资产(如烟雾、液体、魔法效果),支持影视级渲染

5. 个人创作与开源社区

对于3D建模爱好者、学生、独立创作者等非专业群体,TRELLIS.2的低门槛特性使其能够快速入门3D创作:

  • 个人作品集制作:将自己的绘画、摄影作品转换为3D资产,丰富作品集形式

  • 学习与研究:通过开源代码了解3D生成模型的核心技术,用于学术研究或技能提升

  • 开源项目贡献:基于TRELLIS.2进行二次开发,扩展更多场景化功能(如风格化3D生成、批量生成工具)

五、使用方法

TRELLIS.2支持本地部署(Python脚本)与Web Demo两种使用方式,以下详细介绍安装步骤与核心操作流程:

1. 前置条件

在开始使用前,需确保满足以下硬件与软件要求,否则可能导致安装失败或功能异常:

类别 具体要求
操作系统 仅支持Linux(当前官方测试环境,Windows、macOS暂不支持)
硬件 NVIDIA GPU(显存≥24GB,推荐A100/H100,已验证兼容;显存不足会导致高分辨率生成失败)
软件依赖 1. CUDA Toolkit:推荐版本12.4(需与PyTorch版本匹配)
2. Conda:用于依赖管理,推荐Anaconda或Miniconda
3. Python:3.8及以上版本
其他注意 1. 若安装多个CUDA版本,需手动设置CUDA_HOME环境变量指向目标版本(如CUDA 12.4)
2. 部分GPU(如V100)不支持flash-attn,需手动安装xformers并配置注意力后端

2. 安装步骤

步骤1:克隆仓库

打开Linux终端,执行以下命令克隆TRELLIS.2的GitHub仓库(需确保网络可访问GitHub):

git clone -b main https://github.com/microsoft/TRELLIS.2.git --recursive
cd TRELLIS.2

注:--recursive参数用于克隆子模块(如O-Voxel、FlexGEMM等依赖组件),不可省略,否则会导致后续安装失败。

步骤2:安装依赖

项目提供setup.sh脚本用于一键安装依赖,支持通过参数配置安装选项。核心命令如下:

. ./setup.sh --new-env --basic --flash-attn --nvdiffrast --nvdiffrec --cumesh --o-voxel --flexgemm

脚本参数说明:

  • --new-env:创建名为trellis2的新Conda环境(若需使用现有环境,移除该参数)

  • --basic:安装基础依赖(如PyTorch、OpenCV等)

  • --flash-attn:安装flash-attn注意力后端(推荐A100/H100使用)

  • --nvdiffrast:安装渲染依赖(用于3D资产可视化)

  • --nvdiffrec:安装PBR材质渲染依赖

  • --cumesh:安装CUDA加速网格处理工具

  • --o-voxel:安装O-Voxel格式处理核心库

  • --flexgemm:安装高效稀疏卷积库

若需查看所有参数选项,可执行以下命令:

. ./setup.sh --help

安装注意事项:

  • 依赖安装可能耗时较长(部分包需编译),请耐心等待,避免中断进程

  • 若出现安装失败,可尝试单独安装失败的依赖(参考错误提示),或按顺序添加参数逐步安装

  • 若使用非12.4版本的CUDA,需移除--new-env参数,手动安装对应版本的PyTorch(参考PyTorch官方安装指南)

步骤3:下载预训练权重

TRELLIS.2的4B参数预训练权重已发布在Hugging Face,无需手动下载——在运行推理脚本时,模型会自动从Hugging Face加载权重(需确保网络可访问Hugging Face)。若需手动下载,可访问权重地址:https://huggingface.co/microsoft/TRELLIS.2-4B,按指引下载并放置到指定目录。

3. 核心使用流程

方式1:本地Python脚本(图像到3D生成)

以下是使用预训练模型进行图像到3D生成的极简示例,完整代码可参考项目中的example.py

# 1. 导入依赖库
import os
os.environ['OPENCV_IO_ENABLE_OPENEXR'] = '1'
os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True" # 节省GPU显存
import cv2
import imageio
from PIL import Image
import torch
from trellis2.pipelines import Trellis2ImageTo3DPipeline
from trellis2.utils import render_utils
from trellis2.renderers import EnvMap
import o_voxel

# 2. 配置环境贴图(用于渲染可视化视频)
envmap = EnvMap(
  torch.tensor(
    cv2.cvtColor(cv2.imread('assets/hdri/forest.exr', cv2.IMREAD_UNCHANGED), cv2.COLOR_BGR2RGB),
    dtype=torch.float32, device='cuda'
  )
)

# 3. 加载模型 pipeline(自动从Hugging Face下载预训练权重)
pipeline = Trellis2ImageTo3DPipeline.from_pretrained("microsoft/TRELLIS.2-4B")
pipeline.cuda() # 将模型移至GPU

# 4. 加载输入图像并运行生成
image = Image.open("assets/example_image/T.png") # 替换为你的输入图像路径
mesh = pipeline.run(image)[0] # 生成3D网格模型
mesh.simplify(16777216) # 简化网格(适配nvdiffrast渲染限制)

# 5. 渲染可视化视频
video = render_utils.make_pbr_vis_frames(render_utils.render_video(mesh, envmap=envmap))
imageio.mimsave("sample.mp4", video, fps=15) # 保存视频到本地

# 6. 导出GLB格式3D资产(可直接用于3D软件/引擎)
glb = o_voxel.postprocess.to_glb(
  vertices=mesh.vertices,
  faces=mesh.faces,
  attr_volume=mesh.attrs,
  coords=mesh.coords,
  attr_layout=mesh.layout,
  voxel_size=mesh.voxel_size,
  aabb=[[-0.5, -0.5, -0.5], [0.5, 0.5, 0.5]], # 边界框设置
  decimation_target=1000000, # 降采样目标顶点数
  texture_size=4096, # 纹理分辨率
  remesh=True, # 重新网格化
  remesh_band=1,
  remesh_project=0,
  verbose=True
)
glb.export("sample.glb", extension_webp=True) # 导出GLB文件

执行脚本后,会在当前目录生成两个文件:

  • sample.mp4:3D资产的PBR材质可视化视频,展示模型的几何结构与材质效果

  • sample.glb:可直接使用的3D资产文件,默认不启用透明度,需在3D软件中手动连接alpha通道

方式2:Web Demo(无代码操作)

若无需自定义参数,可通过Web Demo快速生成3D资产,步骤如下:

  1. 完成上述安装步骤后,在项目根目录执行以下命令启动Web服务:

    python app.py
  2. 终端会输出访问地址(如http://0.0.0.0:7860),打开浏览器访问该地址

  3. 在Web界面中点击“上传图像”,选择目标2D图像

  4. 点击“生成3D资产”,等待生成完成(时间取决于分辨率,512³约3秒)

  5. 生成完成后,可下载可视化视频(MP4格式)与3D资产(GLB格式)

4. 关键参数说明

在使用Python脚本时,可通过调整以下参数自定义生成效果:

  • 分辨率:在pipeline.run()中指定,如pipeline.run(image, resolution=1024)(默认512³)

  • 纹理大小:在o_voxel.postprocess.to_glb()中调整texture_size参数(默认4096,可改为2048、1024等)

  • 降采样目标:通过decimation_target调整GLB模型的顶点数(数值越小,模型越轻量化)

  • 透明度启用:GLB文件默认不启用透明度,需在Blender、Maya等3D软件中,将纹理的alpha通道连接到材质的透明度输入

六、常见问题解答(FAQ)

1. 安装时提示CUDA版本不匹配,如何解决?

答:TRELLIS.2推荐使用CUDA 12.4,若你的系统安装了其他版本,需按以下步骤处理:

  • 第一步:移除setup.sh中的--new-env参数,避免自动安装PyTorch

  • 第二步:手动设置CUDA_HOME环境变量,指向你的CUDA版本(如export CUDA_HOME=/usr/local/cuda-11.8

  • 第三步:参考PyTorch官方指南,安装与你的CUDA版本匹配的PyTorch(如CUDA 11.8对应PyTorch 2.0.0+)

  • 第四步:重新运行setup.sh脚本,仅保留--basic --flash-attn等其他参数,完成剩余依赖安装

2. 运行时提示GPU显存不足,如何处理?

答:显存不足通常是由于分辨率设置过高或GPU显存小于24GB,解决方案如下:

  • 降低生成分辨率:优先选择512³分辨率(最低显存需求24GB),避免直接使用1536³

  • 启用显存优化:在脚本开头添加os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "expandable_segments:True",允许PyTorch动态扩展显存

  • 关闭不必要的功能:如无需渲染视频,可注释掉render_utils相关代码,减少显存占用

  • 更换更高显存GPU:若需生成1024³/1536³分辨率,建议使用≥40GB显存的GPU(如A100 40GB、H100 80GB)

3. 生成的GLB文件没有透明度效果,如何启用?

答:TRELLIS.2生成的GLB文件默认以OPAQUE模式导出,alpha通道已存储在纹理中,但未主动启用,需在3D软件中手动配置:

  • 以Blender为例:导入GLB文件后,进入材质编辑器,找到纹理节点中的alpha通道,将其连接到“Principled BSDF”节点的“Alpha”输入

  • 以Unreal Engine为例:导入后,在材质编辑器中启用“Translucent”模式,并将alpha通道映射到透明度参数

4. 输入图像有什么要求?生成效果受哪些因素影响?

答:输入图像需满足以下要求,否则可能影响生成质量:

  • 图像格式:支持PNG、JPG、JPEG等常见格式,建议分辨率≥512×512

  • 内容要求:主体明确、背景简单(避免复杂背景干扰模型识别),建议选择光照均匀、细节清晰的图像

  • 影响因素:① 图像清晰度(模糊图像会导致3D模型细节丢失);② 主体完整性(主体裁剪过多会导致拓扑不完整);③ 光照一致性(图像光照混乱会导致材质渲染异常)

5. 能否在Windows或macOS系统上使用TRELLIS.2?

答:当前TRELLIS.2的代码仅在Linux系统上测试通过,Windows和macOS暂不支持,主要原因如下:

  • 部分依赖组件(如CuMesh、FlexGEMM)基于Linux的CUDA环境开发,未适配Windows/macOS

  • macOS的Metal框架与CUDA不兼容,无法支持GPU加速功能

若需在非Linux系统使用,可通过Docker容器(Linux镜像)或云服务器(如AWS EC2、阿里云ECS的Linux实例)部署。

6. 如何获取形状条件纹理生成功能?

答:形状条件纹理生成的推理代码目前尚未发布,官方计划在2025年12月24日前开放,建议关注项目GitHub仓库的更新通知:

  • 定期查看项目的“Roadmap”部分,获取功能发布进度

  • 订阅项目的GitHub Release通知,功能发布后会收到提醒

  • 加入项目相关社区(如GitHub Discussions),获取最新动态

7. 生成的3D模型可以用于商业用途吗?

答:TRELLIS.2的项目代码与模型权重采用MIT License开源,允许商业使用,但需注意以下两点:

  • 遵守MIT License的要求:保留原项目的版权声明与许可证文件

  • 部分依赖组件(如nvdiffrast、nvdiffrec)有独立许可证,需查看其官方许可证要求,确保商业使用合规

建议在商业使用前,仔细阅读项目LICENSE文件及各依赖组件的许可证条款。

七、相关链接

八、总结

TRELLIS.2是微软推出的一款具备行业领先水平的开源图像到3D生成模型,以4B参数规模、创新O-Voxel无场稀疏体素结构为核心,实现了高分辨率(最高1536³)、全PBR材质、复杂拓扑兼容的3D资产高效生成,在NVIDIA H100 GPU上生成512³分辨率资产仅需3秒,同时支持纹理网格与O-Voxel格式的双向极速转换,无需复杂渲染与优化步骤。该项目提供完整的本地部署方案、Web Demo与预训练权重,安装过程通过脚本简化,支持Linux系统与≥24GB显存的NVIDIA GPU,适用于游戏建模、AR/VR开发、产品设计、影视制作等多个专业场景,同时也降低了个人创作者的3D创作门槛。作为开源项目,TRELLIS.2已开放核心推理功能与权重,后续将按计划补充形状条件纹理生成代码与训练代码,为开发者提供更完整的二次开发支持,其创新的技术方案与实用的功能特性,有望推动3D生成技术在更多行业的落地应用。

打赏
THE END
作者头像
dotaai
正在和我的聊天机器人谈恋爱,它很会捧场。