Home » Категории карточек » Замена лица — Pulid + InstantID (ZenID) + Reactor

Замена лица — Pulid + InstantID (ZenID) + Reactor

Замена лица — Pulid+InstantID (ZenID)+Reactor предполагает пример изменения лица по описанию с использованием референса используя маску и сразу несколько нод для замены лица. Это пример последовательного использования замены лица 3в1. Схема позволяет тонко настроить частичную или полную перегенерацию на различных этапах.

Возможности:

  • полная перегенерация изображения используя референс для стиля и лица с описанием необходимых изменений в автоматическом / полу-ручном / ручном способе.
  • изменение части или всего лица с помощью ручной или автоматической маски,
  • комбинированный подход с использованием нескольких одновременно действующих способов.
juggernautXL
9
ComfyUI

Замена лица — Pulid + InstantID (ZenID) + Reactor

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

  • получать автоописания лица и/или референса стиля.
  • сохранение исходного референса благодаря использованию маски и Controlnet
  • работа с мелким лицом.
  • копирование стиля референса
Возможность новой генерации предусмотрена в группе Generate — используя PuLID и Reactor. А для замены лиц на готовой картинке предусмотрены несколько вариантов в группе FaceSwap-StyleSwap(XL)упор сделан на работу в маске для большей сохранности оригинала и возможности частичной замены лица.
Согласованность референсов обеспечивается за счёт controlnet и таких параметров как сила (weight) / начало (start_at) / конец (end_at), а так же непосредственно параметром KSampler шумоподавление (denoise).
 
 Далее рассмотрим группу FaceSwap-StyleSwap(XL)В схеме используются 3 разных расширения работающих вместе или по отдельности:
 
1) InstantID-ZenID. Хорошо переносит лицо, но для согласования стилей требует настройки параметра Ksampler Denoise=0.50.65. Перегенерирует не только лицо — поэтому важно использовать маску для сохранения оригинала. Внимание, с image1 берётся расположение головы —  поэтому данная группа плохо подходит для полной перегенерации по подсказке.
2) PuLID. Хорошо согласует стиль оригинала с новым лицом. Отлично подходит для полной перегенерации. 
3) Reactor(mask). Описание роли не играет, маску можно наносить на часть лица, работает только с человеческими лицами. Лицо накладывает после генерации! Может работать напрямую с исходником, без генерации. Внимание на положение маски, особенно если используется полная перегенерация и в ней положение лица отличается от референсного (image1) на котором нанесена маска.
 
Для сохранения лучшего результата из задействованных групп предусмотрен соответствующий переключатель Switch (Result).
Алгоритм

Особенностями PuliD является хорошее следование стилю, а следовательно идеально подходит для полной перегенерации по подсказке или с сочетанием референса стиля .

  1. image1 - загружаем исходное изображение на котором планируется заменить лицо
  2. image2 - загружаем референс лица.
  3. image3 (необязательно) - вставляем референс стиля если планируется использовать стиль, для этого включаем группу CopyStyle(XL).
  4. Далее включаем и настраиваем в зависимости от потребностей:
    - Generator
    - если хотим обработать готовое изображение помещённое в image1 включаем: ControlNet1-general (Сила и Процент конца=0.5), параметром KSampler denoise=0.65-1 регулируем степень изменений. Естественно подсказка должна согласовываться с image1.
    - если нужна новая генерация  KSampler denoise=1
    - если хотим скопировать стиль с image3 включаем: CopyStyle(XL) (weight_type=style transfer). Допускается дублировать сюда изображение с image1 для большей схожести со стилем и деталями оригинала.

    - PuLID

  5.  Прописываем подсказку
  6. Выбираем соответствующий источник сохранения результата в ноде Switch (Result)
Пример обработки image1 - карикатурный стиль

Пример изменения изображения на карикатурный (в image3 помещён оригинал как и в image1, включён CopyStyle(XL), KSampler denoise=0.65)

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

Пример новой генерации

В случае полной перегенерации с image1 берётся только разрешение сторон, а что туда помещаем неважно. В подсказке прописываем не только стиль, но и композицию: Мужчина едет на мотоцикле по пляжу с высунутым языком. Карикатура. Преувеличенные комичные черты характера лица и пропорции тела для создания карикатурного эффекта, мимика запредельного уровня, композиция подчеркивающая искажения, драматические позы, карикатурные элементы повествования.

Примеры KSampler denoise=1. Первый "результат без стиля" - без задействованной группы CopyStyle(XL) и второй результат с задействованной группой CopyStyle(XL) где в качестве стиля используется референс лица. Далее идёт парочка сравнений результата с разными референсами.

a03a371408c9abda36aea938ba35c534 ComfyUI_1758360225
c9c7d89bf20ca325d11ec282d3bf5569 ComfyUI_1758360635
Алгоритм

Особенностями PuliD является хорошее смешивание .

  1. image1 - загружаем исходное изображение на котором планируется заменить лицо, в данном случае зверушку
  2. image2 - загружаем референс лица.
  3. image3 (необязательно) - вставляем референс стиля если планируется использовать стиль, для этого включаем группу CopyStyle(XL).
  4. Далее включаем и настраиваем в зависимости от потребностей:
    - Generator KSampler denoise=0.75 (если есть подсказка по животному) - 0.55 (если подсказка пустая)
    - Необязательно, только если хотим скопировать стиль с image3 включаем: CopyStyle(XL) (weight_type=style transfer).

    - PuLID (обычно weight=1 но допускается немного увеличить для усиления роли лица референса)

  5.  Прописываем подсказку животного или оставляем пустым
  6. Выбираем соответствующий источник сохранения результата в ноде Switch (Result)
Пример обработки image1

Пример изменения изображения на зверушке, KSampler denoise=0.55

В подсказке прописываем только новый стиль: лев с разинутой пастью, ультрареалистичное цифровое изображение, изображающее гнев, Арт Бреннер , резкий портрет, чрезвычайно сердитый, выполненный в corona, резкое изображение, вызывающий, готовый наступить на вас, безумная картина..

Пример разных подсказок

Пример изменения изображения image1, KSampler denoise=0.75)

 

Первый пример с подходящим стилем:

Рыжий лисёнок в стиле аниме чиби, простой стиль, белый фон, чёткие линии

 

 

Второй пример с "другим" стилем:

лев с разинутой пастью, ультрареалистичное цифровое изображение, изображающее гнев, Арт Бреннер , резкий портрет, чрезвычайно сердитый, выполненный в corona, резкое изображение, вызывающий, готовый наступить на вас, безумная картина.

a03a371408c9abda36aea938ba35c534 ComfyUI_1758365455
a03a371408c9abda36aea938ba35c534 ComfyUI_1758364107

Протестируем возможность частичной смены лица, важно выставить KSampler denoise=0.55 без подсказки:

Алгоритм

Использование Reactor целесообразно только совместно с Pulid или InstantID в совокупности с Controlnet (Сила и Процент конца=0.5 - что бы дать больше свободы для лица).

  1. image1 - загружаем исходное изображение на котором планируется заменить лицо
  2. image2 - загружаем референс лица.
  3. image3 - вставляем референс стиля, в случае замены лица референсом будет дубликат картинки вставленной в image1.
  4. Рисуем маску на image1 (актуально для частичной маски на лице) или используем автомаску для лица с использованием группы automask-image1.
  5. Включаем:
    - InstantID
    - PuLID
    - ControlNet1-general (Сила и Процент конца=0.5)
    - CopyStyle(XL) (weight_type=style transfer)
    - Generator (denoise=1)
  6. Выбираем соответствующий источник сохранения результата в ноде Switch (Result)

Результат работы чисто Reactor схож с лёгким смешиванием, а в совокупности с Pulid даёт хорошее сочетание по консистентности и согласованности персонажа:

Выводы

  • из-за отсутствия seed и подсказки невозможно сделать варианты при использовании одного лишь Reactor, и если на выходе нет усов - значит их и не будет как ни крути.
  • плохо подходит для стилизованных лиц или стилизованного референса. Референсы должны быть в одном стиле для достижения оптимального результата.
  • эмоции с референса лица не передаются, решающим будет референс на котором меняется лицо.

Все проблемы решаются совокупностью применения InstantID и / или PuLID в сочетании с Controlnet. Для согласования стиля дополнительно можно закинуть Оригинал в image3 и включить группу CopyStyle(XL).

Пример работы InstantID  + PuLID + Reactor + Controlnet (Сила и Процент конца=0.5) + CopyStyle(XL) с дублированным оригиналом в image3:

juggernautXL_v9Rundiffusionphoto2-Little Red Riding Hood bra portrait adult woman-1-Time_20250205234535 ComfyUI_1758349284

Reviews

There are no reviews yet.

Be the first to review “Замена лица — Pulid + InstantID (ZenID) + Reactor”