Концепция
Хочу познакомить вас с моим пуделем Лаки, который 9 лет назад стал незаменимым членом нашей семьи и до сих пор является им.
За свою жизнь мне удалось посетить более 20 стран, но, к сожалению, Лаки ни разу не сопровождал меня в этих путешествиях. Именно поэтому благодаря визуализациям в рамках курса я смогла представить, какими могли бы быть его фотографии в самых разных уголках мира, словно он путешествовал вместе со мной.

Исходное изображение Лаки


Исходные изображения Лаки

Исходное изображение Лаки


Исходные изображения Лаки
Описание процесса обучения
Код обучения модели писался в Visual Studio Code с расширением Claude Code, которое помогало в написании кода, а также в исправлении ошибок. Обучение выполнялось локально на Windows (NVIDIA RTX 3070 Ti, 8 GB VRAM), так как Google Colab T4 не имеет достаточно памяти для полного цикла обучения SDXL. Демонстрация и инференс в Google Colab.
Подготовка датасета
Был собран датасет из 69 фотографий пуделя Лаки. Скрипт выполнял автоматическую предобработку каждого фото.
Для каждого изображения создавался текстовый caption-файл с trigger word — sks poodle dog Lucky.
Установка зависимостей
Было создано виртуальное окружение Python 3.12, установлен PyTorch с поддержкой CUDA 12.1 для RTX 3070 Ti, а также библиотеки для обучения DreamBooth LoRA и Скрипт обучения от HuggingFace Diffusers.
Обучение модели
Для обучения использовался метод DreamBooth. Он позволяет научить нейросеть узнавать конкретный объект всего по нескольким десяткам фотографий. Чтобы обучение поместилось в память видеокарты, применялась технология LoRA. Она обновляет только небольшую часть параметров модели вместо всей сети целиком.
Публикация модели
Генерация изображений
После обучения модель была опубликована на платформе HuggingFace. Для генерации изображений базовая модель Stable Diffusion XL загружается и к ней подключаются обученные LoRA-веса, что позволяет модели вспомнить Лаки и рисовать его в любых сценах.
Пример генерации одной локации

На выходе получилась очаровательная фотография Лаки в красном берете на фоне Эйфелевой башни.
Генерация проводилась в 3 итерации для каждой из 11 локаций, итого 33 изображения. Разные значения параметра seed дают вариативность результата при одном и том же промпте: меняются поза, ракурс, детали одежды и фона.
Лаки в Тайланде
Промпт: a photo of sks poodle dog on a tropical beach in Thailand, wearing sunglasses, palm trees and turquoise water background, photorealistic, 8k.
По изображениям видно, насколько отличаются позы, окружение и композиция. Это позволяет сравнивать результаты и выбирать наиболее подходящие.


Лаки в Англии. Промпт: a photo of sks poodle dog sitting near Big Ben in London England, wearing a plaid scarf, cloudy sky, photorealistic, 8k
Лаки в Мексике. Промпт: a photo of sks poodle dog in Mexico wearing a large sombrero hat, sitting at a table with a plate of tacos, colorful background, photorealistic, 8k


Лаки в Италии: a photo of sks poodle dog riding a gondola in Venice Italy, looking at the camera, canal background, photorealistic, 8k
На сгенерированных изображениях хорошо считываются достопримечательности и окружение: узнаваемые места, архитектура и атмосфера каждой страны переданы достаточно точно.
Лаки в Египте. Промпт: a photo of sks poodle dog near the Great Pyramids of Giza in Egypt, desert landscape, golden hour sunset lighting, photorealistic, 8k
Лаки в Китае. Промпт: a photo of sks poodle dog in China wearing traditional Chinese hanfu costume, standing among red traditional Chinese buildings decorated with glowing red lanterns, night scene


Лаки в Корее. Промпт: a photo of sks poodle dog standing in front of Gyeongbokgung Palace in Seoul South Korea, traditional Korean architecture, sunny day, photorealistic, 8k
Лаки в Греции. Промпт: a photo of sks poodle dog in Greece near an ancient amphitheater, white buildings and blue sea in background, photorealistic, 8k


Лаки в Японии. Промпт: a photo of sks poodle dog sitting in a traditional Japanese zen garden in Kyoto Japan, cherry blossom trees, stone path, peaceful atmosphere, photorealistic, 8k
Лаки в Америке. Промпт: a photo of sks poodle dog standing in front of the Statue of Liberty in New York USA, sunny day, blue sky, looking at camera, photorealistic, 8k
Итоговые изображения получились фотореалистичными и узнаваемыми.
Однако в ходе работы были отобраны лучшие варианты из нескольких генераций, часть результатов содержала типичные для диффузионных моделей артефакты: лишние лапы, искажения анатомии и неправильные пропорции.
Проблема решалась многократным запуском с разными seed и отбором лучших результатов из серии.


Примеры генераций с артефактами
Итоги
По итогу мне удалось увидеть, как выглядел бы Лаки путешественником по всему миру.
Модель сохранила его внешность: белая шерсть и порода пуделя узнаваемы во всех 11 локациях. Все сцены получились убедительными: от гондолы в Венеции до пирамид в Египте. Одежда, береты, сомбреро, традиционные костюмы, а также анатомия собаки, отображалась не всегда точно, однако эта проблема легко решается уточнением промпта и подбором seed. При повторной генерации нужный элемент появлялся корректно.
В целом опыт оказался интересным и показал полный цикл работы с генеративными нейросетями: от сбора датасета до публикации готовой модели и генерации своих изображений.
Главное, модели удалось передать самую узнаваемую черту Лаки — розовый носик.
Список использованных инструментов: — Stable Diffusion XL (SDXL) — базовая генеративная модель, дообученная методом DreamBooth LoRA под конкретного персонажа — пуделя Лаки; — Visual Studio Code + Claude Code — помощь в написании скриптов подготовки датасета, обучения модели и генерации изображений; — Google Colab — демонстрация результатов: загрузка обученной LoRA и генерация финальных изображений на GPU T4; — HuggingFace Hub — публикация обученной LoRA-модели в открытый доступ по адресу LuckyPlay7/lucky-poodle-lora; — Python / diffusers / accelerate / peft — библиотеки для обучения и инференса модели; — Git + Git LFS — загрузка весов модели (47 MB) в репозиторий HuggingFace.















