MIDI-3D:单张图片生成三维场景的利器
项目介绍
MIDI-3D 是一种基于单张图片生成三维场景的先进方法。它通过扩展预训练的图像到三维对象生成模型,实现了多实例扩散模型,能够同时生成多个高质量的三维实例,并保持准确的空间关系和高度泛化能力。MIDI-3D 不依赖于重建或检索技术,也不同于最近的多阶段逐对象生成方法,它为单张图片到组合三维场景的生成提供了新的可能。
项目技术分析
MIDI-3D 的核心技术是基于预训练的图像到三维对象生成模型,通过引入多实例扩散模型,它能够在无需场景特定优化的情况下,直接从分割后的实例图像生成三维场景。这种方法具有以下技术特点:
- 高质量的生成效果:MIDI-3D 能够生成具有复杂形状的多样化三维场景。
- 高度泛化能力:即使在仅针对合成数据进行训练的情况下,它也能推广到真实图像和风格化图像输入。
- 高效率:MIDI-3D 从分割后的实例图像生成三维场景,无需冗长的步骤或场景特定的时间消耗优化。
项目技术应用场景
MIDI-3D 的应用场景广泛,包括但不限于以下领域:
- 游戏开发:自动生成游戏中的三维场景,提升开发效率。
- 虚拟现实:为虚拟现实环境创建逼真的三维空间。
- 影视制作:在电影和动画制作中快速生成三维场景。
- 教育应用:为教育软件提供生动的三维场景演示。
项目特点
MIDI-3D 的特点使其在三维场景生成领域具有显著的竞争力:
- 高效生成:通过多实例扩散模型,MIDI-3D 能够快速生成三维场景。
- 精确的空间关系:生成的三维实例之间具有准确的空间关系,确保场景的真实性。
- 广泛适用性:即使在仅训练合成数据的情况下,也能适应真实和风格化的图像输入。
以下是对 MIDI-3D 项目的详细解读:
安装
首先,克隆项目仓库:
git clone https://github.com/VAST-AI-Research/MIDI-3D.git
cd MIDI-3D
创建一个新的 conda 环境(可选):
conda create -n midi python=3.10
conda activate midi
安装必要的包:
# pytorch (选择正确的 CUDA 版本)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
# 其他依赖
pip install -r requirements.txt
使用
MIDI-3D 提供了多种使用方式,包括交互式演示和命令行推理脚本。
启动演示
运行以下命令启动交互式演示:
python gradio_demo.py
请注意查看项目的教学视频,并体验可在 Hugging Face Spaces 上使用的网页演示。
推理脚本
在运行 MIDI 推理之前,需要获取场景图像的分割图。项目提供了运行 Grounded SAM 的脚本,以下命令将在当前目录下生成一个分割图:
python -m scripts.grounding_sam --image assets/example_data/Cartoon-Style/04_rgb.png --labels lamp sofa table dog --output ./
然后,可以使用提供的推理脚本 scripts/inference_midi.py
,以下命令将生成一个三维场景并保存在输出目录中:
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
参数。
MIDI-3D 的出现为三维场景生成提供了新的视角和方法,其高效性和泛化能力使其在相关领域具有广泛的应用前景。如果你对三维场景生成感兴趣,不妨尝试使用 MIDI-3D,看看它如何为你的项目带来新的活力。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考