❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- Hunyuan3D-1.0 是腾讯推出的 3D 生成模型,支持文本和图像输入,能够在短时间内生成高质量的 3D 资产。
- 模型采用两阶段方法,第一阶段生成多视角 RGB 图像,第二阶段将这些图像转换为 3D 资产。
- Hunyuan3D-1.0 广泛应用于 3D 创作、工业设计、建筑设计等领域。
正文(附运行示例)
Hunyuan3D-1.0 是什么
Hunyuan3D-1.0 是腾讯推出的一种高效的 3D 生成模型,支持文本和图像输入,可以在短时间内生成高质量的 3D 资产。该模型采用两阶段方法,首先使用多视角扩散模型生成多视角 RGB 图像,再基于 Transformer 的稀疏视角大规模重建模型,将这些图像转换为 3D 资产。Hunyuan3D-1.0 包含轻量版和标准版,轻量版生成速度快,适用于快速 3D 建模,标准版则生成更高质量的 3D 模型。
Hunyuan3D-1.0 的主要功能
- 文本到 3D 生成:Hunyuan3D-1.0 支持根据文本提示生成 3D 资产,用户可以输入文本描述,模型能生成相应的 3D 模型。
- 图像到 3D 生成:模型能根据单张或多张图像生成 3D 模型,支持用户通过图像来指导 3D 生成的过程。
- 两阶段生成方法:模型采用两阶段方法进行 3D 生成,第一阶段是多视角扩散模型,在大约 4 秒内生成多视角 RGB 图像;第二阶段是基于 Transformer 的稀疏视角大规模重建模型,在大约 7 秒内重建 3D 资产。
- 高质量 3D 资产生成:Hunyuan3D-1.0 能生成高质量、多样化的 3D 资产,包括复杂的结构和细节。
- 快速生成:相比其他模型,Hunyuan3D-1.0 在生成速度上有显著提升,减少了 3D 资产生产的耗时。
Hunyuan3D-1.0 的技术原理
- 多视角扩散模型:在第一阶段,Hunyuan3D-1.0 使用多视角扩散模型在固定相机视角下合成 6 个新视角图像,从不同视角捕捉 3D 资产的丰富细节,将 3D 生成任务从单视角重建转化为难度更低的多视角重建任务。
- 多视角重建模型:在第二阶段,将生成的多视角图像输入基于 Transformer 的稀疏视角大规模重建模型。基于上一阶段生成的多视角图像,重建模型学习处理多视角扩散引入的噪声和不一致性,用条件图像中的可用信息高效恢复 3D 结构。
- 自适应 CFG(classifier-free guidance):在第一阶段多视图生成中,模型采用自适应 CFG,为不同视角和 time steps 设置不同的 CFG 尺度值,平衡生成控制与多样性。
- 混合输入技术:在第二阶段多视图重建中,模型结合了已校准(生成的多视角图像)和未校准(用户输入)的混合输入,通过专门的视角无关分支整合条件图像信息,提升生成图像中的不可见部分精度。
- 高分辨率特征表示:Hunyuan3D-1.0 通过线性层将特征平面的分辨率从 64 上采样到 256,使特征表征更加细腻,生成物体细节更丰富。
- Signed distance function(SDF):模型采用了 SDF 的隐式表示,通过 Marching cube 算法在三维空间进行采样查询得到 signed distance 来输出 3D mesh,可以直接与 3D 管线结合。
如何运行 Hunyuan3D-1.0
开始前准备
- 克隆仓库
git clone https://github.com/tencent/Hunyuan3D-1
cd Hunyuan3D-1
- 安装依赖
我们提供了一个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
- 下载预训练模型
预训练模型可以从 Hugging Face 下载:
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_prompt | None | 用于 3D 生成的文本提示 |
--image_prompt | None | 用于 3D 生成的图像提示 |
--t2i_seed | 0 | 生成图像的随机种子 |
--t2i_steps | 25 | 文本到图像采样的步数 |
--gen_seed | 0 | 生成 3D 模型的随机种子 |
--gen_steps | 50 | 3D 生成采样的步数 |
--max_faces_num | 90000 | 3D 模型的最大面数 |
--save_memory | False | 文本到图像生成时自动移至 CPU |
--do_texture_mapping | False | 将顶点着色改为纹理着色 |
--do_render | False | 渲染动图 |
使用 Gradio
我们还提供了两个版本的多视角生成脚本,标准版和轻量版。
- 标准版
python3 app.py
- 轻量版
python3 app.py --use_lite
然后可以通过 http://0.0.0.0:8080
访问演示页面。请注意,这里的 0.0.0.0
需要替换为你的服务器 IP 地址。
资源
- 项目官网:https://3d.hunyuan.tencent.com/
- GitHub 仓库:https://github.com/Tencent/Hunyuan3D-1
- HuggingFace 模型库:https://huggingface.co/tencent/Hunyuan3D-1
❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦