Дизайн
#Руководства

Stable Diffusion: что это за нейросеть и как её использовать

Для чего стоит скачать Stable Diffusion, как установить программу и какие параметры пригодятся при генерации картинок.

Иллюстрация: Полина Честнова для Skillbox Media

Stable Diffusion ― бесплатная нейросеть для генерации картинок, которая доступна на сайте и в версии для скачивания. Это open-source-проект от группы Stability.ai ― нейросеть выпустили в августе 2022 года и с тех пор регулярно обновляют.

Из статьи вы узнаете:


Возможности Stable Diffusion

Генерация по текстовому запросу. Стандартная функция любой нейросети, от которой пользователь ожидает получить картинки. Он может ввести нужный запрос и получить что угодно ― от стилизации под фотографию до иллюстрации в манере конкретного художника.

Сгенерированный портрет шахтёра, нарисованный в стиле художников Грега Рутковского и Магали Вильнёва
Промпт: a portrait of an old coal miner in 19th century, painting with highly detailed face by greg rutkowski and magali villenueve, in the wild west, outside photography
Автор промпта: javierjrueda
Изображение: javierjrueda / PromptHero

Дорисовывать изображения. Нейросеть может превратить ваш быстрый набросок в иллюстрацию.

Оригинальный набросок и результат, который выдала нейросеть по промпту
Промпт: ranslucent women in biomechanical body, liquid cooling, intricate circuits, white gradient with orang, yellow and golden smoke and blue crystal liquid, stunning, render, hyper realistic, octane render
Автор промпта: thepromptman
Изображение: thepromptman / PromptHero

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

Оригинальная фотография с Unsplash и расширенная слева и справа с помощью Stable Diffusion
Промпт: houses. cars. road. sky, trees
Изображение: Emanuel Haas / Unsplash / Stable Diffusion / Skillbox Media

Онлайн-версия

Попробовать поработать со Stable Diffusion можно онлайн на сайте. Но функционал будет ограничен. Можно задать текстовый запрос, негативный запрос (с тем, чего на картинке быть не должно), нужное количество картинок от 1 до 4, выбрать количество шагов и указать, насколько точно нужно следовать запросу. Больше никаких опций нет. Получившиеся картинки по умолчанию будут размером 512×512 px.

Интерфейс онлайн-версии
Скриншот: Stable Diffusion / Skillbox Media

Десктопная версия

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

Интерфейс десктопной версии
Скриншот: Stable Diffusion / Skillbox Media

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

Разработчики Stable Diffusion рекомендуют использовать нейросеть на компьютерах с такими характеристиками:

  • видеокарта NVIDIA серии GeForce RTX 20xx и выше;
  • 16 ГБ оперативной памяти;
  • 4 ГБ видеопамяти.

Если у вас Mac, понадобится:

  • процессор M1 или M2;
  • последняя версия macOS Monterey.

Если у вас неподходящая видеокарта, то можете попробовать работать с тем, что есть, ― но тогда генерация изображений будет идти дольше. Например, в наших тестах мы использовали видеокарту GTX 1650 вместо RTX 20xx.

Как установить Stable Diffusion по‑быстрому

NMKD Stable Diffusion GUI ― бесплатный клиент для Windows с базовыми возможностями нейросети. Пользователь может генерировать изображения по текстовому запросу и референсам, улучшать их качество и исправлять некорректно созданные лица.

Установить NMKD очень просто ― скачайте архив с сайта разработчика и распакуйте файл в любом месте на компьютере. По желанию ― можно пожертвовать разработчику несколько долларов.

Скриншот: Stable Diffusion / Skillbox Media

DiffusionBee ― бесплатный и популярный клиент для macOS. Пользователь может генерировать изображения по текстовому запросу и референсам, а также улучшать готовые: менять им фон и создавать отдельные объекты внутри картинки.

Чтобы установить DiffusionBee, скачайте его с сайта разработчика и запустите как обычную программу.

Скриншот: Stable Diffusion / Skillbox Media

Easy Diffusion ― универсальный клиент, который работает на всех операционных системах: Windows, macOS, Linux. В этой версии возможности Stable Diffusion довольно ограничены ― можно генерировать картинки только по текстовому запросу. Но зато вы можете выбрать стиль, в котором хотите увидеть результат: от рисунка карандашом до 3D.

Чтобы установить Easy Diffusion, скачайте файл установки на компьютер, запустите его и следуйте инструкции. Установленная программа занимает 25 гигабайт. Запускается в браузере.

Скриншот: Stable Diffusion / Skillbox Media

Как установить Stable Diffusion через Git и Python

Этот способ установки гораздо сложнее. Но если вы будете использовать его, то получите сразу все возможности Stable Diffusion. Например, у варианта выше недоступна возможность обучения собственной модели ― чтобы Stable Diffusion генерировала картинки на основе ваших работ.

Эту версию можно установить автоматически на Windows через отдельный инсталлятор. Но если он почему-то не сработает, придётся всё делать вручную.

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

Ручная установка продвинутой версии Stable Diffusion

1. Скачать Git

Git ― система управления версиями файлов на компьютере, она понадобится для работы со Stable Diffusion. Скачать Git можно на официальном сайте по ссылке. Установите его и переходите к следующему шагу.

2. Скачать Python

Это можно сделать на официальном сайте по ссылке. Во время установки рекомендуется поставить галочку возле пункта Add python.exe to PATH.

Скриншот: Python / Skillbox Media

3. Скачать Stable Diffusion Web UI

У нейросети есть разные версии. В базовом варианте интерфейс представляет собой командную строку ― это неудобно. Мы остановимся на пользовательской версии (Web UI) ― у неё понятный и привычный интерфейс с кнопками и полями для ввода. Скачать её можно с GitHub.

Создайте папку там, где вы хотите сохранить Stable Diffusion. Желательно, чтобы путь к этой папке не был длинным, в идеале ― D:\Stable Diffusion.

После создания папки откройте её, кликните по адресной строке, сотрите название папки и напечатайте «cmd». Вот так:

Скриншот: Skillbox Media

Откроется чёрное окно с командной строкой. В него нужно допечатать команду «git clone», вставить ссылку на репозиторий GitHub и нажать Enter. Так будет выглядеть результат, красным отмечена команда клонирования со ссылкой:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
Скриншот: Skillbox Media

Когда в командной строке появится надпись «done», окно можно будет закрывать.

Шаг 4. Скачать модель

Далее нужно скачать модель ИИ. Советуем для начала взять базовую v1-5. Там есть версии на 4 и на 7 ГБ ― чтобы поскорее попробовать нейросеть, скачайте на 4.

Скриншот: Stable Diffusion / Skillbox Media

Шаг 5. Переместить модель в папку репозитория

Когда скачаете модель, откройте папку, в которой она сохранена, кликните по модели и нажмите Ctrl + X. Затем переходите в папку с нейросетью → Models → Stable-diffusion и нажмите Ctrl + V ― так вы переместите туда модель.

Шаг 6. Настроить обновления

Этот шаг нужен, чтобы Stable Diffusion всегда автоматически обновлялась до последней версии. Вернитесь в папку stable-diffusion-webui, в которой лежат все файлы репозитория, и найдите webui-user.bat ― это пакетный файл.

Скриншот: Skillbox Media

Кликните на этот файл левой кнопкой мыши и в контекстном меню выберите пункт «Изменить». Откроется страница «Блокнота». На первой строке будет написано «@echo off». Эту надпись надо перенести на вторую строку, а на первой написать «git pull».

Скриншот: Skillbox Media

Сохраните получившийся файл и закройте блокнот.

Шаг 7. Запустить Stable Diffusion

Теперь по тому же самому файлу, webui-user.bat, нужно дважды кликнуть, и откроется чёрное окно с командной строкой. Программа сама будет выполнять нужные для запуска команды, нужно просто подождать ― это может занять и 20 минут, и целый час, в зависимости от скорости интернета.

Но периодически следите за командной строкой. Например, у нас на каком-то этапе возникла ошибка Couldn’t install Torch. Это распространённый баг. Чтобы его исправить, нужно удалить папку venv и запустить webui-user.bat заново.

Скриншот: Skillbox Media
Скриншот: Skillbox Media

Если у вас возникнут другие проблемы с установкой, попробуйте поискать их решение на GitHub в разделе Issues.

Когда запуск завершится, вы увидите в тексте в командной строке слова «Running on local URL:» и текст ссылки ― скорее всего, это будет http://127.0.0.1:7860/.

Скриншот: Skillbox Media

Ссылку нужно скопировать и открыть в браузере. Появится интерфейс Stable Diffusion, в котором дальше можно работать.

Кстати, во время работы вы можете наткнуться на ещё один баг. После ввода запроса и нажатия на кнопку Generate система может писать, что вы бесконечно стоите в очереди («In queue…»), либо вообще ничего не писать. При этом кнопки для прерывания и отмены запроса могут не работать. Нам помогло нажать Enter в командной строке в чёрном окне ― программа выполнила ещё несколько действий, и потом всё заработало.

Как работать в Stable Diffusion по текстовым промптам

В Stable Diffusion два поля для ввода запросов. В первом нужно писать, что вы хотите видеть на картинке. Правила составления запросов для Stable Diffusion те же, что и в других нейросетях:

  • Сначала укажите главные объекты на картинке.
  • Если нужно, укажите характеристики этих объектов (цвет, размер, текстура).
  • При необходимости добавьте действие, которое они должны совершать.
  • Задайте место действия (комната, улица, лес, космический корабль).
  • Можно задать стилистику рисования. Также для уточнения стилистики подойдут имена известных художников или фотографов.
  • Не упоминайте слишком много объектов с конкретными деталями ― так нейросеть может запутаться, и результат выйдет не таким, как хотелось.

Частицу «не» в промптах нейросети воспринимают с трудом, поэтому второе поле выделено для негативного промпта. Перечисляйте там всё, чего на картинке быть не должно.

Для Stable Diffusion можно найти готовые промпты, которые дают хорошие результаты:

У всех версий Stable Diffusion есть разные настройки генерации изображений. Поэтому рассмотрим только основные:

  • Sampling steps ― количество шагов по созданию изображения. Чем их больше, тем дольше нейросеть будет над ней работать. На самом деле не стоит устанавливать это свойство больше 30–40, иначе нейросеть будет вести себя как художник, который бесконечно мазюкает одно и то же пятно.
  • Restore faces ― делает лица более чёткими, стоит поставить тут галочку, если изображаете людей.
Промпт: a photo realistic upper body portrait of a woman (detailed face)
Изображение: Stable Diffusion / Skillbox Media
Промпт: a photo realistic upper body portrait of a woman (detailed face) c настройкой Restore faces
Изображение: Stable Diffusion / Skillbox Media
  • Tiling ― пункт для создания абстракций и текстур, без конкретных обособленных объектов.
Промпт: cherry blossom sakura tree, nature, intricate details
Изображение: Stable Diffusion / Skillbox Media
Промпт: cherry blossom sakura tree, nature, intricate details с настройкой Tiling
Изображение: Stable Diffusion / Skillbox Media
  • Hires.fix ― полезный пункт, если делаете большие картинки. Он помогает избежать повторений одинаковых фрагментов в одном изображении.
  • Width и Height ― ширина и длина: формально можно устанавливать любую, но для генерации больших картинок нужно много памяти.
  • Batch count ― количество генерируемых изображений после нажатия кнопки.
  • Batch size ― количество одновременно генерируемых изображений.
  • CFG Scale ― параметр отвечает за то, насколько нейросеть должна буквально приблизиться к вашему запросу.
  • Seed ― стартовая точка генерации изображения. По умолчанию стоит случайный параметр, и каждый раз изображения получаются непохожие по композиции и цветам. Если поставите какое-то число, на все запросы будете получать во многом похожие картинки.

Как работать в Stable Diffusion по референсам

В Stable Diffusion можно работать не только с текстовыми промптами, но и с готовыми картинками. Для этого в интерфейсе нужно перейти в раздел img2img, если в вашей версии эта функция доступна.

Скриншот: Stable Diffusion / Skillbox Media

Под полями для ввода промптов есть блок для загрузки картинок. А над ним ― инструменты, с помощью которых можно по-разному работать с референсами.

Img2img. Первый инструмент просто перерисовывает загруженную картинку с учётом текстового запроса. Слева референс, справа результат, промпт «girl at the party»:

Скриншот: Stable Diffusion / Skillbox Media

Sketch. Можно загрузить изображение, дорисовать на нём то, что нужно, условными пятнами, написать промпт и получить готовую картинку.

Скриншот: Stable Diffusion / Skillbox Media

Промпт: «fluffy cat sitting on the grass photorealistic»:

Скриншот: Stable Diffusion / Skillbox Media

Inpaint. Вы закрашиваете часть изображения, пишете, что хотите на этом месте, и нейросеть это переделывает.

Скриншот: Stable Diffusion / Skillbox Media

Закрасили глаза, написали промпт new eyes, получилось так:

Скриншот: Stable Diffusion / Skillbox Media

Inpaint sketch. Эта функция нужна, чтобы вручную дорисовывать на референсе конкретные объекты.

Скриншот: Stable Diffusion / Skillbox Media

От руки нарисовали шарф и написали промпт Scarf:

Скриншот: Stable Diffusion / Skillbox Media

Для удобной работы с референсами есть ещё много опций:

  • Inpaint upload ― позволяет не рисовать маску вручную, как Inpaint, а загружать картинку, которая послужит маской.
  • Batch ― нужен для одновременной обработки нескольких картинок инструментом img2img.
  • Copy image to ― нужен, чтобы быстро переключаться между разными режимами. Можно, например, начать редактировать картинку в img2img, заменить в ней что-нибудь в Inpainter, а потом дорисовать в Sketch.

Для завершения работы с нейросетью нужно закрыть вкладку в браузере и закрыть чёрное окно с командной строкой. Когда понадобится открыть Stable Diffusion, нужно будет снова дважды кликнуть по webui-user.bat, скопировать ссылку и работать в браузере.

Модели для Stable Diffusion

Моделей Stable Diffusion существует много ― их тренируют на разных изображениях и разных текстовых запросах. Модели бывают узкоспециализированные ― заточенные, например, под рисование в стиле аниме, фотореализм, изображения людей.

Для Stable Diffusion модели собирают обычные пользователи и публикуют их в интернете. Вот некоторые сайты, где их можно взять:

  • На Hugging Face, ранжировать выдачу можно по скачиваемости, лайкам или обновлениям.
  • На Civitai удобно сразу смотреть, какие картинки генерируют разные модели.
  • В канале Stable Diffusion в Discord.
  • На сайте Rentry: модели даны сплошным списком, но тоже можно полистать.

Один и тот же запрос будет по-разному интерпретирован разными моделями. Для примера мы скачали ещё две модели: Dreamlike, которая специализируется на фотореализме, и Epic Diffusion ― она создаёт детализированные CG-иллюстрации, напоминающие стилистику современных игр.

Промпт «woman with shopping bags walking down the street»:

Изображение: Dreamlike
Изображение: v1-5
Изображение: Epic Diffusion

Промпт «gray castle on the rock»:

Изображение: Dreamlike
Изображение: v1-5
Изображение: Epic Diffusion

Больше интересного про дизайн в нашем телеграм-канале. Подписывайтесь!

Научитесь: Нейросети: практический курс Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована