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


В данном проекте я поставила целью создать серию реалистичных изображений моей семейной собаки Капучины в различных художественных и стилистических сеттингах, используя возможности модели Stable Diffusion XL. Для обучения было собрано около 200 фотографий, отражающих разные ракурсы, выражения и обстановки с участием Капучины.
Все собранные фотографии были кадрированы в формате 1:1. Из всех фотографий в разрешении 512×512 было выбрано 100 наиболее удачных, они и были использованы в тренировке датасета для экономии ресурсов платформы Google Colab.
Результат
Капучина на Таймс-Сквер
Итоговая серия изображений в размере 1024×1024 представляет Капучину в различных сеттингах — от повседневных портретов до фантазийных и тематических сцен. В изображениях удалось сохранить ключевые черты и узнаваемость персонажа: форма мордочки, характерный окрас, выразительность глаз, положение ошейника и временами мокрая шерсть вокруг носика.
Капучина в образе викинга где-то в Норвегии
Довольная Капучина в бане
Несмотря на разнообразие тематик, подавляющее большинство сгенерированных изображений сохраняют общее визуальное сходство с оригинальными фотографиями, на которых обучалась модель — снимками Капучины с камеры телефона.
Капучина спит среди ягод
Капучина в русском уличном образе
Даже в тех случаях, когда фон, освещение или образы сильно отличались от реальных условий, нейросеть стремилась сохранить характерную подачу «домашней съёмки», что придаёт итоговым работам достоверность и эмоциональную связность.
Загадочный маг в Шервудском лесу
Капучина прогуливается по японскому императорскому саду
«Rocket science»
Капучина готовится к рыцарскому турниру
Стиль изображения кардинально менялся лишь тогда, когда в промпте явно указывались стилистические особенности, как, например, в случае с образами в стиле кинематографичной секретной операции или героя из фильма «Матрица».
«Матрица»
«Sicario»
Для придания более четкой стилистики этим изображениям использовались более сложные промпты, составленные с помощью ChatGPT. Его использование позволило сформулировать нужные для изображения эффекты съемки с помощью четких, понятных для Stable Diffusion тэгов, при этом не превышая лимит в 77 слов на один промпт.
Капучина управляет роботом
Использовались дополнительные методы улучшения качества, такие как увеличение числа шагов при генерировании сложных промптов. Нейросеть эффективно обработала исходные фотографии, сохранив индивидуальность Капучины и атмосферу любительской съемки, при этом добавив художественную выразительность нужным кадрам.
Обучение
Для обучения LoRA-версии модели Stable Diffusion XL использовался датасет из 100 отобранных изображений собаки Капучины, снятых на камеру телефона. Обучение проводилось с использованием разрешения 512×512 пикселей, что является оптимальным компромиссом между качеством и производительностью при работе с SDXL. Количество шагов обучения было ограничено 500 итерациями, с сохранением промежуточных чекпойнтов каждые 250 шагов. Это позволило при необходимости перезапустить процесс с сохранённой стадии без потери прогресса и наблюдать за качеством промежуточных результатов.
Обучение проводилось на платформе Google Colab Pro с использованием графического процессора NVIDIA L4. Первоначально использование платной подписки не планировалось, однако в процессе реализации проекта возникли технические ограничения: регистрация на платформе Kaggle оказалась затруднена из-за проблем с верификацией, а локальное обучение было невозможно из-за нехватки вычислительных ресурсов. В результате было принято вынужденное решение перейти на Colab Pro ради стабильности и необходимой мощности.
При использовании бесплатной версии выяснилось, что используемый ноутбук был не до конца оптимизирован под ограничения Colab: даже при снижении разрешения генерации до 384×384 пикселей и отключении ряда визуальных улучшений происходил перегруз памяти. Это потребовало дополнительных компромиссов, таких как снижение размера батча, использование «--gradient_checkpointing», «--mixed_precision=fp16» и других приёмов экономии памяти. Одним из ключевых моментов стабильной работы стало обновление зависимостей с помощью команды «! pip install -U datasets huggingface_hub fsspec», что помогло устранить конфликты библиотек и позволило корректно загружать датасет с Hugging Face.
Дополнительно, в процессе работы над ноутбуком возникали сложности, связанные с совместимостью отдельных библиотек, спецификой окружения Google Colab и корректной загрузкой моделей. Для их решения и общего дебага активно использовался ChatGPT, который помогал находить ошибки, оптимизировать конфигурацию среды и корректировать команды запуска. Это позволило оперативно справляться с техническими проблемами и сосредоточиться на концептуальной и художественной стороне проекта.
Описание применения генеративной модели
Stable Diffusion XL — анализ исходных изображений и создание оригинальных картинок на основе полученных данных. https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0
ChatGPT — дебаггинг, помощь в составлении сложных промптов. https://chatgpt.com/