ComfyUI  >  Рабочие процессы  >  Последовательный перенос стиля с Unsampling

Последовательный перенос стиля с Unsampling

Этот рабочий процесс исследует Unsampling как метод для последовательного переноса стиля в Stable Diffusion. Контролируя латентный шум, Unsampling обеспечивает сохранение движения и композиции видео, делая переходы стиля более плавными и последовательными!

ComfyUI Unsampling Рабочий процесс

Consistent Style Transfer with Unsampling in Stable Diffusion
Хотите запустить этот рабочий процесс?
  • Полностью функциональные рабочие процессы
  • Нет недостающих узлов или моделей
  • Не требуется ручная настройка
  • Отличается потрясающей визуализацией

ComfyUI Unsampling Примеры

ComfyUI Unsampling Описание

Это руководство по Unsampling, написанное Inner-Reflections, значительно способствует исследованию метода Unsampling для достижения драматически последовательного переноса стиля видео.

1. Введение: Контроль латентного шума с Unsampling

Латентный шум является основой всего, что мы делаем с Stable Diffusion. Это удивительно, когда оглядываешься назад и думаешь о том, что мы можем достичь с его помощью. Однако, как правило, мы вынуждены использовать случайное число для генерации шума. Что если мы могли бы контролировать его?

Я не первый, кто использует Unsampling. Он существует уже очень давно и использовался в нескольких различных способах. Однако до сих пор я, как правило, не был доволен результатами. Я потратил несколько месяцев на поиск лучших настроек и надеюсь, что вам понравится это руководство.

Используя процесс выборки с AnimateDiff/Hotshot, мы можем найти шум, который представляет наше исходное видео, и поэтому делает любой перенос стиля проще. Это особенно полезно для поддержания последовательности Hotshot, учитывая его контекстное окно на 8 кадров.

Этот процесс unsampling по существу преобразует наше входное видео в латентный шум, который сохраняет движение и композицию оригинала. Затем мы можем использовать этот представительный шум в качестве отправной точки для процесса диффузии, а не случайного шума. Это позволяет ИИ применять целевой стиль, сохраняя временную последовательность.

Это руководство предполагает, что у вас установлены AnimateDiff и/или Hotshot. Если нет, то руководства доступны здесь:

AnimateDiff: https://civitai.com/articles/2379

Hotshot XL guide: https://civitai.com/articles/2601/

Ссылка на ресурс - Если вы хотите публиковать видео на Civitai, используя этот рабочий процесс. https://civitai.com/models/544534

2. Системные требования для этого рабочего процесса

Рекомендуется компьютер с Windows и графическая карта NVIDIA с как минимум 12 ГБ VRAM. На платформе RunComfy используйте машину среднего уровня (16 ГБ VRAM) или выше. Этот процесс не требует больше VRAM, чем стандартные рабочие процессы AnimateDiff или Hotshot, но занимает почти в два раза больше времени, так как по сути выполняет процесс диффузии дважды—один раз для upsampling и один раз для resampling с целевым стилем.

3. Объяснение узлов и руководство по настройкам

Узел: Пользовательский Самплер

Unsampling: Custom Sampler

Основная часть этого—использование пользовательского самплера, который разделяет все настройки, которые вы обычно видите в обычном KSampler, на части:

Это основной узел KSampler - для unsampling добавление шума/семени не имеет никакого эффекта (насколько мне известно). CFG имеет значение - как правило, чем выше CFG на этом этапе, тем ближе видео будет к вашему оригиналу. Высокий CFG заставляет unsampler более точно соответствовать входным данным.

Узел: Выбор KSampler

Unsampling: KSampler Select

Самое важное—использовать самплер, который сходится! Вот почему мы используем euler вместо euler a, так как последний приводит к большей случайности/нестабильности. Анастральные самплеры, добавляющие шум на каждом шаге, препятствуют чистой сходимости unsampling. Если вы хотите прочитать больше об этом, я всегда нахожу полезной . @spacepxl на reddit предполагает, что DPM++ 2M Karras может быть более точным самплером в зависимости от случая использования.

Узел: Согласование шагов

Unsampling: Align Your Step Scheduler

Любой планировщик будет работать здесь нормально - Align Your Steps (AYS) однако дает хорошие результаты с 16 шагами, поэтому я выбрал его, чтобы уменьшить время вычислений. Больше шагов будет сходиться более полно, но с уменьшающимися отдачами.

Узел: Переворот Sigma

Unsampling: Flip Sigma

Переворот Sigma—это волшебный узел, который вызывает unsampling! Переворачивая расписание sigma, мы обращаем процесс диффузии, переходя от чистого входного изображения к представительному шуму.

Узел: Промпт

Unsampling: Prompt

Промпт имеет большое значение в этом методе по какой-то причине. Хороший промпт может действительно улучшить согласованность видео, особенно если вы хотите усилить трансформацию. В этом примере я подал одни и те же условия как unsampler, так и resampler. Это, как правило, работает хорошо - ничего не мешает вам, однако, подать пустые условия в unsampler - я нахожу это полезным для улучшения переноса стиля, возможно, с небольшой потерей согласованности.

Узел: Пересэмплирование

Unsampling: Resampling

Для пересэмплирования важно, чтобы добавление шума было выключено (хотя наличие пустого шума в настройках выборки AnimateDiff имеет тот же эффект - я сделал и то, и другое для своего рабочего процесса). Если вы добавите шум во время пересэмплирования, вы получите несогласованный, шумный результат, по крайней мере с настройками по умолчанию. Иначе я предлагаю начать с довольно низкого CFG в сочетании с слабыми настройками ControlNet, так как это, кажется, дает наиболее последовательные результаты, при этом позволяя промпту влиять на стиль.

Другие настройки

Оставшиеся мои настройки—это личные предпочтения. Я упростил этот рабочий процесс настолько, насколько это возможно, при этом включив ключевые компоненты и настройки.

4. Информация о рабочем процессе

Рабочий процесс по умолчанию использует модель SD1.5. Однако вы можете переключиться на SDXL, просто изменив контрольную точку, VAE, модель AnimateDiff, модель ControlNet и модель расписания шагов на SDXL.

5. Важные примечания/проблемы

  • Мерцание - Если вы посмотрите на декодированные и предварительно просмотренные латенты, созданные unsampling в моих рабочих процессах, вы заметите некоторые с очевидными цветовыми аномалиями. Точная причина мне не ясна, и, как правило, они не влияют на конечные результаты. Эти аномалии особенно заметны с SDXL. Однако они иногда могут вызывать мерцание в вашем видео. Основная причина, кажется, связана с ControlNets - поэтому уменьшение их силы может помочь. Изменение промпта или даже небольшое изменение планировщика также может сделать разницу. Я все еще сталкиваюсь с этой проблемой время от времени - если у вас есть решение, пожалуйста, дайте мне знать!
    • DPM++ 2M иногда может улучшить мерцание.

6. Куда идти дальше?

Это кажется совершенно новым способом управления согласованностью видео, поэтому здесь есть много чего исследовать. Если вы хотите мои предложения:

  • Попробуйте комбинировать/маскировать шум из нескольких исходных видео.
  • Добавьте IPAdapter для последовательной трансформации персонажей.

Об авторе

Inner-Reflections

  • https://x.com/InnerRefle11312
  • https://civitai.com/user/Inner_Reflections_AI

Хотите больше рабочих процессов ComfyUI?

RunComfy

© Авторское право 2024 RunComfy. Все права защищены.

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