Stable Diffusion: что это за нейросеть и как её использовать
Для чего стоит скачать Stable Diffusion, как установить программу и какие параметры пригодятся при генерации картинок.
Иллюстрация: Полина Честнова для Skillbox Media
Stable Diffusion ― бесплатная нейросеть для генерации картинок, которая доступна на сайте и в версии для скачивания. Это open-source-проект от группы Stability.ai ― нейросеть выпустили в августе 2022 года и с тех пор регулярно обновляют.
Из статьи вы узнаете:
- что можно делать со Stable Diffusion;
- как использовать нейросеть в онлайне;
- как установить десктопную версию;
- как использовать функции Stable Diffusion и составить текстовый запрос;
- как генерировать картинки по референсам;
- где взять обученные модели Stable Diffusion.
Возможности Stable Diffusion
Генерация по текстовому запросу. Стандартная функция любой нейросети, от которой пользователь ожидает получить картинки. Он может ввести нужный запрос и получить что угодно ― от стилизации под фотографию до иллюстрации в манере конкретного художника.
Дорисовывать изображения. Нейросеть может превратить ваш быстрый набросок в иллюстрацию.
Изменять изображения. Например, вы можете расширить фон на картинке, заменить на ней конкретный объект или вовсе удалить его.
Онлайн-версия
Попробовать поработать со Stable Diffusion можно онлайн на сайте. Но функционал будет ограничен. Можно задать текстовый запрос, негативный запрос (с тем, чего на картинке быть не должно), нужное количество картинок от 1 до 4, выбрать количество шагов и указать, насколько точно нужно следовать запросу. Больше никаких опций нет. Получившиеся картинки по умолчанию будут размером 512×512 px.
Десктопная версия
В этой версии можно генерировать картинки любого размера, и инструментов в ней гораздо больше. Например, можно давать нейросети фотореференсы, уточнять изображения лиц и многое другое.
Чем больше инструментов доступно, тем лучшего качества изображений можно добиться. Поэтому мы подробнее остановимся на работе с десктопной версией.
Разработчики 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 очень просто ― скачайте архив с сайта разработчика и распакуйте файл в любом месте на компьютере. По желанию ― можно пожертвовать разработчику несколько долларов.
DiffusionBee ― бесплатный и популярный клиент для macOS. Пользователь может генерировать изображения по текстовому запросу и референсам, а также улучшать готовые: менять им фон и создавать отдельные объекты внутри картинки.
Чтобы установить DiffusionBee, скачайте его с сайта разработчика и запустите как обычную программу.
Easy Diffusion ― универсальный клиент, который работает на всех операционных системах: Windows, macOS, Linux. В этой версии возможности Stable Diffusion довольно ограничены ― можно генерировать картинки только по текстовому запросу. Но зато вы можете выбрать стиль, в котором хотите увидеть результат: от рисунка карандашом до 3D.
Чтобы установить Easy Diffusion, скачайте файл установки на компьютер, запустите его и следуйте инструкции. Установленная программа занимает 25 гигабайт. Запускается в браузере.
Как установить Stable Diffusion через Git и Python
Этот способ установки гораздо сложнее. Но если вы будете использовать его, то получите сразу все возможности Stable Diffusion. Например, у варианта выше недоступна возможность обучения собственной модели ― чтобы Stable Diffusion генерировала картинки на основе ваших работ.
Эту версию можно установить автоматически на Windows через отдельный инсталлятор. Но если он почему-то не сработает, придётся всё делать вручную.
Если вам не нужны продвинутые функции и вы хотите просто генерировать изображения, то вам хватит тех функций, что есть в предыдущих версиях.
Ручная установка продвинутой версии Stable Diffusion
1. Скачать Git
Git ― система управления версиями файлов на компьютере, она понадобится для работы со Stable Diffusion. Скачать Git можно на официальном сайте по ссылке. Установите его и переходите к следующему шагу.
2. Скачать Python
Это можно сделать на официальном сайте по ссылке. Во время установки рекомендуется поставить галочку возле пункта Add python.exe to PATH.
3. Скачать Stable Diffusion Web UI
У нейросети есть разные версии. В базовом варианте интерфейс представляет собой командную строку ― это неудобно. Мы остановимся на пользовательской версии (Web UI) ― у неё понятный и привычный интерфейс с кнопками и полями для ввода. Скачать её можно с GitHub.
Создайте папку там, где вы хотите сохранить Stable Diffusion. Желательно, чтобы путь к этой папке не был длинным, в идеале ― D:\Stable Diffusion.
После создания папки откройте её, кликните по адресной строке, сотрите название папки и напечатайте «cmd». Вот так:
Откроется чёрное окно с командной строкой. В него нужно допечатать команду «git clone», вставить ссылку на репозиторий GitHub и нажать Enter. Так будет выглядеть результат, красным отмечена команда клонирования со ссылкой:
Когда в командной строке появится надпись «done», окно можно будет закрывать.
Шаг 4. Скачать модель
Далее нужно скачать модель ИИ. Советуем для начала взять базовую v1-5. Там есть версии на 4 и на 7 ГБ ― чтобы поскорее попробовать нейросеть, скачайте на 4.
Шаг 5. Переместить модель в папку репозитория
Когда скачаете модель, откройте папку, в которой она сохранена, кликните по модели и нажмите Ctrl + X. Затем переходите в папку с нейросетью → Models → Stable-diffusion и нажмите Ctrl + V ― так вы переместите туда модель.
Шаг 6. Настроить обновления
Этот шаг нужен, чтобы Stable Diffusion всегда автоматически обновлялась до последней версии. Вернитесь в папку stable-diffusion-webui, в которой лежат все файлы репозитория, и найдите webui-user.bat ― это пакетный файл.
Кликните на этот файл левой кнопкой мыши и в контекстном меню выберите пункт «Изменить». Откроется страница «Блокнота». На первой строке будет написано «@echo off». Эту надпись надо перенести на вторую строку, а на первой написать «git pull».
Сохраните получившийся файл и закройте блокнот.
Шаг 7. Запустить Stable Diffusion
Теперь по тому же самому файлу, webui-user.bat, нужно дважды кликнуть, и откроется чёрное окно с командной строкой. Программа сама будет выполнять нужные для запуска команды, нужно просто подождать ― это может занять и 20 минут, и целый час, в зависимости от скорости интернета.
Но периодически следите за командной строкой. Например, у нас на каком-то этапе возникла ошибка Couldn’t install Torch. Это распространённый баг. Чтобы его исправить, нужно удалить папку venv и запустить webui-user.bat заново.
Если у вас возникнут другие проблемы с установкой, попробуйте поискать их решение на GitHub в разделе Issues.
Когда запуск завершится, вы увидите в тексте в командной строке слова «Running on local URL:» и текст ссылки ― скорее всего, это будет http://127.0.0.1:7860/.
Ссылку нужно скопировать и открыть в браузере. Появится интерфейс Stable Diffusion, в котором дальше можно работать.
Кстати, во время работы вы можете наткнуться на ещё один баг. После ввода запроса и нажатия на кнопку Generate система может писать, что вы бесконечно стоите в очереди («In queue…»), либо вообще ничего не писать. При этом кнопки для прерывания и отмены запроса могут не работать. Нам помогло нажать Enter в командной строке в чёрном окне ― программа выполнила ещё несколько действий, и потом всё заработало.
Как работать в Stable Diffusion по текстовым промптам
В Stable Diffusion два поля для ввода запросов. В первом нужно писать, что вы хотите видеть на картинке. Правила составления запросов для Stable Diffusion те же, что и в других нейросетях:
- Сначала укажите главные объекты на картинке.
- Если нужно, укажите характеристики этих объектов (цвет, размер, текстура).
- При необходимости добавьте действие, которое они должны совершать.
- Задайте место действия (комната, улица, лес, космический корабль).
- Можно задать стилистику рисования. Также для уточнения стилистики подойдут имена известных художников или фотографов.
- Не упоминайте слишком много объектов с конкретными деталями ― так нейросеть может запутаться, и результат выйдет не таким, как хотелось.
Частицу «не» в промптах нейросети воспринимают с трудом, поэтому второе поле выделено для негативного промпта. Перечисляйте там всё, чего на картинке быть не должно.
Для Stable Diffusion можно найти готовые промпты, которые дают хорошие результаты:
- На сайте нейросети. Ищите промпты по ключевым словам и смотрите, какие картинки по ним получаются.
- На сайте PromptHero, принцип точно такой же.
- На сайте OpenArt есть учебник по промптам с хорошими примерами.
- На сайте Metaverse Post 100+ удачных промптов на все случаи жизни.
У всех версий Stable Diffusion есть разные настройки генерации изображений. Поэтому рассмотрим только основные:
- Sampling steps ― количество шагов по созданию изображения. Чем их больше, тем дольше нейросеть будет над ней работать. На самом деле не стоит устанавливать это свойство больше 30–40, иначе нейросеть будет вести себя как художник, который бесконечно мазюкает одно и то же пятно.
- Restore faces ― делает лица более чёткими, стоит поставить тут галочку, если изображаете людей.
- Tiling ― пункт для создания абстракций и текстур, без конкретных обособленных объектов.
- Hires.fix ― полезный пункт, если делаете большие картинки. Он помогает избежать повторений одинаковых фрагментов в одном изображении.
- Width и Height ― ширина и длина: формально можно устанавливать любую, но для генерации больших картинок нужно много памяти.
- Batch count ― количество генерируемых изображений после нажатия кнопки.
- Batch size ― количество одновременно генерируемых изображений.
- CFG Scale ― параметр отвечает за то, насколько нейросеть должна буквально приблизиться к вашему запросу.
- Seed ― стартовая точка генерации изображения. По умолчанию стоит случайный параметр, и каждый раз изображения получаются непохожие по композиции и цветам. Если поставите какое-то число, на все запросы будете получать во многом похожие картинки.
Как работать в Stable Diffusion по референсам
В Stable Diffusion можно работать не только с текстовыми промптами, но и с готовыми картинками. Для этого в интерфейсе нужно перейти в раздел img2img, если в вашей версии эта функция доступна.
Под полями для ввода промптов есть блок для загрузки картинок. А над ним ― инструменты, с помощью которых можно по-разному работать с референсами.
Img2img. Первый инструмент просто перерисовывает загруженную картинку с учётом текстового запроса. Слева референс, справа результат, промпт «girl at the party»:
Sketch. Можно загрузить изображение, дорисовать на нём то, что нужно, условными пятнами, написать промпт и получить готовую картинку.
Промпт: «fluffy cat sitting on the grass photorealistic»:
Inpaint. Вы закрашиваете часть изображения, пишете, что хотите на этом месте, и нейросеть это переделывает.
Закрасили глаза, написали промпт new eyes, получилось так:
Inpaint sketch. Эта функция нужна, чтобы вручную дорисовывать на референсе конкретные объекты.
От руки нарисовали шарф и написали промпт Scarf:
Для удобной работы с референсами есть ещё много опций:
- 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»:
Промпт «gray castle on the rock»:
Больше интересного про дизайн в нашем телеграм-канале. Подписывайтесь!
Другие материалы о нейросетях для дизайнеров
- 6 бесплатных нейросетей для создания презентаций
- 9 нейросетей для обработки фото
- «Кандинский»: как пользоваться нейросетью «Сбера»
- Midjourney: погружение в воображаемые миры
- Эксперименты с нейросетью: 5 свежих кейсов
- Нейросети для дизайнера
- Эксперты об AI, который изменит индустрию дизайна, но не заменит людей