AI个人学习
和实操指南
豆包Marscode1

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

综合介绍

Open-Sora 是一个开源项目,旨在让任何人都能高效生成高质量视频。它由 hpcaitech 团队开发,提供从文本或图像生成视频的工具,支持多种分辨率和时长。项目完全开源,公开模型权重、代码和训练流程,鼓励社区贡献。最新版本 Open-Sora 2.0 在性能上接近行业顶尖模型,训练成本仅 20 万美元,生成视频速度快且质量高。用户可以免费下载代码,在本地运行,或通过 Hugging Face 的 Gradio 界面体验。Open-Sora 适合创作者、开发者与研究人员,推动视频创作的普及与创新,同时提供了商业产品:Video Ocean

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


 

功能列表

  • 文本到视频生成:输入文字描述,生成符合内容的视频。
  • 图像到视频生成:基于单张图片,生成动态视频。
  • 视频扩展:延长视频时长或补充内容。
  • 多分辨率支持:支持 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. 克隆代码库
    从 GitHub 下载 Open-Sora 项目:

    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. 运行生成命令
    生成 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 视频(需要多 GPU):

    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. 运行生成命令
    生成 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. 设置 OpenAI API 密钥:
    export OPENAI_API_KEY=sk-xxxx
    
  2. 运行优化命令:
    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.5GB 显存;4 GPU 34 秒,44.3GB 显存。
  • 768x768:8 GPU 276 秒,44.3GB 显存。

注意事项

  • 硬件要求:推荐 NVIDIA H100 或 A100,显存至少 24GB。低配设备可降低分辨率。
  • 提示词质量:详细的描述能显著提升视频效果。
  • 许可证:Open-Sora 使用 MIT 许可证,允许商用,但需遵守条款。

 

应用场景

  1. 短视频创作
    博主可以用 Open-Sora 生成宣传视频,如“城市夜景灯光闪烁”,用于社交平台分享。
  2. 教育动画
    教师可生成教学动画,如“行星绕太阳旋转”,增强课堂吸引力。
  3. 游戏场景设计
    开发者基于概念图生成动态场景,用于游戏背景或过场动画。
  4. AI 研究
    研究人员可修改模型代码,测试新算法或数据集,推动视频生成技术发展。

 

QA

  1. Open-Sora 2.0 的性能如何?
    在 VBench 评测中,Open-Sora 2.0 与 OpenAI Sora 的差距缩小至 0.69%,接近 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 许可证。
未经允许不得转载:首席AI分享圈 » Open Sora:优化脸部一致性的开源视频生成工具
zh_CN简体中文