Идея проекта
Мною был разработан художественный стиль иллюстраций для детских книжек. Он непрост в реализации, поэтому мне захотелось до-обучить нейросеть создавать иллюстрации в моем стиле для совершенно любых детских произведений, чтобы ускорить мою работу, как художника.
Главная цель проекта посмотреть насколько похоже сможет нейросеть повторить мой авторский стиль и сможет ли нейросеть сгенерировать полноценную историю из серии иллюстраций. Цель повторения цветовой гаммы моих иллюстраций не преследовалась.
Была собрана коллекция моих авторских иллюстраций для одного из детских произведений — басни И. А. Крылова «Ворона и лисица». В проекте я решила попросить нейросеть сгенерировать иллюстрации к другой басне И. А. Крылова «Лисица и виноград»
Исходные иллюстрации
Мой стиль отличается минималистичностью, полной заливкой областей, отсутствием множества деталей и подробностей, только акцентные мелочи.
Описание процесса обучения
Сначала ставились необходимые зависимости. Затем скачивался готовый скрипт обучения train_dreambooth_lora_sdxl.py из репозитория Hugging Face. В процессе этого отдельно подготавливалась папка с обучающими изображениями.
Далее задавались основные гиперпараметры обучения: — instance_prompt = «liza vector illustration style» — resolution = 512 — train_batch_size = 1 — gradient_accumulation_steps = 4 — learning_rate = 1e-4 — max_train_steps = 400
Потом через accelerate launch запускалось обучение LoRA-адаптера поверх базовой модели stabilityai/stable-diffusion-xl-base-1.0 с VAE madebyollin/sdxl-vae-fp16-fix.
В обучении использовались техники экономии памяти и ускорения: — fp16 — gradient_checkpointing — 8-bit Adam
После завершения обучения полученные веса LoRA загружались в DiffusionPipeline, и модель используется для генерации изображений в выученном стиле.
Итоговые изображения
Так как целью было проиллюстрировать басню, соответственно я шла по сюжету и делала промпты согласно действиям в произведении.
Промпт 1: «the orange fox stands on the ground and looks up. Above it, green grapes hang from the branches. The fox is in the center of the garden, where everything is in bloom, and flowers grow on the ground around the fox. There are many branches with grapes above the fox’s head. A picture in liza vector illustration style»
Промпт 2: «Orange fox looking up at green grapes hanging above. Center of a blooming garden, surrounded by flowers. A picture in liza vector illustration style»
Промпт 3: «the orange fox’s face is large in profile, the eyes look into the upper left corner, the fox is licking his lips. In the upper left corner is a branch with a bunch of green grapes. A picture in liza vector illustration style»
Промпт 4: «Orange fox reaches a branch with grapes hanging from above. A picture in liza vector illustration style»
Промпт 5: «a large bunch of green juicy grapes on a branch. The grapes are shiny and sparkling. There are other branches with grapes hanging around, but smaller in size. A picture in liza vector illustration style»
Промпт 6: «an orange fox is jumping into the upper right corner with its right front paw up, its head is raised up. Side view of the fox. On the right, a large bush with green grapes grows out of the ground, and in the upper right corner, a large juicy bunch of green grapes hangs on a branch. There is a garden around the fox and many flowers grow. A picture in liza vector illustration style»
Промпт 7: «the big orange fox tail is raised up and occupies the right half of the picture. The fox is not visible in the picture, only its tail is visible. The left half of the picture is occupied by a bush with large bunches of green grapes. A picture in liza vector illustration style»
Получилась серия картинок, иллюстрирующая басню И. А. Крылова «Лисица и виноград». Нейросеть хорошо справилась с сюжетностью картинок, действиями персонажа и отлично изобразила лису в разных положениях.
Нейросеть удачно повторила минимализм, присутствующий в моем стиле, хорошо прорисовала детали сюжета из промпта, но, как и в моих иллюстрациях, не добавляла лишних деталей в стиль итоговой картинки.