【AIGC视频生成】视频扩散模型(综述+最新进展)

在这里插入图片描述

  

  

  


一、综述

最新综述《A Survey on Video Diffusion Models》来自于复旦大学,论文地址为:https://arxiv.org/abs/2310.10647

  人工智能生成内容(AIGC)目前是计算机视觉和人工智能领域最杰出的研究领域之一。它不仅引起了广泛的关注和学术研究,还在各行各业和其他应用领域产生了深远的影响,例如计算机图形学、艺术和设计、医学成像等。在这些努力中,一系列以扩散模型为代表的方法已经取得了特别成功,迅速取代了基于生成对抗网络(GANs)和自回归变换器的方法,成为图像生成的主导方法。由于其强大的可控性、逼真的生成和出色的多样性,基于扩散的方法也在广泛的计算机视觉任务中蓬勃发展,包括图像编辑、密集预测以及视频合成和3D生成等各种领域。

作为最重要的媒介之一,视频在互联网上崭露头角,成为了一个强大的力量。与纯文本和静态图像相比,视频提供了大量的动态信息,为用户提供更全面和沉浸式的视觉体验。基于扩散模型的视频任务研究逐渐引起了关注。如图1所示,自2022年以来,基于扩散模型的视频研究论文数量显著增加,可以分为三个主要类别: 视频生成、视频编辑和视频理解

在这里插入图片描述

1.1 扩散模型

  扩散模型是一类概率生成模型,它们学习逆转一个逐渐破坏训练数据结构的过程,已经成为深度生成模型的新领域的最新技术。它们在各种具有挑战性的任务中打破了长期以来生成对抗网络(GANs)的统治地位,这些任务包括 图像生成、图像超分辨率和图像编辑 。目前,有关扩散模型的研究主要基于三种主要的表达方式: 去噪扩散概率模型(DDPMs)、基于分数的生成模型(SGMs)和随机微分方程(Score SDEs)

1.1.1 Denoising Diffusion Probabilistic Models (DDPMs)

  去噪扩散概率模型(DDPM)涉及两个马尔可夫链:一个前向链,将数据转化成噪声,和一个反向链,将噪声转化回数据。前者旨在将任何数据转化为简单的先验分布,而后者学习了反转前者过程的转移核。新的数据点可以通过首先从先验分布中抽样一个随机向量,然后通过反向马尔可夫链进行衍生抽样来生成。这个抽样过程的关键在于训练反向马尔可夫链以匹配前向马尔可夫链的实际时间反转

在这里插入图片描述

1.1.2 Score-Based Generative Models (SGMs)

  基于得分的生成模型(SGMs)的关键思想是使用不同程度的噪声扰动数据,并同时通过训练单个条件得分网络来估计对应于所有噪声水平的得分。样本是通过将得分函数在逐渐降低的噪声水平上进行链接,并结合基于得分的采样方法生成的。在 SGMs 的定义中,训练和采样是完全解耦的

在这里插入图片描述

1.1.3 Stochastic Differential Equations (Score SDEs)

  用多个噪声尺度扰动数据对于上述方法的成功至关重要。Score SDEs 将这一思想进一步推广到无限数量的噪声尺度。扩散过程可以被建模为以下随机微分方程(SDE)的解:

在这里插入图片描述

1.2 相关任务

  视频扩散模型的应用范围包括广泛的视频分析任务,包括视频生成、视频编辑以及各种形式的视频理解任务。这些任务的方法论具有相似性,通常将问题制定为扩散生成任务或者利用扩散模型的强大控制生成能力用于下游任务。在这份综述中,主要关注的任务包括文本到视频生成、无条件视频生成以及文本引导的视频编辑等。

  文本到视频生成旨在基于文本描述自动生成相应的视频。通常涉及理解文本描述中的场景、物体和动作,将其翻译成一系列连贯的视觉帧,从而生成一个在逻辑和视觉上一致的视频。文本到视频生成具有广泛的应用,包括自动生成电影、动画、虚拟现实内容、教育演示视频等。

在这里插入图片描述

提示:详细内容见最后

  无条件视频生成是一个生成建模任务,其目标是从随机噪声或固定的初始状态开始生成一系列连续而视觉一致的视频,而无需依赖特定的输入条件。与有条件视频生成不同,无条件视频生成不需要任何外部指导或先验信息。生成模型需要自主学习如何在没有明确输入的情况下捕捉时间动态、行动和视觉一致性,以产生既真实又多样的视频内容。这对于探索生成模型从无监督数据中学习视频内容的能力和展示多样性至关重要。

  文本引导视频编辑是一种利用文本描述来引导视频内容编辑过程的技术。在这个任务中,将自然语言描述作为输入,描述对视频要应用的期望更改或修改。然后,系统分析文本输入,提取相关信息,如对象、动作或场景,并使用这些信息来指导编辑过程。文本引导视频编辑通过允许编辑者使用自然语言传达其意图,为实现高效和直观的编辑提供了一种方式,潜在地减少了逐帧手动和耗时的编辑需求。

在这里插入图片描述
提示:详细内容见最后

1.3 数据集

  视频理解任务的演进通常与视频数据集的发展保持一致,对视频生成任务也是如此。视频生成的数据集主要可分为标题级别(caption-level)类别级别(category-level)

   标题级别(caption-level)数据集 包括与描述性文本标题配对的视频,为训练模型基于文本描述生成视频提供了必要的数据。下图左列出了几个常见的标题级别数据集,在规模和领域上各不相同。早期的标题级别视频数据集主要用于视频文本检索任务 [84–86],规模较小(不超过12万)且主要关注特定领域(如电影 [86]、动作 [87, 92]、烹饪 [88])。随着 通用领域 WebVid-10M [94] 数据集 的引入,文本到视频(T2V)生成任务获得了动力,研究人员开始关注通用领域的 T2V 生成任务。尽管它是 T2V 任务的主要基准数据集,但仍存在分辨率较低(360P)和带有水印内容等问题。随后,为增强通用文本到视频(T2V)任务中视频的分辨率和广泛覆盖,VideoFactory [30] 和 InternVid [99] 引入了更大规模 (130M 和 234M)和高清晰度(720P)的通用领域数据集。

在这里插入图片描述

   类别级别(category-level)数据集 包括根据特定类别分组的视频,每个视频都带有类别标签。这些数据集通常用于无条件视频生成或类别条件视频生成任务。上图右总结了常用数据集。其中有几个数据集也用于其他任务。例如,UCF101 [101]、Kinetics [103, 107] 和 Something-Something [106] 是动作识别的典型基准数据集。DAVIS [105] 最初是为视频对象分割任务提出的,后来成为视频编辑的常用基准数据集。在这些数据集中,UCF-101 [101] 最为广泛用于视频生成,作为无条件视频生成、基于类别的有条件生成和视频预测的基准。它包含来自 YouTube [110] 的样本,包括101个动作类别,包括人类运动、乐器演奏和互动动作。与 UCF 类似,Kinetics-400 [103] 和 Kinetics-600 [107] 是两个包含更复杂的动作类别和更大数据规模的数据集,但仍保持与 UCF-101 [101] 相同的应用范围。另一方面,Something-Something [106] 数据集既具有类别级别标签,也具有标题级别标签,因此特别适用于文本条件视频预测任务。值得注意的是,这些最初在动作识别领域起到关键作用的大规模数据集具有较小的规模(不超过5万)和单一类别 [82, 83]、单一领域属性(数字 [81]、驾驶风景 [35, 102, 109]、机器人 [108]),因此不足以生成高质量的视频。因此,近年来提出了专门为视频生成任务设计的数据集,通常具有独特属性,如高分辨率(1080P)[35] 或较长持续时间 [109, 112]。例如,Long Video GAN [109] 提出了马背数据集,其中包含 66 个视频,每个视频的平均持续时间为 30fps 的 6504 帧。Video LDM [35] 收集了包含 683,060 个 8 秒长度的真实驾驶视频,分辨率为 1080P 的 RDS 数据集。

1.4 评价指标

  视频生成的评估指标通常分为定量和定性度量 对于定性度量,一些研究中已经使用了人类主观评估,在这种情况下,评估者通常会被呈现两个或多个生成的视频,以与其他竞争性模型合成的视频进行比较。观察者通常进行基于投票的评估,评估视频的逼真程度、自然一致性以及文本对齐(T2V任务)。然而,人工评估既昂贵又有可能无法反映模型的全部能力。因此,接下来主要探讨图像级别和视频级别评估的定量评估标准

  图像级别指标:视频由一系列图像帧组成,因此图像级别的评估指标可以提供对生成的视频帧质量的一定了解。常用的图像级别指标包括 Fréchet Inception Distance (FID) 、峰值信噪比 (PSNR) 、结构相似性指数 (SSIM) 和 CLIPSIM。FID 通过比较合成的视频帧与真实视频帧来评估生成视频的质量。它涉及将图像进行归一化以获得一致的尺度,利用 InceptionV3 从真实和合成视频中提取特征,并计算均值和协方差矩阵。然后将这些统计数据结合起来计算 FID 分数。SSIM 和 PSNR 都是像素级别的指标。SSIM 评估原始和生成图像的亮度、对比度和结构特征,而 PSNR 是代表峰值信号与均方误差(MSE)之比的系数。这两个指标通常用于评估重建图像帧的质量,并应用于超分辨率和修复等任务。CLIPSIM 是一种用于测量图像文本相关性的方法。基于 CLIP 模型,它提取图像和文本特征,然后计算它们之间的相似性。这个指标通常用于文本条件的视频生成或编辑任务。

   视频级别指标:虽然图像级别的评估指标代表了生成视频帧的质量,但它们主要关注单个帧,忽略了视频的时间一致性。另一方面,视频级别的指标会提供更全面的视频生成评估。Fréchet Video Distance (FVD) 是一种基于 FID 的视频质量评估指标。 与图像级别方法不同,图像级别方法使用 Inception 网络从单帧图像中提取特征,FVD 利用在 Kinetics 上预训练的 Inflated-3D Convnets (I3D) 从视频片段中提取特征。随后,通过均值和协方差矩阵的组合来计算 FVD 分数。与 FVD 类似,Kernel Video Distance (KVD) 也基于 I3D 特征,但它通过利用基于核的方法最大均值差异 (MMD) 来评估生成视频的质量。Video IS (Inception Score) 使用由 3D-Convnets (C3D) 提取的特征来计算生成视频的 Inception 分数,通常用于 UCF-101 上的评估。高质量的视频具有低熵概率,表示为 P ( y ∣ x ) P(y|x) P(yx)
,而多样性是通过检查所有视频的边缘分布来评估,这应该表现出高水平的熵。Frame Consistency CLIP Score 通常用于视频编辑任务,用于测量编辑后视频的一致性。其计算包括为所有编辑后视频的帧计算 CLIP 图像嵌入,并报告所有视频帧对之间的平均余弦相似度。

  

二、年度进展

在这里插入图片描述

  

视频生成面临的挑战:

  • 1.视频生成的内容一致性难以保证,在生成长视频时画面抖动通常变得更为明显

在这里插入图片描述

Stable Video Diffusion从一张图片生成视频的两个例子,动作连贯性存在明显的问题。

  • 2.视频生成模型的训练与推理都需要消耗极大的计算资源,高清视频和长视频会明显加重资源的消耗

在这里插入图片描述

相同环境下,SD1.5生成一张512512图片耗时1秒,SVD生成一段5761024*14视频耗时30秒

  • 3.相对于图像可控生成,视频可控生成的难度要大得多,需要额外考虑更多的要素(精细运镜、复杂角色动作)

在这里插入图片描述

视频生成的两种范式

在这里插入图片描述

  

  

  

  


1.runway gen

2.1 Gen-1:对现有的3D动画和手机视频进行AI编辑

  2023年2月,开发stable diffusion最初版本的Runway提出了首个AI编辑模型Gen-1,可以在原视频的基础上,编辑出想要的视频。无论是粗糙的3D动画,还是用手机拍出来的摇摇晃晃的视频,Gen-1都可以升级出一个不可思议的效果(当然,其背后原因是Gen1 trained jointly on images and videos)

  比如用几个包装盒,Gen-1就可以生成一个工厂的视频:

在这里插入图片描述

摘要:Gen-1:给图像模型增加时间线,且对图像和视频做联合训练
  Gen-1对应的论文为:Structure and Content-Guided Video Synthesis with Diffusion Models,runway只对外发布了Gen-1的论文,2的论文在23年年底之前还没对外发。

  如下图,可以基于潜在视频扩散模型(latent video diffusion models),通过给定原始输入图像,既可以通过如「左上角」的文字引导生成视频,也可以通过如「左下角」的图像引导生成视频:

在这里插入图片描述

  • 首先,需要text-to-image一系列前置工作(比如 DALL-E2 ,Stable Diffusiont)。潜在扩散模型提供了“在感知压缩空间高效合成图像”的方法
  • 其次,通过引入带有时间线的预训练图像模型(temporal layers into a pre-trained image model),且在图像和视频上做联合训练「即在一个大规模的无字幕视频,和配对的“文本-图像”的数据集上进行训练( trained on a large-scale dataset of uncaptioned videos and paired text-image data)」,从而将潜在扩散模型扩展到视频生成

  Gen1提出了一个 可控的结构和内容感知的 视频扩散模型(controllable structure and content-aware video diffusion model),同时, 在推理阶段可以修改由图像或文本引导的视频 (意味着编辑视频的操作完全在推理阶段中执行,无需额外的针对每个视频的训练或预处理,即Editing is performed entirely at inference time without additional per-video training or pre-processing)

  且选择用单眼深度估计的技术来表示结构,且由预先训练的神经网络预测嵌入表示内容(We opt to represent structure with monocular depth estimates and content with embeddings predicted by a pre-trained neural network)

  在视频生成的过程中提供了几种控制模式

  首先,类似于image synthesis models,训练模型,使得其可以推断视频的内容,例如他们的外观或风格,及匹配用户提供的图像或文本提示
  第二,受到扩散过程的启发,将information obscuring process应用到structure representation,以选择模型对给定结构的坚持程度(we apply an information obscuring process to the structure representation to enable selecting of how strongly the model adheres to the given structure)
  最后,还对推理过程进行了调整,通过自定义指导方法,以及受classifier-free guidance的启发,以控制生成的剪辑的时间一致性(to enable control over temporal consistency in generated clips),相当于做到了时间、内容、结构三者在一致上的统一对齐

Gen1的训练过程、推理过程的详解

  为了保留视频结构 (结构一般指视频的几何、动力学的特征,比如对象的形状、位置以及他们的时间变化) 的同时,编辑视频的内容,需要 基于结构表示s和内容表示c的基础上学习视频x的生成模型 p ( x ∣ s , c ) p(x| s, c) p(xs,c) ,从而通过输入的视频推断出其结构表示s,然后根据编辑视频的描述文本c进行修改(modify it based on a text prompt c describing the edit),如下图:

在这里插入图片描述

  • 上图左侧的训练过程中,输入的视频x用一个固定的编码器 E E E编码到 z 0 z_0 z0,并扩散到 z t z_t zt;另一边,通过对“使用MiDaS获得的depth maps”进行编码,来提取一个结构表示 S S S,并通过使用CLIP对其中一个帧进行编码,来提取内容表示 C C C ,然后,在 S S S z t z_t zt、以及通过交叉注意块提供的 C C C的帮助下,模型学习在潜在空间中逆转扩散过程
  • 上图右侧的推理过程中,输入视频的结构 S S S以同样的方式提供。为了通过文本指定内容,将CLIP文本嵌入转换为图像嵌入。

训练的最终目标为(原理见DDPM):
在这里插入图片描述

时空潜在扩散(Spatio-temporal Latent Diffusion)

  为了可以正确的对视频帧的分布进行建模,需要做以下工作

  • 1.引入时间层来扩展图像架构,且时间层仅对视频输入有效,另自动编码器保持固定并独立处理视频中的每一帧

  • 2.UNet主要由两个模块组成:残差块和transformer块,通过添加跨时间的一维卷积跨时间的一维自注意力将它们扩展到视频。
    在这里插入图片描述

在每个残差块中,每个2D卷积之后引入一个时间卷积(如上图左侧);同样在每个2D transformer块后,都包含一个temporal 1D transformer block(which mimics its spatial counterpart along the time axis,,如上图右侧),且将learnable positional encodings of the frame index输入到temporal transformer blocks中。相当于:

在每个空间卷积之后添加一个一维时间卷积(注意,是空间卷积 VS 时间卷积);

在每个空间注意力层之后添加一个一维时间注意力层(注意,是空间注意力 VS 时间注意力)

结构与内容的表示(Representing Content and Structure)

扩散模型非常适合对 p ( x ∣ s , c ) p(x| s, c) p(xs,c) 等条件分布进行建模,由于大规模配对的视频-文本数据集比较缺乏,所以只能限制在无字幕的视频数据上进行训练

  • 1.我们的目标是根据用户提供的编辑视频的文本提示来编辑视频,但是:我们没有视频三元组的训练数据、编辑prompt、和生成的输出,也没有成对的视频和文本字幕(Thus, while our goal is to edit an input video based on a text prompt describing the desired edited video, we have neither training data of triplets with a video, its edit prompt and the resulting output, nor even pairs of videos and text captions)
  • 2.因此,我们必须从训练视频本身导出结构和内容的表示,即 S = S ( x ) , C = C ( x ) S=S(x), C=C(x) S=S(x),C=C(x),训练损失为:
    在这里插入图片描述
  • 3.推理过程中,结构 S S S和内容 C C C 分别来自输入视频 y y y和文本提示 t t t
    z z z~ p θ ( z ∣ s ( y ) , c ( t ) ) , x = D ( z ) p_θ(z|s(y),c(t)), x=D(z) pθ(zs(y),c(t)),x=
### DeepSeek 文本转视频生成教程和API使用方法 对于希望利用 DeepSeek 实现文本到视频转换的应用场景,开发者需遵循特定流程来设置环境并调用相应的 API 接口。首先,在项目根目录下创建一个 `.env` 文件,并添加 DeepSeek API 密钥: ```bash DEEPSEEK_API_KEY=your_api_key_here ``` 此操作确保应用程序能够安全访问所需的 API 功能[^1]。 接着,针对文本至视频的转换需求,虽然官方文档未直接提及具体的端点用于此类任务,基于当前 AI 行业趋势以及国内厂商提供的服务范围来看,可以推测 DeepSeek 或许也支持这一特性[^2]。因此建议通过查阅最新的 SDK 文档或联系技术支持获取最准确的信息关于是否存在专门为此设计的服务接口。 假设存在这样的功能,则通常会涉及以下几个方面的工作: #### 准备工作 - 安装必要的 Python 库(如果适用),例如 `requests` 来简化 HTTP 请求处理过程; - 确认目标服务器地址及路径参数配置正确无误。 #### 发送请求 构建 POST 请求向指定 URL 提交待处理的数据体,其中应至少包含源语言文字串作为输入字段之一。其他可能需要设定的内容取决于具体实现方式的要求,比如输出格式偏好、风格指导等附加选项。 ```python import os import requests api_endpoint = "https://api.deepseek.com/v1/text-to-video" headers = { 'Authorization': f'Bearer {os.getenv("DEEPSEEK_API_KEY")}', 'Content-Type': 'application/json' } data = {"text": "一段描述性的叙述"} response = requests.post(api_endpoint, headers=headers, json=data) if response.status_code == 200: video_url = response.json().get('video_url') else: error_message = response.text ``` 上述代码片段展示了如何发送一次简单的 RESTful 调用来触发从给定文本生成对应视觉表达的过程。请注意实际应用时还需考虑错误处理机制的设计以增强程序健壮性。 #### 结果解析 一旦成功接收到响应消息,便可以根据返回结构提取有用信息,如生成好的多媒体文件链接或其他形式的结果指示符。这些数据可用于后续展示或进一步加工用途。 考虑到技术细节可能会随时间而变化,强烈推荐定期查看官方资源以便及时更新集成方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值