VideoGrain: текстовые подсказки для локального редактирования видео - проект с открытым исходным кодом

Общее введение

VideoGrain - это проект с открытым исходным кодом, посвященный многозерновому редактированию видео, разработанный командой xAI и размещенный на GitHub. Этот проект основан на работе "VideoGrain: модуляция внимания в пространстве-времени для многозернового редактирования видео", которая была выбрана для участия в конференции ICLR 2025. Он позволяет добиться тонкого редактирования видеоконтента на уровне категории, экземпляра и локальном уровне за счет модуляции механизма пространственно-временного внимания в модели диффузии. По сравнению с традиционными методами, VideoGrain решает проблему семантического выравнивания текста и управления регионами, а также проблему связи признаков, и может выполнять высококачественное редактирование без дополнительного обучения. Проект предоставляет полный код, руководство по установке и предварительно обученные модели для разработчиков, исследователей и энтузиастов видеомонтажа и уже привлек внимание академических сообществ и сообществ с открытым исходным кодом.

VideoGrain:文本提示对视频进行局部编辑的开源项目

 

Список функций

  • Редактирование видео с несколькими гранулами: Поддержка точной модификации категорий (например, замена "человека" на "робота"), экземпляров (например, конкретных объектов) и локальных деталей (например, движений рук) в видео.
  • Нулевая возможность редактирования сэмплов: Не нужно переучиваться для конкретного видео, просто введите текстовые подсказки для завершения редактирования.
  • пространственно-временная модуляция внимания: Повышение точности редактирования и качества видео за счет улучшения перекрестного внимания (текст к региону) и самовнимания (разделение признаков внутри региона).
  • Открытый исходный код и моделированиеПолный код реализации и предварительно обученные модели предоставляются для легкого воспроизведения и расширения пользователями.
  • модель, совместимая с диффузией: Основан на таких фреймворках, как diffusers и FateZero, что позволяет легко интегрировать его в существующие процессы создания видео.
  • Поддержка нескольких документов: Он может обрабатывать видео, изображения и другое содержимое, загружаемое пользователями, и выводить результаты редактирования видео.

 

Использование помощи

VideoGrain требует некоторых знаний в области программирования и аппаратной поддержки, но процедуры установки и эксплуатации подробно описаны в репозитории GitHub. Ниже приведено подробное руководство по установке и использованию, которое поможет пользователям быстро начать работу.

Процесс установки

  1. Создание среды Conda
    Создайте автономную среду Python 3.10 и активируйте ее, введя в терминале следующую команду:
conda create -n videograin python=3.10
conda activate videograin

Убедитесь, что Conda установлена, если нет, перейдите на сайт Anaconda, чтобы загрузить ее.

  1. Установка PyTorch и сопутствующих зависимостей
    VideoGrain опирается на PyTorch и его поддержку CUDA, поэтому рекомендуется использовать GPU-ускорение. Для установки выполните следующую команду:
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia
pip install --pre -U xformers==0.0.27

xformers можно оптимизировать для памяти и скорости, пропустить, если они не нужны.

  1. Установка дополнительных зависимостей
    Выполните следующую команду из корня репозитория, чтобы установить все зависимые библиотеки:
pip install -r requirements.txt

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

  1. Загрузите предварительно обученную модель
    Для работы VideoGrain требуются весовые коэффициенты моделей, такие как Stable Diffusion 1.5 и ControlNet. Запустите скрипт, предоставленный в репозитории:
bash download_all.sh

Это автоматически загрузит базовую модель в указанную директорию. Для ручной загрузки посетите ссылки Hugging Face или Google Drive (подробности см. в README).

  1. Подготовка весов препроцессора ControlNet
    Загрузите веса аннотаторов (например, DW-Pose, depth_midas и т. д.), около 4 ГБ. используйте следующую команду:
gdown https://drive.google.com/file/d/1dzdvLnXWeMFR3CE2Ew0Bs06vyFSvnGXA/view?usp=drive_link
tar -zxvf videograin_data.tar.gz

Распакуйте файлы и поместите их в папку ./annotator/ckpts Каталог.

Использование

После завершения установки пользователи могут запускать VideoGrain для редактирования видео через командную строку. Ниже приводится схема работы основных функций:

1. Редактирование видео с несколькими гранулами

  • Подготовка входного файла
    Поместите редактируемый видеофайл в каталог проекта (например. ./input_video.mp4). Поддержка распространенных форматов, таких как MP4, AVI.
  • Подготовка текстовых оповещений
    Укажите в сценарии инструкции по редактированию, например:
prompt = "将视频中的汽车替换为保时捷"

Поддерживайте замену категории (например, "Car" на "Porsche"), изменение экземпляра (например, "Specific Character" на "Iron Man ") и локальные корректировки (например, "движение руки" на "взмах руки").

  • Выполните команду редактирования
    Введите его в терминал:
python edit_video.py --input ./input_video.mp4 --prompt "将视频中的汽车替换为保时捷" --output ./output_video.mp4

После редактирования результат сохраняется в ./output_video.mp4.

2. Редактирование нулевого образца

  • Прямое редактирование без обучения
    Основная сила VideoGrain - возможность работы с нулевой выборкой. Пользователям нужно только предоставить видео и подсказки, предварительное обучение не требуется. Пример:
python edit_video.py --input ./sample_video.mp4 --prompt "将狗替换为猫" --output ./edited_video.mp4
  • Параметры настройки
    проходной --strength Параметр управляет интенсивностью редактирования (0,0-1,0, по умолчанию 0,8):

python edit_video.py --input . /sample_video.mp4 --prompt "Replace dog to cat" --strength 0.6

3. модуляция темпорального внимания

  • Улучшенное управление переходом от текста к области
    VideoGrain автоматически оптимизирует перекрестное внимание, чтобы подсказки воздействовали только на целевую область. Например, если подсказка звучит так: "Измените одежду персонажа на красную", посторонние фоны не будут затронуты.
  • Повышенное разделение функций
    Механизм самонаблюдения повышает согласованность деталей внутри регионов и снижает интерференцию между регионами. Пользователям не нужно выполнять ручные настройки, они вступают в силу автоматически во время выполнения программы.

Меры предосторожности при обращении

  • требования к оборудованию
    Рекомендуется использовать графические процессоры NVIDIA (например, A100 или RTX 3090) с объемом видеопамяти не менее 12 ГБ. процессор может работать медленнее.
  • Предложения с подсказками
    Подсказки должны быть конкретными и четкими, например, "Замените персонажа слева на робота" лучше, чем расплывчатое "Отредактируйте персонажа".
  • Отладка и ведение журнала
    Если что-то пошло не так, проверьте ./logs каталог, или добавив файл журнала после команды --verbose Просмотрите подробный вывод.

Основные функции

  • Мультигранулярное редактирование в действии
    Предположим, пользователь хочет заменить слово "велосипед" на слово "мотоцикл" в видео, просто введите путь к видео и ключевое слово, и VideoGrain распознает все велосипеды и заменит их на мотоциклы, сохраняя последовательность действий и фон.
  • Расширения с открытым исходным кодом
    Изменяемый пользователем edit_video.py параметры модели в каркасе диффузоров или добавить новые функции на основе каркаса диффузоров, например, поддержку более высоких разрешений или большего количества типов редактирования.
  • Поддержка общества
    В репозиториях GitHub есть доски вопросов, где пользователи могут оставить свои проблемы или посмотреть, что сделали другие.

Выполнив описанные выше действия, пользователи смогут быстро приступить к работе с VideoGrain и выполнять задачи по редактированию видео - от простых замен до сложных локальных корректировок.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...