Tencent Hunyuan3D

news2024/11/13 15:36:50

一、前言

        腾讯于2024年11月5日正式开源了最新的MoE模型“混元Large”以及混元3D生成大模型“Hunyuan3D-1.0”,支持企业及开发者在精调、部署等不同场景下的使用需求。

GitHub - Tencent/Hunyuan3D-1

二、技术与原理

        Hunyuan3D-1.0 是一款支持文本生成3D(Text-to-3D)和图像生成3D(Image-to-3D)的统一框架,旨在提升3D生成的速度和质量。该模型采用两阶段方法:

  1. 多视角扩散模型:在约4秒内高效生成多视角RGB图像,捕捉3D资产的丰富细节。

  2. 前馈重建模型:在约7秒内根据生成的多视角图像快速重建3D资产,处理多视角生成中的噪声和不一致性,恢复3D结构。

        该框架集成了腾讯自研的文本生成图像模型“Hunyuan-DiT”,支持文本和图像条件的3D生成。标准版本的参数量是轻量版和其他现有模型的3倍,平衡了生成速度和质量,显著减少了生成时间,同时保持了生成资产的质量和多样性。

三、主要特性

  • 双模式支持:同时支持文本和图像输入,满足不同的3D生成需求。

  • 高效生成:在NVIDIA A100 GPU上,轻量版模型约10秒生成3D网格,标准版约25秒。

  • 开源计划:提供推理、检查点、烘焙相关、训练、ComfyUI、蒸馏版本和TensorRT版本的开源支持,方便开发者使用和二次开发。

四、使用方法

  1. 环境配置:建议使用Python 3.9和CUDA 11.7以上版本。可通过提供的env_install.sh脚本进行环境安装。

  2. 模型下载:从Hugging Face下载预训练模型,包括轻量版、标准版和稀疏视角重建模型。

  3. 推理:提供了文本生成3D和图像生成3D的推理脚本,可根据需求进行配置。

  4. Gradio界面:提供了基于Gradio的Web界面,方便用户进行交互式操作。

五、当前瓶颈

        尽管Hunyuan3D-1.0在生成速度和质量上取得了显著进展,但仍存在以下挑战:

  • 生成质量的提升:在复杂场景或细节丰富的对象上,生成的3D模型可能存在细节缺失或不准确的情况,需要进一步优化模型以提升生成质量。

  • 多样性与泛化能力:模型在处理多样化输入时的泛化能力有待增强,特别是在处理未见过的输入或复杂场景时,可能无法生成高质量的3D模型。

  • 计算资源需求:尽管生成速度有所提升,但在高分辨率或复杂场景下,仍需要大量计算资源,限制了模型的实际应用范围。

六、教程汉化

1. 开始安装

首先,克隆仓库并进入项目目录:

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

2. 环境配置(适用于Linux)

项目提供了 env_install.sh 脚本来配置环境,建议使用 Python 3.9 和 CUDA 11.7 以上版本。

安装步骤:

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

安装 xformers 或 flash_attn 来加速计算

pip install xformers --index-url https://download.pytorch.org/whl/cu121
pip install flash_attn

先前已经创建好?

如果先前已经创建好环境,直接激活进入即可

conda activate hunyuan3d-1-py311

先前已经创建好但是忘记了?

conda env list

这个命令将列出系统中所有的 Python 版本和 Conda 虚拟环境

检查环境是否切换成功,pip是否对应虚拟环境

which pip

3. 下载预训练模型

预训练模型可以从 Hugging Face 获取:https://huggingface.co/spaces/tencent/Hunyuan3D-1

提供以下三种模型:

  • Hunyuan3D-1/lite:轻量版模型,用于多视角生成。
  • Hunyuan3D-1/std:标准版模型,用于多视角生成。
  • Hunyuan3D-1/svrm:稀疏视角重建模型。

下载模型的步骤:

1.首先安装 Hugging Face CLI 工具:

python3 -m pip install "huggingface_hub[cli]"

2.下载模型文件:

 
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

4. 推理生成

文本生成3D

支持中英文输入,可以使用以下命令进行文本生成3D:

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

图像生成3D

使用以下命令进行图像生成3D,将 /path/to/your/image 替换为图像路径:

 
python3 main.py \ --image_prompt "/path/to/your/image" \ --save_folder ./outputs/test/ \ --max_faces_num 90000 \ --do_texture_mapping \ --do_render

5. 常用参数配置
参数默认值描述
--text_promptNone文本提示,用于3D生成
--image_promptNone图像路径,用于3D生成
--t2i_seed0文本生成图像的随机种子
--t2i_steps25文本生成图像的采样步数
--gen_seed03D生成的随机种子
--gen_steps503D生成的采样步数
--max_faces_num900003D网格的最大面数限制
--save_memoryFalse文生图将自动移至CPU
--do_texture_mappingFalse将顶点阴影更改为纹理阴影
--do_renderFalse是否渲染GIF

6. 预设脚本

项目还提供了以下快捷脚本来帮助用户快速执行不同配置的任务:

 
bash scripts/text_to_3d_demo.sh # 文本生成3D的示例脚本 bash scripts/text_to_3d_fast_demo.sh # 快速文本生成3D的示例脚本 bash scripts/image_to_3d_demo.sh # 图像生成3D的示例脚本 bash scripts/image_to_3d_fast_demo.sh # 快速图像生成3D的示例脚本

注意:运行这些示例脚本通常需要约40GB的显存。

7. 使用 Gradio 进行交互操作

项目提供了基于 Gradio 的 Web 界面,方便用户进行交互式操作。

  • 标准版(更好的生成效果):

python3 app.py

  • 轻量版(更快的生成速度):

python3 app.py --use_lite

运行后,可通过 http://0.0.0.0:8080 访问Web界面。请将 0.0.0.0 替换为您的服务器IP地址。

8. 摄像机参数

输出视图固定为一组摄像机姿势,默认视角设置如下:

  • 方位角 (相对于输入视角)
  • Azimuth  (relative to input view):0度,60度,120度,180度,240度,300度。

七、Gradio界面使用教程

 Text to 3D

1. Text to 3D功能介绍
  • Text to 3D:将输入的文字描述转换为3D模型。
2. 输入选项
  • Input text:输入描述3D模型的文字。例如,“一只黑白相间的熊猫在白色背景上居中坐着,呈现出卡通风格和可爱氛围”。这会生成一个符合描述的3D模型。
3. 参数设置
  • T2I seed:用于文字转图像的随机种子。数值的变化会导致生成的图像略有不同。默认值为 0,但如果结果不理想,可以尝试更改此值。
  • T2I step:生成文字到图像时的步数。步数越多,生成的图像质量可能越高,但生成时间也会更长。默认值是 25
  • Gen seed:用于图像到3D模型的随机种子。默认值为 0,但如果结果不满意,可以更改此值。
  • Gen step:生成3D模型时的步数,数值越高生成的细节可能越多,默认是 50
  • Max number of faces:控制生成3D模型的面数。默认值是 90000,较高的面数会带来更精细的模型,但处理速度可能会变慢。
4. 导出选项
  • Texture mapping:勾选后,生成的3D模型会包含纹理贴图,更加逼真。
  • Render gif:勾选后,会导出一个 .gif 动态图片,展示3D模型的多角度视图。
5. 输出格式
  • Multi views:多角度视图预览。
  • Obj:生成 .obj 格式的3D模型文件。
  • Glb:生成 .glb 格式的3D模型文件,适合Web应用。
  • GIF:导出 .gif 动态图片,展示模型的360度视图。
  • rembg image:移除背景图像。

Image to 3D

1. Image to 3D功能介绍
  • Image to 3D:将输入的图像转换为3D模型。您可以上传一张图像(例如某个物体的图片),系统将尝试生成相应的3D模型。
2. 输入选项
  • Input image:在这里上传要转换为3D模型的图像。
3. 参数设置
  • Gen seed:用于生成3D模型的随机种子。数值的变化会影响生成的模型略有不同。如果对结果不满意,可以更改这个值(默认是 0)。
  • Gen step:生成3D模型时的步数,数值越高,生成的模型可能更精细,默认是 50
  • Max number of faces:控制生成3D模型的面数。默认值是 90000,较高的面数可以带来更细致的模型,但处理速度可能变慢。
4. 导出选项
  • Texture mapping:勾选后,生成的3D模型会包含纹理贴图,使模型更真实。
  • Render gif:勾选后,会导出一个 .gif 文件,以动态方式展示生成的3D模型。
5. 输出格式
  • rembg image:移除图像的背景。
  • Multi views:展示生成的3D模型的多角度视图。
  • Obj:导出为 .obj 格式的3D模型文件。
  • Glb:导出为 .glb 格式的3D模型文件,更适合Web应用。
  • GIF:导出 .gif 动态文件,展示模型的多角度视图。

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

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

相关文章

新品发布:广州大彩科技DB系列5.0寸带CAN/RS485外壳串口屏发布!

新品发布:广州大彩科技DB系列5.0寸带CAN/RS485外壳串口屏发布! 一、产品介绍 该产品是一款5寸的医疗级外壳系列组态串口屏,液晶屏采用800*480分辨率,拥有电阻触摸。硬件上针对工控行业,汽车行业串口使用RS485电平,并且另外加入了…

Js — 定时器

有两种:setInterval 和 setTimeout 间隔时间单位为毫秒 setInterval 每隔指定的毫秒数重复执行一个函数或代码 开启定时器:setInterval(函数,间隔时间) 作用:每隔一段时间调用这个函数 注意:它不是立即执行&#x…

WPF+MVVM案例实战与特效(二十六)- 3D粒子方块波浪墙效果实现

文章目录 1、案例效果2、案例实现1、文件创建2. 功能代码实现3、粒子功能应用1、前端布局与样式2、代码解释2、 后端功能代码1、案例效果 2、案例实现 1、文件创建 打开 Wpf_Examples 项目、Models 文件夹下创建 3D粒子模型类 ParticleCubeWaveModel.cs 文件。在Tools 文件夹…

Linux命令 - linux索引节点、硬链接、软链接的介绍与使用

文章目录 1 索引节点inode2 硬链接Hard Link3 软链接Soft Link 1 索引节点inode 在Linux系统中,保存在磁盘分区中的文件,不管是什么类型,系统都会给它分配一个编号,这个编号被称为索引节点编号(Inode Index&#xff0…

基于Python通过DOI下载文献(至简仅需2行代码)

文章目录 一、安装库二、导入库三、准备doi3.1 excel法3.1.1 检索数据3.1.2 导出excel 3.2 txt法3.3 列表or字符串法3.3.1 字符串3.3.2 列表 四、下载4.1 脚本4.2 下载成功4.3 已存在4.4 至于失败的 五、结果5.1 目标文件夹5.2 失败记录 一、安装库 pip install OAFuncs 二、导…

SpringBoot技术在企业资产管理中的应用

4系统概要设计 4.1概述 系统设计原则 以技术先进、系统实用、结构合理、产品主流、低成本、低维护量作为基本建设原则,规划系统的整体构架. 先进性: 在产品设计上,整个系统软硬件设备的设计符合高新技术的潮流,媒体数字化、压缩、…

OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示

当打开蓝牙后没有反应时,需要排查蓝牙节点是否对应、固件是否加载成功,本文介绍开源鸿蒙OpenHarmony4.1系统下适配蓝牙的方法,触觉智能SBC3568主板演示 修改对应节点 开发板蓝牙硬件连接为UART1,修改对应的节点,路径为…

招标采购系统(源码+文档+部署+讲解)

本文将深入解析“招标采购系统(供应商管理系统)”的项目,探究其架构、功能以及技术栈,并分享获取完整源码的途径。 系统概述 包含基础数据管理、供应商和专家库管理,还涉及招标代理机构、政策法规和文件模板的管理。…

javascript里面的blob和worker

目录 Blob 1. Blob的基本概念 2. 创建Blob 3. Blob的属性和方法 示例: 3.1. Blob 的方法 4. 使用Blob 4.1 创建对象URL 4.2 使用FileReader读取Blob 4.3 上传Blob 5. Blob与其他对象的关系 6. 释放Blob对象 7. Blob的应用场景 8. 总结 Web Worker 1.…

Android JNI 技术入门指南

引言 在Android开发中,Java是一种主要的编程语言,然而,对于一些性能要求较高的场景(如音视频处理、图像处理、计算密集型任务等),我们可能需要使用到C或C等语言来编写底层的高效代码。为了实现Java代码与C…

设计模式之抽象工厂模式(替换Redis双集群升级,代理类抽象场景)

前言: 看了很多书、学了很多知识,多线程能玩出花,可最后我还是写不好代码! 这就有点像家里装修完了买物件,我几十万的实木沙发,怎么放这里就不好看。同样代码写的不好并不一定是基础技术不足,也…

LeetCode 热题 100之 堆

1.数组中第k个最大元素 和Acwing 786 第k个数一模一样 排序 思路分析1:此题要求时间复杂度未为O(n)。虽然库函数sort和快速排序都能过,但是时间复杂度不满足条件。下面优化快速排序,写一个快速选择算法。我们可以引入随机化来加速这个过程&…

java-智能识别车牌号_基于spring ai和开源国产大模型_qwen vl

用大模型做车牌号识别,最简单高效 在Java场景中,java识别车牌号的需求非常普遍。过去,我们主要依赖OCR等传统方法来实现java识别车牌号,但这些方法的效果往往不稳定。随着技术的发展,现在有了更先进的解决方案——大模…

java ssm 网上蛋糕店 在线蛋糕甜品管理 网上蛋糕管理 源码 jsp

一、项目简介 本项目是一套基于SSM的网上蛋糕店,主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具等。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后端技术:S…

Qt编译lua库并调用

参考博客: 编译lua库 参考下面文章编译lua库文件 QT5.9学习笔记之QT编译lua库_qtluaintf.h-CSDN博客 https://blog.csdn.net/qq_23345187/article/details/112710677 Qt代码引用lua库文件 打开pro项目文件,右键空白处,点击添加库&#xff…

shopify模块新增内容或图片

1、后台找到指定的liquid页面&#xff0c;在该页面下方{% schema %} 新增需求 2、添加轮播图功能 {% comment %} 轮播代码 {% endcomment %}{% if block.settings.enable_slider %}<divclass"size-guide-slider swiper"data-slides-per-view"{{ block.setti…

【Ant Design Pro】不想用轻量的hook就喜欢用dva的数据状态管理

就像TS是JS的超集一样&#xff0c;antdpro框架也类似&#xff0c;底层也是用dva来构建的。关于数据管理&#xff0c;官方还是建议我们使用轻量的hooks方法来进行操作使用。 使用dva实现数据状态管理效果 框架中的数据管理模式 简单的数据共享 对于简单的应用&#xff0c;不需…

基于 CMSIS-PACK 移植Bootloader

基于 CMSIS-PACK 移植 1.准备工作 准备一份基础的裸机源码 (可通过 STM32CubeMx 可视化软件创建也可按照工程项目所需文档手动创建) 工程&#xff0c;如一份 stm32 包含一个支持 printf 的串口初始化代码。 2.安装Pack包 在 MDK 中部署 **MicroBoot **的第一步是获取对应的…

使用ChatGPT神速精读文献,12个高阶ChatGPT提示词指令,值得你复制使用

在学术研究的道路上,文献的阅读和分析往往是我们迈向深层次理解的第一步。如何有效提取文献中的核心要点,如何全面总结一个研究的背景与贡献,甚至如何深入剖析论文中的每个细节,都是每个研究者必须掌握的技能。通过系统化的文献分析,我们不仅能了解现有研究的框架与成果,…

PICO+Unity MR空间锚点

官方链接&#xff1a;空间锚点 | PICO 开发者平台 注意&#xff1a;该功能只能打包成APK在PICO 4 Ultra上真机运行&#xff0c;无法通过串流或PICO developer center在PC上运行。使用之前要开启视频透视。 在 Inspector 窗口中的 PXR_Manager (Script) 面板上&#xff0c;勾选…