腾讯混元3D-1.0:文本到三维和图像到三维生成的统一框架

news2024/11/14 15:12:56

在这里插入图片描述

虽然三维生成模型极大地改进了艺术家的工作流程,但现有的三维生成扩散模型存在生成速度慢、泛化能力差的问题。 为了解决这个问题,我们提出了一种名为 "Hunyuan3D-1.0 "的两阶段方法,包括精简版和标准版,均支持文本和图像条件生成。

在第一阶段,我们采用多视角扩散模型,在大约 4 秒钟内高效生成多视角 RGB 图像。 这些多视角图像可从不同视角捕捉三维资产的丰富细节,从而将单视角重建任务简化为多视角重建任务。 在第二阶段,我们引入了一个前馈重建模型,它能在大约 7 秒钟内根据生成的多视角图像快速、忠实地重建三维资产。 重建网络学会处理多视角扩散带来的噪音和不一致,并利用条件图像中的可用信息来有效恢复三维结构。

我们的框架涉及文本到图像模型,即浑源-DiT,使其成为支持文本和图像条件三维生成的统一框架。 我们的标准版比精简版和其他现有模型多 3 倍的参数。 我们的浑源 3D-1.0 在速度和质量之间实现了令人印象深刻的平衡,在保持生成资产的质量和多样性的同时,大大缩短了生成时间。

在这里插入图片描述

混元3D-1.0 架构

在这里插入图片描述
我们对混元3D-1.0与其他开源3D生成方法进行了评估,在5项指标中,我们的混元3D-1.0获得了最高的用户偏好度。 左下角的图片显示,在英伟达™(NVIDIA®)A100 GPU 上,精简版模型生成单张图片的三维网格需要约 10 秒,而标准版模型则需要约 25 秒。 右下角的图表显示,Hunyuan3D-1.0 在质量和效率之间达到了最佳平衡。

在这里插入图片描述
在这里插入图片描述

代码

git clone https://github.com/tencent/Hunyuan3D-1
cd Hunyuan3D-1

我们提供了用于设置环境的 env_install.sh 脚本文件。 我们推荐使用 python3.9 和 CUDA11.7 以上版本。

conda create -n hunyuan3d-1 python=3.9
conda activate hunyuan3d-1
bash env_install.sh

下载预训练模型

这些模型可从 https://huggingface.co/spaces/tencent/Hunyuan3D-1 网站获取:

  • Hunyuan3D-1/lite,多视图生成的精简模型。
  • Hunyuan3D-1/std,多视图生成的标准模型。
  • Hunyuan3D-1/svrm,稀疏视图重建模型。
python3 -m pip install "huggingface_hub[cli]"

然后使用以下命令下载模型:

mkdir weights
huggingface-cli download tencent/Hunyuan3D-1 --local-dir ./weights

mkdir weights/hunyuanDiT
huggingface-cli download Tencent-Hunyuan/HunyuanDiT-v1.1-Diffusers-Distilled --local-dir ./weights/hunyuanDiT

推理

对于文本到 3D 的生成,我们支持中英文双语,您可以使用以下命令进行推理。

python3 main.py \
    --text_prompt "a lovely rabbit" \
    --save_folder ./outputs/test/ \
    --max_faces_num 90000 \
    --do_texture_mapping \
    --do_render

对于图像到 3D 的生成,您可以使用以下命令进行推理。

python3 main.py \
    --image_prompt "/path/to/your/image" \
    --save_folder ./outputs/test/ \
    --max_faces_num 90000 \
    --do_texture_mapping \
    --do_render
论点默认说明
--text_promptNone3D生成的文本提示
--image_promptNone3D生成的图像提示
--t2i_seed0用于生成图像的随机种子
--t2i_steps25文本到图像采样的步骤数
--gen_seed0用于生成3d生成的随机种子
--gen_steps503d代采样步骤数
--max_faces_numm900003d网格的面数限制
--save_memoryFalsetext2image将自动移至cpu
--do_texture_mappingFalse将顶点阴影更改为纹理阴影
--do_renderFalse渲染gif

我们还准备了不同配置的脚本供参考

bash scripts/text_to_3d_demo.sh 
bash scripts/text_to_3d_fast_demo.sh 
bash scripts/image_to_3d_demo.sh 
bash scripts/image_to_3d_fast_demo.sh 

此示例需要 ~40GB VRAM 才能运行。

Gradio

我们准备了两个版本的多视图生成器,分别是 std 和 lite。
为了获得更好的效果,std 版本的运行脚本如下所示

python3 app.py

要想提高速度,可以通过添加 --use_lite 参数来使用精简版。

python3 app.py --use_lite

然后就可以通过 http://0.0.0.0:8080 访问演示程序了。 需要注意的是,这里的 0.0.0.0 需要与您的服务器 IP 一致为 X.X.X.X。

摄像机参数

输出视图是一组固定的摄像机姿态:

  • 方位角(相对于输入视图): +0, +60, +120, +180, +240, +300.

https://huggingface.co/tencent/Hunyuan3D-1/tree/main
https://github.com/Tencent/Hunyuan3D-1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2237742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

现代Web开发:Vue 3 组件化开发实战

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 现代Web开发:Vue 3 组件化开发实战 现代Web开发:Vue 3 组件化开发实战 现代Web开发:Vue 3 组…

VBA08-if语句

一、单行 If 语句 If x > 10 Then MsgBox "x is greater than 10"二、多行 If...Then...End If 语句 If x > 10 ThenMsgBox "x is greater than 10"y x 5 End If 三、If...Then...Else 语句 If condition Then 当条件为真时执行的代码块stateme…

深度学习中的感受野:从基础概念到多层次特征提取

在深度学习,特别是计算机视觉任务中,感受野(Receptive Field)是一个至关重要的概念。它指的是在神经网络中某一层的神经元在输入图像上“看到”的区域大小。感受野的大小影响了网络能捕捉的特征层级,从而决定了它的特征…

Jekins篇(搭建/安装/配置)

目录 一、环境准备 1. Jenkins安装和持续集成环境配置 2. 服务器列表 3. 安装环境 Jekins 环境 4. JDK 环境 5. Maven环境 6. Git环境 方法一:yum安装 二、JenKins 安装 1. JenKins 访问 2. jenkins 初始化配置 三、Jenkins 配置 1. 镜像配置 四、Mave…

ElasticSearch备考 -- 集群配置常见问题

一、集群开启xpack安全配置后无法启动 在配置文件中增加 xpack.security.enabled: true 后无法启动,日志中提示如下 Transport SSL must be enabled if security is enabled. Please set [xpack.security.transport.ssl.enabled] to [true] or disable security b…

C++ : STL容器(适配器)之stack、queue剖析

STL容器适配器之stack、queue剖析 一、stack、queue的接口(一)stack 接口说明(二)queue 接口说明 二、stack、queue的模拟实现(一)stack、queue是容器适配器stack、queue底层默认容器--deque1、deque概念及…

排序算法.

排序算法是最常用的一种算法.它解决的主要问题是在一定的时间复杂度和空间复杂度的条件下,对n个数按照一定的顺序进行排序.排序算法主要分为四大类,即插入类,交换类,选择类和归并类,不同的排序算法的时间复杂程度和空间复杂程度差别很大. 排序算法主要有以下几种: 1.插入类排…

window下安装rust 及 vscode配置

安装 安装mingw64 (c语言环境 选择posix-ucrt) ucrt:通用c运行时库配置mingw64/bin的路径到环境变量中在cmd窗口中输入命令 "gcc -v" 4. 下载Rust安装程序 安装 Rust - Rust 程序设计语言 5. 配置rustup和cargo目录 (cargo是包管…

contos7.9 部署3节点 hadoop3.4 集群 非高可用

contos7.9 部署3节点 hadoop3.4 集群 非高可用 contos7.9 部署3节点 hadoop3.4 集群 非高可用环境信息服务器角色分配服务器配置服务器配置初始化 init_server.sh配置主机名映射所有节点配置 hosts文件 配置免密登录 hadoop 安装环境配置下载安装包下载 jdk1.8hadoop3.4 分发安…

M1M2 MAC安装windows11 虚拟机的全过程

M1/M2 MAC安装windows11 虚拟机的全过程 这两天折腾了一下windows11 arm架构的虚拟机,将途中遇到的坑总结一下。 1、虚拟机软件:vmware fusion 13.6 或者 parallel 19 ? 结论是:用parellel 19。 这两个软件都安装过&#xff0…

【设计模式系列】享元模式(十五)

目录 一、什么是享元模式 二、享元模式的角色 三、享元模式的典型应用场景 四、享元模式在ThreadPoolExecutor中的应用 1. 享元对象(Flyweight)- 工作线程(Worker) 2. 享元工厂(Flyweight Factory)- …

国产化浪潮下,高科技企业如何选择合适的国产ftp软件方案?

高科技企业在数字化转型和创新发展中,数据资产扮演着越来越重要的角色。在研发过程中产生的实验数据、设计文档、测试结果等,专利、商标、版权之类的创新成果等,随着信息量急剧增加和安全威胁的复杂化,传统的FTP软件已经不能满足这…

大模型人工智能课程全栈完整学习路径

嘿,朋友们,今天我们聊点高级的——大模型人工智能课程的全栈学习路径。不过别慌,虽然听起来高大上,但咱们慢慢来。从零开始,一步步带你走进这个神奇的世界。喝杯咖啡,穿上最舒适的拖鞋,准备好踏…

【CUDA】认识CUDA

目录 一、CUDA编程 二、第一个CUDA程序 三、CUDA关键字 四、device管理 4.1 初始化 4.2 Runtime API查询GPU信息 4.3 决定最佳GPU CUDA C 编程指南CUDA C在线文档:CUDA C 编程指南 CUDA是并行计算的平台和类C编程模型,能很容易的实现并行算法。只…

吾店云介绍 – 中国人的WordPress独立站和商城系统平台

经过多年在WordPress建站领域的摸索和探索,能轻松创建和管理各种类型网站的平台 – 吾店云建站平台诞生了。 应该说这是一个艰苦卓绝的过程,在中国创建一个能轻松创建和使用WordPress网站的平台并不容易,最主要是网络环境和托管软件的限制。…

黔院长 | 慢病快调,中医养生的奇迹之旅!

想象一下,自己踏上了一场奇妙的冒险之旅,而目的地就是健康的彼岸。在这场旅途中,黔院长如同一位智慧的向导,引领我们穿越中医养生的神秘世界,实现慢病快调。 黔院长,这个拥有着古老传承的中医世家&#xff…

JavaWeb合集23-文件上传

二十三 、 文件上传 实现效果&#xff1a;用户点击上传按钮、选择上传的头像&#xff0c;确定自动上传&#xff0c;将上传的文件保存到指定的目录中&#xff0c;并重新命名&#xff0c;生成访问链接&#xff0c;返回给前端进行回显。 1、前端实现 vue3AntDesignVue实现 <tem…

Java项目实战II基于Spring Boot的药店管理系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 随着医疗行业的快速发展和人们对健康需…

「撸一手好代码」设计模式之接口隔离原则

「撸一手好代码」设计模式之接口隔离原则 什么是接口隔离原则 接口隔离原则&#xff08;Interface Segregation Principle, ISP&#xff09;指出&#xff0c;客户端不应该依赖它不使用的接口。换句话说&#xff0c;一个类对另一个类的依赖应该建立在最小的接口上。接口的设计应…

在 WPF 中,绑定机制是如何工作的?WPF数据绑定机制解析

在WPF&#xff08;Windows Presentation Foundation&#xff09;中&#xff0c;数据绑定机制是其核心功能之一&#xff0c;广泛用于连接应用程序的UI&#xff08;用户界面&#xff09;和应用程序的业务逻辑层。数据绑定允许你将UI元素与数据源&#xff08;如对象、集合或其他数…