Original size 1240x1750

обучение нейросети рисованию звериков

PROTECT STATUS: not protected
18

концепция

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

все изображения для датасета были взяты из pinterest

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

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

0

пример исходных изображений

для того, чтобы нагенерировать новые картинки в уже созданном стиле, я собрала датасет из 45 изображений. все картинки проходят небольшую обработку, чтобы модель могла с ними работать: * обрезаются до квадратной формы (1:1), центр сохраняется * уменьшаются до размера 512×512 пикселей

результат

big
Original size 1920x860

промпты: illustration in KITTENCARD style, there are two cuddling kittens on a blank pale pink background, no text allowed // Illustration in KITTENCARD style, a kitten wearing a flower crown, sitting in a field of daisies // illustration in KITTENCARD style, a kitten flying in the sky // illustration in KITTENCARD style, a bunny flying in the sky

Original size 1920x1762

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

Original size 1920x1080

Illustration in KITTENCARD style, a kitten wrapped in a blanket, holding a cup // Illustration in KITTENCARD style, a tiny fox holding a lantern, sitting on a small rug, isolated on a white background

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

Original size 1920x1762
Original size 1920x1080
Original size 1920x616

Illustration in KITTENCARD style, a kitten sitting inside a basket full of colorful fruits

Original size 1920x1080

ещё я решила попробовать генерировать картинки с более сложными сюжетами и фонами, чтобы посмотреть, на что вообще способен мой обученный нейроученик

Original size 1920x1762

Illustration in KITTENCARD style, a baby alpaca with soft fluffy fur, standing in a meadow filled with colorful wildflowers and floating hearts

Original size 1920x1080

Illustration in KITTENCARD style, a baby bear fishing with a tiny wooden boat on a peaceful lake // Illustration in KITTENCARD style, a baby otter swimming through a crystal-clear pond

Original size 1920x1080
Original size 1920x616
Original size 1920x1762

и всё же обучение нейросети было неидеальным. она нередко ошибалась с количеством конечностей, добавляя пятую лапу, второй хвост, третье ухо или ещё что-нибудь. рискну предположить, что при более высоких параметрах обучения такое встречалось бы реже, но мои фавориты с таким открытием:

Original size 1920x1080

бонус

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

Original size 1920x1080

Illustration in KITTENCARD style, a baby panda wandering through a magical bamboo forest, where each bamboo stem glows faintly in the moonlight. The forest floor is covered with tiny lanterns

Original size 1820x1024

Illustration in KITTENCARD style, a baby bear dressed as a pirate, holding a treasure map

Original size 1920x1080

Illustration in KITTENCARD style, a small penguin holding a tiny bouquet of flowers // Illustration in KITTENCARD style, a small kitten on a cupcake

Original size 1920x1080

Illustration in KITTENCARD style, a kitten wearing a tiny bowtie, sitting in a teacup

Original size 1920x1080

промпт: Illustration in KITTENCARD style, a baby bunny sitting on a swing made of vines and flowers, hanging from a tall, ancient tree in an enchanted forest. Around the bunny, glowing fireflies light up the evening sky, and the ground is covered in soft moss and mushrooms, giving the scene a whimsical fairytale feel

Original size 1920x1080

Illustration in KITTENCARD style, a baby fox sitting at a picnic table in a sunny meadow, with a checkered blanket laid out and baskets full of strawberries, flowers, and pastries

Original size 1920x1080

работа в colab

- установка библиотек сначала скрипт ставит всё нужное, чтобы можно было работать со stable diffusion и начать обучение

- впоследствии загружается датасет из изображений

Original size 1200x614
Original size 1409x395
Original size 1416x465

- я использовала предобученную модель blip, чтобы автоматически генерировать текстовые описания изображений, и с помощью функции caption_images я обработала изображения из папки, передала их в модель и получила текстовые подписи

Original size 1331x379

впоследствии был создан префикс для генерации изображений: «illustration in KITTENCARD style»

Original size 1398x214

далее я удалила объекты модели из памяти и подчистила gpu, чтобы освободить ресурсы. дальше я устанавливаю utf-8 как кодировку и настраиваю accelerate для корректной работы моделей. авторизуюсь в hugging face и устанавливаю библиотеку datasets для работы с датасетами

Original size 899x525

- самым ответственным шагом было обучение нейросети. параметрами были разрешение 512, 500 шагов, поэтому процесс занял около часа

Original size 800x464

вывод

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

примечание

для создания изображений среды с открытками использовалась нейросеть recraft, для создания промптов использовался chat gpt

Original size 1920x653
обучение нейросети рисованию звериков
18