XavierXiao/Dreambooth-Stable-Diffusion

Реализация Dreambooth (https://arxiv.org/abs/2208.12242) с Stable Diffusion

Vision⭐ 7 732Jupyter Notebook
Открыть на GitHub ↗

Что это за инструмент

Реализация метода Dreambooth для тонкой настройки модели Stable Diffusion, позволяющая обучать генерацию изображений на основе небольшого набора примеров.

Зачем нужен

Инструмент решает задачу персонализации текстовых моделей генерации изображений, адаптируя их под конкретные объекты или субъекты. В отличие от Textual Inversion, которая оптимизирует только эмбеддинги слов, этот код выполняет полную тонкую настройку (fine-tuning) всей диффузионной модели, что обеспечивает более высокое качество и редактируемость результатов.

Что можно реализовать

  • Создание персонализированных изображений конкретного человека или животного с использованием нескольких фотографий.
  • Генерация изображений уникальных объектов (например, игрушек или мебели) в различных контекстах.
  • Адаптация стиля Stable Diffusion под специфические классы объектов с сохранением способности к редактированию сцены.
  • Эксперименты с методом Dreambooth на базе Stable Diffusion вместо оригинальной модели Imagen, веса которой недоступны.

Ключевые возможности

  • Полная тонкая настройка модели (fine-tuning Unet), а не только оптимизация текстовых эмбеддингов.
  • Встроенная поддержка gradient checkpointing для снижения потребления памяти GPU.
  • Использование регуляризационных изображений (до 100-200 штук) для предотвращения переобучения и сохранения общих способностей модели.
  • Простой интерфейс: обучение занимает около 15 минут на двух GPU A6000, сохраняются чекпоинты на 500 и финальном шагах.
  • Использование редкого токена-идентификатора (например, 'sks') для привязки объекта к промпту.

👤 Кому подойдёт: разработчики, исследователи в области компьютерного зрения и энтузиасты, работающие с локальными моделями генерации изображений

Релизы

Релизы ещё не отслежены — появятся после ближайшего опроса.