MVControl-threestudio 开源项目教程

1. 项目介绍

MVControl-threestudio 是一个开源项目,旨在通过集成额外的输入条件(如边缘、深度、法线和涂鸦图)来增强现有的预训练多视角扩散模型。该项目的核心是 Multi-view ControlNet(MVControl),一个创新的神经网络架构,通过使用局部和全局嵌入控制基础扩散模型。经过训练的 MVControl 能够为基于优化的 3D 生成提供 3D 扩散指导。此外,项目还提出了一个高效的多阶段 3D 生成管道,利用大型重建模型和得分蒸馏算法的优势。

2. 项目快速启动

安装环境

  • 安装 Python 3.8 或更高版本。
  • (可选,推荐)创建虚拟环境:python3 -m virtualenv venv
  • 激活虚拟环境:source venv/bin/activate
  • 安装 PyTorch 1.12 或更高版本。
  • 安装依赖:pip install -r requirements.txt

运行项目

阶段 1:通过 MVControl + LGM 生成粗糙的 3D 高斯分布

运行以下命令将启动一个由 gradio 支持的 GUI。

python app_stage1.py big --resume path/to/LGM/model_fp16.safetensors --condition_type depth

输入图像可以是条件图像或 RGB 图像。如果输入的是 RGB 图像,需要在 UI 的左上角勾选“image need preprocess”选项,以便在输出目录中保存条件图像、蒙版和 RGBA 图像。

生成的粗糙高斯分布将保存到 workspace/mvcontrol_{condition_type}/{asset_name}/coarse_gs.ply

阶段 2:高斯优化

以下示例以 'fatcat' 为例:

asset_name=fatcat
exp_root_dir=workspace/mvcontrol_depth/fatcat
hint_path=load/conditions/fatcat_depth.png
mask_path=load/conditions/fatcat_mask.png
prompt="A fat cat, standing with hands in ponts pockets"
coarse_gs_path=exp_root_dir/coarse_gs.ply

python launch.py --config custom/threestudio-3dgs/configs/mvcontrol-gaussian.yaml --train --gpu 0 \
  system.stage=gaussian \
  system.hint_image_path=$hint_path \
  system.hint_mask_path=$mask_path \
  system.control_condition_type=$condition_type \
  system.geometry.geometry_convert_from=$coarse_gs_path \
  system.prompt_processor.prompt='$prompt' \
  system.guidance_control.pretrained_controlnet_name_or_path='lzq49/mvcontrol-4v-${condition_type}' \
  name=$asset_name

3. 应用案例和最佳实践

  • 使用 MVControl-threestudio 生成高质量的 3D 内容,如人物、动物等。
  • 针对不同输入条件(边缘、深度、法线和涂鸦图)调整模型参数,以获得最佳的生成效果。

4. 典型生态项目

  • 与 DeepFloyd IF 模型集成,实现更高质量的文本到 3D 生成。
  • 利用 SuGaR 混合表示,结合高斯分布和网格三角形面,优化 3D 生成的几何细节。
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐