MIDI-3D: инструмент с открытым исходным кодом для быстрой генерации многообъектных 3D-сцен из одного изображения

Общее введение

MIDI-3D - это проект с открытым исходным кодом, разработанный командой VAST-AI-Research, который позволяет разработчикам, исследователям и создателям быстро генерировать 3D-сцены, содержащие множество объектов, из одного изображения. Инструмент основан на методах многообъектного диффузионного моделирования, объединяющих искусственный интеллект и 3D-моделирование для одновременной генерации нескольких высококачественных 3D-объектов и сохранения их пространственных отношений. MIDI-3D был выпущен на CVPR 2025, а код, весовые коэффициенты моделей и онлайн-демонстрация являются открытыми. Он поддерживает ввод как реалистичных, так и мультяшных изображений, время генерации составляет всего 40 секунд, а размер выходных файлов .glb Формат, который можно редактировать в других программах. Цель проекта - упростить создание 3D-сцен и сделать так, чтобы больше людей могли создавать цифровые объекты.

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

 

Список функций

  • Создавайте 3D-сцены, содержащие множество объектов, из одного изображения, поддерживая как реалистичные, так и мультяшные стили.
  • Функция сегментации изображений для автоматической идентификации и маркировки объектов на фотографиях.
  • Одновременное создание нескольких разделяемых 3D-объектов, которые автоматически объединяются в целые сцены.
  • Поддерживает как работу в командной строке, так и интерактивное веб-представление.
  • Автоматическая загрузка весов предварительно обученной модели в локальную сеть для быстрого запуска.
  • экспорт .glb Файлы 3D-моделей в формате, который можно использовать для последующего редактирования или импортировать в другие программы.
  • Процесс генерации эффективен и не требует моделирования каждого объекта или длительной оптимизации.

 

Использование помощи

Использование MIDI-3D разделено на две части: установка и работа. Ниже приведены подробные шаги, которые помогут вам начать работу с нуля.

Процесс установки

  1. Подготовка аппаратной и программной среды
    Вам понадобится компьютер с поддержкой CUDA, так как MIDI-3D использует ускорение GPU. Рекомендуется использовать графический процессор NVIDIA с не менее чем 6 ГБ видеопамяти. Убедитесь, что установлен Python 3.10 или выше.
  2. Создание виртуальной среды (необязательно)
    Чтобы избежать конфликтов, вы можете создать новую среду Conda:
conda create -n midi python=3.10
conda activate midi
  1. Установка PyTorch
    Установите PyTorch в соответствии с версией CUDA вашего GPU. Например, для 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" в интерфейсе, чтобы загрузить изображение. Затем с помощью мыши выделите область объекта, система автоматически сгенерирует карту сегментации, которая будет отображена в разделе "Результат сегментации".
  2. Создание 3D-сцен
    Нажмите "Run Segmentation", чтобы подтвердить карту сегментации, настроить параметры (например, случайные семена), а затем нажмите кнопку Generate. Через несколько секунд в интерфейсе появится 3D-модель, нажмите, чтобы загрузить ее. .glb Документация.

Функции

  • сегментация изображения
    Grounded SAM - это инструмент предварительной обработки для MIDI-3D, который автоматически распознает объекты на изображении и генерирует карту сегментации. Вы можете ввести название объекта (например, "лампа-диван") или выбрать его вручную в интерактивном интерфейсе. Программа поддерживает многообъектные сцены с высокой точностью сегментации.
  • Многообъектное 3D-генерирование
    В MIDI-3D используется диффузионное моделирование с несколькими объектами для одновременного создания нескольких 3D-объектов и сохранения их пространственных связей. Например, на фотографии гостиной можно сгенерировать 3D-модель дивана, стола и лампы, которые непосредственно составляют всю сцену. Это быстрее, чем традиционный метод генерации объекта за объектом.
  • выход модели
    созданный .glb Файлы совместимы с Blender, Unity и другими программами. Вы можете импортировать файлы, настроить материалы, освещение или добавить анимацию, чтобы удовлетворить различные потребности.

Дополнительные ресурсы

  • Обучающие видеоролики
    Представлен официальный видеоролик (смотрите на сайте https://github.com/VAST-AI-Research/MIDI-3D), в котором подробно показан процесс от загрузки изображения до создания 3D-сцены.
  • библиография
    Технические подробности вы можете прочитать в статье: https://arxiv.org/abs/2412.03558.

Часто задаваемые вопросы

  • Если генерация не удается, проверьте, поддерживает ли ее графический процессор, или убедитесь, что карта сегментации корректна.
  • Если детали объекта отсутствуют, попробуйте использовать изображение с более высоким разрешением.

 

сценарий применения

  1. разработка игр
    Разработчики могут использовать MIDI-3D для создания 3D-сцен из эскизов. Например, рисунок леса можно быстро превратить в 3D-модель деревьев и местности для импорта в Unity.
  2. научные исследования
    Исследователи могут использовать ее для проверки эффективности многообъектных моделей диффузии. Хотя модель обучена только на синтетических данных, она также хорошо адаптируется к реальным и мультипликационным изображениям.
  3. цифровое искусство
    Художники могут генерировать 3D-анимационные сцены из мультяшных картинок, чтобы быстро создавать творческие работы и экономить время моделирования.

 

QA

  1. Какие типы изображений поддерживает MIDI-3D?
    адъювант .png ответить пением .jpg Формат. Для получения лучших результатов рекомендуется использовать четкие изображения.
  2. Какая конфигурация оборудования требуется?
    Для работы в среде CUDA требуется графический процессор NVIDIA с видеопамятью не менее 6 ГБ; процессора недостаточно.
  3. Имеется ли созданная модель в продаже?
    Да, проект использует лицензию MIT, которая генерирует .glb Документы могут свободно использоваться в коммерческих целях при условии соблюдения лицензионных требований.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...