Viggle Meridian: геометрически управляемая ре-камера для ComfyUI

ComfyUI Wikinews

Viggle Meridian переснимает видео MiniMax H3 по геометрическому рендеру: подайте готовый клип и путь камеры, чтобы получить новую точку обзора. Две LoRA, два узла, готовые графы.

Viggle Meridian: геометрически управляемая модель ре-камеры для MiniMax H3. Передайте ей существующий клип и путь камеры, и она сгенерирует то же событие, увиденное из другого места. Она поставляется как два LoRA-адаптера на неизменённом трансформере H3, вместе с узлами ComfyUI и двумя готовыми графами в репозитории Viggle/Meridian.
Ре-камера данка: сгенерированные ракурсы, совмещённые с оригинальными кадрами

Данк с новых ракурсов. В монтаже сгенерированные ракурсы смешаны с кадрами, взятыми из оригинального видео.

Как это работает

Meridian разделяет задачу на геометрию и генерацию вместо того, чтобы просить видеомодель вообразить движение камеры с нуля:

  1. Построение геометрии. VGGT-Omega оценивает глубину и позы камеры по входному видео, а выбранные кадры становятся цветными 3D-точками.
  2. Рендер нового ракурса. Для каждого выходного кадра момент из входного видео сопоставляется с выбранной точкой обзора камеры, и точки рендерятся под этим углом. Области, которых оригинальная камера никогда не видела, получаются серыми дырами.
  3. Генерация кадра. Исходное видео и соответствующий ему отрендеренный ролик подаются в Meridian как ссылки, что заполняет дыры и уточняет результат.
VGGT-Omega оценивает глубину и позы камеры, затем точки рендерятся вдоль выбранного пути камеры

Глубина и позы камеры от VGGT-Omega, отрендеренные вдоль выбранного пути. Кадры настоящие; точки и камеры схематичны.

Поскольку геометрический рендер дешёв, как только точки построены, можно предварительно посмотреть кадрирование, заметить пробелы и скорректировать путь до запуска видеомодели. Пространство и время управляются отдельно: выберите, откуда смотреть, выберите, когда смотреть, и решите, как эти два измерения сочетаются. Именно это делает возможными движения в стиле bullet-time, притом что они не единственный трюк модели.

Две LoRA, без объединённого checkpoint

Meridian использует трансформер и VAE MiniMax H3 без загрузки текстового энкодера при выводе: текстовые эмбеддинги задачи предвычислены, а архитектура трансформера не изменена.

КомпонентРоль
teacher_lora/Адаптер ре-камеры, который читает геометрический рендер. 2.5 GiB, своя сетка: --steps 50 --flow-shift 12
turbo_lora/Дистилляция teacher в 3 прохода. 2.5 GiB, по умолчанию --steps 4 --flow-shift 3
legacy/Классический набор: первый релиз, один объединённый трансформер на 61.7 GiB плюс его адаптер, сохранённый для воспроизводимости

Оба адаптера загружаются вместе, и ни один из них не следует сливать с базовыми весами. При запуске по умолчанию они суммируются с весом 1.0, и именно для этой комбинации дистиллировался turbo: слияние теряет точность в bf16, а для turbo оно стирает практически всё обновление.

Запуск в ComfyUI

Viggle публикует оба адаптера в универсальном формате LoRA ComfyUI в папке comfyui/, рядом с двумя файлами пользовательских узлов и двумя графами в формате API. Перетащите любой граф на холст, и фронтенд его соберёт.

  • Загрузите minimax_h3_fl2va_bf16.safetensors из Comfy-Org/MiniMax-H3. Meridian обучен на партиции fl2va модели H3, поэтому файл ref2va не является подходящей базой.
  • Примените comfyui/meridian_teacher_lora.safetensors, а затем comfyui/meridian_turbo_lora.safetensors, оба со strength 1.0.
  • Сэмплируйте с euler на планировщике simple при cfg 1.0. Негативной ветки нет, поэтому подайте одно и то же условие в оба входа.
  • Значение steps в ComfyUI на единицу меньше, чем --steps в репозитории, потому что его планировщики добавляют завершающий ноль: для пары с turbo это MiniMaxH3SigmaShift 3.0 при steps 3, а для одного teacher: shift 12.0 при steps 49.

Выход: 24 fps на холсте класса 768 с подходящим соотношением сторон: 1344x768 для входа 16:9. Допустимые длины: 73, 90, 107, 124, 141, 158, 175 или 243 кадра, примерно от 3 до 10 секунд на дубль. CLI читает кадры по индексу, поэтому исходный материал должен быть непрерывным планом, экспортированным с постоянной частотой 24 fps; он не нормализует частоту кадров и не определяет склейки.

Примеры

Движение камеры, сгенерированное из одной фотографии балета

Движение камеры, созданное из одной фотографии.

Воспроизведение, пауза, продолжение: всплеск замирает, пока движется камера

Время источника продвигается, замирает, пока движется камера, а затем возобновляется.

Построение составного пути камеры вокруг прыжка на мотокроссе

Облёт, боковое смещение и изменение дистанции в рамках одного непрерывного плана.

Требования и ограничения

Эталонная реализация работает на одной CUDA-видеокарте с большим объёмом памяти и на данный момент не поддерживает квантование, выгрузку на CPU или разбиение на несколько GPU, так что потребительские карты пока недоступны. Viggle открыто приглашает сообщество перенести Meridian на менее мощные GPU, такие как RTX 4090, отмечая, что сохранение архитектуры H3 и отказ от текстового энкодера являются полезной отправной точкой для работы по экономии памяти. Геометрическая модель VGGT-Omega загружается отдельно из своего репозитория и не входит в комплект адаптеров.

Доступность

Веса, адаптеры, узлы ComfyUI, графы и CLI для вывода доступны на Hugging Face. В репозитории также есть примеры клипов и прототип Studio для проектирования путей камеры с 3D-обратной связью в реальном времени до запуска генерации.

Комментарии

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

Загрузка комментариев…
Viggle Meridian: геометрически управляемая ре-камера для ComfyUI | ComfyUI Wiki