Stable-Dreamfusion Как превратить текстовое описание в 3D-модель

10 Dec, 2023

Репозиторий давно не обновлялся

Последнее обновление было 2 года назад.

8,840
🔱 770
👥 124

Когда слова становятся объемными

Представьте: вы пишете "пушистый кот в шляпе", и через несколько минут получаете готовую 3D-модель, которую можно рассмотреть со всех сторон. Еще год назад это казалось фантастикой, но сегодня проект Stable-Dreamfusion делает подобное возможным для любого разработчика.

Что это за проект?

Stable-Dreamfusion — это реализация на PyTorch модели Dreamfusion, которая использует Stable Diffusion для генерации 3D-объектов из текстовых описаний. По сути, это мост между 2D-диффузионными моделями и трехмерным контентом.

Кому это нужно?

  • Гейм-разработчикам для быстрого прототипирования объектов
  • Дизайнерам, работающим с 3D-графикой
  • Создателям контента для VR/AR
  • Всем, кто экспериментирует с генеративным ИИ

Главные возможности

  1. Text-to-3D: Основная функция — генерация 3D-моделей по текстовому описанию. Например:
python main.py --text "a hamburger" --workspace trial -O
  1. Image-to-3D: Можно создать 3D-модель на основе изображения:
python preprocess_image.py image.png
python main.py -O --image image_rgba.png --workspace trial_image
  1. Экспорт в mesh: Готовые модели сохраняются в формате OBJ с текстурами
  2. Поддержка Negative prompts: Как в Stable Diffusion, можно указывать, чего в модели быть не должно
  3. Альтернативные бэкенды: Выбор между Instant-NGP (быстрее) и Vanilla NeRF (проще в настройке)

Как это работает технически

Проект объединяет несколько передовых технологий:

  • Stable Diffusion выступает в роли "художника", оценивающего качество 3D-ренедерингов
  • NeRF (Neural Radiance Fields) строит трехмерное представление
  • Instant-NGP ускоряет рендеринг до 10 FPS при разрешении 800x800

Интересная деталь: вместо оригинального Imagen (как в первой версии Dreamfusion) используется Stable Diffusion, что делает проект доступнее, хотя и требует дополнительных вычислений из-за работы в латентном пространстве.

Реклама

Практическое применение

  1. Быстрое прототипирование: За час можно создать десятки вариантов 3D-объектов по описанию
  2. Генерация контента для игр: Особенно полезно для фоновых объектов и реквизита
  3. Создание ассетов для AR/VR: Модели сразу готовы к использованию в движках
  4. Эксперименты с генеративным дизайном: Можно играть с разными стилями через текстовые подсказки

Ограничения

Авторы честно предупреждают:

  • Результаты пока не дотягивают до оригинальной Dreamfusion
  • Многие запросы всё еще дают неидеальный результат
  • Требуется мощная GPU (от 16 ГБ памяти)

Как начать использовать

Проект предоставляет готовые Colab-ноутбуки для быстрого старта:

Для локальной установки:

git clone https://github.com/ashawkey/stable-dreamfusion.git
cd stable-dreamfusion
pip install -r requirements.txt

Стоит ли пробовать?

Если вы:

  • Хотите быть на острие text-to-3D технологий
  • Готовы мириться с текущими ограничениями в качестве
  • Имеете доступ к мощному GPU

— тогда Stable-Dreamfusion отличный способ начать эксперименты с генерацией 3D-контента уже сегодня. Для production-решений авторы рекомендуют обратить внимание на threestudio — более современную реализацию аналогичных идей.

Проект активно развивается: недавно добавили поддержку Perp-Neg для борьбы с "многоголовостью" (когда модель генерирует объекты с несколькими лицами) и интеграцию с DeepFloyd-IF. Заглядывайте в обновления, чтобы не пропустить новые возможности.

Полезные ссылки

Какой 3D-объект вы создадите первым?

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.