Original size 2480x3500

Обучение генеративной нейросети Stable Diffusion под игру THE CODFISH

PROTECT STATUS: not protected
136

Идея проекта

post

Мне захотелось обучить генеративную нейросеть Stable Diffusion для генерации персонажей в стиле игры, которую мы разрабатываем в соавторстве с Игнатом Капленко, Натальей Абаджиди и Кириллом Кузовковым. Эта игра называется THE CODFISH, криминальная нарративная 2,5D адвенчура о юной треске-убийце, пытающейся искупить вину, вспомнить прошлое, подчинить своей воле настоящее и взять в плавники будущее.

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

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

Список использованных в проекте инструментов:

— Stable Diffusion — обучение генеративной нейросети под свой стиль; — Google Colab — выполнение кода и генераций; — Hugging Face — получение токена для обучения нейросети, загрузка полученной модели на сайт; — Adobe Photoshop — для коллажирования готовых работ.

Исходные изображения персонажей

big
Original size 1529x765

Несколько женских персонажек THE CODFISH

Для игры мне пришлось разрабатывать свой визуальный стиль, в том числе и для персонажей. Было решено использовать ограниченную цветовую палитру, а также: - Зеленоватую обводку; - Минималистичный покрас с плоскими тенями; - Гуманоидные тела рыб; - Чёрный плавный лайн; - Единообразные позы персонажей.

Original size 2000x1024

Несколько мужских персонажей THE CODFISH

Описание процесса обучения

Сначала потребовалось загрузить все необходимые для работы библиотеки: Diffusers, DreamBooth и так далее.

Далее нужно было загрузить изображения с компьютера в Google Colab. Это сделано это через встроенную в Colab функцию. Затем нужно было посмотреть, что изображения действительно загрузились.

Original size 3500x1911

Фрагменты кода

Затем было необходимо создать подписи к каждому изображению. Это всё ещё был процесс подготовки моего датасета к тренировке нейросети.

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

Original size 3500x2480

Фрагменты кода

Далее был произведён логин с системой Hugging Face.

Наконец, приступаем к тренировке. Выбрано разрешение 512, выставлен максимальный шаг тренинга на 500, а чекпоинт установлен на 250. Так было сокращено время, затраченное на тренировку нейросети, и мне пришлось ждать всего полчаса.

Original size 3500x2085

Фрагмент кода: обучение

Наконец можно было сохранить полученную модель на Hugging Face и приступить к генерации изображений.

Original size 3500x1809

Фрагменты кода

Первым промптом, который был попробован, стал промпт: photo collage in THE CODFISH style, cod fish, wearing dress

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

Original size 2480x1170

Первая генерация vs мой рисунок

Цветовая палитра, анатомия рыбы, стиль, метод рисования одежды — всё это очень похоже на то, что я изображаю в своих рисунках с рыбами. Не обращая внимание на «поломанность» результата, я считаю, что у меня удалось обучить нейросеть моему стилю.

Следующие генерации с таким же промптом оставляли желать лучшего в плане адекватности готовой картинки.

Original size 2480x1164

Вторая генерация vs мой рисунок

Было решено убрать из промпта слово collage и поменять его на art, а также добавить конкретики: art in THE CODFISH style, antro cod fish, wearing dress, standing alone, holding a flower in her hand.

Original size 2480x1350

Результаты генераций

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

Промпт: art in THE CODFISH style, antro cod fish, wearing a suit and a tie, standing alone, holding a bottle

Original size 2480x1182

Генерация vs мой рисунок

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

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

Промпты:

  1. art in THE CODFISH style, antro cod fish, old man wearing a soldier suit, standing alone, holding a stick;
  2. art in THE CODFISH style, antro cod fish, old woman wearing a white dress, standing alone, holding a bag;

Появилась идея сгенерировать рыб старика и старуху.

Original size 2480x1215

Результаты генераций старика и старухи

Наконец, захотелось попробовать выставить разрешение 1024, максимальным шагом сделать 1000, а чекпоинт установить на 500 и попробовать запустить обучение по новой. После этого было опробовано несколько промптов по несколько раз, чтобы добиться наиболее качественных результатов.

Original size 3500x1710

Промпт: a fish wearing a dress, holding flowers, solid background

Original size 3500x1679

Промпт: a fish wearing a dress, holding a book, solid background

Original size 3389x1797

Промпт: a fish wearing a tuxedo and a hat, holding a book, solid background

Чему удалось обучить нейросеть?

- Цветовая палитра; - Обводка; - Стиль рисования рыб; - Однотонный фон; - Плавный лайн средней толщины;

Original size 3500x2480

Сравнение костюма на генерации и костюмов у персонажей моих работ

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

Original size 3500x2480

Сравнение платья рыбы на генерации и на моих работах

Резюмируя весь проект, хотелось бы отметить, как и прежде, что нейросеть не может заменить художника, но может работать, как подручный для концепт-художника, быстро изображая придуманный в голове образ и помогая создать рисунок не за художника, а просто работая «черновиком». К примеру, я точно не буду использовать ни одну из генераций в игре, но могу опираться на них при продумывании новых персонажей.

Обучение генеративной нейросети Stable Diffusion под игру THE CODFISH
136
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more