Original size 1140x1600

Лягушки в смешных шляпках обучают Stable Diffusion

PROTECT STATUS: not protected

ПОЧЕМУ ЛЯГУШКИ И ПРИ ЧЁМ ЗДЕСЬ СМЕШНЫЕ ШЛЯПКИ?

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

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

СБОР ДАТАСЕТА

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

Для обучения нейросети я собрала датасет из 60-и фотографий лягушек и жаб в разнообразных шляпках: от ковбойских шляп до цветочков на голове.

Источник изображений: pinterest.com

big
Original size 3216x586

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

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

Итак, датасет создан, пора приступать к обучению!

РАБОТА С КОДОМ

Работа с кодом велась в среде разработки Google Colab.

Сначала я импортировала библиотеки, нужные для обучения Stable Diffusion.

big
Original size 1258x717

импорт библиотек

Теперь нужно импортировать подготовленный датасет, чтобы Google Collab смог «видеть» наших прекрасных лягушат. Для этого я указала пусть на гугл диск с собранными ранее изобрабражениями.

привязка датасета и вывод превью изображений

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

Original size 1492x681

генерация текстовых описаний изображений

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

Итоговый префикс: «a photo of a cute TOK frog in a funny hat». Дальше нейросеть сама описывает, что видит на картинке.

Original size 1465x747

Теперь у нас есть текстовые описания изображений! Они сохраняются в папку с датасетом в формате .jsonl.

0

примеры сгенерированных описаний к изображениям

Следующим этапом заходим в аккаунт на Hugging Face и создаём токен. Так у системы Google Colab будет доступ к аккаунту, чтобы сохранить туда будущую модель обучения.

Original size 1115x599

вход в аккаунт Hugging Face

Наконец мы приступаем к самому обучению!

Размер для изображения был задан в 512×512 пикселей, с шагом в 500 и чек-поинтом на 250.

Original size 719x445

обучение нейросети

Обучение заняло чуть меньше 38 минут.

Original size 534x29

Обучение завершено! Теперь нужно сохранить модель обучения на Hugging Face.

Original size 1104x676

сохранение модели на Hugging Face

Можно начинать генерировать лягушек в смешных шляпках! Я делала это уже на странице модели на Hugging Face.

ЛЯГУШКИ В ШЛЯПКАХ. ИТОГ

сгенерированные изображения лягушек в смешных шляпках

Original size 2775x863

сгенерированные изображения лягушек в смешных шляпках

На выходе изображения получались реалистичные.

Модель может отличить лягушку (frog) от жабы (toad). Но в подавляющем большинстве, если просить сгенерировать лягушку, то модель выдаёт именно квакш.

0

сгенерированные изображения лягушек в смешных шляпках

Original size 3136x573

сгенерированные изображения лягушек в смешных шляпках

Групповые фотографии у модели получаются с мелкими ошибками, которые заметны при детальном рассмотрении. Появляются лишние левитирующие шляпки, дополнительные лапки или просто лягушки неестественно сидят друг на друге.

Original size 2775x863

сгенерированные изображения лягушек в смешных шляпках

сгенерированные изображения лягушек в смешных шляпках

Original size 3136x573

сгенерированные изображения лягушек в смешных шляпках

Теперь можно не только лягушек в смешных шляпках генерировать, но и серотонин!

ОПИСАНИЕ ПРИМЕНЕНИЯ ГЕНЕРАТИВНОЙ МОДЕЛИ

Для генерации изображений используется нейросеть Stable Diffusion XL, обученная с применением методов LoRA и DreamBooth.

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

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