Около полугода назад я от скуки смотрела объявления на сервисе Авито. На глаза мне попался Толик — канадский сфинкс, который ищет себе идеальную невесту.


ссылка на объявление: https://www.avito.ru/sankt-peterburg/koshki/kanadskiy_sfinks_vzroslyy_kot_4567518658
Толик покорил мое сердце, и я решила помочь ему: подобрать для Толика идеальную невесту.

Толик — ласковый, спокойный и умный парень. В его взгляде отражается его вдумчивость и мудрость. Нужно подобрать невесту под стать этому невероятному коту.
Важные условия для будущей избранницы: — ухоженность — чистоплотность
В этом проекте я визуализирую для Толика идеальных кандидаток в жены.
Кандидатка № 1



Кандидатка № 2


Кандидантка № 3


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

Я собрала базу данных, в которой разместила около 30 фотографий разных пород кошек. Все фотографии «живые», что поспособствовало стилю генераций.
Фрагмент датасета Толика
Принцип работы кода
Для дообучения и генерации изображений использована Stable Diffusion.
1. УСТАНОВКА БИБЛИОТЕК
фрагмент кода «установка библиотек»
2. ЗАГРУЗКА ДАТАСЕТОВ
Код анализирует датасет с потенциальными женами и датасет с Фотографиями, следовательно, загружаем отдельно обе базы данных.
После, датасеты разархивируются.
3. ПОДГОТОВКА ДАТАСЕТОВ
Происходит конвертация в PNG, приведение изображений к квадрату и ресайз до 512×512. Также для каждого изображения создаётся .txt файл и разделение ролей: жена = skscatwife, муж = skscathusband sphynx.


Фрагменты кода с загрузкой и подготовкой датасетов
4. ОБУЧЕНИЕ LoRA
Загружается тренировочный скрипт (DreamBooth LoRA), обучение идет отдельно на каждом датасете.
5. ЗАГРУЗКА PIPELINE
Загружается базовая модель: «stabilityai/stable-diffusion-xl-base-1.0», затем подключаются LoRA и активируются адаптеры.
обучение на датасетах
фрагмент кода с загрузкой пайплайнов и проверкой LoRA
6. ГЕНЕРАЦИЯ
Для генерации двух видов сцен, я использовала 2 промпта: «Кошка в свадебном платье» и «Кошка в быту»
фрагмент кода с генерацией. Промты для 1 и 2 видов изображений.


примеры генераций по 1 и 2 промпту
P.S.
Надеюсь, что у Толика получится найти «ту самую»











