Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets

news2024/12/23 13:14:44

Stable video diffusion:将潜在视频扩散模型扩展到大型数据集

可以做到:文本-视频的生成、(文本-)图像-视频的生成、通过图像-视频微调进行多视图合成

摘要

我们提出了Stable video diffusion——一种用于高分辨率、最先进的文本-视频和图像-视频生成的潜在视频扩散模型。最近,通过插入时间层并在小型高质量视频数据集上对其进行微调,用于 2D 图像合成训练的潜在扩散模型已转变为生成视频模型。然而,文献中的训练方法差异很大,该领域尚未就视频数据的统一策略达成一致。在本文中,我们确定并评估了视频 LDM 成功训练的三个不同阶段:文本到图像预训练、视频预训练和高质量视频微调。此外,我们证明了精心策划的预训练数据集对于生成高质量视频的必要性,并提出了系统的策划流程来训练强大的基础模型,包括字幕和过滤策略。然后,我们探索微调基本模型对高质量数据的影响,并训练文本到视频模型。我们还表明,我们的基本模型为下游任务提供了强大的运动表示,例如图像到视频的生成以及对相机运动特定 LoRA 模块的适应性。最后,我们证明我们的模型提供了强大的多视图 3D 先验,并且可以作为微调多视图扩散模型的基础,该模型以前馈方式联合生成对象的多个视图,在计算成本上性能优于基于图像的方法的一小部分。

SVD的三个训练阶段:

1、文本-图像的预训练

2、在低分辨率大数据集上的视频预训练

3、在具有更高分辨率的小数据集上进行高分辨率视频微调

SVD可以实现文本-视频、(文本-)图像-视频生成、通过图像-视频微调进行多视图合成

本文十分重视数据选择

引言

在扩散模型生成图像建模 [36,64,67,72] 进步的推动下,生成视频模型在研究 [8,40,78,91] 和实际应用中都取得了重大进展。一般来说,这些模型要么从头开始训练[39],要么从插入额外时间层的预训练图像模型进行微调(部分或完全)[8,30,41,78]。训练通常在图像和视频数据集的混合上进行。

虽然围绕视频建模改进的研究主要集中在空间和时间层的精确排列上[8,39,41,78],但上述工作都没有调查数据选择的影响。但训练数据分布对生成模型的显着影响是无可争议的。此外,对于生成图像建模,众所周知,对大型且多样化的数据集进行预训练以及对较小但质量较高的数据集进行微调可以显着提高性能 [12, 67]。由于以前的许多视频建模方法已经成功地借鉴了图像领域的技术[8,40,41],因此值得注意的是数据和训练策略的影响,即将较低分辨率预训练和高质量视频的微调作为两部分进行分离,这还有待研究。这项工作直接涉及这些以前未知的领域。

我们认为,尽管数据选择在大规模训练视频模型时得到了从业者的广泛认可,但在当今的视频研究领域中,数据选择的重大贡献却被严重低估。因此,与之前的工作相比,我们利用简单的潜在视频扩散基线[8],为此我们修复了架构和训练方案并评估了数据管理的效果。为此,我们首先确定了三个不同的视频训练阶段,我们发现这三个阶段对于良好的性能至关重要:文本到图像预训练、低分辨率大数据集上的视频预训练以及在具有更高分辨率的小得多的优质视频数据集上进行高分辨率视频微调。(同时还精心准备了数据集) 借鉴大规模图像模型训练[12,60,62],我们引入了一种大规模管理视频数据的系统方法,并对视频预训练期间数据管理的效果进行了实证研究。我们的主要发现表明,对精心策划的数据集进行预训练可以带来显着的性能改进,并且在高质量微调后这种改进仍然持续存在。

A general motion and multi-view prior 根据这些发现,我们将提出的管理方案应用于包含大约 6 亿个样本的大型视频数据集,并训练一个强大的预训练文本到视频基础模型,该模型提供general运动表示。我们利用这一点,并在较小的高质量数据集上微调基本模型,以实现高分辨率下游任务,例如文本到视频(参见图 1,顶行)和图像到视频。

此外,我们还证明我们的模型提供了强大的多视图先验,并且可以作为微调多视图扩散模型的基础,该模型以前馈方式生成对象的多个一致视图,并且优于专门的新颖视图合成方法,例如Zero123XL 和 SyncDreamer。同时,我们的模型可以做显示的运动控制,具体通过了使用运动线索去提示时间层,并且通过仅在类似于特定运动的数据集上训练 LoRA 模块,这些数据集可以有效地插入到模型中。

总而言之,我们的核心贡献有三个:

(i)我们提出了一个系统的数据管理工作流程,将大量未经管理的视频集合转变为用于生成视频建模的高质量数据集

(ii) 训练最先进的文本到视频和图像到视频模型,其性能优于所有现有模型。

(iii) 通过进行特定领域的实验来探索我们模型中运动和 3D 理解的强先验。具体来说,我们提供的证据表明,预训练的视频扩散模型可以转变为强大的多视图生成器,这可能有助于克服 3D 领域中通常观察到的数据稀缺问题。

背景

最近的视频生成工作依赖于扩散模型从文本或图像调节中联合合成多个一致的帧。扩散模型通过学习逐渐对正态分布的样本进行去噪来实现迭代细化过程,并已成功应用于高分辨率文本到图像和视频合成。

在这项工作中,我们遵循这个范例并在我们的视频数据集上训练潜在视频扩散模型。在这项工作中,我们遵循这个范例并在我们的视频数据集上训练潜在视频扩散模型。我们在下面的段落中简要概述了利用潜在视频扩散模型(Video-LDM)的相关工作。关于GANS和自回归方法的讨论在附录B。

潜在视频扩散模型

Video-LDM 在计算复杂度降低的潜在空间中训练主要生成模型。与仅训练时间层或完全不训练的工作相比,本文微调了整个模型。特别是对于文本到视频的合成,大多数工作直接在文本提示上调节模型或使用额外的文本到图像先验。

在我们的工作中,我们遵循前一种方法,并表明所得模型是强大的一般运动先验,可以轻松地微调为图像到视频或多视图合成模型(也就是说预训练的模型可以很好的进行微调)。此外,我们还引入了对帧速率的微调节。我们还采用 EDM 框架,并将噪声表显着转向更高的噪声值,我们发现这对于高分辨率微调至关重要。

数据管理

在大规模数据集上进行预训练是区分文本图像和语言建模等多项任务中强大模型的重要组成部分。通过利用高效的语言-图像表示(例如 CLIP),数据管理同样已成功应用于生成图像建模。然而,视频生成文献中很大程度上缺少对此类数据管理策略的讨论[39,41,78,90],并且以临时方式引入了处理和过滤策略。在可公开访问的视频数据集中,WebVid-10M [6] 数据集一直是一个流行的选择 [8, 78, 110],尽管带有水印且大小不理想。此外,WebVid-10M 通常与图像数据结合使用[76],以实现联合图像视频训练。然而,这加大了分离图像和视频数据对最终模型的影响的难度。为了解决这些缺点,这项工作对视频数据管理方法进行了系统研究,并进一步介绍了生成视频模型的通用三阶段训练策略,产生了最先进的模型。

为HQ视频合成整理数据

在本节中,我们介绍了在大型视频数据集上训练最先进的视频扩散模型的一般策略。为此,我们(i)介绍了数据处理和管理方法,为此我们在第 3.3 节和第 3.4 节中系统地分析了对最终模型质量的影响,以及(ii)确定了生成视频建模的三种不同的训练方案。特别是,这些方案包括:

第一阶段:图像预训练,即二维文本到图像的扩散模型

第二阶段:视频预训练,对大量视频进行训练

第三阶段:视频微调,在一小部分高分辨率的高质量视频上完善模型。

我们在 3.2 至 3.4 节中分别研究了每种方案的重要性。

数据处理和标注

我们收集长视频的初始数据集,它构成了视频预训练阶段的基础数据。为了避免剪切和淡入淡出泄漏到合成视频中,我们在三个不同的 FPS 级别以级联方式应用剪切检测pipeline。图2(左)为处理前后每个视频的平均剪辑数,表明我们的检测到大量额外剪辑。

接下来,我们使用三种不同的合成字幕方法来注释每个剪辑:首先,我们使用图像字幕器 CoCa 注释每个剪辑的中帧,并使用 V-BLIP 获得基于视频的字幕。最后,我们通过前两个字幕的基于 LLM 的摘要生成剪辑的第三个描述。

由此产生的初始数据集,我们将其称为大型视频数据集 (LVD),由 5.8 亿个带注释的视频剪辑对组成,形成了 212 年的内容。(本文构建了一个名为LVD的大型视频数据集)

然而,进一步的调查表明,生成的数据集包含可能会降低最终视频模型性能的示例,例如运动较少的剪辑、过多的文本存在或普遍较低的审美价值。因此,我们另外用密集光流 [22, 46] 注释我们的数据集,我们以 2 FPS 进行计算,并通过删除平均光流幅度低于特定阈值的任何视频来过滤静态场景。事实上,当通过光流分数考虑 LVD 的运动分布(见图 2,右)时,我们识别出其中接近静态剪辑的子集。

此外,我们应用光学字符识别 [4] 来清除包含大量书面文本的剪辑。最后,我们使用 CLIP [62] 嵌入来注释每个剪辑的第一帧、中间帧和最后一帧,从中计算美学分数 [76] 以及文本图像相似度。表1中提供了我们数据集的统计数据,包括剪辑的总大小和平均持续时间。

总结:

1、剪辑检测和运动注释非常重要,可以保证时间质量。

2、训练生成文本-视频模型的另一个关键要素是字幕。最好每个视频有多个字幕,并且与视频内容保持良好的一致。

3、训练示例的质量要高

为了确保时间质量,我们在download后立即使用级联方法检测剪辑,相应地剪辑视频并估计每个生成的视频剪辑的光流。之后,我们对每个剪辑应用三个合成字幕,并进一步提取与所有这些文本提示的帧级 CLIP 相似性,以便能够过滤掉外层。最后,使用基于 CLIP 嵌入的aesthetics评分来评估帧级别的视觉质量。

对于字幕的生成,我们观察到 CoCa 通常可以捕获良好的空间细节,而 VBLIP 则倾向于捕获时间细节。我们使用LLM将这两者结合起来,并对所有三种类型的合成字幕进行实验。

阶段一:图片预训练

本文在stable diffusion的基础上构建初始模型,使其可以有强大的视觉表征。在有预训练的空间权重的模型和没有预训练的空间权重的模型上进行预训练,来分析图像预训练的效果(附录D)。并且使用人类偏好比较了模型(附录E),如图3a所示。结果表明图片预训练模型确实很重要。

阶段二:整理视频预训练数据集

视频数据管理的系统方法

对于多模态图像建模,数据管理是许多强大的判别型和生成型模型的关键要素。然而,由于视频领域中没有同样强大的现成表示可用于过滤掉不需要的示例,因此我们依靠人类偏好作为信号来创建合适的预训练数据集。具体来说,我们使用下面描述的不同方法来策划 LVD 子集,然后考虑在这些数据集上训练的潜在视频扩散模型的基于人类偏好的排名。

LVD-F为最终的预训练数据集。

精心策划的训练数据可提高性能

图3b为结果

LVD-10M-F是比LVD-10M小四倍的数据集。经过管理的数据集要比没经过管理的数据集效果更好。

为了进一步展示我们的管理方法的有效性,我们将在 LVD-10M-F 上训练的模型与在 WebVid-10M [6](最受认可的研究许可数据集)和 InternVid-10M [96] 上训练的类似视频模型进行比较。尽管 LVD-10M-F 也比这些数据集小四倍,但在时空质量和提示对齐方面,人类评估者更喜欢相应的模型,如图 4b 所示。

数据管理有助于规模化

数据管理的优势也随着大量数据而发挥作用。(图4c)

对精选数据进行训练时,数据集大小也是一个关键因素,其中在 50M 精选样本上训练的模型优于在 LVD-10M-F 上训练相同步数的模型。(图4d)

阶段三:高质量的微调

在上一节中,我们演示了系统数据管理对视频预训练的有益影响。然而,由于我们主要感兴趣的是优化视频微调后的性能,因此我们现在研究阶段 II 后的这些差异如何转化为阶段 III 后的最终性能。在这里,我们借鉴了潜在扩散建模 [12, 60] 的训练技术,并提高了训练示例的分辨率。此外,我们使用一个小型微调数据集,其中包含 25 万个高视觉保真度的预字幕视频剪辑。

为了分析视频预训练对最后阶段的影响,我们对三个相同的模型进行了微调,这些模型仅在初始化方面有所不同。我们用预训练的图像模型初始化第一个权重,并跳过视频预训练其余两个模型使用上一节中的潜在视频模型的权重进行初始化,特别是在 50M 精选和非精选视频剪辑上训练的模型。结果如图4e。从策划的预训练权重恢复的微调排名始终高于从未经策划的训练后的视频权重初始化的微调。

结论:

1、将视频预训练和视频的微调训练分开可以提高最终的模型性能;

2、在大规模、精心策划的数据集上进行视频预训练效果更好。

大规模训练视频模型

预训练基础模型

我们的视频模型基于stable diffusion 2.1 [67] (SD 2.1)。最近的工作表明,在训练图像扩散模型时采用噪声调度至关重要,转向更高分辨率图像的更多噪声。第一步,我们使用 Karras 等人提出的网络预处理将图像模型中的固定离散噪声表微调为连续噪声,Karras方法的图像大小为256*384。插入时间层后,我们在 LVD-F 上以 256 × 384 的分辨率在 14 帧上训练模型。我们使用标准 EDM 噪声调度 [48] 进行 150k 次迭代和批量大小 1536。接下来,我们对模型进行微调,使用批量大小 768 进行 100k 次迭代,生成 14320 × 576 帧。我们发现,在此训练阶段将噪声计划转向更多噪声非常重要(训练细节在附录D)

高分辨率文本-视频模型

我们在约 100 万个样本的高质量视频数据集上对基本文本到视频模型进行了微调。数据集中的样本通常包含大量的物体运动、稳定的相机运动和对齐良好的字幕,并且总体上具有很高的视觉质量。我们使用批量大小 768 在分辨率 576 × 1024 下对基本模型进行 50k 次迭代微调(再次将噪声调度转向更多噪声)。

高分辨率图片-视频模型

除了文本-视频之外,我们还对图像-视频生成的基本模型进行了微调,其中视频模型接收静态输入图像作为条件。因此,我们将输入基础模型的文本嵌入替换为条件的 CLIP 图像嵌入。此外,我们将调节帧通道的噪声增强 [37] 版本连接到 UNet [69] 的输入。我们不使用任何mask技术,只是在时间轴上复制帧。我们微调两个模型,一个预测 14 帧,另一个预测 25 帧。

帧插值

为了以高帧速率获得流畅的视频,我们将高分辨率文本到视频模型微调为帧插值模型。通过掩码将左右帧连接到UNet的输入。该模型学习预测两个调节帧内的三个帧,从而有效地将帧速率提高了四倍。

多视图生成

为了同时获得对象的多个新视图,我们在多视图数据集上微调图像到视频 SVD 模型。

数据集

Objaverse数据集和MVImgNet数据集

模型

SD2.1-MV是具有图片先验的,Scratch-MV没有先验,SVD-MV是经过finetune的。

我们使用 8 个 80GB A100 GPU 训练所有模型 12k 步骤(∼16 小时),总批量大小为 16,学习率为 1e-5。

总结

我们提出了稳定视频扩散(SVD),这是一种用于高分辨率、最先进的文本到视频和图像到视频合成的潜在视频扩散模型。为了构建其预训练数据集,我们进行了系统的数据选择和扩展研究,并提出了一种方法来整理大量视频数据,并将大型且嘈杂的视频集合转变为适合生成视频模型的数据集。此外,我们介绍了视频模型训练的三个不同阶段,我们分别对其进行分析,以评估它们对最终模型性能的影响。稳定视频扩散提供了强大的视频表示,我们可以从中微调视频模型,以实现最先进的图像到视频合成和其他高度相关的应用,例如用于摄像机控制的 LoRA。最后,我们提供了关于视频扩散模型的多视图微调的开创性研究,并表明 SVD 构成了强大的 3D 先验,它在多视图合成中获得了最先进的结果,同时仅使用了先前方法的一小部分计算量。

局限

1、长视频的合成:虽然潜在方法提供了效率优势,但一次生成多个关键帧在训练和推理过程中都非常昂贵,未来长视频合成的工作应该尝试级联非常粗略的帧生成,或者构建专用的tokenizers视频生成。

2、生成的视频有时会遇到生成的运动太少的问题

3、视频扩散模型通常采样速度较慢且对 VRAM 要求较高,扩散蒸馏方法 是快速合成的有希望的候选方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1308406.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录第三十一天(一刷C语言)|无重叠区间划分字母区间合并区间

创作目的:为了方便自己后续复习重点,以及养成写博客的习惯。 一、无重叠区间 思路:参考carl文档 按照右边界排序,从左向右记录非交叉区间的个数。最后用区间总数减去非交叉区间的个数就是需要移除的区间个数了。 ledcode题目&a…

跨境电商如何利用跨境客服软件提升销售额

随着全球化的推进,跨境电商成为了许多企业拓展市场的重要途径。然而,跨境电商面临着语言、文化、时差等多种挑战,为了提供更好的客户服务并提升销售额,跨境电商需要利用跨境客服软件。本文将探讨跨境电商如何利用跨境客服软件来提…

VLAN基本原理

目录 一、VLAN概念及优势 (一)基本理念 (二)VLAN的特点 二、VLAN ID 种类、范围及用途 (一)静态VLAN (二)动态VLAN (三)VLAN三种端口类型 &#xff0…

计算4*4*4空间中2点结构的分布

不考虑两点距离的情况下,3维空间中的两点最多只有7种位置关系。3条边,3条面对角线,1条体对角线。现在向4*4*4的3维空间中随机的扔2个石子,比较7种结构的占比。 得到表格为 1 96 0.0476 2 96 0.0476 3 288 0.1429 4 288 …

Apache Web 服务器监控工具

将Apache Web 服务器监控纳入 IT 基础架构管理策略有助于先发制人地识别性能瓶颈,这种主动监控方法提供必要的数据,以确保 Web 服务器能够胜任任务,并在需要时进行优化。保证客户获得流畅、无忧的用户体验可以大大有助于巩固他们对组织的信任…

Hadoop学习总结(Hive的安装)

Hive的安装模式分为3种,分别是嵌入模式、本地模式、远程模式。 (1)嵌入模式:使用内嵌的 Derby 数据库存储元数据,这种方式是 Hive 的默认安装方式,配置简单,但是一次只能连接一个客户端&#xf…

webpack详细教程

1,什么是webpackwebpack | webpack中文文档 | webpack中文网 Webpack 不仅是一个模块打包器(bundler),更完整的讲是一个前端自动化构建工具。在 Webpack 看来前端的所有资源文件(s/json/css/img/less/...)都会作为横块处理它将根据模块的依赖关系进行静…

空气污染大屏,UI可视化大屏设计(PSD源文件)

大屏组件可以让UI设计师的工作更加便捷,使其更高效快速的完成设计任务。现分享科技空气污染大数据、空气污染大数据平台、大气环境信息资源中心、大气检测大数据中心、环境信息资源中心界面的大屏Photoshop源文件,开箱即用! 若需 更多行业 相…

多边形的裁剪:一种基于有效边表的有效多边形裁剪算法的分析

我们可以考虑有下面的多边形 黑色边框就是区域就是裁剪下来的多边形区域,我们可以将裁剪区域与多边形区域的端点看作有效边表,显然对于左边界来说我们是要选取边界x值大的点作为新的多边形的边界,对于右边界我们是要选择x值小的点作为多边形的…

Java 基础学习(八)多态、接口、造型与内部类

1 多态 1.1 多态 1.1.1 多态的意义 一个类型的引用在指向不同的对象时会有不同的实现。依然借助前面案例中的 Person类、Student类和 Teacher 类举例,看如下的代码: Person p1 new Student(); Person p2 new Teacher(); p1.schedule(); p2.schedul…

python 使用linux find命令引导用户定位和选择文档

字多不看板(InsCode) 演示代码 # -*- coding:UTF-8 -*-# region import DebugInfo from DebugInfo.DebugInfo import *# endregion 画板 打印模板()# localSearch posix搜索接口类() localSearch 本地搜索接口类()用户选择 交互接口类.指定选择文档(…

.Net Reactor 使用心得

主密钥是干嘛的? 1 若要创建有效的许可证文件,必须使用与用于生成受.NET Reactor保护的输出相同的主密钥来创建许可证。 2 主密钥是在创建项目时生成的!必须保存该项目才能保留原始密钥。 dll而不是exe 由于使用的是.net6 生成的代码。 …

颠倒二进制位

题目链接 颠倒二进制位 题目描述 注意点 输入是一个长度为 32 的二进制字符串 解答思路 可以灵活运用位运算对二进制位进行颠倒,思路为:从后往前判断第i位是否为1,判断第i位是否为1可以将其二进制右移i位后与1进行&操作,…

掌握Web、DNS、FTP、DHCP服务器的配置。掌握简单网络方案的规划和设计

1、Web服务器配置 2、综合设计 配置完后,所有的终端主机都要能够访问外网服务器,并进行测试。(本题可以自行选题,自行设计,但必须包含路由器、服务器(web、dns、DHCP、)、交换机及防火墙)。 3.做好规划并搭建拓扑图: 4.给PC机与服务器配置好IP,网关 5.给每个交换机…

EasyRecovery2024功能强大且专业的mac电脑数据恢复程序

EasyRecovery15是一款功能强大且专业的IOS数据恢复程序,专为在iPhone,iPad和iPod touch上检索丢失的照片,消息,音乐等而设计。无论您是错误删除还是意外丢失了对您来说重要的任何内容,EasyRecovery都会帮助您找回它们。…

基于深度学习的人脸测距&社交距离过近警报系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 近年来,随着深度学习技术的快速发展,人脸识别技术在各个领域得到了广泛应用。其中,人脸测距和社交距离过近警报系统成为了人们…

C语言:指向数组的指针和指向数组元素的指针

相关阅读 C语言https://blog.csdn.net/weixin_45791458/category_12423166.html?spm1001.2014.3001.5482 指向数组的指针和指向数组元素的指针常常被混淆,或者笼统地被称为数组指针,但它们之间是有差别的,本文就将对此进行讨论。 下面的代码…

IPO:“动储结合”抢占储能先机后,瑞浦兰钧如何继续赢?

在全球新能源汽车的推动下,锂电池赛道早已拥挤不堪,作为入局较晚的后起之秀,从2017年成立到首次实现锂电池的批量交付,瑞浦兰钧能源股份有限公司(以下简称“瑞浦兰钧”)仅用了2年不到的时间。2022年&#x…

如何通过TortoiseGit可视化工具查看Git管理的版本树和信息(工作树变更)内容

一、版本树 黑色直线:master分支和基于master分支拉取基础分支都在这条线上,是一条直线。 其他线条:新开分支一定会增加一条线,但不一定每一条线分别代表一个分支。 注:如果一直是一个人,在同一个本地分支…

解决GateWay报错:Exceeded limit on max bytes to buffer : 262144

场景: 前端传来了一个大的字符串 发现请求不通 一番调试发现SpringGateway 默认内存缓冲区262144字节 网上查了很多种常见的解决方案无效之后 直接重写底层 网友的解决方案 方案1(无效) 直接修改缓冲区大小 spring:codec:max-in-memory-s…