Суть инновации: от разрозненных кадров к стабильной 3D-геометрии
Новый пакет ComfyUI-VizClick-NormalCrafter решает критическую проблему генеративного видео — «дрожание» геометрии. В отличие от методов, обрабатывающих каждый кадр изолированно, NormalCrafter использует видео-диффузионный приоритет (video-diffusion prior). Это позволяет модели учитывать контекст соседних кадров, создавая последовательность карт нормалей (surface normals), где поверхность объекта остается геометрически стабильной во времени.
Карты нормалей кодируют ориентацию поверхности в каждом пикселе (R, G, B каналы = вектор нормали X, Y, Z). Это критически важно для:
- Геометрически осознанного переосвещения (geometry-aware relighting).
- Анализа материалов и VFX-композиции.
- Создания 3D-ассетов из 2D-видео.
Архитектура и ключевые компоненты
Решение состоит из двух основных узлов, работающих в связке. Первый узел выполняет инференс модели, второй — постобработку без использования дополнительных нейросетей.
| Компонент | Роль в пайплайне | Технические детали |
|---|---|---|
| VizClick NormalCrafter | Генерация сырых карт нормалей | Использует Spatiotemporal U-Net и Temporal VAE. Обрабатывает видео окнами (temporal windows) для поддержки длинных клипов. Требует загрузки весов NormalCrafter. |
| VizClick Normal Temporal Stabilizer | Устранение мерцания (flicker) | Использует Farnebäck optical flow из OpenCV. Сопоставляет предыдущий стабилизированный кадр с текущим, применяя адаптивное смешивание (blend) на основе углового согласия векторов. Не требует доп. весов. |
| Модель NormalCrafter | Ядро генерации | Базируется на архитектуре Stable Video Diffusion. Обучение включало Semantic Feature Regularization (SFR) с использованием DINOv2 для сохранения мелких геометрических деталей. |
Почему это важно для AI-сообщества
Ранее получение стабильных нормалей из видео требовало сложных кастомных скриптов или ручного тюнинга параметров сглаживания. NormalCrafter внедряет state-of-the-art подход из исследования ICCV 2025 в удобный визуальный интерфейс ComfyUI. Узел стабилизации особенно важен: он не просто размывает кадры, а использует оптический поток для «переноса» геометрии предыдущего кадра, сохраняя при этом реальные изменения сцены (окклюзии, движение камеры).
Установка и требования
Для работы требуется только одна внешняя модель — NormalCrafter (доступна на Hugging Face: Yanrui95/NormalCrafter). Сам пакет устанавливается через ComfyUI Manager или вручную через Git.
Важные нюансы:
- Модель оценивает ориентацию поверхности, а не метрическую глубину. Она не выдает 3D-меш или калибровку камеры.
- При первом запуске требуется интернет для подгрузки вспомогательных Python-файлов, если они отсутствуют в кэше.
- Разрешение кадров масштабируется до параметра
max_res_dimensionперед инференсом и возвращается к исходному после.
Ограничения
Пользователям следует помнить, что выходной сигнал — это визуализация векторов нормалей, а не физическая 3D-модель. Для получения метрической глубины или реконструкции сцены потребуются дополнительные шаги постобработки или специализированные depth-модели.
Источник: Github ↗
