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

虽然三维生成模型极大地改进了艺术家的工作流程,但现有的三维生成扩散模型存在生成速度慢、泛化能力差的问题。 为了解决这个问题,我们提出了一种名为 "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 在质量和效率之间达到了最佳平衡。


代码

bash 复制代码
git clone https://github.com/tencent/Hunyuan3D-1
cd Hunyuan3D-1

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

bash 复制代码
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,稀疏视图重建模型。
bash 复制代码
python3 -m pip install "huggingface_hub[cli]"

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

bash 复制代码
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 的生成,我们支持中英文双语,您可以使用以下命令进行推理。

bash 复制代码
python3 main.py \
    --text_prompt "a lovely rabbit" \
    --save_folder ./outputs/test/ \
    --max_faces_num 90000 \
    --do_texture_mapping \
    --do_render

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

bash 复制代码
python3 main.py \
    --image_prompt "/path/to/your/image" \
    --save_folder ./outputs/test/ \
    --max_faces_num 90000 \
    --do_texture_mapping \
    --do_render
论点 默认 说明
--text_prompt None 3D生成的文本提示
--image_prompt None 3D生成的图像提示
--t2i_seed 0 用于生成图像的随机种子
--t2i_steps 25 文本到图像采样的步骤数
--gen_seed 0 用于生成3d生成的随机种子
--gen_steps 50 3d代采样步骤数
--max_faces_numm 90000 3d网格的面数限制
--save_memory False text2image将自动移至cpu
--do_texture_mapping False 将顶点阴影更改为纹理阴影
--do_render False 渲染gif

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

bash 复制代码
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 版本的运行脚本如下所示

bash 复制代码
python3 app.py

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

bash 复制代码
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

相关推荐
广药门徒1 分钟前
FRIENDLYARM Tiny6410 superboot烧写进sd卡教程
人工智能
宋一诺3319 分钟前
机器学习—在一个单层中的前向传播
人工智能·机器学习
pen-ai19 分钟前
【机器学习】21. Transformer: 最通俗易懂讲解
人工智能·神经网络·机器学习·矩阵·数据挖掘
阿亨仔31 分钟前
Pytorch猴痘病识别
人工智能·pytorch·python·深度学习·算法·机器学习
lqqjuly1 小时前
深度学习基础知识-残差网络ResNet
网络·人工智能·深度学习
int WINGsssss1 小时前
速通一些常见的神经网络
人工智能·深度学习·神经网络
布兰妮甜1 小时前
诺贝尔物理学奖的新篇章:机器学习与神经网络的光辉时刻
人工智能·神经网络·机器学习
EasyCVR1 小时前
EHOME视频平台EasyCVR萤石设备视频接入平台视频诊断技术可以识别哪些视频质量问题?
服务器·人工智能·计算机视觉·音视频·1024程序员节
Pioneer000011 小时前
深度学习:从神经网络到人工智能的飞跃
人工智能·深度学习·神经网络
埃菲尔铁塔_CV算法1 小时前
《常用深度学习神经网络及其原理与应用场景》
人工智能·深度学习·神经网络