Техническая суть: Регистрация, а не просто референс
В отличие от стандартных адаптеров, использующих только визуальное сходство, этот rank-32 LoRA внедряет в модель ротационные координаты (rotary coordinates), производные от bounding box источника. Денoiser получает четкое понимание того, где именно в целевом холсте должны находиться известные пиксели. Это решает проблему «плавающего» изображения при расширении.
Модель обучена на базе Krea 2 Raw и оптимизирована для дистиллированного вывода в 8 шагов с использованием Krea 2 Turbo. Архитектура использует изолированное reference-внимание, что позволяет вычислять K/V кэш один раз и переиспользовать его на всех шагах денoising.
Ключевые параметры и настройки
Для корректной работы требуется специфический пайплайн, так как стандартные загрузчики Diffusers несовместимы. Ниже приведены рекомендованные настройки для достижения наилучшего качества:
| Параметр | Значение | Примечание |
|---|---|---|
| Base Model | krea/Krea-2-Turbo | Обязательная база |
| Steps | 8 | Оптимизировано под дистилляцию |
| Guidance Scale | 0.0 | Не требуется |
| LoRA Scale | 1.0 | Полная сила адаптера |
| Reference Max Edge | 384 px | Бюджет кодирования источника |
| Seam Feather | 32 px | Сглаживание границ при композитинге |
| Reference K/V Cache | Enabled | Обязательно для производительности |
Производительность и ограничения
Тестирование проводилось на RTX 5090 с использованием INT8 ConvRot runtime. Один проход (8 шагов) занимает 3.6–4.2 секунды, время кодирования промпта составляет около 0.1 секунды. Важно отметить, что эти метрики специфичны для данного железа и не являются заявленными показателями для BF16.
Модель успешно протестирована на фотореалистичных интерьерах, акварельных сценах и стилизованных 3D-маркетах. Она корректно обрабатывает:
- Расширение вправо, вниз или в обе стороны от закрепленного источника.
- Изменение соотношения сторон (квадрат → ландшафт/портрет).
- Сохранение перспективы, освещения и текстуры.
Ограничения: Модель не поддерживает произвольные маски инпейнтинга, только прямоугольное расширение. Большие пустые области могут привести к появлению второго субъекта. Также важно, что исходные пиксели восстанавливаются через композитинг с 32-пиксельным сглаживанием, так как бюджет кодирования (384px) приоритизирует структуру, а не микродетали.
Как использовать
Для работы необходимо использовать предоставленные скрипты pipeline.py и outpaint.py, а не стандартные инструменты. Требуется установка PyTorch и зависимостей:
pip install diffusers transformers accelerate safetensors huggingface_hub pillow
Пример запуска с указанием координат bounding box:
python example.py \
--source input.png \
--output output.png \
--width 1024 \
--height 1536 \
--bbox 0 0 1024 1024 \
--prompt "a polished digital illustration, full composition"
Весы модели (1370 загрузок за месяц) распространяются под лицензией Krea 2 Community License, а код пайплайна — под Apache-2.0. Это неофициальный релиз сообщества, не поддерживаемый напрямую Krea или Ostris.
Источник: Huggingface ↗
