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



Результаты
prompt = «a photo of GRUSHASTAR dog, red square, moscow» prompt = «a photo of GRUSHASTAR dog, with purple bow on head»
prompt = «a photo of GRUSHASTAR dog, with green crown» prompt = «a photo of GRUSHASTAR dog, reading a book»
prompt = «a photo of GRUSHASTAR dog, sitting on a big red apple» prompt = «a photo of GRUSHASTAR dog, riding bicycle»
prompt = «a photo of GRUSHASTAR dog, doctor costume» prompt = «a photo of GRUSHASTAR dog, cooking apple pie»
prompt = «a photo of GRUSHASTAR dog, with 10 other GRUSHASTAR dogs» prompt = «a photo of GRUSHASTAR dog, flying on the jet»
Комментарий к итогам
Нейросеть хорошо справилась с генерацией очень похожей на настоящую собаки. Несмотря на это в генерируемых картинках есть некоторые недочеты:
- Появляются тэги (подвески для ошейника), хотя в исходной базе нет ни одной картинки с таким аксессуаром. Тэги ведут себя неопределенно, по ним сразу видно, что изображение нереально.
- На изображениях, где в промпте был указан цвет чего-либо, в этот оттенок окрашивается фон и Груша (на картинке с короной — в зеленый, на картинке с Красной площадью — в красный).
- Некоторые аксессуары вроде короны образуют заметные артефакты.
- Часть промптов распознавались неверно, например вместо собаки, сидящей на яблоке, нейросеть изображала собаку с яблоком в лапах.
Общий вывод: Stable Diffusion обучилась на датасете и теперь умеет генерировать пуделей с главными отличительными чертами Груши (укладкой, грумингом), в основном изображения собаки в костюмах и аксессуарах выглядят правдоподобно и аккуратно.
Код для обучения и применения нейросети
Как работает данный код:
- Создан сетап с загрузкой библиотек
- Загружен датасет, состоящий из 23 изображений Груши
- Изменён размер исходных изображений для уменьшения нагрузки на среду
- Запущена нейросеть BLIP для генерации подписей к изображениям (авто-промпты к датасету)
- Запущена нейросеть Stable Diffusion и обучена на основе датасета
- Дообучение нейросети загружено на Huggingface
- С помощью текстовых промптов сгенерированы итоговые изображения
Описание применения генеративной модели
BLIP — применялась для генерации автоматических промптов к исходному датасету Stable Diffusion — применялась для дообучения в целях генерации персонажа Груши, для генерации итоговых изображений




