Концепция
Хочу познакомить вас с моим пуделем Лаки, который 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




