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

news/2025/1/16 3:19:09/

传统的双向扩散模型(顶部)可提供高质量的输出,但存在显著的延迟,需要 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.ppmy.cn/news/1563494.html

相关文章

49_Lua调试

Lua提供了debug库用于创建自定义调试器,尽管Lua本身没有内置的调试器1。这个库允许开发者在程序运行时检查和控制执行流程,这对于开发过程中的错误查找和修复非常有用。 1.Debug库概述 debug库提供的函数可以分为两类:自省函数(introspection functions)和钩子函数(hoo…

【Go】Go并发编程基础详解

1. 操作系统发展历程 1.1 进程概念 进程是程序的一次运行过程,进程这个概念是比较抽象的,从来就没有标准统一的定义,进程主要包含三部分要素:程序、数据、进程控制块 程序:用于描述进程要完成的功能,是控…

Redis集群的键分布机制

Redis 集群的键分布机制基于哈希槽(Hash Slot),它是一种无中心的分布式哈希算法,用于确定键存储在哪个节点上。以下是 Redis 集群键分布机制的详细说明: 1、键分布基本原理 1.1 哈希槽的概念 Redis 集群将所有的键分…

android framework.jar 在应用中使用

在开发APP中&#xff0c;有时会使用系统提供的framework.jar 来替代 android.jar, 在gradle中配置如下&#xff1a; 放置framework.jar 依赖配置 3 优先级配置 gradle.projectsEvaluated {tasks.withType(JavaCompile) {Set<File> fileSet options.bootstrapClasspat…

关于使用FastGPT 摸索的QA

近期在通过fastGPT&#xff0c;创建一些基于特定业务场景的、相对复杂的Agent智能体应用。 工作流在AI模型的基础上&#xff0c;可以定义业务逻辑&#xff0c;满足输出对话之外的需求。 在最近3个月来的摸索和实践中&#xff0c;一些基于经验的小问题点&#xff08;自己也常常…

【高阶数据结构】布隆过滤器+海量数据处理

布隆过滤器 一.什么是布隆过滤器&#xff1f;二.布隆过滤器器误判率推导三.布隆过滤器代码实现四.布隆过滤器删除问题五.布隆过滤器的应用六.海量数据处理问题1.10亿个整数中求最大的前100个2.100亿个整数中&#xff0c;求某个整数是否出现3.给两个文件&#xff0c;分别有100亿…

PowerBuilder中调用Excel OLE对象的方法

在 PowerBuilder 中调用 Excel OLE 对象&#xff0c;首先使用 CREATE OLEObject 创建 Excel 实例&#xff0c;通过 ConnectToNewObject("Excel.Application") 连接。然后可以通过 ole_excel.Workbooks.Add() 创建新工作簿&#xff0c;操作工作表并保存文件。使用 ole…

MySQL程序之:简要概述

MySQL安装中有许多不同的程序。本节简要概述了它们。后面的部分提供了每个程序的更详细描述&#xff0c;但NDB集群程序除外。每个程序的描述表明了它的调用语法和它支持的选项。&#xff0c;“NDB集群程序”&#xff0c;描述了特定于NDB集群的程序。 大多数MySQL发行版包括所有…