Обучение нейросети стилю гравюр Укиё-э на Deziiign
Исходный размер 1240x1750

Обучение нейросети стилю гравюр Укиё-э

Описание проекта

Проект вдохновлен японскими гравюрами Укиё-э — это разновидность ксилографии, где для нанесения изображения использовали бумагу и дерево. Художник рисовал эскиз на бумаге, затем изображение переносилось на дерево и вырезалось, далее наносились яркие краски, и всё отпечатывалось на подготовленной поверхности. У мастеров эпохи Эдо был схожий стиль изображения людей и природы. Мне было интересно обучить нейросеть генерировать лица японских дам и посмотреть можно ли бытовые сюжеты из гравюр перенести в современность.

Исходные изображения для обучения

Из гравюр был подготовлен датасет из 89-ти иллюстраций. Все изображения так же были изменены под необходимый для обучения формат (512×512), с учетом того, что лицо не должно быть как-то обрезано.

0

Japanese Woodblock Print Search URL: https://ukiyo-e.org/ (дата обращения: 06.04.2025).

Процесс обучения

Перед обучением требовалось включить GPU в среде программирования и загрузить все необходимые библиотеки (bitsandbytes, transformers, accelerate, peft). С Github так же нужно было установить diffusers и специальный скрипт train_dreambooth_lora_sdxl, который используется для работы с нейросетями.

Подготовка и загрузка изображений

Подготовленный датасет нужно было загрузить в среду kaggle. Чтобы убедиться, что все изображения были загружены корректно, была использована функция grid с выводом 5 изображений из датасета.

Исходный размер 1155x115
Исходный размер 1198x510

Код из kaggle

Генерация подписей

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

Так как я обучаю модель на определенный стиль, я указала префикс: a photo collage in UKIYOE style. Все подписи к изображениям должны начинаться с этой фразы.

Исходный размер 1198x212

код из kaggle

Исходный размер 1141x312

код из kaggle

Сохранение в Hugging Face

Далее нужно было загрузить скрипт accelerate, который поможет сохранить обученную модель на Hugging face.

Для этого, нужно зарегистрироваться на сайте Hugging face и получить специальных токен и ввести его в kaggle.

Исходный размер 1131x192

код из kaggle

Исходный размер 1181x660

код из kaggle

Запуск обучения модели

Перед началом обучения требуется установить библиотеку datasates, которая будет использовать «a photo collage in UKIYOE style»

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

Например, уменьшено максимальное количество шагов обучения (с 1000 до 500). Таким образом, на процесс обучения ушло вместо 5 часов, около 2 часов.

Исходный размер 1137x612

код из kaggle

Генерация изображений

Для начала сгенерируем привычные сюжеты для гравюр Укиё-э с изображением женщин в кимоно.

0

изображения сгенерированы нейросетью. «a photo collage in UKIYOE style a woman in a kimono with a fan»

Исходный размер 636x637

изображения сгенерированы нейросетью. «a photo collage in UKIYOE style The woman with the bird»

0

изображения сгенерированы нейросетью. «a photo collage in UKIYOE style a woman in a blue kimono with a cup of tea»

0

изображения сгенерированы нейросетью. «a photo collage in UKIYOE style a photo collage in UKIYOE style koi fish in the pond»

Сравним оригиналы и генерации нейросетью

Обучение нейросети стилю гравюр Укиё-э
Проект создан 10.04.2025