Qwen-Image 2.1 Consistency LoRA: правки, которые остаются в кадре

ComfyUI Wikinews

LoRA от сообщества для Qwen-Image 2.1 удерживает правки в исходном кадре: тот же промпт и seed дают результат без дрейфа и лишней перерисовки.

Qwen-Image 2.1 Consistency LoRA (Hugging Face) это адаптер от сообщества, который удерживает правку в рамках исходного изображения. Попросите Qwen-Image 2.1 сделать акварельную или комиксную версию фотографии, и результат обычно возвращается на несколько процентов выше, сдвинутым в сторону и разным для каждого seed. Этот LoRA устраняет такой дрейф: тот же промпт, тот же seed, и результат совпадает с источником. ausboss опубликовал веса 27 сентября вместе с двумя чекпойнтами, двумя рабочими процессами ComfyUI и измерениями дрейфа, стоящими за ними.
Акварельный рестайл: без LoRA рисунок получается выше, а с ней остаётся на исходной линии

Пунктирная линия отмечает, где деталь находится в оригинале, а стрелка показывает, насколько она сместилась. В каждом столбце одинаковые промпт и seed, рендер в ComfyUI на весах Comfy-Org INT8 Qwen-Image 2.1.

Что он исправляет

Каждая правка Qwen-Image 2.1 представляет собой новую генерацию, поэтому модель заново собирает всё изображение, а не меняет только ту часть, о которой вы попросили. При глобальном рестайле это проявляется как дрейф: пояс на 40 px ниже, горизонт на 25 px выше, лицо, которое больше не совпадает с оригиналом. При локальной правке это проявляется как перерисовка: пряди волос, вывески и текстура за пределами правки перерисовываются вместе с ней.

LoRA заставляет правку происходить в границах оригинала. Триггерного слова нет. Загрузите её, напишите инструкцию для правки как обычно, и пиксели за пределами изменения останутся на месте.

Измеренный дрейф

Карточка модели приводит цифры по отложенным правкам, которых никогда не было в обучающем наборе. Под смещениями понимается худший угол изображения, измеренный относительно оригинала, а столбец стиля сравнивает каждый рендер с видом обычного Qwen-Image 2.1, где меньшее расстояние означает более близкое совпадение:

отложенные правки, обычный Qwen 2.1 против LoRAбез LoRAшаг 1500шаг 2000
рестайлы (36): смещение худшего угла, медиана24.3 px1.6 px0.9 px
рестайлы: смещение худшего угла, худший случай61.1 px12.9 px3.5 px
рестайлы со смещением менее 3 px3 %75 %97 %
рестайлы (15): цветовое расстояние от вида обычного Qwen7.06.310.9
изменения освещения и локальные правки (12): смещение худшего угла, медиана0.7 px0.1 px0.1 px

Два seed обычного Qwen-Image 2.1 отличаются друг от друга на 7.0 по этой цветовой шкале, поэтому рестайлы на шаге 1500 похожи на обычный Qwen ровно настолько, насколько обычный Qwen похож на самого себя. Шаг 2000 выравнивает точнее, но начинает менять вид: более белая бумага и меньше цвета на туши и гуаши.

Второй набор измеряет перерисовку, а не дрейф, на 18 правках перекраски и удаления по отложенным фотографиям. Каждый рендер сначала выравнивается со своим оригиналом, поэтому считается настоящая перерисовка, а не смещение:

Перекраска уличного угла: обычный Qwen перерисовывает волосы, вывеску магазина и светофор, а LoRA оставляет их нетронутыми
за пределами редактируемого объектабез LoRAшаг 1500шаг 2000
пиксели, заметно изменившиеся12.8 %7.5 %7.5 %
PSNR относительно оригинала27.7 dB31.6 dB31.7 dB

Для справки: кодирование и декодирование изображения только через VAE Qwen-Image 2.1 меняет около 2 % пикселей при 37 dB, так что это нижняя граница. Сама правка всё равно произошла во всех 18 случаях, и с LoRA, и без неё.

Уличный угол, отрендеренный как страница комикса: обычный Qwen растягивает сцену, а LoRA удерживает её на месте Прибрежная дорога в стиле страницы комикса: обычный Qwen поднимает горизонт, а LoRA удерживает его на линии

Сравнение одних и тех же правок с LoRA и без неё, из карточки модели.

Шаг 1500 или шаг 2000

файлпримечания
qwen-image-2.1-consistency.safetensorsшаг 1500, рекомендуемая отправная точка. Сохраняет собственный вид Qwen.
qwen-image-2.1-consistency-2000.safetensorsшаг 2000: самое точное выравнивание, но картины получаются чуть бледнее.

Оба имеют ранг 32 и используют именование ключей ComfyUI (diffusion_model.transformer_blocks.*), и все 384 тензора загружаются на веса Comfy-Org Qwen-Image 2.1.

Запуск в ComfyUI

Адаптер представляет собой LoRA только для модели, поэтому пользовательские ноды не нужны. Чтобы добавить её в любой граф правки Qwen-Image 2.1:

  1. Поместите файл .safetensors в ComfyUI/models/loras/ и добавьте ноду LoraLoaderModelOnly сразу после загрузчика модели со strength 1.0. Меньшие значения strength возвращают часть дрейфа.
  2. Используйте ноду Text Encode Qwen Image 2.1, указав ваше изображение как image_1, resolution 0, а инструкцию правки как промпт.
  3. Сэмплируйте выход latent энкодера с помощью KSampler при 25 шагах, CFG 1, euler и simple, denoise 1. Латент любого другого размера заставит Qwen масштабировать по соотношению размеров, и никакая LoRA это не исправит.
  4. Декодируйте с помощью Декодировать VAE, а затем Разделить изображение с альфа-каналом, поскольку VAE Qwen-Image 2.1 декодирует RGBA.

Пример графа Qwen-Image 2.1 Edit из этого пакета это тот, откуда взяты эти цифры. Вместе с репозиторием поставляются два готовых рабочих процесса:

Второй рабочий процесс отключает LoRA и вместо этого использует ноду Realign to Source, чтобы выровнять завершённую правку обратно с оригиналом; это лучший путь для правок, которым нужно что-то переместить. Оба были собраны на нодах ComfyUI-AusBoss от автора, но карточка отмечает, что подойдут любые эквивалентные ноды.

Как это обучалось

Набор данных построен на реальных правках Qwen-Image 2.1, при этом дрейф измерен и вычтен из каждой цели, чтобы каждый обучающий пример оставался в рамках своего источника:

  • 950 пар правок из 257 изображений: 110 портретов, отрендеренных с помощью Qwen-Image 2.1 для этого набора данных, 133 фотографии с Unsplash и 14 отобранных вручную изображений из референсных папок автора.
  • Типы пар: прямые пары (изображение в правку), обратные пары (правка обратно в изображение) и локальные правки, сохраняющие пиксели оригинала везде за пределами редактируемого объекта.
  • Обучение: ostris/ai-toolkit с arch: qwen_image_2 на базе Comfy-Org INT8 ConvRot, референс сохранялся в размере цели. Ранг 32, alpha 32, AdamW8bit при lr 1e-4, пакет 1, таймстемпы shift, целевое разрешение 1408. 3 000 шагов на одной H100 заняли около 1.9 с на шаг, с чекпойнтами каждые 250.

Ограничения

Карточка прямо говорит о том, насколько узок этот релиз. В обновлении от 28 сентября автор пишет, что набор данных, возможно, переобучил LoRA на определённых типах правок, и что она может игнорировать запросы, требующие реального движения, например новую позу или поворот головы. Версия v2 запланирована после сборки нового набора данных, а до тех пор для таких правок рекомендуется рабочий процесс realign.

Другие заявленные ограничения:

  • Пока не протестирована с 4- или 8-шаговыми turbo-LoRA, при 2 MP или при CFG выше 1.
  • Рестайлы в стиле комикса и аниме перерисовывают каждый контур, поэтому некоторые формы всё ещё могут смещаться на несколько пикселей сами по себе. Худший рестайл на шаге 1500 сместился на 12.9 px в углу.
  • Он удерживает изображение на месте. Он не делает слабую правку сильнее: если обычный Qwen вообще не выполняет правку, LoRA этого не изменит.

Доступность

Скачать qwen-image-2.1-consistency.safetensors (152 MB)

Комментарии

Войдите через GitHub, чтобы участвовать в обсуждении.

Загрузка комментариев…
Qwen-Image 2.1 Consistency LoRA: правки, которые остаются в кадре | ComfyUI Wiki