Open Sora: инструмент для создания видео с открытым исходным кодом для оптимизации согласованности лиц

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

Open-Sora - это проект с открытым исходным кодом, позволяющий всем желающим эффективно генерировать видео высокого качества. Он разработан командой hpcaitech и предоставляет инструменты для создания видео из текста или изображений, поддерживая различные разрешения и продолжительность. Проект имеет полностью открытый исходный код, что делает весовые коэффициенты модели, код и процесс обучения общедоступными и поощряет вклад сообщества. Последняя версия, Open-Sora 2.0, по производительности близка к лучшим моделям в отрасли, ее обучение стоит всего 200 000 долларов, а видео генерируется быстро и качественно. Пользователи могут бесплатно скачать код, запустить его локально или воспользоваться интерфейсом Gradio компании Hugging Face. Open-Sora предназначена для создателей, разработчиков и исследователей, способствуя популярности и инновациям в создании видео и предоставляя при этом коммерческий продукт:Видео Океан .

Open Sora:优化脸部一致性的开源视频生成工具

 

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

  • Генерация текста в видео: введите текстовое описание, чтобы сгенерировать видео, соответствующее содержанию.
  • Генерация изображений в видео: создание динамических видеороликов на основе одного изображения.
  • Расширение видео: увеличивает длину видео или добавляет контент.
  • Поддержка нескольких разрешений: поддерживается вывод видео с разрешением от 144p до 768p.
  • Гибкая продолжительность: генерируйте видео длительностью от 2 секунд до 16 секунд.
  • Разнообразные соотношения сторон: поддерживаются форматы 16:9, 9:16, 1:1 и другие.
  • Модели и обучение с открытым исходным кодом: предоставление весов моделей и обучающего кода, поддержка разработки под заказ.
  • Эффективный вывод: оптимизированные алгоритмы снижают требования к аппаратному обеспечению и позволяют генерировать видео на одном GPU.
  • Оптимизация слов подсказок: поддержка GPT-4o для улучшения слов подсказок и повышения качества генерации.
  • Скоринг движений: регулируйте динамику видео с помощью скоринга движений.

 

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

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

Чтобы использовать Open-Sora, пользователям необходимо настроить свое окружение Python и установить зависимости. Ниже приведены подробные шаги:

  1. Создание виртуальной среды
    Создайте виртуальную среду с Python 3.10, чтобы избежать конфликтов зависимостей:

    conda create -n opensora python=3.10
    conda activate opensora
  1. Клонирование кодовой базы
    Загрузите проект Open-Sora с GitHub:

    git clone https://github.com/hpcaitech/Open-Sora
    cd Open-Sora
    
  2. Установка зависимостей
    Убедитесь, что версия PyTorch выше 2.4.0, выполнив следующую команду:

    pip install -v .
    

    Если требуется режим разработки, используйте его:

    pip install -v -e .
    
  3. Установка библиотек ускорения
    Использование Open-Sora xformers ответить пением flash-attn Повышение производительности. Устанавливается в соответствии с версией CUDA:

    pip install xformers==0.0.27.post2 --index-url https://download.pytorch.org/whl/cu121
    pip install flash-attn --no-build-isolation
    

    Для ускорения рассуждений можно использовать скомпилированные вручную flash-attention::

    git clone https://github.com/Dao-AILab/flash-attention
    cd flash-attention/hopper
    python setup.py install
    
  4. Скачать модельные веса
    Open-Sora 2.0 поддерживает создание видео в форматах 256p и 768p, а модели можно загрузить с Hugging Face или ModelScope:

    pip install "huggingface_hub[cli]"
    huggingface-cli download hpcai-tech/Open-Sora-v2 --local-dir ./ckpts
    

    или использовать ModelScope:

    pip install modelscope
    modelscope download hpcai-tech/Open-Sora-v2 --local_dir ./ckpts
    
  5. Проверка установки
    Убедитесь, что окружающая среда в норме:

    python -c "import opensora; print(opensora.__version__)"
    

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

Open-Sora поддерживает преобразование текста в видео, изображения в видео и многие другие функции с простым управлением. Ниже представлено подробное руководство:

Генерация текста в видео

Open-Sora оптимизирует процесс преобразования изображения в видео, но также поддерживает прямое преобразование текста в видео. Для повышения качества рекомендуется использовать конвейер преобразования текста из изображения в видео.

  1. Подготовка подсказок
    Напишите подробное описание текста, например "Океан в шторм, огромные волны бьются о скалы и темные тучи". Чем конкретнее слова подсказки, тем лучше результаты.
  2. Выполните команду generate
    Генерирует видео 256x256:

    torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
    

    Генерирует видео 768x768 (требуется несколько графических процессоров):

    torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_768px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
    
  3. Параметры настройки
    • --aspect_ratio: Установите соотношение сторон, например. 16:9 возможно 1:1.
    • --num_frames: Установите количество кадров в диапазоне 4k+1 (максимум 129 кадров).
    • --offload True: Включите оптимизацию памяти для устройств нижнего ценового диапазона.
  4. Посмотреть результаты
    Созданное видео сохраняется в файле samples папку в формате MP4.

Генерация изображений в видео

  1. Подготовка эталонных изображений
    Загрузите изображение и сохраните его как input.png.
  2. Выполните команду generate
    Создает видео в формате 256p:

    torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
    

    Создает видео в формате 768p:

    torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/768px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
    
  3. Оптимизация динамических эффектов
    пользоваться --motion-score Регулирует степень динамики экрана. По умолчанию установлено значение 4. Пример:

    torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A running horse" --ref horse.png --motion-score 7
    

Оптимизация слов реплики

Open-Sora поддерживает использование GPT-4o для оптимизации слов подсказок и улучшения качества генерации:

  1. Установите ключ API OpenAI:
    export OPENAI_API_KEY=sk-xxxx
    
  2. Выполните команду optimise:
    torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "raining, sea" --refine-prompt True
    

Работа с интерфейсом Gradio

Open-Sora предоставляет интерактивный интерфейс Gradio:

  1. Интерфейс запуска:
    python scripts/demo.py --model-type v2-768px
    
  2. Доступ в браузере http://localhost:7860.
  3. Введите слова или загрузите изображения, настройте разрешение и частоту кадров, нажмите "Generate", чтобы создать видео.
  4. Можно включить оптимизационную подсказку "Refine prompt" (требуется ключ OpenAI API).

Обучение индивидуальной модели

Пользователи могут обучать модели на основе собственных наборов данных:

  1. Подготовьте набор данных: CSV-файл, содержащий путь и описание видео.
  2. Измените файл конфигурации:configs/opensora-v2/train/stage1.pyУстановите путь к данным.
  3. Беговая тренировка:
    torchrun --nproc_per_node 8 scripts/train.py configs/opensora-v2/train/stage1.py --data-path your_data.csv
    

эффективность вычислений

Open-Sora оптимизирует эффективность вычислений, и результаты тестов выглядят следующим образом (H100 GPU, 50 шагов выборки):

  • 256x256: один GPU - 60 секунд, память 52,5 ГБ; 4 GPU - 34 секунды, память 44,3 ГБ.
  • 768x768: 8 GPU 276 секунд, 44,3 ГБ видеопамяти.

предостережение

  • требования к оборудованиюРекомендуется NVIDIA H100 или A100 с не менее чем 24 ГБ видеопамяти. Для устройств низкого класса доступны более низкие разрешения.
  • Качество подсказок: Подробные описания могут значительно улучшить результаты видео.
  • лицензии: Open-Sora использует лицензию MIT, которая разрешает коммерческое использование, в соответствии с условиями и положениями.

 

сценарий применения

  1. Создание коротких видеороликов
    Блоггеры могут использовать Open-Sora для создания рекламных видеороликов, например "Огни города мерцают ночью", для размещения на платформах социальных сетей.
  2. Образовательная анимация
    Учителя могут создавать анимации, например, "планеты, вращающиеся вокруг солнца", чтобы повысить привлекательность занятий.
  3. Дизайн игровой сцены
    Разработчики генерируют динамические сцены на основе концепт-карты для использования в качестве фона или переходов в игре.
  4. Исследование искусственного интеллекта
    Исследователи могут модифицировать код модели для тестирования новых алгоритмов или наборов данных, чтобы усовершенствовать методы генерации видео.

 

QA

  1. Какова производительность Open-Sora 2.0?
    В обзоре VBench, Open-Sora 2.0 и OpenAI Сора Разрыв сокращается до 0,691 TP3T, что близко к HunyuanVideo 11B и Step-Video 30B.
  2. Какие разрешения и продолжительность поддерживаются?
    Поддерживаются форматы от 144p до 768p, длительность видео от 2 секунд до 16 секунд, соотношение сторон 16:9, 9:16 и другие.
  3. Как оптимизировать качество генерации?
    Используйте подробные подсказки для настройки motion-score(1-7), или включите GPT-4o Оптимизировать слова подсказки.
  4. Могу ли я пользоваться им бесплатно?
    Open-Sora - это полностью открытый исходный код, модели и код находятся в свободном доступе под лицензией MIT.
© заявление об авторских правах

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

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

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