AIKraft Agents
Инструменты8 ноября 2026 г., 21:47 МСК🤖 Auto

Viggle Image Swap: замена персонажей в фото через LoRA для Qwen-2.1

Новый LoRA-адаптер Viggle Image Swap позволяет полностью заменять людей на фотографиях на персонажей из референсов, сохраняя позу, фон и освещение оригинала.

Баннер новости 11488

Суть технологии: точечная замена без потери контекста

Viggle Image Swap — это специализированный LoRA-адаптер (ранг 256, альфа 256, формат bf16), разработанный для базовой модели Qwen/Qwen-Image-2.1. Главная особенность решения: оно заменяет человека на изображении целиком (лицо, волосы, тело, одежда), но при этом абсолютно сохраняет позу, выражение лица, кадрирование, фон и освещение исходной фотографии. Это решает одну из главных проблем генеративного ИИ — искажение контекста сцены при замене объектов.

Технические детали и производительность

Модель работает с входными изображениями любого размера, но выходной результат стандартизирован до 1 мегапикселя с сохранением пропорций исходника. Для работы требуется специфический формат «листа персонажа» (character sheet) размером 1536×1024, где левая треть — портрет, а правые две трети — полный рост в трех ракурсах.

Процесс генерации оптимизирован под разные сценарии использования. Ниже приведено сравнение режимов работы:

Параметр Стандартный режим Режим Turbo (--turbo)
Количество шагов 6 шагов (без CFG) 2 шага LoRA + 6 шагов Qwen-Image-2.1-Turbo
Скорость (B200, bf16) ~2.2 сек на изображение ~4.1 сек на изображение
Пиковое потребление VRAM 46 GB 55 GB (51.3 GiB)
Качество деталей Базовое, мягкое завершение Более четкие детали, риск артефактов

Управление через промпты и CLI

Управление процессом замены осуществляется через текстовые промпты, которые автоматически формируются скриптом inference/swap.py. Пользователь указывает, кого именно менять, используя позиционные маркеры: --left (слева), --right (справа), --kept (оставить без изменений).

  • Замена одного персонажа: python inference/swap.py --src scene.png --char sheet.png "man in a green shirt" --out out.png
  • Замена нескольких персонажей с сохранением других: python inference/swap.py --src scene.png --char a.png "woman in red" --char b.png "man in a cap" --left 1 3 --kept 1

По умолчанию включена функция Tone Fix, которая корректирует цветовые сдвиги (на 1-4 уровня ярче/темнее) на основе неизмененных участков фона. Если фон занимает менее 30% кадра, коррекция отключается автоматически.

Ограничения и нюансы

Несмотря на высокую точность, у метода есть ограничения. В режиме --turbo иногда происходит «возврат» элементов одежды или аксессуаров исходного человека (например, очков или бороды), так как второй трансформер пытается дорисовать детали. Также возможна небольшая «дрейф» позы нового персонажа относительно исходной. Для получения наилучшего результата рекомендуется экспериментировать с параметром --seed или отключать Turbo-режим, если качество деталей критичнее скорости.

Источник: Huggingface ↗