Это руководство по Unsampling, написанное Inner-Reflections, значительно способствует исследованию метода 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
Рекомендуется компьютер с Windows и графическая карта NVIDIA с как минимум 12 ГБ VRAM. На платформе RunComfy используйте машину среднего уровня (16 ГБ VRAM) или выше. Этот процесс не требует больше VRAM, чем стандартные рабочие процессы AnimateDiff или Hotshot, но занимает почти в два раза больше времени, так как по сути выполняет процесс диффузии дважды—один раз для upsampling и один раз для resampling с целевым стилем.
Основная часть этого—использование пользовательского самплера, который разделяет все настройки, которые вы обычно видите в обычном KSampler, на части:
Это основной узел KSampler - для unsampling добавление шума/семени не имеет никакого эффекта (насколько мне известно). CFG имеет значение - как правило, чем выше CFG на этом этапе, тем ближе видео будет к вашему оригиналу. Высокий CFG заставляет unsampler более точно соответствовать входным данным.
Самое важное—использовать самплер, который сходится! Вот почему мы используем euler вместо euler a, так как последний приводит к большей случайности/нестабильности. Анастральные самплеры, добавляющие шум на каждом шаге, препятствуют чистой сходимости unsampling. Если вы хотите прочитать больше об этом, я всегда нахожу полезной . @spacepxl на reddit предполагает, что DPM++ 2M Karras может быть более точным самплером в зависимости от случая использования.
Любой планировщик будет работать здесь нормально - Align Your Steps (AYS) однако дает хорошие результаты с 16 шагами, поэтому я выбрал его, чтобы уменьшить время вычислений. Больше шагов будет сходиться более полно, но с уменьшающимися отдачами.
Переворот Sigma—это волшебный узел, который вызывает unsampling! Переворачивая расписание sigma, мы обращаем процесс диффузии, переходя от чистого входного изображения к представительному шуму.
Промпт имеет большое значение в этом методе по какой-то причине. Хороший промпт может действительно улучшить согласованность видео, особенно если вы хотите усилить трансформацию. В этом примере я подал одни и те же условия как unsampler, так и resampler. Это, как правило, работает хорошо - ничего не мешает вам, однако, подать пустые условия в unsampler - я нахожу это полезным для улучшения переноса стиля, возможно, с небольшой потерей согласованности.
Для пересэмплирования важно, чтобы добавление шума было выключено (хотя наличие пустого шума в настройках выборки AnimateDiff имеет тот же эффект - я сделал и то, и другое для своего рабочего процесса). Если вы добавите шум во время пересэмплирования, вы получите несогласованный, шумный результат, по крайней мере с настройками по умолчанию. Иначе я предлагаю начать с довольно низкого CFG в сочетании с слабыми настройками ControlNet, так как это, кажется, дает наиболее последовательные результаты, при этом позволяя промпту влиять на стиль.
Оставшиеся мои настройки—это личные предпочтения. Я упростил этот рабочий процесс настолько, насколько это возможно, при этом включив ключевые компоненты и настройки.
Рабочий процесс по умолчанию использует модель SD1.5. Однако вы можете переключиться на SDXL, просто изменив контрольную точку, VAE, модель AnimateDiff, модель ControlNet и модель расписания шагов на SDXL.
Это кажется совершенно новым способом управления согласованностью видео, поэтому здесь есть много чего исследовать. Если вы хотите мои предложения:
Inner-Reflections
© Авторское право 2024 RunComfy. Все права защищены.