
Идея проекта и исходные изображения: Проект посвящён обучению генеративной модели Stable Diffusion (SD) в режиме на образах «Шрека» с целью получить серию новых иллюстраций в стиле мультфильма DreamWorks.
Цель: адаптировать «базовую» SD под конкретный визуальный стиль — зелёного огра Шрека — чтобы при генерации модель с высокой степенью детализации и узнаваемости рисовала сцены с Шреком.
DataSet для обучения: я взяла публичные картинки, они содержит порядка 100 изображений персонажа в разных ракурсах, костюмах и средах.
DataSet
DataSet в нашем случае можно представить как обширную библиотеку изображений, которая служит основой для обучения модели. Однако сам по себе датасет не имеет смысла без контекста. Для того чтобы модель могла эффективно учиться, каждому изображению необходимы каптионы — текстовые описания, которые объясняют, что изображено на картинке. Эти каптионы помогают модели понять, какие элементы и характеристики изображений важны, а также как они соотносятся с текстом.
Создаём директорию с нашим датасетом

Загрузка наших картинок

Генерация каптионов по нашим картинкам (датасету)
Авторизация в аккаунт HuggingFace
Модель доступна по ссылке: https://huggingface.co/jemappellearina/Shrek_LorA Благодаря использованию токена HuggingFace мы выгрузили нашу модель прямо из Collab
Запуск тренировки модели
Заняло достаточно много времени
Сохранение модели на HuggingFace
Создание фото
num_inference_steps=25 — отвечает за качество генерации фото, 25 для баланса между скоростью и качеством
Но я генерировала некоторые картинки в 50 и уперлась в лимит Collab
Параметр num_inference_steps задаёт, сколько шагов денойзинга будет выполнено при генерации одного изображения:
Каждый шаг — это итерация алгоритма обратного распространения шума (denoising), в ходе которой модель постепенно убирает шум из случайного латента, приближая его к «чистому» изображению.
Большее число шагов (например, 50–100) даёт более плавный, детализированный переход от шума к картинке, но пропорционально увеличивает время генерации.
Меньшее число шагов (20–30) ускоряет рендер, но может снижать чёткость и проработку деталей: картинка получится более «грубой» или слегка «смазанной».
В моём случае num_inference_steps=25 — это компромисс между скоростью и качеством: ты получаешь достаточно быстрого отклика и при хорошем подборе guidance_scale (например, 7.5) ещё приемлемое разрешение деталей. Если хочешь поднять качество — увеличь до 50–100, но генерация займет в 2–4 раза больше времени.
Экспериментальным путем выявила, что 50 самое оптимальное для качества картинки
Результирующие изображения
prompt = «SHREK is sitting on a rock»
prompt = «SHREK at a photo shoot against the background of a cyclorama»
prompt = «Photo collage of SHREK»
prompt = «SHREK in standing pose»
Что-то пошло не так))
prompt = «photo of a SHREK»
prompt = «SHREK with a headband»