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…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...