CN118053090A - 使用潜在扩散模型生成视频 - Google Patents
使用潜在扩散模型生成视频 Download PDFInfo
- Publication number
- CN118053090A CN118053090A CN202311505990.XA CN202311505990A CN118053090A CN 118053090 A CN118053090 A CN 118053090A CN 202311505990 A CN202311505990 A CN 202311505990A CN 118053090 A CN118053090 A CN 118053090A
- Authority
- CN
- China
- Prior art keywords
- frames
- key frames
- video
- computing system
- generated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000009792 diffusion process Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 claims abstract description 75
- 230000002123 temporal effect Effects 0.000 claims abstract description 37
- 230000007704 transition Effects 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 abstract description 25
- 238000012545 processing Methods 0.000 abstract description 21
- 238000012549 training Methods 0.000 abstract description 21
- 238000005070 sampling Methods 0.000 abstract description 10
- 238000010801 machine learning Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007177 brain activity Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19147—Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
Abstract
本公开提供了使用潜在扩散机器学习模型来生成视频的系统和方法。给定文本输入,可以使用潜在扩散模型来生成与文本输入相关的视频数据。该处理包括使用经由变化的自动编码器在潜在空间内执行的文本到图像生成任务来生成预定数量的关键帧,从而与基于像素空间的扩散模型相比,使得能够更快地进行训练和采样时间。该处理还包括利用二维卷积和相关联的适配器来学习给定帧的特征。帧的时间信息可以经由定向时间注意力模块来学习,该模块用于捕获帧之间的关系并生成时间上有意义的帧序列。可以经由用于在两个生成的帧之间插入一个或多个过渡帧的帧插值处理来生成附加帧。该处理还可以包括用于对帧进行上采样的超分辨率处理。
Description
背景技术
生成模型可以在各种应用中实现,诸如图像到文本生成、样式迁移、图像到图像转换以及文本到三维(3D)对象生成。最近关于文本到图像生成的研究表明,大型生成模型在大型数据集上进行预训练之后,能够生成与给定文本提示高度匹配的逼真内容。这些生成模型的一个子类包括扩散模型,其能够实现更多样化的生成内容并能够扩展到大模型大小和大型数据集。
发明内容
公开了与使用潜在扩散机器学习模型的视频生成相关的示例。给定文本输入,与文本输入相关的视频数据可以使用潜在扩散模型来生成。该处理包括使用经由变化自动编码器在潜在空间内执行的文本到图像生成任务来生成预定数量的关键帧,从而与基于像素空间的扩散模型相比,使得能够更快地进行训练和采样时间。该处理还包括利用二维卷积和相关联的适配器来学习针对给定帧的特征。针对帧的时间信息可以经由定向时间注意力模块来学习,该模块用于捕获帧之间的关系并且用于生成时间上有意义的帧序列。可以经由用于在两个生成的帧之间插入一个或多个过渡帧的帧插值处理来生成附加帧。该处理还可以包括用于对帧进行上采样的超分辨率处理。
本发明内容被提供以通过简化的形式介绍概念的选例,其将在下面的具体实施方式中进一步被描述。本发明内容并不旨在识别所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决本公开的任何部分中指出的任何或所有缺点的实施方式。
附图说明
图1示出了用于使用潜在扩散模型生成视频的示例计算系统的示意图。
图2示出了示意性地图示示例框架的图,该示例框架示出了训练和推理阶段的数据流。
图3示出了示意性地图示示例时空注意力模块的图。
图4示出了示意性地图示示例定向时间自注意力模块的图。
图5示出了示意性地图示关键帧的示例插值处理的图。
图6示出了图示基于输入文本生成视频的示例方法的流程图。
图7示意性地示出了可以执行上述方法和处理中的一个或多个的计算系统的非限制性实施例。
具体实施方式
虽然扩散模型和算法最近在文本到图像生成任务中流行,但在视频生成任务上的应用却出现了困难问题。一个问题涉及数据稀缺性,因为与图像文本数据集相比,文本视频数据集的收集要难得多。与图像不同,视频更难以用文本描述来描述。此外,视频数据集通常包括视频或剪辑,其中大量帧是冗余的和/或无信息性的,导致单位计算时间的学习效率降低。另一个问题包括视频格式下的复杂动态。与静态图像内容相比,视频数据集呈现的视觉动态更难学习。例如,每一帧的感知以及不同帧之间的一致性是要由模型学习的复杂动态。这些动态是图像数据集中不存在的挑战。将扩散模型应用于视频生成任务的另一个问题涉及相关联的高计算成本。取决于视频的长度和质量,视频数据可以包含数百甚至数千帧。每个帧具有与具有相同像素维度的图像相同的数据复杂性。由此,与处理单个图像相比,直接处理视频涉及大量的计算和存储成本。一种用于解决计算成本的缓解方法包括部署级联管道,其中首先生成小而粗糙的视频帧,然后可以使用单独的超分辨率网络来增加空间维度。即使采用这种做法,计算成本对于一般实现仍然巨大并且不切实际。
鉴于上述观察,本公开提供了基于潜在扩散模型的视频生成框架的示例。给定文本描述,本框架生成包含与文本描述相关的内容的视频,与以前的方法相比具有更高的数据效率和采样速度。本框架可以被配置为生成不同风格的视频,诸如对想象内容的逼真诠释。在一些实施方式中,本框架使用单个模型推理来生成高空间分辨率视频帧。例如,本框架可以生成空间分辨率为256x256像素的视频。在一些实施方式中,本框架生成空间分辨率为1024x1024像素的视频。文本到图像模型可以用作视频生成处理中每一帧的特征提取组件。与以前的方法相比,这种实施方式显著加快了模型的收敛速度并提供了更好的最终视频生成性能。在一些实施方式中,文本到图像模型在大型数据集上被预训练。
为了利用文本到图像生成任务的先验知识,本框架在二维(2D)空间中利用卷积算子。与以前的方法不同,本框架无需任何添加的3D卷积即可操作。由于视频帧在内容和特征方面大多重叠,因此不需要独立的神经块来处理帧。相同的2D卷积可以被共享以用于帧的处理,其中每个帧的特征分布使用唯一的一组可学习参数(称为适配器)被调整。在一些实施方式中,本框架包括使用定向时间自注意力模块来学习时间信息。例如,可以基于所有先前帧来计算将来帧,其中先前帧不受将来帧的影响。定向时间自注意力模块可以用于捕获帧之间的关系并生成时间上有意义的帧序列,从而与常规的自注意力模块相比提供了改进的运动一致性。整个生成处理可以在预训练的变化自动编码器的低维潜在空间内执行,从而进一步提升生成效率并减少采样时间。本框架还可以包括用于在生成的视频中生成附加帧的后处理帧插值模型。
图1示出了用于使用潜在扩散模型生成视频的示例计算系统100的示意图。计算系统100包括计算设备102,计算设备102还包括处理器104(例如,中央处理单元或“CPU”)、输入/输出(I/O)模块106、易失性存储器108和非易失性存储器110。不同的组件可操作地彼此耦合。非易失性存储器110存储视频生成程序112,其包含用于本文描述的各种软件模块的指令以供处理器104执行。
当由处理器104执行时,存储在视频生成程序112中的指令使得处理器104初始化视频生成处理,其包括接收文本输入114。文本输入114可以经由I/O模块106接收。视频生成程序112包括接收文本输入114的关键帧生成模块116。关键帧生成模块116生成预定数量的关键帧118,其具有基于文本输入114生成的内容。在一些实施方式中,关键帧生成模块116为每个视频生成十六个关键帧。如可以容易理解的,关键帧生成模块116可以被配置为针对每个视频生成更多或更少的关键帧。
可以使用潜在扩散模型120通过去噪扩散处理来生成关键帧118,该潜在扩散模型120包括诸如3D U-Net解码器之类的卷积网络架构。关键帧生成处理包括使用2D卷积,而不是典型视频数据处理中使用的3D卷积。2D卷积可以与具有用于调整每个生成帧的特征的可学习参数的唯一适配器一起实现。在视频数据中,通常期望帧沿着时间维度以某种规则的模式(例如随着对象在视频中从左到右经历连续运动)变化。由此,关键帧生成处理也可以实现定向自注意力设计,以提供生成的关键帧之间的时间依赖性。
生成的关键帧118被提供作为帧插值模块122的输入。帧插值模块122生成附加过渡帧并将其插入到生成的关键帧118中以形成具有增加的时间分辨率的经插值的一组帧124。帧插值模块122包括用于生成过渡帧的插值模型126。在一些实施方式中,插值模型126在潜在空间中被训练。插值模型可以生成过渡帧并将其插入到两个生成的相邻帧之间。可以递归地重复该处理,以进一步提高最终视频的时间分辨率。在一些实施方式中,插值模型生成多于一个过渡帧并将其插入在两个生成的相邻帧之间。
经插值的一组帧124可以作为输入提供给上采样模块128,用于对经插值的帧124的空间分辨率进行上采样。上采样模块128可以包括在像素空间上被训练的基于扩散的超分辨率模型130。在一些实施方式中,使用图像数据集来训练超分辨率模型130。与已在视频数据集上被训练的先前视频生成任务中使用的传统超分辨率模型相比,使用大规模高分辨率图像数据集训练超分辨率模型可以表现得足够好。上采样处理可以被配置为将经插值的帧124上采样为任何期望的空间分辨率。在一些实施方式中,超分辨率模型被配置为将经插值的帧124的输入集上采样至1024x1024像素的空间分辨率。
在上采样处理之后,生成最终的一组帧132,并且因此生成具有与文本输入114相关的内容的视频。如可以容易理解的,上述方法和模块可以单独使用或组合使用以生成具有不同空间和时间分辨率的视频数据。例如,如果在处理时间内期望较低的空间分辨率,那么可以省略上采样处理。这些方法和模块将在下面的部分中进行更详细的描述。
深度生成建模旨在经由深度神经网络近似一组数据的概率密度。深度神经网络可以被优化以模拟训练数据从中被采样的分布。去噪扩散概率模型(DDPM)是一系列潜在生成模型,其经由马尔可夫(Markovian)前向高斯扩散处理的逆处理来近似训练数据的概率密度。给定一组训练数据对于所有/>并且与数据分布q(·)独立且同分布。DDPM将概率密度q(x)建模为x和一系列潜在变量x1:T之间的联合分布的边际,
pθ(x)=∫pθ(x0:T)dx1:T with x=x0.
联合分布被定义为具有从标准正态分布开始的经学习的高斯转移的马尔可夫(Markov)链N(·;0;I),i.e.,pθ(xT)=N(xT;0;I),并且
为了执行参数化边际pθ(·)的似然最大化,DDPM使用固定马尔可夫高斯扩散处理q(x1:T|x0)来近似后验p0(x1:T|x0)。具体而言,定义了两个系列α0:T和其中1=α0>α1>...>αT≥0并且/>对于任意t>s≥0,
其中因此,
DDPM的参数化逆处理pθ可以通过最大化相关联证据下界(ELBO)来优化。通过参数化pθ(xt-1|xt)作为后验的形式q(xt-1|xt,xo),DDPM可以被解释为迭代地去除噪声信号以恢复干净的信号。上面的公式描述了无条件生成模型的建模和训练。对于有条件的情况,通过简单地调节控制信号y,符号共用相似的形式。
DDPM在图像/视频生成和图像编辑方面可以表现良好。但是,由于采样期间迭代步骤较多,DDPM的计算开销变得非常高,并阻碍了其应用。为了提高DDPM的效率,可以利用高阶随机微分方程(SDE)/常微分方程(ODE)求解器来实现几种高级采样方法。其它改进包括使用潜在扩散模型(LDM),该模型对低维潜在空间中的数据分布进行建模。对较低维度的噪声数据进行去噪可以降低生成处理中的计算成本。
LDM可以通过首先训练自动编码器ε-T)将图像x映射到低维空间并从潜在代码z重建图像来实现。自动编码器可以通过感知损失和基于补丁的对抗目标进行联合训练,从而实现潜在代码和原始图像之间的空间对应。具有时间条件U-Net主干的DDPM可以用于对潜在表示的分布进行建模。为了实现可控/有条件的生成,LDM可以使用特定于域的编码器τ(·)将控制信号y(例如,文本提示)投影到中间空间,随后经由交叉注意力层将嵌入注入到U-Net中。
已经设想了先前的视频生成/预测方法,包括使用基于GAN或自回归的方法来对视频帧在RGB或潜在空间中的分布进行建模。基于扩散的生成模型也可以应用于视频建模。例如,可以实现3D U-Net扩散模型架构和新颖的条件采样技术来生成视频。一些方法被提出以在给定某些观察到的帧的情况下对后续视频帧的条件分布进行建模,以便可以通过条件采样以自回归方式合成长视频。另一种方法包括用于视频生成的两步框架。首先,使用确定性模型来预测给定观察到的下一帧。然后,利用随机扩散模型来合成残差以校正下一帧预测。
在文本条件视频生成方面,已经提出了利用级联管道来合成高清视频的方法。该管道包括一个基本文本到视频模块、三个空间超分辨率(SSR)和三个时间超分辨率模块(TSR)。基本文本到视频模块利用时间注意力层,而时间卷积用于SSR和TSR模块。另一种方法提出了多阶段文本到视频生成方法。首先,使用文本到图像模型来生成图像嵌入。然后,通过对图像嵌入进行调节来训练低分辨率视频生成模型。最后,训练空间和时空超分辨率模型来合成高清视频。这两种方法都对RGB空间中的视频分布进行建模。
本文描述的视频生成的示例框架包括用于文本条件视频生成的更高效的方法。本框架包括使用模型在低维潜在空间中合成视频。框架管道包括三个主要步骤:关键帧生成、帧插值和超分辨率。对于关键帧生成,2D卷积块使用文本图像数据集上预训练的权重而被修改,以经由适配器适应3D视频数据集。然后,利用新颖的定向自注意力模块使模型能够学习剪辑内的帧之间的运动。对生成的关键帧进行插值以提供视频的更加的平滑度,并且可以经由单独训练的超分辨率模型来提高生成的帧的空间分辨率。
图2示出了示意性地图示示例框架200的图,该示例框架200示出了训练和推理阶段的数据流。为了便于阅读,xt表示一组视频帧,缩写为其中/>表示时间t处的第i帧。变化自动编码器的编码器和解码器分别用ε和/>表示。用于文本编码的对比语言图像预训练(CLIP)被表示为τ(·),并且获得的嵌入被表示为τ(y)。用于去噪的解码器被表示为εθ(zt,t,y)。
框架200包括潜在扩散模型202、预训练的变化自动编码器(VAE)模型204和CLIP模型206。在训练阶段期间,像素空间210中的输入图像x208经由预训练的VAE模型204被投影到潜在空间212中。执行扩散处理以利用随机采样的时间步长t来损坏输入图像208。潜在扩散模型202包括3D U-Net解码器εθ以将损坏的帧/>去噪成生成的图像x′214。
用于视频数据处理的常规算子是3D卷积。但是,3D卷积的计算复杂度和硬件兼容性明显比2D卷积差。计算复杂度可以简化为使用沿着空间维度的2D卷积,随后使用沿着时间维度的1D卷积。所提出的框架通过使用实现多个2D卷积的时空注意力216进一步简化了计算复杂性,每个2D卷积与适配器相结合,其中适配器是比1D卷积更简单的算子。图3示出了更详细地示意性图示时空注意力模块216的图。如图所示,时空注意力模块216包括多个2D卷积302,每个2D卷积与唯一适配器304相关联。给定一组N个视频帧,可以对所有帧强制执行共享的2D卷积以提取空间特征。然后,可以分配一组分布调整参数来经由下式调整每个单帧的均值和方差:
其中表示去噪时间步长t处第f帧的特征。Sn和Bn是两组可学习参数,用于对提取出的特征zt进行方差调整和移位调整。由于每个视频剪辑内的帧通常在语义上相似,因此可以经由一小组参数而不是专用的1D卷积层来对帧之间的微小差异进行建模。
先前的方法使用沿着时间维度的常规自注意力来学习视频数据集中的运动。但是,在视频数据中,帧预计会沿着时间维度以规则模式变化。为了在帧之间注入时间依赖性,时空注意力模块包括定向时间自注意力模块306。图4示出了更详细地示意性图示定向时间自注意力模块306的图。对于一组给定的视频帧,xt∈RB×F×C×H×W,其中F表示帧数。首先,xt被重塑为形状BHWC×F。每帧的每个像素都被视为令牌。Qt、Kt、和Vt由三个线性变换计算得出。相似度矩阵At∈RH×F×F可以经由下式计算:
其中d是每个头的通道嵌入,并且M是注意力矩阵上的上三角掩模,使得如果m>n,那么Mm,n=0,否则Mm,n=1。
然后可以经由下式计算时空注意力的输出:
xt=Attentiont+Attentions,
其中Attentions是视觉变换器中使用的标准多头交叉自注意力模块。通过应用掩码,当前令牌仅受先前令牌的影响,并且独立于将来令牌。
与图像数据集不同,每个视频包含的总帧数范围很广,其可以达到数百甚至数千帧。由此,由于计算和存储成本的原因,使用单个前向传递来处理每个视频内包含的每个帧可能是不切实际的。典型的做法是对小子集进行采样并用它来表示整个视频。但是,统一的采样策略会导致同一采样关键帧子集包含不同的信息量,从而增加训练的难度。为了简化训练并使生成更加可控,本框架提供了一种采样策略,其中首先对视频的一小部分进行随机采样,然后对该小部分内的预定数量的帧进行均匀采样。在一些实施方式中,随机采样的视频子集的范围为视频的约5%到约15%。帧的预定数量也可以变化。在一些实施方式中,对三个帧进行均匀采样以进行训练,其中第一帧和第三帧可以用作条件并沿着通道维度级联到第二帧。在其它实施方式中,对十六个帧进行统一采样以用于训练。可以基于采样帧计算对应的每秒帧数(FPS)并将其附加到训练数据中。以这种方式,可以控制生成的视频的平滑度。例如,当指定低的FPS值时,相邻帧之间的距离预计会更大。因此,生成的视频包含的整体动作空间预计会更宽。相比之下,当指定高FPS时,生成的视频包含的动作空间预计会更窄但更平滑。
对于损失函数,可以利用用于框架训练的图像重建损失。具体而言,给定一组视频帧,可以经由下式计算损失:
为了提高生成的视频(其仅包括当前阶段的关键帧)的时间分辨率,可以实现单独的帧插值网络以将过渡帧插入到任意两个相邻的生成帧中。插值模型也可以通过使用VAE模型将两个条件RGB帧编码为4通道潜在向量,然后其可以与噪声xt(在时间步长t处的噪声目标)按通道级联在一起来在潜在空间中进行训练。第三个潜在向量可以从两个条件潜在向量中球状插值作为额外信息级联到输入中,这使得网络输入的总通道达到16个。
图5示出了示意性地图示关键帧的示例插值处理500的图。处理500包括接收一组关键帧502,其可以使用上述方法使用潜在扩散模型来生成。关键帧502的数量和空间分辨率可以变化。对于每对相邻关键帧,可以生成并插入过渡帧。例如,给定一组N个关键帧,可以生成并插入N-1个过渡帧以形成2N-1个帧,从而提高最终生成视频的时间分辨率。可以使用诸如上述的插值模型来生成过渡帧504。在一些实施方式中,生成至少两个过渡帧并将其插入到一对相邻关键帧之间。
可以递归地执行插值处理以进一步提高生成视频的时间分辨率。递归迭代的次数可以取决于各种因素,包括期望的视频质量和可用的计算资源。先前步骤中生成的关键帧的数量可能会影响执行插值处理的单次迭代所需的计算资源。在一些实施方式中,生成十六个关键帧,并且执行两次插值处理,得到总共六十一帧。
为了生成高分辨率视频,可以使用在像素空间上训练的基于扩散的超分辨率模型来对关键帧和经插值的过渡帧进行上采样。可以以各种空间分辨率生成关键帧。在一些实施方式中,关键帧是以256x256像素的空间分辨率生成的。类似地,可以以不同的空间分辨率执行对帧的上采样。在一些实施方式中,从256x256到1024x1024分辨率对帧进行上采样。超分辨率模型可以在图像数据集而不是视频数据集上被训练。为了减少计算和存储成本,该模型可以在1024x1024图像的512x512随机裁剪上进行100万次迭代训练。在一些情况下,超分辨率的噪声调节增强对于生成高保真图像是重要的。在一些实施方式中,随机水平的高斯噪声被添加到低分辨率图像,并且扩散模型在噪声水平上被调节。
图6示出了图示基于输入文本生成视频的示例方法600的流程图。在步骤602处,方法600包括从用户接收输入文本。输入文本可以经由各种输入模块接收并且可以具有各种形式和格式。在一些实施方式中,输入文本是描述要生成的视频的内容的句子。输入文本也可以是不完整的句子或多个句子。在一些实施方式中,使用自然语言处理技术来解析输入文本。
在步骤604处,方法600包括基于接收到的输入文本生成多个关键帧。可以使用潜在扩散模型来生成多个关键帧。在一些实施方式中,执行CLIP引导的潜在扩散处理以单独生成关键帧。生成的关键帧的数量可以是预定的并且可以取决于各种因素。例如,用户设置要生成的预定数量的关键帧。生成的关键帧的空间分辨率也可以不同。在一些实施方式中,生成具有256x256像素的空间分辨率的十六个关键帧。
潜在扩散模型可以包括时空注意力头,其可以从该时空注意力头生成关键帧的内容和时间信息。时空注意力头可以包括多个二维卷积算子和多个适配器以学习帧的特定特征,其中每个2D卷积算子与唯一适配器配对。由于视频的帧大多重叠,因此结合使用2D卷积算子和唯一适配器可以足以处理帧。与使用3D卷积算子相比,这种使用大大减少了计算时间。时空注意力头还可以包括定向时间自注意力模块,该模块提供帧之间的时间信息,用于生成时间上有意义的帧序列,其中给定帧是基于所有先前帧计算的,并且先前帧不受将来帧的影响。
在步骤606处,方法600包括对多个关键帧进行插值。可以使用单独的帧插值网络对多个关键帧进行插值以增加其时间分辨率。插值模型可以在潜在空间中进行训练。在一些实施方式中,在每对相邻关键帧之间插入过渡帧。例如,给定一组N个关键帧,可以生成并插入N-1个过渡帧以形成2N-1个帧。可以在一对相邻关键帧之间插入多个帧。插值处理也可以递归地执行,以进一步提高帧的时间分辨率。例如,给定一组N个关键帧,可以执行插值处理以形成一组2N-1帧。可以对该组新的2N-1个帧执行另一个插值处理以形成一组4N-3个帧。
在步骤608处,方法600可选地对经插值的多个关键帧进行上采样。可以使用超分辨率模型对帧进行上采样。在一些实施方式中,超分辨率模型在高分辨率视频数据集上被训练。在其它实施方式中,超分辨率模型在图像数据集(包括高分辨率图像数据集)上被训练。各种空间分辨率的帧可以被上采样到更高的空间分辨率。在一些实施方式中,具有256x256像素的空间分辨率的帧被上采样到1024x1024。
在步骤610处,方法600包括输出具有与输入文本相关的内容的视频。
在一些实施例中,本文描述的方法和处理可以绑定到一个或多个计算设备的计算系统。特别地,这样的方法和处理可以被实现为计算机应用程序或服务、应用编程接口(API)、库和/或其它计算机程序产品。
图7示意性地示出了可以执行上述方法和处理中的一个或多个的计算系统700的非限制性实施例。计算系统700以简化形式示出。计算系统700可以实施上述和图1中所示的计算机设备102。计算系统700可以采用一个或多个个人计算机、服务器计算机、平板计算机、家庭娱乐计算机、网络计算设备、游戏设备、移动计算设备、移动通信设备(例如,智能电话)和/或其它计算设备以及可穿戴计算设备,诸如智能手表和头戴式增强现实设备的形式。
计算系统700包括逻辑机器702和存储机器704。计算系统700可以可选地包括显示子系统706、输入子系统708、通信子系统710和/或图7中未示出的其它组件。
逻辑机器702包括被配置为执行指令的一个或多个物理设备。例如,逻辑机器702可以被配置为执行作为一个或多个应用、服务、程序、例程、库、对象、组件、数据结构或其它逻辑构造的一部分的指令。此类指令可以被实现为执行任务、实现数据类型、变换一个或多个组件的状态、实现技术效果或以其它方式达到期望的结果。
逻辑机器702可以包括被配置为执行软件指令的一个或多个处理器。附加地或替代地,逻辑机器702可以包括被配置为执行硬件或固件指令的一个或多个硬件或固件逻辑机。逻辑机器702的处理器可以是单核或多核,并且在其上执行的指令可以被配置用于顺序、并行和/或分布式处理。逻辑机器702的各个组件可选地可以分布在两个或更多个单独的设备中,这些设备可以远程定位和/或被配置用于协调处理。逻辑机器702的各方面可以由配置在云计算配置中的远程可访问的联网计算设备虚拟化和执行。
存储机器704包括一个或多个物理设备,其被配置为保持可由逻辑机器702执行的指令以实现本文描述的方法和处理。当实现这样的方法和处理时,可以变换存储机器704的状态——例如,以保持不同的数据。
存储机器704可以包括可移除和/或内置设备。存储机器704可以包括光学存储器(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器(例如,RAM、EPROM、EEPROM等)和/或磁存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)以及其它。存储机器704可以包括易失性、非易失性、动态、静态、读/写、只读、随机访问、顺序访问、位置可寻址、文件可寻址和/或内容可寻址设备。
应该认识到的是,存储机器704包括一个或多个物理设备。但是,本文描述的指令的各方面替代地可以通过物理设备在有限持续时间内不持有的通信介质(例如,电磁信号、光信号等)来传播。
逻辑机器702和存储机器704的各方面可以一起集成到一个或多个硬件逻辑组件中。此类硬件逻辑组件可以包括例如现场可编程门阵列(FPGA)、程序和应用专用集成电路(PASIC/ASIC)、程序和应用专用标准产品(PSSP/ASSP)、系统级芯片(System-on-a-chip,SOC)和复杂可编程逻辑设备(CPLD)。
术语“模块”、“程序”和“引擎”可以用于描述被实现为执行特定功能的计算系统700的一个方面。在一些情况下,模块、程序或引擎可以经由逻辑机器702执行由存储机器704保持的指令来实例化。应该理解的是,不同的模块、程序和/或引擎可以从相同的应用、服务、代码块、对象、库、例程、API、函数等实例化。同样,相同的模块、程序和/或引擎可以由不同的应用、服务、代码块、对象、例程、API、函数等实例化。术语“模块”、“程序”和“引擎”可以涵盖各个或一组可执行文件、数据文件、库、驱动程序、脚本、数据库记录等。
应该认识到的是,如本文使用的“服务”是跨多个用户会话可执行的应用程序。服务可以用于一个或多个系统组件、程序和/或其它服务。在一些实施方式中,服务可以在一个或多个服务器计算设备上运行。
当被包括时,显示子系统706可以用于呈现由存储机器704保持的数据的视觉表示。该视觉表示可以采用图形用户界面(GUI)的形式。当本文描述的方法和处理改变由存储机器保持的数据并因此变换存储机器704的状态时,显示子系统706的状态同样可以被变换以可视地表示底层数据的变化。显示子系统706可以包括利用实际上任何类型的技术的一个或多个显示设备。这样的显示设备可以与逻辑机器702和/或存储机器704组合在共享外壳中,或者这样的显示设备可以是外围显示设备。
当被包括时,输入子系统708可以包括一个或多个用户输入设备或者与一个或多个用户输入设备接口,诸如键盘、鼠标、触摸屏或游戏控制器。在一些实施例中,输入子系统708可以包括所选择的自然用户输入(NUI)组件或与所选择的自然用户输入(NUI)组件接口。这样的组件可以是集成的或外围的,并且输入动作的转换和/或处理可以在板上或板外处置。示例NUI组件可以包括用于言语和/或语音识别的麦克风;用于机器视觉和/或手势识别的红外、彩色、立体和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼跟踪器、加速度计和/或陀螺仪;以及用于评估大脑活动的电场感测组件集。
当被包括时,通信子系统710可以被配置为将计算系统700与一个或多个其它计算设备通信地耦合。通信子系统710可以包括与一种或多种不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统710可以被配置为经由无线电话网络、或者有线或无线局域网或广域网进行通信。在一些实施例中,通信子系统710可以允许计算系统700经由诸如互联网之类的网络向其它设备发送消息和/或从其它设备接收消息。
以下段落为本申请的权利要求提供附加的支持。一个方面提供了一种用于与输入文本对应的视频生成的计算系统,该计算系统包括计算设备的处理器和存储器。处理器被配置为使用存储器的部分来执行程序以从用户接收输入文本、使用潜在扩散模型基于输入文本生成多个关键帧、对多个关键帧进行插值,以及使用经插值的多个关键帧输出视频。在这个方面,附加地或替代地,处理器还被配置为对经插值的多个关键帧进行上采样。在这个方面,附加地或替代地,对经插值的多个关键帧进行上采样包括使用超分辨率模型。在这个方面,附加地或替代地,潜在扩散模型包括二维空间中的多个卷积算子。在这个方面,附加地或替代地,潜在扩散模型包括针对二维空间中的卷积算子中的每个卷积算子的唯一适配器。在这个方面,附加地或替代地,潜在扩散模型包括定向时间自注意力模块。在这个方面,附加地或替代地,多个关键帧使用定向时间自注意力模块而被生成,使得关键帧基于先前帧而被计算,其中先前帧不受将来帧的影响。在这个方面,附加地或替代地,对多个关键帧进行插值包括生成过渡帧并将其插入在多个关键帧中的两个相邻关键帧之间。在这个方面,附加地或替代地,对多个关键帧进行插值包括生成多个过渡帧并将其插入在多个关键帧中的两个相邻关键帧之间。在这个方面,附加地或替代地,对多个关键帧进行插值包括对于多个预定迭代递归地生成过渡帧并将其插入在多个关键帧中的每两个相邻关键帧之间。
另一方面提供了一种用于与输入文本对应的视频生成的计算机化方法,该方法包括从用户接收输入文本、使用潜在扩散模型基于输入文本生成多个关键帧、对多个关键帧进行插值,以及使用经插值的多个关键帧输出视频。在这个方面,附加地或替代地,该方法还包括对经插值的多个关键帧进行上采样。在这个方面,附加地或替代地,潜在扩散模型包括二维空间中的多个卷积算子。在这个方面,附加地或替代地,潜在扩散模型包括针对二维空间中的卷积算子中的每个卷积算子的唯一适配器。在这个方面,附加地或替代地,潜在扩散模型包括定向时间自注意力模块。在这个方面,附加地或替代地,多个关键帧使用定向时间自注意力模块而被生成,使得关键帧基于先前帧而被计算,其中先前帧不受将来帧的影响。在这个方面,附加地或替代地,对多个关键帧进行插值包括生成过渡帧并将其插入在多个关键帧中的两个相邻关键帧之间。在这个方面,附加地或替代地,对多个关键帧进行插值包括生成多个过渡帧并将其插入在多个关键帧中的两个相邻关键帧之间。在这个方面,附加地或替代地,对多个关键帧进行插值包括对于多个预定迭代递归地生成过渡帧并将其插入在多个关键帧中的每两个相邻关键帧之间。
另一方面提供了一种用于与输入文本对应的视频生成的计算系统,该计算系统包括计算设备的处理器和存储器。处理器被配置为使用存储器的部分来执行程序以从用户接收输入文本并使用潜在扩散模型基于输入文本生成多个关键帧。潜在扩散模型包括二维空间中的多个卷积算子、多个适配器,其中每个适配器与不同的卷积算子相关联,以及定向时间自注意力模块,用于捕获多个关键帧之间的时间信息。该处理器还被配置为通过对于每对相邻关键帧生成过渡帧并将其插入在该对相邻关键帧之间来对多个关键帧进行插值。该处理器还被配置为使用超分辨率模型对经插值的多个关键帧进行上采样并且使用上采样的多个关键帧输出视频。
应该理解的是,本文描述的配置和/或方法本质上是示例性的,并且这些具体实施例或示例不应被认为是限制性的,因为许多变化是可能的。本文描述的具体例程或方法可以表示任意数量的处理策略中的一种或多种。由此,所示和/或所描述的各种动作可以按照所示和/或所描述的顺序执行、按照其它顺序执行、并行地执行或者被省略。同样,上述处理的次序可以改变。
本公开的主题包括各种处理、系统和配置的所有新颖和非显而易见的组合和子组合,以及本文公开的其它特征、功能、动作和/或属性,及其任何和所有等同形式。
Claims (20)
1.一种用于与输入文本对应的视频生成的计算系统,所述计算系统包括:
计算设备的处理器和存储器,所述处理器被配置为使用所述存储器的部分来执行程序以:
从用户接收所述输入文本;
使用潜在扩散模型基于所述输入文本生成多个关键帧;
对所述多个关键帧进行插值;以及
使用经插值的所述多个关键帧输出视频。
2.根据权利要求1所述的计算系统,其中所述处理器还被配置为:对经插值的所述多个关键帧进行上采样。
3.根据权利要求2所述的计算系统,其中对经插值的所述多个关键帧进行上采样包括使用超分辨率模型。
4.根据权利要求1所述的计算系统,其中所述潜在扩散模型包括二维空间中的多个卷积算子。
5.根据权利要求4所述的计算系统,其中所述潜在扩散模型包括针对二维空间中的所述多个卷积算子中的每个卷积算子的唯一适配器。
6.根据权利要求1所述的计算系统,其中所述潜在扩散模型包括定向时间自注意力模块。
7.根据权利要求6所述的计算系统,其中所述多个关键帧使用所述定向时间自注意力模块而被生成,使得关键帧基于先前帧而被计算,其中所述先前帧不受将来帧的影响。
8.根据权利要求1所述的计算系统,其中对所述多个关键帧进行插值包括:生成过渡帧并将其插入在所述多个关键帧中的两个相邻关键帧之间。
9.根据权利要求1所述的计算系统,其中对所述多个关键帧进行插值包括:生成多个过渡帧并将其插入在所述多个关键帧中的两个相邻关键帧之间。
10.根据权利要求1所述的计算系统,其中对所述多个关键帧进行插值包括:以多个预定迭代,递归地生成过渡帧并将其插入在所述多个关键帧中的每两个相邻关键帧之间。
11.一种用于与输入文本对应的视频生成的计算机化方法,所述方法包括:
从用户接收所述输入文本;
使用潜在扩散模型基于所述输入文本生成多个关键帧;
对所述多个关键帧进行插值;以及
使用经插值的所述多个关键帧输出视频。
12.根据权利要求11所述的方法,还包括:对所述经插值的所述多个关键帧进行上采样。
13.根据权利要求11所述的方法,其中所述潜在扩散模型包括二维空间中的多个卷积算子。
14.根据权利要求13所述的方法,其中所述潜在扩散模型包括针对二维空间中的所述多个卷积算子中的每个卷积算子的唯一适配器。
15.根据权利要求11所述的方法,其中所述潜在扩散模型包括定向时间自注意力模块。
16.根据权利要求15所述的方法,其中所述多个关键帧使用所述定向时间自注意力模块而被生成,使得关键帧基于先前帧而被计算,其中所述先前帧不受将来帧的影响。
17.根据权利要求11所述的方法,其中对所述多个关键帧进行插值包括:生成过渡帧并将其插入在所述多个关键帧中的两个相邻关键帧之间。
18.根据权利要求11所述的方法,其中对所述多个关键帧进行插值包括:生成多个过渡帧并将其插入在所述多个关键帧中的两个相邻关键帧之间。
19.根据权利要求11所述的方法,其中对所述多个关键帧进行插值包括:以多个预定迭代,递归地生成过渡帧并将其插入在所述多个关键帧中的每两个相邻关键帧之间。
20.一种用于与输入文本对应的视频生成的计算系统,所述计算系统包括:
计算设备的处理器和存储器,所述处理器被配置为使用所述存储器的部分来执行程序以:
从用户接收所述输入文本;
使用潜在扩散模型基于所述输入文本生成多个关键帧,其中所述潜在扩散模型包括:
二维空间中的多个卷积算子;
多个适配器,其中每个适配器与不同的卷积算子相关联;以及
定向时间自注意力模块,用于捕获所述多个关键帧之间的时间信息;通过对于每对相邻关键帧生成过渡帧并将其插入在该对相邻关键帧之间,来对所述多个关键帧进行插值;以及
使用超分辨率模型对经插值的所述多个关键帧进行上采样;以及
使用经上采样的所述多个关键帧输出视频。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/056,444 US20240169479A1 (en) | 2022-11-17 | 2022-11-17 | Video generation with latent diffusion models |
US18/056,444 | 2022-11-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118053090A true CN118053090A (zh) | 2024-05-17 |
Family
ID=91043760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311505990.XA Pending CN118053090A (zh) | 2022-11-17 | 2023-11-13 | 使用潜在扩散模型生成视频 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240169479A1 (zh) |
CN (1) | CN118053090A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118354164A (zh) * | 2024-06-17 | 2024-07-16 | 阿里巴巴(中国)有限公司 | 视频生成方法、电子设备及计算机可读存储介质 |
CN118409801B (zh) * | 2024-07-04 | 2024-08-30 | 山东省计算中心(国家超级计算济南中心) | 基于申威众核处理器的含依赖及交叉循环从核优化方法 |
CN118507087A (zh) * | 2024-07-22 | 2024-08-16 | 浪潮云信息技术股份公司 | 基于大模型的医疗行业信息传递方法、装置、设备及介质 |
-
2022
- 2022-11-17 US US18/056,444 patent/US20240169479A1/en active Pending
-
2023
- 2023-11-13 CN CN202311505990.XA patent/CN118053090A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240169479A1 (en) | 2024-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Anantrasirichai et al. | Artificial intelligence in the creative industries: a review | |
Zeng et al. | Aggregated contextual transformations for high-resolution image inpainting | |
US11017586B2 (en) | 3D motion effect from a 2D image | |
Seow et al. | A comprehensive overview of Deepfake: Generation, detection, datasets, and opportunities | |
EP3298576B1 (en) | Training a neural network | |
CN111127304B (zh) | 跨域图像转换 | |
CN118053090A (zh) | 使用潜在扩散模型生成视频 | |
CN111079532A (zh) | 一种基于文本自编码器的视频内容描述方法 | |
Chen et al. | Deep point set resampling via gradient fields | |
CN114339409A (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
CN114140563A (zh) | 虚拟对象的处理方法及装置 | |
Quan et al. | Deep learning-based image and video inpainting: A survey | |
Nguyen et al. | Single-image 3-d reconstruction: Rethinking point cloud deformation | |
Yi et al. | Animating through warping: An efficient method for high-quality facial expression animation | |
CN117557689B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115170388A (zh) | 人物线稿生成方法、装置、设备及介质 | |
CN115526223A (zh) | 潜在空间中的基于得分的生成建模 | |
Junayed et al. | Consistent video inpainting using axial attention-based style transformer | |
CN115294418A (zh) | 应用于图像分割的领域自适应的方法和装置以及存储介质 | |
CN117455757A (zh) | 图像处理方法、装置、设备及存储介质 | |
US20230206515A1 (en) | Automatic caricature generating method and apparatus | |
CN116975347A (zh) | 图像生成模型训练方法及相关装置 | |
Melnik et al. | Video Diffusion Models: A Survey | |
CN116543246A (zh) | 图像去噪模型的训练方法、图像去噪方法、装置及设备 | |
US20240193412A1 (en) | Multi-dimensional generative framework for video generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |