Как пользоваться нейросетью Stable Diffusion без навыков программирования

Запускаем нейросеть и учимся составлять запросы

40
Как пользоваться нейросетью Stable Diffusion без навыков программирования
Аватар автора

Даша Лейзаренко

стабильно диффузит

Страница автора

Stable Diffusion — одна из самых продвинутых нейросетей для генерации изображений.

Программа от группы Stability AI вышла в публичный доступ в августе 2022 года. Нейросеть может качественно генерировать изображения на основе текстового запроса, дорисовывать наброски и переделывать картинки-референсы на свой лад. Все это бесплатно, а открытый исходный код позволяет установить Stable Diffusion на свой компьютер и использовать собственные вычислительные мощности.

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

🎨 Что можно делать в Stable Diffusion

Генерировать стандартные картинки по описанию. Stable Diffusion лучше многих нейросетей-конкурентов, потому что использует модель скрытой диффузии вместо стандартной диффузионной модели. Она лежит в основе работы большинства современных нейросетей, генерирующих изображения по текстовому описанию.

Стандартные модели нейросетей вроде DALL-E 2 и Midjourney работают с отдельными пикселями, из-за этого создание картинки занимает много времени и вычислительных ресурсов. Stable Diffusion экономит время и мощности компьютера, потому что работает не с пикселями, а с их сжатыми версиями изображений.

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

Описание работы Stable Diffusion. Источник: paepper.com
Описание работы Stable Diffusion. Источник: paepper.com

Заимствовать стили реальных художников. Stable Diffusion знает стили всех художников — от времен ренессанса до современных авторов концепт-артов в видеоиграх. Можно генерировать картинку одновременно в стиле Ван Гога и NFT-артиста Beeple.

Правда, из этого возникает проблема: нейросеть обучали на множестве артов, не спросив разрешения у авторов. Это касается как известных художников, так и любительских работ с сайтов Pinterest и DeviantArt, которые обнаружили при анализе набора данных. Даже появился сайт Have I Been Trained, в котором можно узнать, использовались ли ваши работы для обучения Stable Diffusion или Midjourney.

Например, пользователи Stable Diffusion чаще всего генерировали картинки в стиле польского художника Грега Рутковски, создателя фэнтези-артов для видеоигр. Его имя использовалось в запросах более 93 тысяч раз. Если попытаться поискать работы Рутковски, чаще появляются сгенерированные картинки в его стиле, а не оригиналы.

Работа Грега Рутковски. Источник: technologyreview.com
Работа Грега Рутковски. Источник: technologyreview.com
Картинка, сгенерированная Stable Diffusion в стиле Грега Рутковски. Источник: technologyreview.com
Картинка, сгенерированная Stable Diffusion в стиле Грега Рутковски. Источник: technologyreview.com

Создавать ассеты для игр. Пользователи сети смогли интегрировать нейросеть в игровой движок Unreal Engine. Это позволяет генерировать внутриигровые предметы по описанию и сразу же помещать их в игровое пространство.

Следующий уровень такой интеграции — это генерация локации в виртуальной реальности в реальном времени с помощью Stable Diffusion и других нейросетей одновременно.

Делать визуальные проекты. Пользователи научились не просто делать отдельные картинки, а создавать покадровую анимацию и совмещать сгенерированные изображения в полноценные ролики.

Например, в сети завирусился ролик об эволюции всего живого на Земле от бельгийского блогера Ксандера Стенбрюгге. Он разработал сюжет видео и задал Stable Diffusion 36 запросов. Нейросеть сгенерировала несколько изображений по каждому из них, а затем автор совместил их в трехминутный ролик.

Заменять объекты и дорисовывать фон. У Stable Diffusion есть функции Inpainting и Outpainting, которыми не могут похвастаться другие нейросети. С помощью Inpainting можно заменить любой объект на изображении на сгенерированный нейросетью — например, поменять кота на собаку.

Функция Outpainting позволяет бесконечно дорисовывать готовое изображение и генерировать фон вокруг готовой картинки. Например, пользователь Reddit дорисовал платье героине картины «Девушка с жемчужной сережкой».

Использование функции Outpainting Источник: reddit.com
Использование функции Outpainting Источник: reddit.com

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

Есть более сложный сценарий — отрисовывать отдельные детали изображения с помощью нейросети, а потом соединять их с помощью инструментов «Фотошопа». Для удобства Stable Diffusion уже интегрировали в программу.

Создание картинки с помощью плагина Stable Diffusion в «Фотошопе». Источник: reddit.com
Создание картинки с помощью плагина Stable Diffusion в «Фотошопе». Источник: reddit.com

👨‍🎨 Как самому попробовать Stable Diffusion

Разработчики Stable Diffusion придерживаются принципов открытости: исходный код нейросети опубликован на «Гитхабе». При этом не обязательно уметь программировать, чтобы его запустить. Огромное сообщество энтузиастов придумало более простые способы.

Есть три основных способа пользоваться Stable Diffusion, вот они.

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

Через программу с графическим интерфейсом. Гораздо меньше ограничений, результаты выходят намного качественнее. Все еще не нужно писать код самому. Минусы: нужно обладать компьютером, который подходит под системные требования.

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

При выборе Stable Diffusion нужно обращать внимание на версию. Помимо официальных моделей от Stability AI существует множество неофициальных, которые настраивали и дообучали сами пользователи. Вот три основные официальные версии:

  1. Stable Diffusion 1.5. После выхода этой версии Stable Diffusion стали пользоваться массово: она гибкая и генерирует качественные картинки. Обучена на большом датасете, включая NSFW-контент. Это все еще самая популярная версия в сообществе: на ее основе часто дообучают свои модели.
  2. Stable Diffusion 2.1. Актуальный официальный релиз. Она генерирует меньше артефактов, чем 1.5, лучше попадает в запрос, умеет создавать текст. Но из датасета удален весь NSFW-контент, поэтому она не так популярна в сообществе.
  3. Stable Diffusion XL. Последняя версия, которая пока не вышла. Находится в бета-тестировании и еще не до конца обучена. Она лучше стилизует, понимает имена знаменитостей, успешнее справляется с простыми запросами, может генерировать фотореализм. Пока версию можно опробовать только на сайтах Stability AI, установить себе на компьютер не получится.

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

📱 Как генерировать в Stable Diffusion через сайт или приложение

ClipDrop. Официальный сайт Stability AI со Stable Diffusion XL. Генерирует четыре варианта, у одного из которых можно увеличить разрешение. На сайте также можно выбрать один из готовых стилей: аниме, оригами, цифровой арт, комикс и другие.

Stability AI использует этот сайт, чтобы собирать фидбэк от пользователей, когда они выбирают лучшую картинку из четырех. Таким же образом фибдек получают в Midjourney при тестировании новых версий.

Интерфейс Dream Studio. Источник: Результат генераxции в ClipDrop
Интерфейс Dream Studio. Источник: Результат генераxции в ClipDrop

Dream Studio. Официальная облегченная версия Stable Diffusion, где можно выбрать одну из трех моделей. Бесплатно разрешается сгенерировать около 400 изображений — пока не закончатся кредиты. Тысяча кредитов стоит 10 $⁣ (820 ₽). Этого хватит на генерацию четырех тысяч картинок. Требуется регистрация на сайте или логин в «Гугл» или «Дискорд».

После регистрации появляется окно, в котором генерируется изображение. Внизу нужно ввести запрос. Слева можно выбрать размер картинки и насколько сильно она должна соответствовать запросу. Максимальное количество шагов генерации — 150. Это означает, что столько шагов сделает нейросеть, пока будет генерировать изображение. За раз по умолчанию генерируется четыре картинки.

Интерфейс DreamStudio. Источник: dreamstudio.ai
Интерфейс DreamStudio. Источник: dreamstudio.ai

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

Выберите версию 1.5 или 2.1, справа на странице нажмите «Подключиться», затем «Среда выполнения» — «Выполнить все». После этого начнется скачивание моделей — это занимает 5-10 минут. Когда оно завершится, пролистайте страницу с кодом до конца и нажмите на любую из ссылок.

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

Сервис полностью бесплатный. Количество генераций ограничено только периодом, на который выдается доступ к нейросети — несколько часов. После того как срок истечет, вы можете загрузить модель заново.

Нажмите, например, на первую ссылку
Нажмите, например, на первую ссылку
Веб-интерфейс Stable Diffusion
Веб-интерфейс Stable Diffusion

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

Mage.Space. Самый простой в использовании — переходите на сайт и сразу вводите запрос без регистрации. Использует версию 1,5, поэтому качество генерации не очень хорошее. Бесплатный и безлимитный. Ограничение в 25 или 50 шагов генерации. После регистрации сгенерированные картинки сохраняются в галерею. Есть продвинутый режим с дополнительными настройками.

PlaygroundAi. Практически соцсеть — можно подписываться на других пользователей и смотреть их сгенерированные картинки в своей ленте. Бесплатный и безлимитный. Нет цензуры. Доступны две версии: 1,5 и 2,1. Требуется авторизация через «Гугл». Максимальное число шагов генерации — 150. Можно выбрать размер изображения, добавить фильтр и сгенерировать четыре картинки сразу. Доступна генерация не только по текстовому запросу, но и по изображению.

Dezgo. Минималистичный генератор с удобным интерфейсом для создания картинок по изображению. Бесплатный и безлимитный. Нет цензурных фильтров. Доступно несколько версий, включая 1,5 и 2,1, а также их аниме-вариации. Регистрация не требуется. Нельзя выставить никакие настройки, даже размер картинки.

Stable Diffusion Generator. Бесплатный телеграм-бот с неограниченным числом генераций, который поддерживает русский язык. Работает на модели mdjrny-v4, которая имитирует результаты генерации четвертой версии Midjourney. Максимальное число шагов генерации — 100. Доступно несколько стилизаций и сэмплеров. Есть генерация по изображению — достаточно отправить картинку в чат.

Draw Things. Бесплатное приложение для iOS. Оно использует ресурсы телефона для генерации, поэтому время создания зависит от мощности вашего устройства. После установки скачивает дополнительные файлы, включая саму модель Stable Diffusion.

По умолчанию генерирует картинки размером 384 × 384. Если увеличить размер, приложение предупреждает, что, возможно, ресурсов телефона не хватит. В приложении есть базовый редактор — можно вручную дорисовывать картинку.

Картинка на iPhone 13 генерировалась примерно пять минут
Картинка на iPhone 13 генерировалась примерно пять минут

👩‍💻 Как скачать программу со Stable Diffusion на ПК

Чтобы программа заработала, вам потребуется компьютер на Windows или Linux с видеокартой с объемом памяти 4 или 8 Гб. Это минимальные требования — чем мощнее ресурсы, тем быстрее будут генерироваться изображения. Если у вас MacOS, потребуется версия системы не старше 12.3, а у устройства должен быть процессор М1 или М2.

В сообществе Stable Diffusion такие программы называют форками, forks. Вот несколько установщиков, которые поддерживаются авторами.

CMDR2’s 1-Click Installer. Самый простой способ установить Stable Diffusion на Windows и Linux. Достаточно скачать папку с «Гитхаба» и переместить ее на диск, чтобы путь к ней был таким: C:\stable-diffusion-ui. Затем два раза кликнуть на Start Stable Diffusion UI.cmd. Занимает 25 Гб на жестком диске.

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

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

Интерфейс CM2RD. Источник: github.com
Интерфейс CM2RD. Источник: github.com

A1111. Простой способ установить самую популярную оболочку на Windows. Достаточно скачать лаунчер с GitHub, запустить его и пройти путь установки. Он установит базовую модель Stable Diffusion, дополнительные модели придется скачивать и добавлять самостоятельно.

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

Интерфейс A1111. Источник: github.com
Интерфейс A1111. Источник: github.com

Diffusion Bee. Самый простой способ загрузить программу на MacOS. Достаточно скачать установочный файл и запустить программу. Практически не занимает места на жестком диске — всего 274 Мб.

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

Интерфейс Diffusion Bee. Источник: github.com
Интерфейс Diffusion Bee. Источник: github.com

NMKD GUI. Еще один популярный вариант для Windows. При скачивании с официального сайта разработчики предложат заплатить любую сумму, но для отказа достаточно выбрать опцию No, thanks, just take me to the downloads. Затем нужно извлечь архив и запустить установочный файл. В установщике активируйте все галочки. Программа занимает 11 Гб на жестком диске.

NMKD поддерживает запрос через картинку-референс, обрабатывает несколько запросов одновременно, улучшает качество изображений, восстанавливает некорректно сгенерированные лица. Есть возможность создавать бесшовные изображения — полезно для текстур в видеоиграх. В программе множество настроек — подробный гайд есть на «Гитхабе» проекта.

Интерфейс NMKD. Источник: nmkd.itch.io
Интерфейс NMKD. Источник: nmkd.itch.io

🙊 Как составить запрос в Stable Diffusion

Если вы уже пробовали Midjourney, можно применить те же умения составлять промпты к Stable Diffusion — мы подробно описывали, как это сделать. Только здесь нет команд с двумя тире вроде «--beta» и «--s», а также нельзя отделять части запроса двоеточиями «::» — тут используется запятая.

Что означают настройки в генераторах Stable Diffusion

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

Classifier Free Guidance — этот параметр означает, насколько вольно нейросеть может интерпретировать запрос. По умолчанию ставится 7 — это означает, что ИИ половину додумает сам. При параметре меньше 6 нейросеть возьмет дело в свои руки. При параметре 16 ИИ полностью учтет ваш запрос без своих добавлений.

Если вы уверены в своем запросе, ставьте высокое значение. А если не уверены, то лучше дать Stable Diffusion свободу.

Seed — стартовая точка, из которой нейросеть затем формирует изображение. По умолчанию стоит «случайный» параметр — это помогает достигать разных результатов при одном и том же запросе. А если вы используете конкретное номерное значение сида, то потом даже при смене запроса композиция картинки останется схожей. Всего сидов около 16 миллиардов.

Resolution — размер изображения. Чем больше, тем дольше будет длиться генерация. Stable Diffusion 1.5 обучен на картинках 512 × 512, поэтому генерирует изображения такого разрешения лучше всего. Для версии 2.1 лучше выбирать 768 x 768.

Sampler — процессы, влияющие на результат генерации. С одними картинки можно генерировать за 8 шагов, другие требуют 50—80 шагов. Принцип работы сэмплеров на сгенерированных картинках можно посмотреть здесь.

Если вам не хочется вникать в настройки, пользователь Reddit рекомендует универсальную комбинацию: CFG — 7 Steps — 30, Samlpler — EulerA, Random seed.

Несколько советов для составления запроса.

Придумайте идею. Стандартный запрос составляется по такой схеме: объект, фон, стиль, дополнительные описания качества картинки, освещения и других характеристик. Например, «длинношерстный кот, киберпанк, неоновое освещение, город на фоне, высокое качество, высокая детализация».

Киберпанковые коты. Источник: Google Collab, Stable Diffusion 2.1
Киберпанковые коты. Источник: Google Collab, Stable Diffusion 2.1
Киберпанковые коты. Источник: Google Collab, Stable Diffusion 2.1
Киберпанковые коты. Источник: Google Collab, Stable Diffusion 2.1

Следите за порядком слов. Он имеет значение. Stable Diffusion придаст больший вес первым словам, но может пропустить то, что вы указали в конце. Вы можете перемещать части своего запроса и получать кардинально разные результаты. Например, если вас не устраивает качество человеческого лица, перенесите его описание ближе к началу.

Распределите «вес». «Вес» каждого элемента запроса можно указать вручную: например, в DreamStudio его указывают после двоеточия со значением от 0 до 100. Получается вот так: sun:50, clouds:50. В веб-интерфейсах для этого используют другую запись: (sun:1.5) и (clouds:0.1). Общий вес должен равняться 100.

Если сгенерировать (sun:1.5) и (clouds:0.1), то получится кадр с ярким солнцем и с небольшим количеством облаков. Источник: Google Collab, Stable Diffusion 2.1
Если сгенерировать (sun:1.5) и (clouds:0.1), то получится кадр с ярким солнцем и с небольшим количеством облаков. Источник: Google Collab, Stable Diffusion 2.1

Будьте многословны. Чем подробнее вы опишете свой запрос, тем лучше будет результат. Арты, неотличимые от созданных людьми, часто имеют около пяти-семи строк текста в запросе. Например, если хотите высокой детализации, добавляйте «highly intricate, ultra-detailed, 4k» и имена художников, рисующих в похожих стилях. Можно прописывать в запросе все сразу. Запрос должен укладываться в 75 слов.

Используйте синонимы. Не бойтесь повторяться в запросах — так нейросеть попытается понять, к чему вы больше всего стремитесь. Например, если вы хотите передать мрачное настроение, то одновременно используйте слова «темно», «мрачно», «плохо освещено», «страшно», «хоррор».

Мрачный пейзаж. Источник: Google Collab, Stable Diffusion 2.1
Мрачный пейзаж. Источник: Google Collab, Stable Diffusion 2.1
Мрачный пейзаж. Источник: Google Collab, Stable Diffusion 2.1

Заимствуйте у других. С ходу придумывать запросы сложно, тем более так, чтобы результаты сразу получались качественными. Проще всего подсматривать запросы у других пользователей, чтобы искать вдохновление или нужные вам стилизации — для таких целей существуют сайты-промптеры. Совмещайте детали из разных запросов, удаляйте ненужное, добавляйте свое — так результаты будут получаться более разнообразными.

Пользуйтесь специализированными сервисами. Промптеры помогают составить идеальный запрос по выбранным критериям. Вот несколько полезных:

  • Public Prompts — бесплатные запросы, разделенные по тематикам;
  • PromptoMania — самый подробный промптер с кучей настроек, каждая из них проиллюстрирована;
  • Stable Diffusion Modifier Studies — стили с примерами рассортированы в алфавитном порядке;
  • Write-Ai-Art-Prompts — ИИ-помощник, который предлагает дополнительные слова к уже введенному запросу;
  • Lexica Art — крупнейшая галерея с бесплатными картинками и их описаниями, откуда можно копировать отдельные части запроса; есть поиск — например, по запросу cyberpunk показывает более 1200 результатов;
  • OpenArt — галерея, аналогичная Lexica Art, картинки можно смешивать или добавлять в закладки.

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

Что в итоге

  1. Stable Diffusion — мощная нейросеть, возможности которой сравнимы с Midjourney и DALL-E 2. В отличие от конкурентов, это бесплатный проект с открытым исходным кодом, поэтому возможностями алгоритма может пользоваться любой и даже разворачивать его на своем ПК.
  2. Для полноценной версии Stable Diffusion нужны навыки программирования. Но уже есть сервисы на базе нейросети: они гораздо проще в освоении, но и не такие мощные.
  3. Можно генерировать картинки на сайте и в приложениях, но мы советуем Google Collab — он позволяет запускать Stable Diffusion через чужие вычислительные мощности на любых устройствах.
  4. Составление текстового запроса в Stable Diffusion работает по тому же принципу, что и в других нейросетях: указываете объект, затем стилистику и дополнительные параметры. Не можете придумать сами — пользуйтесь специализированными сервисами.

Генерировали картинки в нейросетях? Поделитесь своими результатами и расскажите, какой запрос использовали
Уже пробовали Stable Diffusion? Поделитесь результатами:
Комментарии проходят модерацию по правилам журнала
Загрузка

Сообщество