После поста про Age of Robots несколько человек проявили интерес на гайд о генерации изображений.
Опыт мой начался с Midjourney, пользовался пока не кончились бесплатные попытки. Было интересно, но применить было негде.
А когда понадобилось создавать графику для Immortal Knight вспомнил об этой потрясающей возможности и после некоторых поисков нашел BlueWillow. Результаты генерации свободны для коммерческого использования и бесплатны, но только 10 штук в день.
Первое время этого количества генераций хватало, но через некоторое время стало нехватать, да и еще нужно было создавать графику для Emoji Survivors. Перепробовал множество онлайн генераторов, но всё было не то, не подходило для моих нужд. Пока на глаза не попалась нейросеть Stable Diffusion, о ней дальше и пойдет речь.
Это не ультимативный гайд, но постараюсь поделиться небольшим накопленным опытом, исключительно пользовательским, не разработческим.
Краткая справка
Stable Diffusion — это нейросеть, которая предназначена для генерации изображений по текстовому запросу, а также дорисовывать наброски и редактировать исходные картинки.
Открытый исходный код дает множество возможностей, а процесс развития становится хаотичным и необъятным, результаты непредсказуемыми.
При генерации используется модель скрытой диффузии, вместо стандартной диффузионной модели у других нейросетей, Midjourney или DALL-E. Модель учится распознавать знакомые формы из чистого шума, а затем постепенно фокусирует эти элементы, если они соответствуют словам в подсказке.
Для обучения модели использовалось более 5 миллиардов изображений. Предположительно большая часть из них с больших известных ресурсов, например Pinterest, DeviantArt и Getty Images.
Кроме своих полезных качеств у модели есть множество этических (NSFW контент, беспокойство художников и др) и юридических проблем (фейки и др). Основатель Stability AI верит в индивидуальную ответственность, поэтому добавили инструменты для ватермарок, но и они обходятся.
У SD есть множество настроек и возможностей, одна из полезных - LoRA (Low-Rank Adaptation) — способ точной настройки модели, «патчи», которые накладываются на основную модель.
Что можно делать?
Генерировать картинки по описанию (txt2img) - написал запрос, получил изображение. Ну или попросил ИИ написать запрос, передал в нейросеть и получил отличное изображение.
Заимствовать стили реальных художников - получить шедевр не хуже студии Ghibli или самого Ван Гога. Нарисовать Илона Маска в стиле Пикассо? Запросто!
Заменять объекты и дорисовывать фон - например удалить человека с фото.
Дорисовывать наброски - плохо рисуешь? Не беда, можно набросать самый простой кривоватый рисунок и получить хороший результат.
Визуальные проекты - покадровая анимация, различные интеграции, например внедрять в игры для реалтайм арта.
Способы использования нейросети в порядке возрастания сложности настройки и взаимодействия:
- Сайты, моб. приложения, боты - такого добра навалом в поисковиках, делают все кому не лень, качество, гибкость и удобсто порой страдают.
- Через программу с графическим интерфейсом (будет ниже).
- Через код - на самом деле не намного сложнее чем пользоваться интерфейсом, но требует некоторых знаний программирования, в том числе Python.
No-code гайд
- Установить какой-либо web ui. Пробовал Stable Diffusion web UI и ComfyUI, последний понравился больше
- Скачать модель Stable Diffusion XL 1.0
- Скачать дополнительные модели LoRA если нужно, например Pixel Art XL или поискать на 🤗 Hugging Face
- Установить модели в указанные папки (указанные в мануалах по UI)
- Для ComfyUI скачать workflow или настроить самому, в SD webUI можно натыкать мышкой
- Ввести запрос, нажать кнопку генерации
- Повторить N раз
- ПРОФИТ!
Для получения более качественного изображения или уменьшения времени генерации можно поиграться с параметрами Steps и Resolution. Так же полезно дописывать что-то типа “hd, 4k, high quality” для улучшения качества.
Age of Robots
Для Age of Robots на всю графику понадилось большее 600 генераций. Не все изображения получились хорошими, иногда нейросеть всё же выдает ересь, но такого мало.
Думаю что примерно половина изображений была сделана для карты, а дальше уже она собиралась вручную, рисовалась дорога, вырезались мелкие детали и расставлялись по карте. Некоторые изображения нужно было скорректировать по цвету чтобы они не выбивались из общей палитры.