Original size 721x1024

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

PROTECT STATUS: not protected

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

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

big
Original size 1191x105

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

0

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

big
Original size 656x656

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

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

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

Original size 1024x813

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

0

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

0

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

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

Затем я загружаю модель из 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