У комнатного цветка обычно нет роли — только место на подоконнике. Я снял его сам и обучил Stable Diffusion XL держать именно этот экземпляр как персонажа. Дальше тотем попадает в чужие декорации: остановка, крыша, музей, лес.
Задание — обучить генеративную модель под свой стиль или объект. Я выбрал объект, не чужой живописный стиль.
Причины три. Датасет целиком мой: 14 квадратных фотографий растения на столе, без стоков и чужих иллюстраций. Консистентность проверяется просто: узнаётся ли тот же цветок. Смысл проекта — не имитировать канон, а вытащить бытовую вещь из фона и дать ей биографию.
Рабочий токен: TOK totem. Редкое имя, чтобы модель не рисовала «любой цветок».
Датасет
14 кадров, формат 1:1, собственные съёмки. Ракурсы: сверху, сбоку, ближе к листьям и горшку, в свете стола.
Задача съёмки была узкая: показать силуэт, объём листвы и характер горшка, не сменить «актёра». Фон почти везде один — стол. Это риск: модель может запомнить скатерть вместе с растением. Поэтому в генерации я специально уводил тотем в чужие пространства.


Обучение
База: Stable Diffusion XL 1.0Метод: DreamBooth + LoRAСреда: Google Colab, GPU T4Ноутбук курса, папка tok вместо учебного примера.
Параметры:instance_prompt: a photo of TOK totemразрешение 512, 200 шагов, learning rate 1e-4, 8-bit Adam, fp16.Подписи к кадрам собрал BLIP, все строки начинаются с токена.
200 шагов — короткий прогон: среда в Colab сначала упала на конфликте библиотек diffusers / torchao, полный цикл в 500–600 шагов не умещался в срок. Для маленького датасета якоря обычно хватает. Text encoder не дообучался.

Серия
Мои генерации по ссылке в яндекс диске:
https://disk.yandex.ru/d/BSoQWfJg4l7k6g
Промпт всегда начинается с a photo of TOK totem. Меняется только сцена: стол на рассвете, музейная витрина, крыша панельки, ночная остановка, чертёжный стол, лес, студийный портрет, подоконник ночью.
Negative prompt: blurry, deformed, watermark, text.
Дополнительных сетей (ControlNet, IP-Adapter) нет. Если кадр тащил за собой мой стол, брал меньший lora_scale.
Разбор
Что удержалось: общий силуэт растения, характер листвы, ощущение горшечного цветка, а не полевого букета. На спокойных кадрах (студия, стол, подоконник) тотем читается лучше всего.
Что сломалось: мелкая структура листьев плывёт; иногда появляется «лишний» цветок; в городских сценах модель норовит приклеить кусок стола или слишком спокойный домашний свет. Это цена короткого LoRA и однородного фона в датасете.
Связь с идеей: проект не про идеальный каталожный рендер. Проверка простая — узнаётся ли тот же жилец стола, если вынести его на остановку или в лес. Где узнаётся, концепция работает. Где остаётся «просто растение», видна граница маленькой выборки.
Вариации серии: бытовые кадры ближе к обучению и стабильнее; ночь и город проверяют новый свет; музей и памятник меняют статус вещи; лес и тёмная комната — стресс-тест без квартирных подсказок.
Вывод
LoRA на 14 кадрах не делает нового художника. Она делает якорь. Якоря хватило, чтобы одно растение перестало быть фоном и стало персонажем.
Применение генеративных моделей
Основная модель — дообученная мной Stable Diffusion XL (DreamBooth + LoRA). База: https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0
Учебный ноутбук: https://colab.research.google.com/github/shwars/ai-for-creatives/blob/main/6-DiffusionTraining/SDXL_DreamBooth_LoRA_Colab.ipynb
Подписи датасета — BLIP (Salesforce/blip-image-captioning-base), часть выданного ноутбука.
Структура и черновик текста — Grok (xAI, Grok 4.6). Формулировки сокращены и правлены вручную под растение и фактические кадры. Финальные изображения серии — только обученная LoRA.
Другие генеративные модели для итоговых картинок не использовались.




