MIDI-3D: 从单张图像到三维场景生成的开源项目

1. 项目介绍

MIDI-3D 是一个开源的三维场景生成模型,它能够将单张图像转化为具有多个实例的高质量三维场景。该项目基于预训练的图像到三维对象生成模型,通过多实例扩散模型,实现了同时生成多个高质量三维实例,并保持准确的空间关系和高泛化性。

MIDI-3D 的特点包括:

  • 高质量:能够生成具有复杂形状的多样化三维场景。
  • 高泛化性:即使在仅训练于合成数据的情况下,也能泛化到真实图像和风格化图像输入。
  • 高效率:从分割的实例图像生成三维场景,无需漫长的步骤或每个场景的优化。

2. 项目快速启动

要快速启动 MIDI-3D 项目,请遵循以下步骤:

首先,克隆仓库:

git clone https://github.com/VAST-AI-Research/MIDI-3D.git
cd MIDI-3D

可选)创建一个干净的环境:

conda create -n midi python=3.10
conda activate midi

安装必要的包(确保 torch 版本大于 2):

# 安装 pytorch(选择正确的 CUDA 版本)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

# 安装其他依赖
pip install -r requirements.txt

运行演示:

python gradio_demo.py

请注意,运行脚本会自动从 VAST-AI/MIDI-3D 下载模型权重到本地目录 pretrained_weights/MIDI-3D

3. 应用案例和最佳实践

以下是一些应用 MIDI-3D 的案例和最佳实践:

  • 获取场景图像的分割图:首先需要获得场景图像的分割图。可以使用项目提供的 grounding_sam.py 脚本来实现。
python -m scripts.grounding_sam --image assets/example_data/Cartoon-Style/04_rgb.png --labels lamp sofa table dog --output ./
  • 生成三维场景:使用提供的 inference_midi.py 脚本,结合 RGB 图像和分割图来生成三维场景。
python -m scripts.inference_midi --rgb assets/example_data/Cartoon-Style/00_rgb.png --seg assets/example_data/Cartoon-Style/00_seg.png --output-dir "./"
  • 注意事项:如果图像中的实例靠近图像边缘,请在运行 MIDI 脚本时添加 --do-image-padding

4. 典型生态项目

MIDI-3D 的开源生态项目包括但不限于:

  • Grounded SAM:用于生成场景图像分割图的脚本。
  • Inference MIDI:用于根据图像和分割图生成三维场景的脚本。
  • Gradio Demo:一个交互式演示,用于展示 MIDI-3D 的功能。

通过上述介绍和步骤,您应该能够开始使用 MIDI-3D,并根据项目需求生成三维场景。

Logo

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

更多推荐