Original size 1140x1600

Обучение генеративной нейросети

PROTECT STATUS: not protected
6

Цель

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

Датасет

big
Original size 3500x2480

Анастасия Тучина, Sweet Thorns, 2022

В качестве датасета принято решение взять кадры анимационного проекта «Sweet Thorns», выполненного во втором модуле первого курса.

Анимация представляет собой авторскую интерпретацию истории любви Маленького Принца и Розы из произведения Антуана де Сент-Экзюпери.

0

Фрагмент датасета

Фрагмент датасета

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

Сгенерированные изображения

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

Original size 1024x1024

Prompt: animation frame in tu4kina style, alien, space

Original size 1242x400

Prompt: animation frame in tu4kina style, landsape

Если не указывать цвет неба голубым (как в датасете), то нейросеть генерирует его фиолетовым, что скорее соответствует цвету планеты.

Prompt: animation frame in tu4kina style, blue sky with planet | Prompt: animation frame in tu4kina style, blue sky

Original size 1024x1024

Prompt: animation frame in tu4kina style, mountains with sky on the background

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

Prompt: animation frame in tu4kina style, mountains

Original size 1024x1024

Prompt: animation frame in tu4kina style, man

Общая проблема нейросетей — частичное или полное непонимание абстрактных обозначений, например, конечностей персонажей. Все сливается в неоформленные силуэты, в отличие от датасета, где позы персонажей более понятны, как и их условная анатомия.

Original size 1024x1024

Prompt: animation frame in tu4kina style, characters with mountains and sky on the background

Prompt: animation frame in tu4kina style, woman | Prompt: animation frame in tu4kina style, man

Original size 1024x1024

Prompt: animation frame in tu4kina style, girl with flower on her head

Prompt: animation frame in tu4kina style, character with flower

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

Original size 1024x1024

Prompt: animation frame in tu4kina style, girls with flower on their head and boys with mountains and sky on the background

Сгенерированные изображения с пониженным весом Lora

Original size 1024x1024

Prompt: animation frame in tu4kina style, spaceship in space, lora_scale = 0.7

Prompt: animation frame in tu4kina style, alien | Prompt: animation frame in tu4kina style, spaceship | lora_scale = 0.7

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

Выводы

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

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

Листинг

Original size 1272x97
Original size 1274x79
Original size 1274x57
Original size 1425x63
Original size 1276x142

Загрузка датасета из файлов ПК.

Original size 1275x256
Original size 1278x401
Original size 1279x515

Вывод того, что загрузили в новую папку Google Colab. Изображения выбирались по принципу разнообразия объектов, цветов и форм.

Original size 1278x553
Original size 1281x196
Original size 1286x269

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

Original size 1277x58
Original size 1277x199
Original size 1276x138
Original size 1276x85
Original size 1276x58
Original size 1277x654

Выставили настройки для обучения нейросети на указанном датасете.

Original size 1277x178

Сохраняем стиль с заданным префиксом.

Original size 837x684
Original size 1273x128
Original size 1273x390

Приступаем к генерации изображений.

Original size 1282x126
Original size 1273x342

При желании выставляем «вес стиля», чтобы генерация была более разнообразной.

Original size 1276x127

Материалы

Обучение генеративной нейросети
6