Original size 1140x1600

Обучение генеративной модели Stable Diffusion стилю Мезенской росписи

PROTECT STATUS: not protected
13

Концепция

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

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

Референсы

Для датасета, на котором будет обучаться нейросеть, я собрала 50 изображений мезенской росписи. Все изображения я привела к единому формату — 512*512. К тому же я дополнительно обрабатывала изображения, чтобы все были в примерно одной и той же цветовой гамме и модель не брала за референс картины, сфотографированные при плохом освещении.

Обучение модели

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

big
Original size 976x397

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

big
Original size 869x390

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

Ключевыми словами для этой модели стали «art in MEZEN style». Размер тренировочного батча я увеличила до двух, количество тренировочных шагов увеличила до 1000.

Original size 754x350

Итоговая серия изображений

В первую итерацию я использовала 500 шагов из-за чего качество изображений было не самым лучшим.

Ниже предоставлены результаты генерации по промптам: «art in MEZEN style, cowboy on rancho» и «art in MEZEN style, wind generator on rancho, mountains on the background».

Original size 1024x1024

Ветряк

Модель взяла правильные цвета из датасета — красный, белый, чёрный, но пропорция этих цветов оказалась неправильной. На всех картинках фоновый цвет — красный, хотя должен быть белый. К тому же, модель не выучила, как должны выглядеть узоры, и просто генерировала хаотичные линии. Меня это не устраивало, поэтому я решила увеличить количество шагов для тренировки до 1000.

Ниже предоставлены картинки по промпту «art in MEZEN style, a large capybara is swimming in a lake, mountains on the background».

Слева картинка с первой итерации модели, справа картинка со второй итерации.

Сгенерирована именно капибара, потому что прототипом для одного из врагов (дикобар) в Xenorancho было это животное.

Я нагенерировала на новой итерации модели картинки по тем же самым промптам и сгенерировала револьвер по новому промпту: «art in MEZEN style, revolver aiming at sun».

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

0

Дикобары, револьвер, ветряки

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

Попробовать модель на хаггинг фейс

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

Блокнот с кодом

Описание применения генеративных моделей:

— Stable Diffusion XL — обучение генеративной нейросети под свой стиль; — BLIP — нейросеть, генерирующая промпты по изображениям;

Обучение генеративной модели Stable Diffusion стилю Мезенской росписи
13
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more