Концепция проекта
Цель проекта — персонализация генеративной модели через обучение на конкретном объекте, в данном случае — домашнем коте. Основная задача заключалась в том, чтобы модель не просто генерировала абстрактных котов, а научилась воспроизводить уникальные визуальные характеристики одного конкретного животного и переносить их в различные сцены и стили.
Особое внимание уделялось сохранению идентичности объекта при изменении контекста: от реалистичных бытовых ситуаций до более художественных и фантазийных образов.
Исходные изображения

Для обучения был подготовлен небольшой датасет, состоящий из 10 фотографий кота. Изначально изображения были в формате HEIC (стандарт Apple), после чего были конвертированы в JPG для корректной работы с Python-библиотеками и инструментами обучения.
При подборе изображений учитывались разные ракурсы, освещение и выражения морды, однако объём датасета оставался минимальным. Это позволило протестировать, насколько эффективно модель сможет обучиться на ограниченном количестве данных.
Процесс обучения модели
На первом этапе были установлены все необходимые зависимости: библиотеки Hugging Face (diffusers, transformers), а также инструменты для ускорения обучения и работы с LoRA. Также отдельно была установлена утилита для работы с форматом HEIC. Далее был создан рабочий пайплайн для подготовки изображений. Поскольку исходные фото были в формате HEIC, они автоматически конвертировались в JPG.
Далее был загружен готовый скрипт обучения DreamBooth LoRA. Это позволило использовать готовую реализацию обучения без написания модели с нуля. Перед запуском обучения были заданы основные параметры: базовая модель (Stable Diffusion v1.5), директория с изображениями, папка для сохранения результатов.
Далее был основной этап — запуск обучения модели с использованием LoRA. В процессе были заданы следующие параметры: instance_prompt = «ks cat» — уникальный токен resolution = 512 — разрешение изображений train_batch_size = 1 — минимальный батч learning_rate = 1e-4 — скорость обучения max_train_steps = 500 — количество шагов mixed_precision = fp16 — оптимизация памяти Обучение заняло около 10–15 минут на GPU T4. Во время выполнения модель обучалась на датасете, обновляя только LoRA-слои. Это позволило сохранить базовые знания модели и добавить новые — связанные с конкретным котом.
После завершения обучения LoRA-веса были подключены к модели. На этом этапе модель становится готовой к генерации изображений с учётом обученного объекта. Финальный этап — генерация изображений по заданным промптам.
Результаты генераций
promt = «ks cat sleeping on a fluffy cloud in a dreamy sky, soft pastel colors, ghibli style»
promt = «ks cat wearing a tiny knitted sweater, sitting by a window on a rainy day, cozy atmosphere»
promt 1 = «watercolor painting of ks cat in a blooming cherry blossom garden, soft pink tones», promt 2 = «ks cat riding a bicycle with a basket full of flowers, summer day in the countryside»
promt = «ks cat as a barista making coffee in a cute cat cafe, warm lighting, detailed fur»
promt1 = «ks cat wearing a wizard hat, casting a spell in a starry night sky, magical particles», promt2 = «ks cat exploring a futuristic city at night, neon lights reflecting in its eyes, cyberpunk»
Описание
В результате была получена серия изображений, демонстрирующая способность модели воспроизводить одного и того же кота в различных контекстах. Модель успешно сохраняет ключевые характеристики объекта. Также наблюдается хорошая адаптация к различным сценам: интерьер, природа, фантазийные миры. Дополнительно проявилось разнообразие поз и ракурсов, что снижает эффект повторяемости и делает генерации более естественными. Однако изображения получились слегка размытыми, особенно в деталях (шерсть, глаза). Это связано с рядом факторов: небольшой объём датасета (10 изображений), ограниченные ресурсы GPU, базовое разрешение (512). Таким образом, модель хорошо передаёт общий образ, но хуже прорабатывает мелкие детали.
Описание применения генеративной модели
Stable Diffusion v1.5 Использовалась как базовая генеративная модель для создания изображений. Обеспечивает универсальность и возможность генерации разнообразных сцен.
LoRA Применялась для дообучения модели под конкретный объект. Позволяет эффективно обучать модель на небольшом датасете, изменяя лишь часть параметров и сохраняя базовые знания.




