Ovi:双骨干跨模态融合的音频-视频生成技术详解

Ovi:双骨干跨模态融合用于音频-视频生成

*Chetwin Low * 1 , Weimin Wang * † 1 , Calder Katyal 2

  • 同等贡献,† 项目负责人
    1 Character AI, 2 耶鲁大学

视频演示

[final_ovi_trailer.mp4]

:glowing_star: 主要特性

Ovi是一个类似veo-3的视频+音频生成模型,能够同时从文本或文本+图像输入生成视频和音频内容。

  • :clapper_board: 视频+音频生成:同时生成同步的视频和音频内容
  • 🎵 高质量音频分支:使用高质量内部音频数据集从头设计和预训练我们的5B音频分支
  • 📝 灵活输入:支持仅文本或文本+图像条件
  • ⏱️ 5秒视频:生成5秒视频,24 FPS,720×720区域,支持各种宽高比(9:16, 16:9, 1:1等)
  • :bullseye: 高分辨率支持:可尝试960×960区域(如720×1280, 704×1344等)

:bullseye: 高分辨率示例(1280×704, 1504×608, 1344×704等)

  • 🧠 训练分辨率:我们的模型完全在720×720分辨率下训练
  • 🚀 放大能力:尽管训练分辨率较低,Ovi能够自然生成更高分辨率如960×960和可变宽高比视频,同时保持时间和空间一致性

📋 待办事项

  • 发布研究论文和演示网站
  • 11B模型检查点
  • 推理代码
  • 文本或文本+图像作为输入
  • Gradio应用程序代码
  • 多GPU推理,支持或不支持序列并行
  • fp8权重和改进的内存效率
  • qint8量化
  • 改进序列并行实现的效率
  • 使用FSDP实现分片推理
  • 视频创建示例提示和格式
  • 使用更高分辨率数据和RL进行微调以改进性能
  • 新功能,如更长视频生成,参考语音条件
  • 蒸馏模型以加快推理速度
  • 训练脚本

:artist_palette: 简单创建方式

我们提供示例提示来帮助您开始使用Ovi:

  • 文本到音频-视频(T2AV):example_prompts/gpt_examples_t2v.csv
  • 图像到音频-视频(I2AV):example_prompts/gpt_examples_i2v.csv

📝 提示格式

我们的提示使用特殊标签来控制语音和音频:

  • 语音<S>您的语音内容在这里<E> - 这些标签之间的文本将被转换为语音
  • 音频描述<AUDCAP>音频描述在这里<ENDAUDCAP> - 描述视频中存在的音频或音效

🤖 使用GPT快速开始

为方便创建提示,尝试以下方法:

  1. 从上面的csv文件中获取任何示例
  2. 告诉GPT根据主题(如人类对抗AI)修改所有<S> <E>对之间的语音
  3. GPT将根据您请求的主题随机修改所有语音
  4. 使用修改后的提示与Ovi!

📦 安装

逐步安装

# 克隆仓库
git clone https://github.com/character-ai/Ovi.git

cd Ovi

# 创建并激活虚拟环境
virtualenv ovi-env
source ovi-env/bin/activate

# 首先安装PyTorch
pip install torch==2.6.0 torchvision torchaudio

# 安装其他依赖
pip install -r requirements.txt

# 安装Flash Attention
pip install flash_attn --no-build-isolation

下载权重

要下载我们的主要Ovi检查点,以及来自Wan的T5和vae解码器,以及来自MMAudio的音频vae:

# 默认下载到./ckpts,推理yaml设置为./ckpts,因此无需更改
python3 download_weights.py

# 或者指定--output-dir下载到特定目录
python3 download_weights.py --output-dir <custom_dir>

# 如果只有约24Gb GPU VRAM,请下载fp8量化版本
wget -O "./ckpts/Ovi/model_fp8_e4m3fn.safetensors" "https://huggingface.co/rkfg/Ovi-fp8_quantized/resolve/main/model_fp8_e4m3fn.safetensors"

🚀 运行示例

⚙️ 配置Ovi

Ovi的行为和输出可以通过修改ovi/configs/inference/inference_fusion.yaml配置文件来自定义。

以下参数控制生成质量、视频分辨率以及文本、图像和音频输入的平衡:

# 输出和模型配置
output_dir: "/path/to/save/your/videos"  # 保存生成视频的目录
ckpt_dir: "/path/to/your/ckpts/dir"      # 模型检查点路径

# 生成质量设置
num_steps: 50              # 去噪步骤数。较低(30-40)= 更快生成
solver_name: "unipc"       # 去噪过程的采样算法
shift: 5.0                 # 采样调度器的时间步偏移因子
seed: 100                  # 可重现结果的随机种子

# 引导强度控制
audio_guidance_scale: 3.0  # 音频条件强度。较高 = 更好的音频-文本同步
video_guidance_scale: 4.0  # 视频条件强度。较高 = 更好的视频-文本遵循
slg_layer: 11              # 应用SLG(跳过层引导)技术的层

# 多GPU和性能
sp_size: 1                 # 序列并行大小。设置为使用的GPU数量
cpu_offload: False         # CPU卸载,将大幅减少峰值GPU VRAM,但增加端到端运行时间约20秒
fp8: False                 # 加载fp8版本模型,会有质量下降,推理时间不会加快

# 输入配置
text_prompt: "/path/to/csv" or "your prompt here"  # 文本提示或包含提示的CSV/TSV文件路径
mode: ['i2v', 't2v', 't2i2v']  # 生成t2v、i2v或t2i2v
video_frame_height_width: [512, 992]  # T2V模式的视频尺寸[高度,宽度]
each_example_n_times: 1    # 每个提示生成的次数

# 质量控制(负面提示)
video_negative_prompt: "jitter, bad hands, blur, distortion"  # 视频中要避免的伪影
audio_negative_prompt: "robotic, muffled, echo, distorted"    # 音频中要避免的伪影

:clapper_board: 运行推理

单GPU(简单设置)

python3 inference.py --config-file ovi/configs/inference/inference_fusion.yaml

多GPU(并行处理)

torchrun --nnodes 1 --nproc_per_node 8 inference.py --config-file ovi/configs/inference/inference_fusion.yaml

Gradio

我们提供了一个简单的脚本来在gradio UI中运行我们的模型:

python3 gradio_app.py

# 启用CPU卸载以节省GPU VRAM
python3 gradio_app.py --cpu_offload

# 启用额外的图像生成模型为I2V生成第一帧
python3 gradio_app.py --use_image_gen

# 使用24Gb GPU VRAM运行模型
python3 gradio_app.py --cpu_offload --qint8

:folded_hands: 致谢

我们要感谢以下项目:

  • Wan2.2:我们的视频分支从Wan2.2仓库初始化
  • MMAudio:我们重用了MMAudio的音频vae

🤝 合作

我们欢迎各种类型的合作!无论您有反馈、想要贡献或有任何问题,请随时联系我们。

联系:如有任何问题或反馈,请联系Weimin Wang。

⭐ 引用

如果Ovi对您有帮助,请帮忙给仓库点⭐。

如果您发现这个项目对您的研究有用,请考虑引用我们的论文。

BibTeX

@misc{low2025ovitwinbackbonecrossmodal,
      title={Ovi: Twin Backbone Cross-Modal Fusion for Audio-Video Generation}, 
      author={Chetwin Low and Weimin Wang and Calder Katyal},
      year={2025},
      eprint={2510.01284},
      archivePrefix={arXiv},
      primaryClass={cs.MM},
      url={https://arxiv.org/abs/2510.01284}, 
}

更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

posted @ 2025-11-06 17:22  qife  阅读(4)  评论(0)    收藏  举报