当前位置: 首页 > article >正文

Adobe与MIT推出自回归实时视频生成技术CausVid。AI可以边生成视频边实时播放!

传统的双向扩散模型(顶部)可提供高质量的输出,但存在显著的延迟,需要 219 秒才能生成 128 帧的视频。用户必须等待整个序列完成才能查看任何结果。相比之下CausVid将双向扩散模型提炼为几步自回归生成器(底部),大大降低了计算开销。CausVid的初始延迟仅为1.3秒,之后以大约 9.4 FPS 的速度以流式方式连续生成帧,从而促进了视频内容创建的交互式工作流程。

就像从下载整部电影到直接观看流媒体的转变,在模型生成首帧画面后,视频便可以即时播放,后续内容则动态生成并无缝衔接。AI生成视频,边生成边实时播放,终于不用等了!

相关链接

  • 论文地址:https://arxiv.org/abs/2412.07772

  • 项目链接:https://causvid.github.io/

论文介绍

当前的视频扩散模型实现了令人印象深刻的生成质量,但由于双向注意力依赖性,在交互式应用中表现不佳。生成单个帧需要模型处理整个序列,包括未来。我们通过将预训练的双向扩散变压器调整为可即时生成帧的自回归变压器来解决这一限制。为了进一步减少延迟,我们将分布匹配蒸馏 (DMD) 扩展到视频,将 50 步扩散模型蒸馏为 4 步生成器。为了实现稳定和高质量的蒸馏,我们引入了基于教师 ODE 轨迹的学生初始化方案,以及监督具有双向教师的因果学生模型的非对称蒸馏策略。这种方法有效地减轻了自回归生成中的错误积累,尽管在短片段上进行训练,但仍允许长时间的视频合成。我们的模型在 VBench-Long 基准上获得了 84.27 的总分,超越了所有以前的视频生成模型。得益于 KV 缓存,它能够在单 GPU 上以 9.4 FPS 的速度快速流式生成高质量视频。我们的方法还能够以零样本方式实现流式视频到视频的转换、图像到视频和动态提示。我们将在未来基于开源模型发布代码。

CausVid 方法概述

我们的方法将多步双向视频传播模型的数据提炼为4步因果生成器G ϕ。训练过程包括两个阶段:(1)学生初始化:我们通过在由双向教师生成的一小组 ODE 解对上对其进行预训练来初始化因果学生。此步骤有助于稳定后续的蒸馏训练。(2)非对称蒸馏:使用双向教师模型,我们 通过分布匹配蒸馏损失 来训练因果学生生成器。

一流的文本转视频生成质量

我们的模型在 VBench 上获得了 84.27 的总分(参见 VBench 排行榜),在所有经过验证的提交中排名第一,并以 9.4 FPS 的速度在单个 GPU 上实现了快速流式推理。雷达图直观地展示了我们的方法在几个关键指标上的综合性能优势,包括动态程度、美学质量、成像质量、对象类别、多个对象和人类动作。此外,根据我们的人工评估,我们的快速模型超越了竞争方法(例如 CogVideoX、PyramidFlow、MovieGen 和我们的双向教师),所有这些方法的速度都明显慢了几个数量级。

交互式用户界面

我们展示了一个交互式用户界面 (UI),其特点是文本到 10 秒的视频生成、通过滑动窗口推理的无限长视频生成以及图像到视频的生成功能。

效果展示

我们的方法支持多种视频生成任务。该模型可以从单个文本提示(顶行)或附加图像输入(第二行)生成视频。我们的模型还支持交互式应用程序,其中生成结果以低延迟响应用户输入。例如,它可以为基本游戏引擎渲染的输出添加逼真的纹理和灯光,该引擎可以动态响应用户输入(第三行)。此外,它还支持动态提示(第四行),允许用户在视频中的任何位置输入新提示,以构建具有不断发展的动作和环境的扩展叙述。

CausVid 表明自回归视频扩散可以有效地扩展到一般的文本到视频任务, 实现与双向扩散模型相当的质量。此外,当与蒸馏技术结合使用时,它可以提供多个数量级的加速。

CausVid 专门针对文本到视频生成进行训练,由于其自回归设计,可以零样本应用于图像到视频任务。在所示的示例中,第一列表示输入图像,而后续帧表示生成的输出。


http://www.kler.cn/a/504093.html

相关文章:

  • SpringBoot配置文件
  • dockerfile
  • Python爬虫-汽车之家各车系周销量榜数据
  • 行业案例:高德服务单元化方案和架构实践
  • python实现自动登录12306抢票 -- selenium
  • Qt 坐标系统和坐标变换
  • Oracle 终止正在执行的SQL
  • 下载导出Tomcat上的excle文档,浏览器上显示下载
  • Web前端------HTML块级和行内标签之块级标签
  • kube-prometheus监控Linux主机
  • 关于H5复制ios没有效果
  • JavaScript系列(25)--性能优化技术详解
  • 如何通过NMudbus读取寄存器数据
  • Vue环境变量配置指南:如何在开发、生产和测试中设置环境变量
  • mysql 与Redis 数据强一致方案
  • Jenkins简单的安装运行
  • 线程间通信
  • 当生活低迷时,如何醒过走出迷境?
  • SQL从入门到实战-2
  • Scala语言的字符串处理
  • 【某大型互联网企业】软件测试面试经验分享(1 ~ 3年)
  • MySQL表的增删改查(基础)-下篇
  • 面试: 工作中常用的linux命令
  • OpenCV基础:矩阵的创建、检索与赋值
  • Java Stream流操作List全攻略:Filter、Sort、GroupBy、Average、Sum实践
  • 在使用 GitLab API 时,如果只能获取少量的 Merge Request(MR)信息,而没有完整的数据