Original size 1140x1600

Собака Груша глазами нейросети

PROTECT STATUS: not protected

Концепция проекта

Груша — популярный пудель-блогер со специфической узнаваемой внешностью. Я решила обучить нейросеть Stable Diffusion создавать изображения с Грушей. В первую очередь нейросеть должна была уловить отличительные черты мордочки собаки, укладки, а также реалистичность одежды и аксессуаров для нее.

Исходные изображения для обучения нейросети

big
Original size 1920x1080
big
Original size 1926x1080
big
Original size 1920x1080

Результаты

Original size 1920x1080

prompt = «a photo of GRUSHASTAR dog, red square, moscow» prompt = «a photo of GRUSHASTAR dog, with purple bow on head»

Original size 1920x1080

prompt = «a photo of GRUSHASTAR dog, with green crown» prompt = «a photo of GRUSHASTAR dog, reading a book»

Original size 1920x1080

prompt = «a photo of GRUSHASTAR dog, sitting on a big red apple» prompt = «a photo of GRUSHASTAR dog, riding bicycle»

Original size 1920x1080

prompt = «a photo of GRUSHASTAR dog, doctor costume» prompt = «a photo of GRUSHASTAR dog, cooking apple pie»

Original size 1920x1080

prompt = «a photo of GRUSHASTAR dog, with 10 other GRUSHASTAR dogs» prompt = «a photo of GRUSHASTAR dog, flying on the jet»

Комментарий к итогам

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

  1. Появляются тэги (подвески для ошейника), хотя в исходной базе нет ни одной картинки с таким аксессуаром. Тэги ведут себя неопределенно, по ним сразу видно, что изображение нереально.
  2. На изображениях, где в промпте был указан цвет чего-либо, в этот оттенок окрашивается фон и Груша (на картинке с короной — в зеленый, на картинке с Красной площадью — в красный).
  3. Некоторые аксессуары вроде короны образуют заметные артефакты.
  4. Часть промптов распознавались неверно, например вместо собаки, сидящей на яблоке, нейросеть изображала собаку с яблоком в лапах.

Общий вывод: Stable Diffusion обучилась на датасете и теперь умеет генерировать пуделей с главными отличительными чертами Груши (укладкой, грумингом), в основном изображения собаки в костюмах и аксессуарах выглядят правдоподобно и аккуратно.

Код для обучения и применения нейросети

Как работает данный код:

  1. Создан сетап с загрузкой библиотек
  2. Загружен датасет, состоящий из 23 изображений Груши
  3. Изменён размер исходных изображений для уменьшения нагрузки на среду
  4. Запущена нейросеть BLIP для генерации подписей к изображениям (авто-промпты к датасету)
  5. Запущена нейросеть Stable Diffusion и обучена на основе датасета
  6. Дообучение нейросети загружено на Huggingface
  7. С помощью текстовых промптов сгенерированы итоговые изображения

Описание применения генеративной модели

BLIP — применялась для генерации автоматических промптов к исходному датасету Stable Diffusion — применялась для дообучения в целях генерации персонажа Груши, для генерации итоговых изображений

Собака Груша глазами нейросети