当前位置: 首页 > news >正文

Tencent Hunyuan3D

一、前言

        腾讯于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 动态文件,展示模型的多角度视图。

相关文章:

Tencent Hunyuan3D

一、前言 腾讯于2024年11月5日正式开源了最新的MoE模型“混元Large”以及混元3D生成大模型“Hunyuan3D-1.0”,支持企业及开发者在精调、部署等不同场景下的使用需求。 GitHub - Tencent/Hunyuan3D-1 二、技术与原理 Hunyuan3D-1.0 是一款支持文本生成3D(…...

[ABC239E] Subtree K-th Max

[ABC239E] Subtree K-th Max 题面翻译 给定一棵 n n n 个节点的树,每个节点的权值为 x i x_i xi​。 现有 Q Q Q 个询问,每个询问给定 v , k v,k v,k,求节点 v v v 的子树第 k k k 大的数。 0 ≤ x i ≤ 1 0 9 , 2 ≤ n ≤ 1 0 5 , …...

Axure设计之左右滚动组件教程(动态面板)

很多项目产品设计经常会遇到左右滚动的导航、图片展示、内容区域等,接下来我们用Axure来实现一下左右滚动的菜单导航。通过案例我们可以举一反三进行其他方式的滚动组件设计,如常见的上下滚动、翻页滚动等等。 一、效果展示: 1、点击“向左箭…...

善用Git LFS来降低模型文件对磁盘的占用

将讲一个实际的例子:对于模型文件,动辄就是好几个G,而有的仓库更是高达几十G,拉一个仓库到本地,稍不注意直接磁盘拉满都有可能。 比如:meta-llama-3.1-8b-instruct,拉到本地后发现居然占用了60G…...

Oracle RAC的thread

参考文档: Real Application Clusters Administration and Deployment Guide 3 Administering Database Instances and Cluster Databases Initialization Parameter Use in Oracle RAC Table 3-3 Initialization Parameters Specific to Oracle RAC THREAD Sp…...

如何创建备份设备以简化 SQL Server 备份过程?

SQL Server 中的备份设备是什么? 在 SQL Server 中,备份设备是用于存储备份数据的物理或逻辑介质。备份设备可以是文件、设备或其他存储介质。主要类型包括: 文件备份设备:通常是本地文件系统中的一个或多个文件。可以是 .bak 文…...

DeBiFormer实战:使用DeBiFormer实现图像分类任务(一)

摘要 一、论文介绍 研究背景:视觉Transformer在计算机视觉领域展现出巨大潜力,能够捕获长距离依赖关系,具有高并行性,有利于大型模型的训练和推理。现有问题:尽管大量研究设计了高效的注意力模式,但查询并…...

【go从零单排】迭代器(Iterators)

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在 Go 语言中,迭代器的实现通常不是通过语言内置的迭代器类型&#x…...

Java与HTML:构建静态网页

在Web开发领域,HTML是构建网页的基础标记语言,而Java作为一种强大的编程语言,也能够在创建HTML内容方面发挥重要作用。今天,我们就来探讨一下如何使用Java来制作一个不那么简单的静态网页。 一、项目准备 首先,我们需…...

软件测试:测试用例详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、通用测试用例八要素   1、用例编号;    2、测试项目;   3、测试标题; 4、重要级别;    5、预置…...

FreeSWITCH Ubuntu 18.04 源码编译

应朋友邀请,试了试 FreeSWITCH Ubuntu 18.04 源码编译,交的作业如下: #!/bin/bash####### Ubuntu 18.04 LTS ####### ARM64 ####### FreeSWITCH 1.10.12apt update && \ apt install -y --fix-missing git sed bison build-essentia…...

spring—boot(整合redis)

整合redis 第一步导入数据源 <!--redis--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> RedisConfig&#xff08;默认有RedisTemplate&#…...

Python 包镜像源

阿里云、清华大学和豆瓣之外&#xff0c;还有许多其他的 Python 包镜像源。下面是更新后的代码&#xff0c;增加了更多常用的镜像源&#xff0c;如华为云、腾讯云等 import tkinter as tk from tkinter import messagebox import os# 定义 pip 配置文件路径 pip_config_file …...

Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行电源阻抗仿真分析操作指导(一)-无电容

Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行电源阻抗仿真分析操作指导(一)-无电容 Sigrity Power Ground Noise Simulation模式同样可以用来观测电源网络的自阻抗&#xff0c;以下图为例进行说明 2D 视图 3D view 本例要观测的是U17端口处的自阻抗&#xff0…...

Unity3D ASTC贴图压缩格式详解

一、技术详解 ASTC&#xff08;Adaptive Scalable Texture Compression&#xff09;是一种先进的纹理压缩格式&#xff0c;特别适用于OpenGL ES 3.0及更高版本。ASTC在2012年推出&#xff0c;自那以后已经成为游戏开发中重要的纹理压缩技术。它不仅在iOS设备上得到广泛应用&am…...

Docker的轻量级可视化工具Portainer

docker目录 1 Portainer官方链接2 是什么&#xff1f;3 下载安装4 跑通一次5 后记 1 Portainer官方链接 这里给出portainer的官方链接&#xff1a;https://www.portainer.io/ portainer安装的官方链接&#xff1a;https://docs.portainer.io/start/install-ce/server/docker/l…...

udp丢包问题

udp或者tcp丢包问题监测方式&#xff1a; netstat -su 问题分析&#xff1a; 1. 内存 2. cpu 3. 发送接收缓存 动画图解 socket 缓冲区的那些事儿-CSDN博客...

儿童安全座椅行业全面深入分析

儿童安全座椅就是一种专为不同体重&#xff08;或年龄段&#xff09;的儿童设计&#xff0c;将孩子束缚在安全座椅内&#xff0c;能有效提高儿童乘车安全的座椅。欧洲强制性执行标准ECE R44/03的定义是&#xff1a;能够固定到机动车辆上&#xff0c;带有ISOFIX接口、LATCH接口的…...

【笔记】扩散模型(九):Imagen 理论与实现

论文链接&#xff1a;Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding 非官方实现&#xff1a;lucidrains/imagen-pytorch Imagen 是 Google Research 的文生图工作&#xff0c;这个工作并没有沿用 Stable Diffusion 的架构&#xff0c;而是级…...

05 SQL炼金术:深入探索与实战优化

文章目录 SQL炼金术&#xff1a;深入探索与实战优化一、SQL解析与执行计划1.1 获取执行计划1.2 解读执行计划 二、统计信息与执行上下文2.1 收集统计信息2.2 执行上下文 三、SQL优化工具与实战3.1 SQL Profile3.2 Hint3.3 Plan Baselines3.4 实战优化示例 SQL炼金术&#xff1a…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...