Stable Diffusion: как нейросеть создает работы в стиле киберпанк и Disney

Дейенерис Таргариен в стиле киберпанк
Дейенерис Таргариен в стиле киберпанк (Фото: Ryan Gordon / Stable diffusion)
Stable Diffusion отличается от конкурирующих нейросетей своей открытостью и способностью генерировать изображения очень высокого качества

Содержание:

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

Что такое Stable Diffusion

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

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

Как работает диффузия при генерации изображения в Stable Diffusion
(Видео: YouTube)

Stable Diffusion выпустили в августе 2022 года, а в ноябре вышла улучшенная версия 2.0, которая предлагает картинки с разрешением 2048x2048 пикселей и больше. Она также адаптирована для создания цифрового арта.

Stability.ai заявила, что благодаря открытому исходному коду модель можно использовать в разных приложениях, где требуется работать с изображениями. Так, в веб-редакторе изображений Canva и программе для 3D-моделирования Blender уже работают функция генерации картинок по текстовому описанию.

Изображение сгенерировано нейросетью Midjourney
Индустрия 4.0 Аватарки, логотипы, тексты в блоги: подборка интересных нейросетей

Нейросеть одинаково удачно генерирует как пейзажи, так и портреты.

Как работает Stable Diffusion

Stable Diffusion включает в себя несколько моделей:

  • кодировщик текста — это специальная языковая модель-трансформер — получает на входе текст и переводит его в набор чисел, которые описывают каждое слово;
  • генератор изображений, который включает нейросеть UNet и алгоритм планирования. Он создает информацию об изображении;
  • декодер. Он рисует картину на основе полученной информации.

Как устроена Stable Diffusion
Как устроена Stable Diffusion (Фото: jalammar.github.io)

Фото:Freepik
Индустрия 4.0 Что такое нейросеть: как устроен человеческий мозг «в цифре»

Stable Diffusion может:

  • генерировать картинки по текстовому описанию. При этом модель работает не с отдельными пикселями картинок, а с их сжатыми версиями, что экономит память на устройстве;
  • рисовать в стилях разных художников, начиная с эпохи Возрождения и заканчивая современными творцами «в цифре». Сообщество разработчиков уже развивает отдельные вариации нейросети, отличающиеся по стилю, например, Van-Gogh-diffusion, которая «рисует» в стиле Ван Гога. Также появляются варианты модели, которые генерируют картинки в определенном стиле, например, мультфильмов Disney;

Илон Маск в стиле Ван Гога
Илон Маск в стиле Ван Гога (Фото: huggingface.co)

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

Дорисовка картины «Девушка с жемчужной сережкой»
Дорисовка картины «Девушка с жемчужной сережкой» (Фото: stable-diffusion-art.com)

  • дорисовывать скетчи. Stable Diffusion способна дополнить набросок деталями и фоном. Например, она пригодится, когда хочется превратить свои детские рисунки в произведения;

Исходное и конечное изображения детского рисунка
Исходное и конечное изображения детского рисунка (Фото: reddit.com / r / StableDiffusion)

  • создавать визуальные проекты. С помощью нейросети можно создавать покадровую анимацию и совмещать картинки в видеоролики;

Видеоролик «Путешествие во времени», созданный после 36 запросов к Stable Diffusion
(Видео: YouTube)

  • генерировать объекты и локации для видеоигр. Интеграция нейросети нейросеть в игровой движок Unreal Engine с открытым кодом позволяет создавать внутриигровые предметы по описанию и помещать их в игровое пространство.

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

Фото:OpenAI
Экономика инноваций OpenAI представила GPT-4: новая модель обрабатывает изображения и текст

Как скачать Stable Diffusion

Для загрузки Stable Diffusion нужен компьютер на операционной системе Windows или Linux с видеокартой, минимальный объем памяти которой составляет 4 или 8 Гб. Существуют два популярных установщика для этих ОС:

  • CMDR2’s 1-Click Installer. Проект доступен на GitHub, его нужно скачать на диск C. В папке проекта требуется дважды кликнуть на Start Stable Diffusion UI.cmd. Установщик занимает 25 Гб на жестком диске. В CMDR2 можно выбрать количество сгенерированных изображений по запросу, количество шагов, размер и формат изображения, модификации изображения, а также модель Stable Diffusion. Нейросеть генерирует отдельные части изображения, исключает объекты и выполняет детализацию;

Интерфейс CMDR2’s 1-Click Installer
Интерфейс CMDR2’s 1-Click Installer (Фото: github.com)

  • NMKD GUI для Windows. Установщик нужно скачать с официального сайта разработчиков, затем требуется извлечь архив и запустить установочный файл, активировав все галочки. Программа занимает 11 Гб на жестком диске. NMKD поддерживает запрос через картинку-референс, обрабатывает несколько запросов одновременно, улучшает качество изображений, создает бесшовные изображения.

Интерфейс NMKD GUI
Интерфейс NMKD GUI (Фото: nmkd.itch.io)

Разработчики также выпустили приложение Diffusion Bee на базе Stable Diffusion, которое работает на компьютере без подключения к интернету. Пока оно доступно только на Mac с чипами Apple Silicon. Для такого приложения нужен компьютер с видеокартой емкостью от 4 ГБ памяти.

Интерфейс Diffusion Bee
Интерфейс Diffusion Bee (Фото: diffusionbee.com)

Как пользоваться Stable Diffusion в онлайне

Для пользователей, которые не могут загрузить Stable Diffusion на компьютер, разработчик предусмотрел специальный сайт Dream Studio — официальную облегченную версия нейросети. На площадке можно бесплатно сгенерировать до 200 изображений. Для генерации потребуется:

  • зарегистрироваться на сайте или войти через аккаунт в Google или Discord;
  • ввести запрос в строке промта под пустым окном, где будет создаваться картинка;
  • слева настроить размер картинки и опцию соответствия запросу. Максимально можно установить 150 шагов генерации, которые пройдет нейросеть перед выдачей изображения.

За один сеанс на Dream Studio можно создать до девяти изображений. При этом доступна генерация не только по текстовому запросу, но и по исходной картинке.

Генерация изображения по текстовому запросу в Dream Studio
Генерация изображения по текстовому запросу в Dream Studio (Фото: beta.dreamstudio.ai)

Существует еще ряд сайтов и приложений с опцией генерации от Stable Diffusion.

  • Mage.Space. Этот сайт доступен без регистрации и предлагает неограниченную по числу генерацию картинок. Ограничено лишь число ее шагов. После регистрации сгенерированные картинки сохраняются в галерею.

Генерация изображения в Mage.Space
Генерация изображения в Mage.Space (Фото: mage.space)

  • PlaygroundAI. Это соцсеть с функциями Stable Diffusion, где можно подписываться на других пользователей и смотреть их картинки в своей ленте. Сервис бесплатный и безлимитный, но требует авторизации через Google-аккаунт. Картинка генерируется без цензурных фильтров, при этом пользователь может выбрать ее размер, добавить другой фильтр и сгенерировать четыре изображения сразу. Доступна генерация по тексту и по исходному изображению.



Генерация (справа) и редактирование изображения (слева) в PlaygroundAI
Генерация (справа) и редактирование изображения (слева) в PlaygroundAI (Фото: playgroundai.com)

  • Dezgo. Бесплатный и безлимитный генератор картинок без цензурных фильтров. Он не требует регистрации. Пользователь может выбрать вариант нейросети (например, аниме), а также настроить, насколько близким к запросу должен быть результат генерации.

Генерация картинки в Dezgo
Генерация картинки в Dezgo (Фото: dezgo.com)

  • Stable Diffusion Generator (@StableDiffusionWrapperBot). Это бесплатный Telegram-бот с неограниченным числом генераций, который поддерживает русский язык. Максимальное число шагов генерации — 100, также можно использовать несколько стилизаций. Поддерживает генерацию по изображению.

Генерация картинки в Stable Diffusion Generator
Генерация картинки в Stable Diffusion Generator (Фото: @StableDiffusionWrapperBot)

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

Как написать запрос для Stable Diffusion

Чтобы картинка оправдала ожидания, нужно следовать нескольким правилам при составлении текстового запроса к Stable Diffusion:

  • соблюдать порядок слов — наибольший вес получают самые первые;
  • использовать основные категории, которые должны быть в запросе: предмет, характер изображения (цифровое фото, масляная живопись и т. д.), стиль (сюрреализм, конструктивизм), художник, веб-сайт, разрешение, дополнительные детали, цвет, стиль освещения;
  • подробно описывать идею, чтобы она отличалась от других генераций. Однако запрос должен укладываться в 75 слов;
  • использовать синонимы, чтобы нейросеть точнее воспроизвела атмосферу.

«Вес» каждого слова в описании можно выставить вручную после двоеточия. При этом общий вес должен равняться 100.

Также в Stable Diffusion можно использовать настройки (обычно выводятся сбоку от окна генерации):

  • Steps — сколько шагов понадобится нейросети для генерации. По умолчанию это значение равно 50;
  • Classifier Free Guidance — насколько свободна нейросеть в интерпретации запроса. Значение по умолчанию равно 7 — половину нейросеть придумает сама;
  • Seed — старт для самостоятельной работы нейросети. По умолчанию стоит «случайный» параметр, чтобы она выводила разные результаты при одном запросе;
  • Resolution — размер изображения. Чем он больше, тем дольше будет длиться генерация. Stable Diffusion обучена на картинках 512×512 и генерирует такие изображения лучше всего.

Продвинутые пользователи рекомендуют по умолчанию выставлять универсальную комбинацию: CFG — 8, Steps — 50, Sampler — k_lms, Random seed.

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

Также можно пользоваться бесплатными промптерами, которые помогают составить запрос, например, Public Prompts, PromptoMania, Stable Diffusion Modifier Studies, Lexica Art и другими.

Интерфейс Lexica Art
Интерфейс Lexica Art (Фото: lexica.art)

Результаты работы в Stable Diffusion

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

Обновлено 04.05.2023
Главная Лента Подписаться Поделиться
Закрыть