Nab主题,更专业的导航主题
Ctrl + D 收藏本站
当前位置:首页 » AI工具库

MIDI-3D:从单张图片快速生成多物体3D场景的开源工具

2025-03-28 369

综合介绍

MIDI-3D 是 VAST-AI-Research 团队开发的一个开源项目,它能从一张图片快速生成包含多个物体的3D场景,适合开发者、研究人员和创作者使用。这个工具基于多实例扩散模型技术,结合人工智能和3D建模,能同时生成多个高质量3D物体,并保持它们的空间关系。MIDI-3D 在 2025 年 CVPR 大会上发布,代码、模型权重和在线演示都已开放。它支持真实和卡通风格的图片输入,生成时间短至40秒,输出文件为 .glb 格式,可在其他软件中编辑。项目旨在简化3D场景创作,让更多人能轻松制作数字资产。

MIDI-3D:从单张图片快速生成多物体3D场景的开源工具-1

 

功能列表

  • 从单张图片生成包含多个物体的3D场景,支持真实和卡通风格。
  • 提供图像分割功能,自动识别并标注图片中的物体。
  • 同时生成多个可分离的3D实例,自动组合成完整场景。
  • 支持命令行操作和交互式网页演示两种方式。
  • 自动下载预训练模型权重到本地,方便快速启动。
  • 输出 .glb 格式的3D模型文件,可用于后续编辑或导入其他软件。
  • 生成过程高效,无需逐个物体建模或长时间优化。

 

使用帮助

MIDI-3D 的使用分为安装和操作两部分。以下是详细步骤,帮助你从零开始上手。

安装流程

  1. 准备硬件和软件环境
    你需要一台支持 CUDA 的电脑,因为 MIDI-3D 依赖 GPU 加速。推荐使用 NVIDIA GPU,显存至少 6GB。确保安装 Python 3.10 或更高版本。
  2. 创建虚拟环境(可选)
    为避免冲突,可以创建一个新的 Conda 环境:
conda create -n midi python=3.10
conda activate midi
  1. 安装 PyTorch
    根据你的 GPU 的 CUDA 版本安装 PyTorch。比如,用 CUDA 11.8 的命令是:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

如果版本不同,请访问 https://pytorch.org/get-started/locally/ 选择对应命令。

  1. 下载项目代码
    在终端运行以下命令,克隆 MIDI-3D 仓库:
git clone https://github.com/VAST-AI-Research/MIDI-3D.git
cd MIDI-3D
  1. 安装依赖
    项目提供 requirements.txt 文件,运行以下命令安装所有依赖:
pip install -r requirements.txt
  1. 获取模型权重
    运行脚本时,MIDI-3D 会自动从 https://huggingface.co/VAST-AI/MIDI-3D 下载预训练模型,保存到 pretrained_weights/MIDI-3D 文件夹。如果网络不稳定,也可以手动下载并解压到该路径。

操作流程

MIDI-3D 支持两种使用方式:命令行和交互式演示。以下是具体步骤。

命令行操作

  1. 生成分割图
    MIDI-3D 需要一张图片和对应的分割图(标注物体区域)。可以用自带的 Grounded SAM 脚本生成分割图。比如,你有一张图片 04_rgb.png,运行:
python -m scripts.grounding_sam --image assets/example_data/Cartoon-Style/04_rgb.png --labels "lamp sofa table dog" --output ./segmentation.png
  • --image 指定输入图片路径。
  • --labels 输入图片中物体的名称,用空格分隔。
  • --output 指定分割图保存路径。
    运行后,会生成一个 segmentation.png 文件。
  1. 生成3D场景
    用图片和分割图生成3D场景,运行以下命令:
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 "./output"
  • --rgb 是原图路径。
  • --seg 是分割图路径。
  • --output-dir 是输出文件夹路径。
    生成的3D场景会保存为 output.glb 文件,通常需要40秒到1分钟。如果物体靠近图片边缘,建议加参数 --do-image-padding,如:
python -m scripts.inference_midi --rgb 00_rgb.png --seg 00_seg.png --output-dir "./output" --do-image-padding

交互式演示

  1. 启动演示
    运行以下命令启动 Gradio 界面:
python gradio_demo.py

系统会自动打开浏览器,显示操作页面。你也可以访问在线演示:https://huggingface.co/spaces/VAST-AI/MIDI-3D。

  1. 上传图片并分割
    在界面点击“Input Image”上传图片。然后用鼠标框选物体区域,系统会自动生成分割图,显示在“Segmentation Result”中。
  2. 生成3D场景
    点击“Run Segmentation”确认分割图后,调整参数(如随机种子),再点击生成按钮。几秒后,界面会显示3D模型,点击下载得到 .glb 文件。

功能操作详解

  • 图像分割
    Grounded SAM 是 MIDI-3D 的预处理工具,能自动识别图片中的物体并生成分割图。你可以输入物体名称(如“lamp sofa”),也可以在交互界面手动框选。它支持多物体场景,分割精度高。
  • 多物体3D生成
    MIDI-3D 使用多实例扩散模型,能同时生成多个3D物体,并保持它们的空间关系。比如,一张客厅图片可以生成沙发、桌子和灯的3D模型,直接组成完整场景。它比传统逐个物体生成的方法更快。
  • 模型输出
    生成的 .glb 文件兼容 Blender、Unity 等软件。你可以导入文件,调整材质、灯光或添加动画,满足不同需求。

补充资源

  • 教学视频
    官方提供了一个操作视频(https://github.com/VAST-AI-Research/MIDI-3D 中查看),详细演示了从上传图片到生成3D场景的流程。
  • 论文参考
    想了解技术细节,可以阅读论文:https://arxiv.org/abs/2412.03558。

常见问题解决

  • 如果生成失败,检查 GPU 是否支持,或者确认分割图是否正确。
  • 如果物体细节缺失,尝试用更高分辨率的图片。

 

应用场景

  1. 游戏开发
    开发者可以用 MIDI-3D 从草图生成3D场景。比如,一张森林图片可以快速变成树木和地形的3D模型,导入 Unity 使用。
  2. 学术研究
    研究人员可以用它测试多实例扩散模型的效果。虽然模型只用合成数据训练,但对真实和卡通图片也有很好的适应性。
  3. 数字艺术
    艺术家可以用卡通图片生成3D动画场景,快速制作创意作品,节省建模时间。

 

QA

  1. MIDI-3D 支持哪些图片类型?
    支持 .png 和 .jpg 格式。推荐使用清晰的图片,效果更佳。
  2. 需要什么硬件配置?
    需要 NVIDIA GPU,显存至少 6GB,配合 CUDA 环境运行。CPU 无法满足需求。
  3. 生成的模型可以商用吗?
    可以,项目采用 MIT 许可证,生成的 .glb 文件可自由用于商业用途,但需遵守许可证要求。

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

扫码关注

qrcode

联系我们

回顶部

zh_CN简体中文