Исходный размер 3216x4267

Концепция

Хочу познакомить вас с моим пуделем Лаки, который 9 лет назад стал незаменимым членом нашей семьи и до сих пор является им.

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

big
Исходный размер 3024x1846

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

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

big
Исходный размер 3024x1871

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

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

Описание процесса обучения

Код обучения модели писался в 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.

0

Установка зависимостей

Было создано виртуальное окружение Python 3.12, установлен PyTorch с поддержкой CUDA 12.1 для RTX 3070 Ti, а также библиотеки для обучения DreamBooth LoRA и Скрипт обучения от HuggingFace Diffusers.

Исходный размер 1032x409

Обучение модели

Для обучения использовался метод DreamBooth. Он позволяет научить нейросеть узнавать конкретный объект всего по нескольким десяткам фотографий. Чтобы обучение поместилось в память видеокарты, применялась технология LoRA. Она обновляет только небольшую часть параметров модели вместо всей сети целиком.

Исходный размер 1032x630

Публикация модели

Исходный размер 1032x445

Генерация изображений

После обучения модель была опубликована на платформе HuggingFace. Для генерации изображений базовая модель Stable Diffusion XL загружается и к ней подключаются обученные LoRA-веса, что позволяет модели вспомнить Лаки и рисовать его в любых сценах.

Исходный размер 1032x562

Пример генерации одной локации

Исходный размер 1032x521
post

На выходе получилась очаровательная фотография Лаки в красном берете на фоне Эйфелевой башни.

Генерация проводилась в 3 итерации для каждой из 11 локаций, итого 33 изображения. Разные значения параметра seed дают вариативность результата при одном и том же промпте: меняются поза, ракурс, детали одежды и фона.

Исходный размер 2812x912

Лаки в Тайланде

Промпт: 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

Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше