TRELLIS - 生成 3D 作品的开源模型
TRELLIS 是一个大型 3D 资产生成模型。它接收文本或图像提示,并生成各种格式的高质量 3D 资产,例如 Radiance Fields、3D Gaussians 和网格。TRELLIS 的基石是统一的结构化 LATent (SLAT) 表示,它允许解码为不同的输出格式,并为 SLAT 量身定制的整流变压器作为强大的支柱。我们在 500K 不同对象的大型 3D 资产数据集上提供具有多达 20 亿个参数的大规模预训练模型。TRELLIS 显著超越了现有方法,包括最近类似比例的方法,并展示了以前型号所没有的灵活输出格式选择和本地 3D 编辑功能。
6100 Stars 388 Forks 67 Issues 5 贡献者 MIT License Python 语言
代码: https://github.com/microsoft/TRELLIS
主页: TRELLIS: Structured 3D Latents for Scalable and Versatile 3D Generation
更多AI开源软件:AI开源 - 小众AI

主要功能
- **高质量**:它以高质量生成具有复杂形状和纹理细节的各种 3D 资产。
- **多功能性**:它接受文本或图像提示,可以生成各种最终的 3D 表示,包括但不限于*辐射场*、*3D 高斯*和*网格*,以适应不同的下游要求。
- **灵活编辑**:它允许轻松编辑生成的 3D 资产,例如生成同一对象的变体或对 3D 资产进行本地编辑。
📦 安装和使用
先决条件
-
**系统**:代码目前仅在 **Linux** 上进行测试。对于 Windows 设置,您可以参考 #3(未完全测试)。
-
**硬件**:需要至少具有 16GB 内存的 NVIDIA GPU。该代码已在 NVIDIA A100 和 A6000 GPU 上得到验证。
-
软件:
- 需要 CUDA 工具包来编译某些子模块。该代码已使用 CUDA 版本 11.8 和 12.2 进行了测试。
- 建议使用 Conda 来管理依赖项。
- 需要 Python 版本 3.8 或更高版本。
安装步骤
-
克隆存储库:
git clone --recurse-submodules https://github.com/microsoft/TRELLIS.git cd TRELLIS -
安装依赖项:
**在运行以下命令之前,需要注意一些事项:**- 通过添加 ,将创建一个名为 的新 conda 环境。如果要使用现有的 conda 环境,请删除此标记。--new-envtrellis
- 默认情况下,环境将使用 pytorch 2.4.0 和 CUDA 11.8。如果您想使用不同版本的 CUDA(例如,如果您安装了 CUDA Toolkit 12.2 并且不想安装另一个 11.8 版本进行子模块编译),您可以删除该标志并手动安装所需的依赖项。有关安装命令,请参阅 PyTorch。trellis--new-env
- 如果您安装了多个 CUDA Toolkit 版本,则应在运行命令之前将其设置为正确的版本。例如,如果您安装了 CUDA Toolkit 11.8 和 12.2,则应在运行命令之前运行。PATHexport PATH=/usr/local/cuda-11.8/bin:$PATH
- 默认情况下,代码使用 backend 进行关注。对于不支持的 GPU(例如 NVIDIA V100),您可以删除仅安装 (install only) 的标志,并将环境变量设置为在运行代码之前。有关更多详细信息,请参阅 最小示例。flash-attnflash-attn--flash-attnxformersATTN_BACKENDxformers
- 由于依赖项数量众多,安装可能需要一段时间。请耐心等待。如果遇到任何问题,可以尝试逐个安装依赖项,一次指定一个标志。
- 如果您在安装过程中遇到任何问题,请随时打开问题或联系我们。
创建一个名为 的新 conda 环境并安装依赖项:trellis
. ./setup.sh --new-env --basic --xformers --flash-attn --diffoctreerast --spconv --mipgaussian --kaolin --nvdiffrast运行.setup.sh. ./setup.sh --help
Usage: setup.sh [OPTIONS] Options:-h, --help Display this help message--new-env Create a new conda environment--basic Install basic dependencies--xformers Install xformers--flash-attn Install flash-attn--diffoctreerast Install diffoctreerast--vox2seq Install vox2seq--spconv Install spconv--mipgaussian Install mip-splatting--kaolin Install kaolin--nvdiffrast Install nvdiffrast--demo Install all dependencies for demo
🤖 预训练模型
我们提供以下预训练模型:
| 型 | 描述 | #Params | 下载 |
|---|---|---|---|
| 格状图-大 | 大型图像到 3D 模型 | 1.2乙 | 下载 |
| TRELLIS-text-base | 基本文本到 3D 模型 | 342 米 | 即将推出 |
| 格状文本大号 | 大型文本到 3D 模型 | 1.1乙 | 即将推出 |
| 格子文本 xlarge | 超大文本到 3D 模型 | 2.0乙 | 即将推出 |
这些模型托管在 Hugging Face 上。您可以在代码中直接加载模型及其存储库名称:
TrellisImageTo3DPipeline.from_pretrained("JeffreyXiang/TRELLIS-image-large")
如果您更喜欢从本地加载模型,可以从上面的链接下载模型文件,并使用文件夹路径加载模型(应保持文件夹结构):
TrellisImageTo3DPipeline.from_pretrained("/path/to/TRELLIS-image-large")
💡 用法
最小示例
以下是如何使用预训练模型生成 3D 资产的示例。
import os
# os.environ['ATTN_BACKEND'] = 'xformers' # Can be 'flash-attn' or 'xformers', default is 'flash-attn'
os.environ['SPCONV_ALGO'] = 'native' # Can be 'native' or 'auto', default is 'auto'.# 'auto' is faster but will do benchmarking at the beginning.# Recommended to set to 'native' if run only once.import imageio
from PIL import Image
from trellis.pipelines import TrellisImageTo3DPipeline
from trellis.utils import render_utils, postprocessing_utils# Load a pipeline from a model folder or a Hugging Face model hub.
pipeline = TrellisImageTo3DPipeline.from_pretrained("JeffreyXiang/TRELLIS-image-large")
pipeline.cuda()# Load an image
image = Image.open("assets/example_image/T.png")# Run the pipeline
outputs = pipeline.run(image,seed=1,# Optional parameters# sparse_structure_sampler_params={# "steps": 12,# "cfg_strength": 7.5,# },# slat_sampler_params={# "steps": 12,# "cfg_strength": 3,# },
)
# outputs is a dictionary containing generated 3D assets in different formats:
# - outputs['gaussian']: a list of 3D Gaussians
# - outputs['radiance_field']: a list of radiance fields
# - outputs['mesh']: a list of meshes# Render the outputs
video = render_utils.render_video(outputs['gaussian'][0])['color']
imageio.mimsave("sample_gs.mp4", video, fps=30)
video = render_utils.render_video(outputs['radiance_field'][0])['color']
imageio.mimsave("sample_rf.mp4", video, fps=30)
video = render_utils.render_video(outputs['mesh'][0])['normal']
imageio.mimsave("sample_mesh.mp4", video, fps=30)# GLB files can be extracted from the outputs
glb = postprocessing_utils.to_glb(outputs['gaussian'][0],outputs['mesh'][0],# Optional parameterssimplify=0.95, # Ratio of triangles to remove in the simplification processtexture_size=1024, # Size of the texture used for the GLB
)
glb.export("sample.glb")# Save Gaussians as PLY files
outputs['gaussian'][0].save_ply("sample.ply")
运行代码后,您将获得以下文件:
- sample_gs.mp4:显示 3D 高斯表示的视频
- sample_rf.mp4:显示 Radiance Field 表示的视频
- sample_mesh.mp4:显示网格表示的视频
- sample.glb:包含提取的纹理网格的 GLB 文件
- sample.ply:包含 3D 高斯表示的 PLY 文件
Web 演示
app.py 提供了一个简单的 Web 演示,用于生成 3D 资产。由于此 demo 基于 Gradio,因此需要额外的依赖项:
. ./setup.sh --demo
安装依赖项后,您可以使用以下命令运行 Demo:
python app.py
然后,您可以在终端中显示的地址访问演示。
相关文章:
TRELLIS - 生成 3D 作品的开源模型
TRELLIS 是一个大型 3D 资产生成模型。它接收文本或图像提示,并生成各种格式的高质量 3D 资产,例如 Radiance Fields、3D Gaussians 和网格。TRELLIS 的基石是统一的结构化 LATent (SLAT) 表示,它允许解码为不同的输出…...
uni-app图文列表到详情页面切换
需求:参考若依框架后,想实现首页浏览文章列表,没有合适的样式参考,所以需要有效果做到“图文列表到详情页面切换”,查阅了一下案例 发现有相应的案例,在导航栏“模板”中找到了 DCloud 插件市场 PC电脑端访…...
ros2-3.4话题通信最佳实践
3.4.1 工程架构设计 需求背景: 第一,通过这个小工具可以看到系统的实时状态信息包括记录信息的时间、主机名称、CPU使用率、内存使用率、内存总大小、剩余内存、网络接收数据量和网络发送数据量; 第二,要有一个简单的界面,可以将…...
Vmware安装centos
用来记录自己安装的过程 一、创建虚拟机安装centos镜像 点击完成后,等待一会会进入centos的系统初始化界面 二、centos初始化配置 三、配置网络 1、虚拟网络编辑器,开启VMnet1、VMnet8的DHCP vmware左上角工具栏,点击【编辑】->【虚拟网…...
51单片机——按键实验
由于机械点的弹性作用,按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开,因而在闭合和断开的瞬间均伴随着一连串的抖动。抖动时间的长短由按键的机械特性决定的,一般为 5ms 到 10ms,为了确保 CPU 对按键的…...
QT c++ 自定义按钮类 加载图片 美化按钮
如果你有需要利用图片美化按钮的情况,本文能帮助你。 鼠标左键按下按钮和松开,按钮显示不同的图片。 1.按钮类 //因为此类比较简单,1个头文件搞定,没有cpp文件 #ifndef CUSTOMBUTTON_H #define CUSTOMBUTTON_H #include <Q…...
Django:构建高效Web应用的强大框架
在当今快速发展的Web开发领域,选择一个合适的框架对于项目的成功至关重要。Django,作为Python编程语言中最受欢迎的Web框架之一,凭借其强大的功能、高度的可扩展性和简洁的语法,成为了众多开发者心中的首选。本文将深入探讨Django…...
代码随想录算法【Day11】
150. 逆波兰表达式求值 class Solution { public:int evalRPN(vector<string>& tokens) {// 力扣修改了后台测试数据,需要用longlongstack<long long> st; for (int i 0; i < tokens.size(); i) {if (tokens[i] "" || tokens[i] &…...
[SeaTunnel] [MySql CDC] Generate Splits for table db.table error
在使用 SeaTunnel 的 MySQL CDC 时报错: Caused by: org.apache.seatunnel.engine.common.exception.SeaTunnelEngineException: java.lang.RuntimeException: Generate Splits for table db.table error SeaTunnel 版本为 2.3.8 在 GitHub 上找到一种解决方法&am…...
Spring Boot | 基于MinIO实现文件上传和下载
关注:CodingTechWork 介绍 在现代的 web 应用中,文件上传和下载是常见的需求。MinIO 是一个开源的高性能分布式对象存储服务,可以用来存储和管理大量的非结构化数据,如图片、视频、日志文件等。本文将介绍如何在 Spring Boot 应用…...
企业手机号搜索API接口
每日免费每次消耗:按量每日限制:10 次每次请求积分消耗:50 积分 / 次总次数限制:10000 次每次请求间隔:0 秒,并发:50 请求地址 http(s)://api.aiqimao.com/index/apiphoneget/ 调试 请求方法…...
VirtualBox Main API 学习笔记
1. Philosophy 1.1 对于Python,推荐使用"WEBSERVICE"连接方式 Gemini 2.0 Flash Experimental: 对于 Java 和 Python: 文档建议您首先使用"WEBSERVICE",因为它提供了一种更直观的方式来使用 API。 2. Configuration pi…...
[Linux]Mysql9.0.1服务端脱机安装配置教程(redhat)
前言 本教程适用于在yum源不可用的LInux主机上安装Mysql的场景。 以redhat系主机做操作示例,debian系主机可参照步骤,将对应的rpm -ivh命令换成dpkg -i。 1. 官网下载安装包 https://dev.mysql.com/downloads/mysql/ 1.1 版本分类 MySQL Enterprise…...
uniapp--HBuilder开发
提示:本文为学习内容,若有错误,请联系作者,谦虚受教。 文章目录 前言一、下载HBuilder二、添加modbus相关库1.下载nodejs2.下载modbus库3.项目添加modbus库 三、HBuilder相关功能语句1.文件夹说明2.消息信息框3.开关按钮4.选中按钮…...
计算机毕业设计学习项目-P10080 基于springboot+vue的社团管理系统的设计与实现
项目说明 本号所发布的项目均由我部署运行验证,可保证项目系统正常运行,以及提供完整源码。 如需要远程部署/定制/讲解系统,可以联系我。定制项目未经同意不会上传! 项目源码获取方式放在文章末尾处 注:项目仅供学…...
with as提高sql的执行效率
实战sql with cte(UNIT_ID, UNIT_NAME, PARENT_UNIT_ID, UNIT_CODE ) as (select UNIT_ID, UNIT_NAME, PARENT_UNIT_ID , UNIT_CODEfrom HPFM_UNITunion allselect t.UNIT_ID, t.UNIT_NAME, t.PARENT_UNIT_ID, t.UNIT_CODEfrom HPFM_UNIT tjoin cte on t.PARENT_UNIT_ID cte.U…...
【银河麒麟高级服务器操作系统实例】tcp半链接数溢出分析及处理全过程
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://document.kylinos.cn 服务器环境以及配置 系统环境 物理机/虚拟机/云…...
计算机毕业设计Python中华古诗词知识图谱可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析模型 自然语言处理NLP 机器学习 深度学习
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
分布式ID生成-雪花算法实现无状态
雪花算法这里不再赘述,其缺点是有状态(多副本隔离时,依赖手动配置workId和datacenterId),代码如下: /*** 雪花算法ID生成器*/ public class SnowflakeIdWorker {/*** 开始时间截 (2017-01-01)*/private st…...
【问题】配置 Conda 与 Pip 源
通常情况下,使用 conda 命令或者 pip 命令都是从国外的服务器上下载需要的模块包的,这在网速不佳的情况下会消耗大量的时间。所以这里建议更换国内的源来进行模块下载,速度会大大提升。 具体方法如下: 打开命令行 cmd 工具,输入以下命令。 ① Conda 换源 conda config…...
USB-Disk-Ejector:重新定义Windows设备安全移除体验
USB-Disk-Ejector:重新定义Windows设备安全移除体验 【免费下载链接】USB-Disk-Ejector A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable alternati…...
2025届毕业生推荐的AI写作神器实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当下,人工智能技术已然渗透进学术写作范畴,借助AI辅助来撰写毕业论文…...
空气质量指数背后的科学:从污染物浓度到健康影响的完整解读
空气质量指数背后的科学:从污染物浓度到健康影响的完整解读 清晨推开窗户,你是否曾因灰蒙蒙的天空而犹豫今天的晨跑计划?天气预报中那个看似简单的AQI数值,实则凝结了环境科学家们数十年的研究成果。这个介于0到500之间的数字&am…...
蓝桥杯第15届单片机满分
1. 为什么会在第 5 位显示出 8?freq_jiaofreqseg_jiao;//频率数据的最终结果 if(freq_jiao<0) {wrong1;//频率界面数码管显示LL,表示此状态错误 } else wrong0;而在 serviceT1 的中断里,每 1000ms 更新一次 freq:当测试系统改变输入频率&a…...
3分钟解锁B站缓存视频:m4s-converter无损转换指南
3分钟解锁B站缓存视频:m4s-converter无损转换指南 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾为B站下架的视频感到惋惜&…...
最新版临时文件快传系统源码 全开源附教程
内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示一、详细介绍 9月更新 临时文件快传系统源码 全开源附教程 更新日志: 新增: 独立分享页面新增返回首页按钮 目录分享页面显示统计信息 会员等级中心显示是否默认永久存储 后台会员等级权限…...
智元GO-2:具身基座大模型新突破
智元机器人正式推出新一代具身基座大模型Genie Operator-2(GO-2),它在GO-1基础上进化,弥合语义‑运动鸿沟,在多个基准测试中刷新行业SOTA。进化亮点:弥合语义‑运动鸿沟GO-2在GO-1基础上进化,致…...
第4篇 | 功能安全的底层悖论:AUTOSAR的安全机制真的足够安全吗?
ISO 26262要求ASIL C和D等级的系统必须检测:定时和执行故障、内存故障、信息交换故障。AUTOSAR 4.x提供了看门狗、E2E保护、内存分区等机制,但仍有盲区。 定时故障检测的盲区 AUTOSAR的Watchdog Manager可以监控任务是否“卡死”(长时间不喂狗),但它无法检测任务的无限期阻…...
C3D行为识别(一):UCF101视频数据集预处理实战与优化
1. UCF101数据集:行为识别的黄金标准 第一次接触行为识别任务时,我面对五花八门的视频数据集简直挑花了眼。经过多次实践对比,UCF101始终是我最推荐新手入门的"教科书级"数据集。这个包含101类人类动作的经典数据集,就像…...
第三十四章 ESP32S3 RGB 屏幕驱动优化与性能调优实战
1. ESP32S3 RGB屏幕驱动基础回顾 在开始性能优化之前,我们先快速回顾下ESP32S3驱动RGB屏幕的基础知识。ESP32S3内置了LCD控制器,可以直接驱动RGB接口的液晶屏,这种接口相比SPI或I2C接口的屏幕,具有更高的数据传输速率和刷新率。 R…...
