Original size 721x1024

Обучение генеративной нейросети под стиль Ивана Билибина

PROTECT STATUS: not protected

В рамках этого проекта я обучила генеративную нейросеть Stable Diffusion стилю русского художника Ивана Яковлевича Билибина.

Подготовка и анализ картин

big
Original size 1191x105

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

0
1/3

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

big
Original size 656x656

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

Работа с нейросетью

В проекте не использованы иные нейросети, работа велась в Google Collab с использованием Stable Diffusion XL, метода DreamBooth и технологии LoRA. Для начала я провела все необходимые подготовительные операции для корректной работы.

Original size 1024x813

Затем я преступила к выгрузке датасета. В качестве архива фотографий я взяла 104 картины художника, кадрированные мной до нужного размера. Как можно заметить, все картинки были выгружены в папку внутри Goggle Collab под названием «/content». На предварительном просмотре все рисунки отобразились корректно и в нужном формате.

0
1/2

Затем с помощью модели BLIP были сгенерированы подписи к картинкам. Я использовала префикс «art in BILIBIN style», который позже буду использовать для генерации картинок. Далее был создан файл metadata.jsonl, который содержал картинку и подпись к ней. Как можно заметить, все подписи были достаточно детальны и разнообразны.

0
1/2

После я удаляю ненужную и тяжёлую модель и очищаю кэш.

Original size 485x88

После этого я работаю с Hugging Face для дальнейшего использования кода без обучения нейросети с нуля. Затем загружаю библиотеку для работы с metadata.jsonl.

Original size 1415x340

Наконец, начинается процесс обучения. Я поменяла необходимое значение на своё собственное, такое как «art in BILIBIN style», и записала max_train_steps=500 и checkpointing_steps=250 для облегчения и ускорения работы.

Original size 1415x354
Original size 1780x833

Я заканчиваю обучение модели, сохраняя её на Hugging Face.

0
1/2

Затем я загружаю модель из Hugging Face. И теперь я могу написать промпт для генерации картинки.

Original size 1773x569

Получившиеся изображения

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

Original size 927x123

Для начала я попробовала самые обычные запросы, например, «art in BILIBIN style, a portrait of a man» и «art in BILIBIN style, a portrait of a woman».

Обучение генеративной нейросети под стиль Ивана Билибина
Project created at 10.04.2025
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