Stable Diffusion - Генерация изображений силами вашей видеокарты

18 Jun, 2024

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

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

73,206
🔱 10,584
👥 567

Пример генерации Stable Diffusion

Представьте, что вы описываете картину: "космонавт верхом на лошади в стиле Ван Гога" – и через мгновение получаете готовое изображение. Это не фантастика, а реальность с открытой моделью Stable Diffusion, которая делает генерацию изображений доступной даже для домашних компьютеров.

Что такое Stable Diffusion?

Stable Diffusion – это тексто-графическая диффузионная модель с открытым исходным кодом, разработанная совместно CompVis, Stability AI и Runway. В отличие от других аналогичных решений, она:

  • Работает на GPU с 10 ГБ видеопамяти (например, RTX 3080)
  • Позволяет генерировать изображения 512x512 пикселей
  • Поддерживает модификацию существующих изображений
  • Имеет открытые веса и код

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

  • Разработчикам, которые хотят интегрировать генерацию изображений в свои приложения
  • Дизайнерам для быстрого прототипирования идей
  • Исследователям в области машинного обучения
  • Контент-менеджерам, создающим иллюстрации для статей

Основные возможности

1. Генерация из текста (txt2img)

Самый простой способ использовать Stable Diffusion – описать желаемое изображение текстом:

python scripts/txt2img.py --prompt "фантастический пейзаж с замком на горе" --plms

Результат:

Реклама

Фантастический пейзаж

2. Модификация изображений (img2img)

Можно взять за основу ваш скетч и доработать его нейросетью:

python scripts/img2img.py --prompt "Фэнтезийный пейзаж" --init-img sketch.jpg --strength 0.8

Пример преобразования:

Входное изображение (скетч): Скетч

Результат обработки: Результат

3. Интеграция через Diffusers

Для Python-разработчиков есть удобная библиотека:

from diffusers import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained("CompVis/stable-diffusion-v1-4")
image = pipe("портрет кота в шляпе")["sample"][0]
image.save("cat_in_hat.png")

Технические особенности

  • Основана на архитектуре Latent Diffusion Models (LDM)
  • Использует CLIP ViT-L/14 в качестве текстового энкодера
  • Размер модели: 860M параметров UNet + 123M текстовый энкодер
  • Обучена на подмножестве LAION-5B (512x512 изображений)

Ограничения и этика

Разработчики предупреждают о важных моментах:

  1. Модель может воспроизводить стереотипы из обучающих данных
  2. Требуется дополнительная фильтрация для коммерческого использования
  3. Используется лицензия OpenRAIL M с ограничениями на потенциально вредное применение

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

  1. Установите зависимости:
conda env create -f environment.yaml
conda activate ldm
  1. Скачайте веса модели с Hugging Face

  2. Запустите генерацию:

python scripts/txt2img.py --prompt "ваш запрос" --plms

Stable Diffusion – это прорыв в области генеративного ИИ, который делает создание изображений доступным для широкого круга разработчиков. При всех своих возможностях, модель требует осознанного подхода к использованию, особенно в коммерческих продуктах.

Кому особенно стоит попробовать:

  • Тем, кто хочет экспериментировать с генеративными моделями
  • Разработчикам, создающим инструменты для дизайнеров
  • Исследователям в области компьютерного зрения

Проект активно развивается, и сейчас – лучшее время, чтобы присоединиться к сообществу и исследовать возможности диффузионных моделей.

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