掌桥专利:专业的专利平台
掌桥专利
首页

用于生成视频的方法、装置、设备和介质

文献发布时间:2024-04-18 19:59:31


用于生成视频的方法、装置、设备和介质

技术领域

本公开的示例性实现方式总体涉及计算机视觉,特别地涉及使用机器学习模型来生成视频的方法、装置、设备和计算机可读存储介质。

背景技术

机器学习技术已经被广泛地用于多个技术领域,在计算机视觉领域中,已经提出了利用机器学习模型来自动生成视频的多种技术方案。例如,可以基于预先指定的图像和用于描述视频内容的文本来生成相应的视频。然而,目前所生成的视频中的画面通常动态性较差,例如视频中的对象缺乏明显动作和动态效果等,因而难以达到真实的运动视觉效果。此时,期望可以以更为方便并且有效的方式来生成包括期望内容的视频。

发明内容

在本公开的第一方面,提供了一种用于生成视频的方法。在该方法中,从参考视频中的多个参考图像中确定第一参考图像和第二参考图像。接收用于描述参考视频的参考文本。基于第一参考图像、第二参考图像和参考文本,获取生成模型,生成模型用于基于第一图像、第二图像和文本来生成目标视频。

在本公开的第二方面,提供了一种用于生成视频的装置。该装置包括:图像确定模块,被配置用于从参考视频中的多个参考图像中确定第一参考图像和第二参考图像;文本确定模块,被配置用于接收用于描述参考视频的参考文本;以及获取模块,被配置用于基于第一参考图像、第二参考图像和参考文本,获取生成模型,生成模型用于基于第一图像、第二图像和文本来生成目标视频。

在本公开的第三方面,提供了一种电子设备。该电子设备包括:至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令在由至少一个处理单元执行时使电子设备执行根据本公开第一方面的方法。

在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时使处理器实现根据本公开第一方面的方法。

应当理解,本内容部分中所描述的内容并非旨在限定本公开的实现方式的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。

附图说明

在下文中,结合附图并参考以下详细说明,本公开各实现方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:

图1示出了根据一种生成视频的技术方案的框图;

图2示出了根据本公开的一些实现方式的用于生成视频的过程的框图;

图3示出了根据本公开的一些实现方式的用于确定第二参考图片的过程的框图;

图4示出了根据本公开的一些实现方式的用于确定生成模型的过程的框图;

图5示出了根据本公开的一些实现方式的确定参考视频的参考特征的过程的框图;

图6示出了根据本公开的一些实现方式的用于生成目标视频的过程的框图;

图7示出了根据本公开的一些实现方式的在生成目标视频的过程的扩散模型的操作过程的框图;

图8示出了根据本公开的一些实现方式的基于输入数据来生成目标视频的框图;

图9示出了根据本公开的一些实现方式的基于输入数据来生成目标视频的框图;

图10示出了根据本公开的一些实现方式的基于输入数据来生成目标视频的框图;

图11示出了根据本公开的一些实现方式的用于生成视频的方法的流程图;

图12示出了根据本公开的一些实现方式的用于生成视频的装置的框图;以及

图13示出了能够实施本公开的多个实现方式的设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的实现方式。虽然附图中示出了本公开的某些实现方式,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实现方式,相反,提供这些实现方式是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实现方式仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实现方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实现方式”或“该实现方式”应当理解为“至少一个实现方式”。术语“一些实现方式”应当理解为“至少一些实现方式”。下文还可能包括其他明确的和隐含的定义。如本文中所使用的,术语“模型”可以表示各个数据之间的关联关系。例如,可以基于目前已知的和/或将在未来开发的多种技术方案来获取上述关联关系。

可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。

可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。

例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。

作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹出窗口的方式,弹出窗口中可以以文字的方式呈现提示信息。此外,弹出窗口中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。

可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。

在此使用的术语“响应于”表示相应的事件发生或者条件得以满足的状态。将会理解,响应于该事件或者条件而被执行的后续动作的执行时机,与该事件发生或者条件成立的时间,二者之间未必是强关联的。例如,在某些情况下,后续动作可在事件发生或者条件成立时立即被执行;而在另一些情况下,后续动作可在事件发生或者条件成立后经过一段时间才被执行。

示例环境

机器学习技术已经被广泛地用于多个技术领域,在计算机视觉领域中,已经提出了利用机器学习模型来自动生成视频。已有的视频生成方法主要集中于文本到视频的生成或者基于单一图像生视频。尽管生成的视频可以涉及对象运动,然而动作持续时间较短并且仅具备短暂的动态性,动态性较差并且不成呈现期望表达的信息。

参见图1描述一种生成方式,该图1示出了根据一种生成视频的技术方案的框图100。如图1所示,可以获取机器学习模型120,在此,机器学习模型120可以是基于预先构建的训练数据集中的参考数据来生成的。可以利用文本110来指定将要生成的视频的内容,并且可以利用图像112来指定视频的环境(例如,作为首帧图像,或者其他位置处的图像)。在此示例中,文本110例如可以指示“A cat is walking in the street(一只猫正在街上行走)”。此时,机器学习模型120可以基于文本110和112来生成视频130,并且视频内容为猫沿着街道行走。

然而,目前所生成的视频中的画面通常难以达到真实视觉效果。创建高动态的动作视频、复杂的摄像机时代动作、视觉效果、表情特写或镜头转换面临一个艰巨的挑战。当前的视频生成方法,主要集中在文本到视频的生成,倾向于产生具有最小运动幅度的视频,仅能生成较短长度的视频片段,并且视频中的对象(例如,猫)的形态可能与图像112中较为相似,猫的动作可能较为僵硬并且动作幅度很小。此时,期望可以以更为方便并且有效的方式来生成包括期望内容的视频。

生成视频的概要

由于视频需要额外的时间维度,并且由许多关键帧组成,难以使用简单语言来精确描述每个关键帧。此外,视频中的运动类型非常多样化。已有技术方案不仅是资源密集型的,而且对生成模型提出了相当大的挑战。为了理解复杂的文本描述并且生成相匹配的视频,模型的规模将会骤增,此时需要的注释数据的数量也会显著增加。

为了至少部分地解决现有技术中的不足,根据本公开的一个示例性实现方式,提出了一种基于扩散模型的视频生成(例如,称为PixelDance(像素跳动))的技术方案。概括而言,提出了一种基于扩散模型的机器学习架构,该架构可以将视频中的首帧和末帧的图像指令与视频生成的文本指令相结合。综合实验结果表明,使用本公开的技术方案生成的视频在合成具有复杂场景和复杂运动的视频方面表现出卓越的视觉效果。

根据本公开的一个示例实现方式,首帧图像指令可以设置视频生成的场景(并建立角色)。首帧还使得该模型能够生成连续的视频,在这种情况下,该模型利用前一视频的末帧作为后续视频的首帧指令,来生成后续视频。进一步,描述视频的结束状态的末帧指令可以充当附加的控制机制。以此方式,可以增强用户预期与文本的对齐(也即,使得生成的视频更加符合用户预期),并使模型能够构建复杂的镜头,最终生成丰富的视频内容,从而确保多样性和连贯性。

概括而言,可以利用指令为条件。给定上述三个指令,该模型在训练阶段可以集中学习人、动物、物体和世界内的其他实体的动态;以及在推理中,该模型可以将学习到的物理世界的运动规律“泛化”到训练时没有涉及的领域,例如实现动漫人物的运动、特效镜头,等等。

具体地,可以将上述信息集成到扩散模型中。例如,通过预训练的文本编码器来编码文本信息,然后使用交叉注意力机制嵌入到扩散模型中。图像指令用预训练的变分自动编码器(VAE)编码器来编码,并与扰动的视频内容或高斯噪声连接,作为扩散模型的输入。在训练过程中,可以将视频的首帧图像直接作为首帧指令,强制模型严格遵守指令,从而保持连续视频之间的连续性。在推理过程中,该指令可以方便地从文本到图像的模型中获得或者由用户直接提供。

与此对应,应当避免模型在生成视频时复制末帧指令。这是因为,在推断过程中获取完美的末帧具有挑战性。因此,设计该模型可以适应用户提供的粗略草图作为指导,从而生成对应视频。这个草图可以使用基本的图像编辑工具来创建。用户也可以提供手绘轮廓图作为末帧指导。应当理解,在此的草图可以是使用图像编辑工具绘制的草图。

参见图2描述根据本公开的一个示例性实现方式的概要,图2示出了根据本公开的一些实现方式的用于生成视频的过程的框图200。如图2所示,可以构建如图2所示的生成模型220,该生成模型可以描述输入数据与输出数据之间的关联关系。此时,输入数据例如可以包括:用于描述视频内容的文本,用于表示视频中的首帧图像的开始图像(例如,可以称为第一图像),用于表示视频中的末帧图像的引导图像(例如,可以称为第二图像)。输出数据例如可以包括视频。

根据本公开的一个示例实现方式,可以基于目前已知的和/或将在未来开发的多种架构来建立生成模型220。在训练阶段,可以从参考视频230提取样本数据,进而训练该生成模型220。如图2所示,可以获取包括多个参考图像的参考视频230,并且可以从多个参考图像中获取第一参考图像212和第二参考图像214。在此,可以从参考视频230的头部位置处获取第一参考图像212(例如,首帧图像),可以从参考视频230的尾部位置处获取第二参考图像214(例如,尾帧图像、或者尾帧图像之前预定范围内的图像)。进一步,可以接收用于描述参考视频的参考文本210。

如图2所示,参考视频230可以包括一只猫,第一参考图像212和第二参考图像214中的猫可以位于画面中的不同位置。此时,文本110可以指示“A cat is walking in thestreet(一只猫正在街上行走)”。进一步,可以基于第一参考图像212、第二参考图像214和参考文本210,来训练生成模型220。此时,训练后的生成模型220可以基于第一图像、第二图像和文本来生成目标视频。

在对末帧指令处理过程中,可以采用多种策略来调节末帧的影响。在训练期间,可以从参考视频的最后三个真值帧中随机选择末帧指令。可以将噪声引入到指令中,以提高模型对指令依赖的鲁棒性。在训练阶段,可以以某个概率随机丢弃末帧指令。相应地,提出了简单而有效的推理策略。例如,在扩散模型的反向过程的前τ个去噪步骤中,可以利用末帧指令来引导视频生成朝向期望的结束状态。继而,在其余步骤中,可以丢弃该末帧指令,从而允许该模型生成时间上更连贯的视频内容。末帧引导的强度可以通过τ来调整。

应当理解,图2仅示意性示出了获取生成模型220的过程,备选地和/或附加地,可以获取多个参考视频并且从多个参考视频中提取相应的数据,进而以迭代方式不断更新该生成模型220。例如,可以获取不同对象执行不同动作的参考视频,进而使得生成模型220可以掌握更为丰富的视频生成知识。根据本公开的一个示例实现方式,可以在多语言环境下实现视频生成过程。尽管图2中的参考文本以英语表示,备选地和/或附加地,可以基于其他语言,例如,汉语、法语、日语等其他语言来表示参考文本。

利用本公开的示例性实现方式,在确定生成模型220的过程中,第一参考图像212可以作为视频的开始图像,并且第二参考图像214可以作为引导数据来确定视频中故事的发展方向。例如,所生成的视频可以以第二参考图像214为末帧。以此方式,生成模型220可以明确地掌握视频中的各个图像内容的变化,进而有助于生成更为丰富并且逼真的视频。

生成视频的详细过程

已经描述了生成视频的概要,在下文中将描述有关生成视频的更多细节。根据本公开的一个示例实现方式,为了确定第一参考图像,可以将位于参考视频的头部的参考图像确定为第一参考图像。换言之,可以将参考视频中的第一帧图像作为第一参考图像。以此方式,可以简化构建训练数据的过程,并且以快速并且有效的方式获得训练数据。

根据本公开的一个示例实现方式,可以基于多种方式来确定第二参考图像。例如,可以将参考视频中的最后一帧图像作为第二参考图像。备选地和/或附加地,为了向训练数据中引入扰动因素,可以从位于参考视频的尾部的预定范围内的一组参考图像中,确定第二参考图像。

参见图3描述更多细节,图3示出了根据本公开的一些实现方式的用于确定第二参考视频的过程的框图300。如图3所示,假设参考视频230包括多个参考图像:位于首帧位置的参考图像310、参考图像312、…、314、316、以及位于尾帧位置的参考图像318。例如,预定范围320可以表示参考视频尾部的最后3帧(或者其他数量)。假设参考视频包括N个图像帧,可以将参考视频中的第N帧、第N-1帧、以及第N-2帧中的任一项作为第二参考图像。此时,第二参考图像可以包括参考图像314、316和318中的任一项。以此方式,可以在一定程度上弱化最后一帧对于训练过程的影响,从而获得更为连贯的视频。

参见图4描述生成模型的更多信息,该图4示出了根据本公开的一些实现方式的用于确定生成模型的过程的框图400。如图4所示,生成模型220可以包括:编码器模型410、连接模型420、扩散模型430、以及解码器模型440。在此,编码器模型410和解码器模型440可以具有预定的结构和参数。在后续更新生成模型220的参数期间,将不会更新编码器模型410和解码器模型440的参数。根据本公开的一个示例实现方式,可以使用VAE和相应的解码器。

在图4中,可以基于第一参考图像212、第二参考图像214和参考文本210来获取生成模型220。具体地,可以利用编码器模型410来确定参考视频230的第一参考特征412(例如,表示为Z),第一参考特征412可以包括多个参考图像的多个参考图像特征。进一步,可以利用编码器模型410来确定参考视频的第二参考特征414(例如,表示为c

根据本公开的一个示例实现方式,第一参考特征412可以包括多个维度,并且每个维度可以对应于一个参考图像,也即,在每个维度处可以存储来自一个参考图像的特征(具有预定维度,例如,

参见图5描述有关确定特征的更多细节,该图5示出了根据本公开的一些实现方式的确定参考视频的参考特征的过程的框图500。如图5所示,可以逐一处理参考视频230中的每个参考图像。例如,可以利用编码器模型来提取第一参考图像212的特征,以便生成第一参考图像特征。可以将第一参考图像特征放置在第一参考特征412的第一个位置(也即,位置510)。继而,可以利用编码器模型来提取第一参考图像212之后的另一参考图像的参考图像特征,并且将该参考图像特征放置在第一参考特征412的第二个位置,等等。可以不断处理参考视频230中的每个参考图像,直到将参考视频230中的最后一个参考图像(也即,第二参考图像214)的第二参考图像特征放置在第一参考特征412的最后一个位置(也即,位置512)。

类似地,可以利用编码器模型310来确定参考视频的第二参考特征。可以利用编码器模型410来提取第一参考图像212的特征,以便生成第一参考图像特征。可以将第一参考图像特征放置在第二参考特征442的第一个位置(也即,位置520)。可以利用编码器模型410来将参考视频230中的最后一个参考图像(也即,第二参考图像214)的第二参考图像特征放置在第二参考特征414的最后一个位置522。

如图5所示,第一参考图像特征在第二参考特征414中的位置(也即,首位)对应于第一参考图像在参考视频中的位置(也即,首位),并且第二参考图像特征在第二参考特征414中的位置(也即,末位)对应于第二参考图像在参考视频中的位置(也即,末位)。以此方式,可以便于在后续的连接过程中对齐第一参考特征和第二参考特征,从而便于提高扩散模型的准确性。

根据本公开的一个示例实现方式,第二参考特征中的第一位置和第二位置以外的其他位置处的特征可以被设置为空。具体地,图5中位置530处可以被设置为空,例如,可以填充数据“0”。以此方式,第二参考特征可以强化第一参考图像和第二参考图像对于视频生成过程的影响,从而使得生成模型可以学习到有关第一参考图像和第二参考图像之间的转换关系的更多知识。

具体地,可以使用VAE来编码参考视频并获得第一参考特征412,也即参考视频中的每一帧都分别利用VAE编码。可以使用VAE来编码第一参考图像和第二参考图像,然后在中间帧的位置用0补全,进而形成获得第二参考特征414(维度与第一参考特征412相同)。

返回图4,可以基于第一参考特征412、第二参考特征414、以及参考文本210来确定扩散模型430。具体地,可以基于扩散模型的原理来分别向第一参考特征412和第二参考特征414添加噪声(例如,可以以不同方式来向两个特征添加不同程度的噪声),进而生成第一噪声参考特征412’和第二噪声参考特征414’。进一步,可以利用连接模型420来连接第一噪声参考特征412’和第二噪声参考特征414’,并且生成特征422。进一步,可以基于扩散模型的原理来构造相应的训练数据,进而更新扩散模型430的参数。

根据本公开的一个示例实现方式,可以基于目前已知的和/或将在未来开发多种结构来实现扩散模型430。扩散模型430的扩散过程涉及正向噪声化过程以及反向的去噪声过程。在正向噪声化过程中,可以在多个步骤中分别向特征添加噪声数据。例如,最初的特征可以表示为Z_0。在每个步骤中,可以不断添加噪声数据,步骤t的噪声特征可以表示为Z_t,步骤t+1的噪声特征可以表示为Z_(t+1)。例如,在步骤t可以向Z_t添加噪声数据。继而,在步骤T可以获得随机高斯数据。

在反向去噪声化过程中,可以在多个步骤中执行上述噪声化过程的逆过程,以便逐步获得最初的特征。具体地,可以将随机高斯数据和与参考文本以及相应的第二参考特征输入扩散模型,以便在多个步骤中逐步执行去噪声过程。例如,在第t个步骤中可以去除噪声特征Z_t中的一部分噪声,以便形成相对于噪声特征Z_t而言较为清洁的噪声特征Z_(t-1)。可以以迭代方式来执行每个去噪声过程,从而反向推导出最初的特征(也即,未经添加噪声的视频特征)。

根据本公开的一个示例实现方式,在确定扩散模型的过程中,可以利用处理模型420来连接第一参考特征和第二参考特征以生成参考视频的参考特征,可以针对参考特征执行噪声化处理以生成参考视频的噪声参考特征422,继而利用扩散模型430,基于噪声参考特征422和参考文本210来确定参考视频的重建特征432(例如,表示为

根据本公开的一个示例实现方式,可以采用2D UNet(U型网络)来实现扩散模型。该模型可以通过空间向下采样,然后通过插入跳跃连接的空间向上采样来构建。具体地,该模型可以包括两个基本块,即2D卷积块和2D注意力。通过插入时间层将2D UNet扩展到3D,其中1D卷积层沿着时间维度在2D卷积层之后,1D注意力层沿着时间维度位于2D注意层之后。该模型可以与图像和视频一起训练,以保持高保真的空间生成能力,并禁用图像输入的1D时间操作。可以在所有的注意力层中使用双向自注意力。使用预训练的文本编码器对文本指令进行编码,嵌入的c

关于图像指令注入,可以将首帧和末帧的图像指令与文本指导相结合。给定首帧和末帧上的图像指令,例如表示为{I

根据本公开的一个示例实现方式,可以从大量参考视频中确定第一参考图像、第二参考图像和参考文本,继而利用上文描述的方式来确定各个参考视频的第一参考特征Z、第二参考特征c

可以不断地利用大量参考视频来以迭代方式更新扩散模型430,直到满足预期的停止条件。应当理解,在此过程中并不需要人工标注数据,而是可以直接利用参考视频的首帧、尾帧以及相应的文本描述来作为训练数据。以此方式,可以排除获取人工标注数据的工作负载,进而提高获取生成模型220的效率。

应当理解,尽管上文示出了第二参考特征c

利用本公开的示例实现方式,可以按照预定比例(例如,25%或者其他数值)来去除第二参考图像特征。以此方式,在更新生成模型的过程中可以涉及不考虑第二参考图像的应用场景,由此可以使得生成模型能够适合于更多的应用场景,从而提高生成模型在各种情况下下的准确性。

根据本公开的一个示例实现方式,可以基于目前已知和/或将在未来开发的多种方式训练生成模型220,以便该生成模型220可以掌握第一图像、第二图像、描述视频内容的文本以及相应视频之间的关联关系。

根据本公开的一个示例实现方式,生成模型230进一步包括解码器模型440。在已经获得生成模型220之后,可以向该生成模型220输入有关生成视频的需求,从而生成相应的目标视频。根据本公开的一个示例实现方式,可以向生成模型输入第一图像和文本,继而利用该生成模型来生成相应的目标视频。根据本公开的一个示例实现方式,可以向生成模型输入第一图像、第二图像和文本,继而利用该生成模型来生成相应的目标视频。备选地和/或附加地,文本甚至可以为空,此时仍然可以生成目标视频。

为了获得更加符合于预期的目标视频,可以接收用于生成目标视频的第一图像和第二图像、以及描述目标视频的内容的文本。继而,可以根据已经训练好的扩散模型,基于第一图像、第二图像、以及文本来生成目标视频的重建特征。进一步,可以根据解码器模型,基于重建特征来生成目标视频。以此方式,可以充分利用扩散模型430来执行反向去噪声过程,从而以更为准确的方式获得目标视频的重建特征。

参见图6描述有关生成视频的更多细节,该图6示出了根据本公开的一些实现方式的用于生成目标视频的过程的框图600。如图6所示,可以接收第一图像612、第二图像614、以及用于描述图像内容的文本610。在此,第一图像612例如可以包括冰面,以便用作将被生成的目标视频630的首帧。第二图像614例如可以包括冰面以及冰面上的北极熊。第二图像614可以作为引导信息从而生成目标视频630的末帧。此时,生成模型220将会在文本610的条件下生成的目标视频630,并且该视频的内容为“A polar bear is walking on the icesurface(一只北极熊正在冰面上行走)”。

可以向生成模型220输入第一图像612、第二图像614、以及文本610。此时,生成模型220将会输出目标视频630,并且该目标视频630的首帧对应于第一图像612、末帧对应于第二图像614。应当理解,由于此时尚未生成目标视频630,利用噪声特征作为目标视频630的第一特征620。根据本公开的一个示例实现方式,可以利用高斯噪声来确定第一特征620。

进一步,可以根据编码器模型410,基于第一图像612和第二图像614来生成目标视频630的第二特征622。例如,可以利用编码器模型410来分别确定第一图像612的第一图像特征和第二图像614的第二图像特征。继而,可以将第一图像特征放置在第二特征622的首位,并且可以将第二图像特征放置在第二特征622的末位。应当理解,在此生成第二特征622的过程与训练阶段类似,因而不在赘述。

在已经确定第一特征620和第二特征622的情况下,可以根据扩散模型,利用第一特征620、第二特征622以及文本610,获取目标视频的重建特征626。类似于训练阶段确定重建特征的过程,可以获得第一噪声特征620’和第二噪声特征622’,利用连接模型420来连接第一噪声特征620’、第二噪声特征622’,以便形成噪声特征624。进一步,可以利用扩散模型430的反向去噪声阶段,生成重建特征626。

应当理解,由于扩散模型430已经是基于上述损失函数来训练的,此时扩散模型430所生成的重建特征626能够准确地描述目标视频630的各方面信息。进一步,可以向解码器模型440输入该重建特征626,此时解码器模型440将会输出相应的目标视频630,并且该目标视频630将会准确地匹配于输入数据中的第一图像612、第二图像614以及文本610。

应当理解,在生成视频的过程中,可以以迭代方式执行扩散模型430的反向去噪声过程,参见图7描述更多细节。图7示出了根据本公开的一些实现方式的在生成目标视频的过程的扩散模型的操作过程的框图700。如图7所示,可以在多个步骤中迭代地执行反向去噪声过程。假设多个步骤的总数量为T,则在第一个步骤(t=1)中,可以利用第一特征620、第二特征622以及文本610,获取目标视频的重建特征626。

继而,在多个步骤中第一步骤之后的第二步骤(t=2)中,可以将第一特征设置为目标视频的重建特征,

根据本公开的一个示例实现方式,可以进一步弱化第二图像614的引导作用。具体地,可以仅在多个步骤中的一部分步骤中考虑第二特征622中的与第二图像614相关联的部分。例如,在多个步骤中的一组步骤中,可以从第二特征中去除该部分,也即将第二特征中的与第二图像相对应的部分设置为空。在图6中,可以将第二特征622中的位于最后一个位置的特征设置为0。

具体地,在全部T个去噪步骤的前τ个步骤中,可以应用末帧条件来引导视频生成朝向期望的结束状态,并且在后续步骤中丢弃该末帧条件,以生成更可信且时间上一致的视频:

在上述公式中,τ决定了模型对末帧指令的依赖程度,调整τ可以实现各种应用。例如,该模型可以在没有末帧条件(即τ=0)的情况下生成高质量的视频。此外,可以应用无分类器指导,它混合了文本提示和无文本提示条件下的模型得分估计。

根据本公开的一个示例实现方式,可以按照预定比例来确定不考虑第二图像614的步骤的数量。例如,在全部T个步骤中的τ=T*40%(或者其他数值)的步骤中,可以不考虑第二图像614的影响。假设T=50,则在前30(50*(1-40%))个步骤中,使用完整的第二特征622;进一步在后20(50*40%)个步骤中,可以将第二特征622中的最后位置处的数值设置为0。以此方式,可以强化第一图像612和文本610在生成目标视频中的作用,进而使得生成的目标视频630更加符合于期望。

根据本公开的一个示例实现方式,第二图像是指定目标视频的结束图像的图像。参见图8描述更多细节,图8示出了根据本公开的一些实现方式的基于输入数据来生成目标视频的框图800。如图8所示,输入数据810可以包括第一图像812、第二图像814以及文本816。此时,第二图像814可以引导生成目标视频820中的末帧。例如,末帧可以与第二图像814相同,此时目标视频820的首帧对应于第一图像812、末帧对应于第二图像814,并且视频的内容为“A polar bear is walking on the ice surface(一只北极熊正在冰面上行走)”。

图9示出了根据本公开的一些实现方式的基于输入数据来生成目标视频的框图900。如图9所示,输入数据910可以包括第一图像912、第二图像914以及文本916。此时,第二图像914可以引导生成目标视频920中的末帧。例如,末帧可以与第二图像914相同,此时目标视频920的首帧对应于第一图像912、末帧对应于第二图像914,并且视频的内容为“apolar bear is walking on the ice surface,fireworks are bursting open,anastronaut is following the bear(一只北极熊正在冰面上行走,焰火绚烂,一位宇航员跟随着北极熊)”。利用本公开的示例实现方式,第二图像可以准确地描述目标视频的结束画面,因而可以以更为精准的方式来控制视频生成。

根据本公开的一个示例实现方式,第二图像可以是指定目标视频的结束图像的内容的草图。应当理解,在某些情况下,难以获取将要生成的目标视频的结束画面,此时可以基于草图(例如,手绘)方式来指定结束图像的内容。图10示出了根据本公开的一些实现方式的基于输入数据来生成目标视频的框图1000。如图10所示,输入数据1010可以包括第一图像1012、第二图像1014以及文本1016。此时,第二图像1014可以引导生成目标视频1020中的末帧。

此时,末帧中的北极熊可以按照第二图像1014所指定的姿势挥手,此时目标视频1020的首帧对应于第一图像1012、末帧对应于第二图像1014,并且视频的内容为“a polarbear walking on the ice surface gradually stands up and waves(一只北极熊正在冰面上行走,逐渐直立并且挥手)”。利用本公开的示例实现方式,可以以更为方便并且有效的方式来指定视频中的对象的姿势和位置,进而便于生成包括更为丰富视觉内容的视频。

根据本公开的一个示例实现方式,可以以连续方式来生成多个视频。具体地,在已经按照上文描述的方式生成目标视频的情况下,可以将目标视频的结束图像设置为另一目标视频的第一图像。进一步,可以接收用于生成另一目标视频的第二图像、以及描述另一目标视频的内容的另一文本,并且根据生成模型,基于另一目标视频的第一图像和第二图像、以及另一文本,生成另一目标视频。

具体地,在已经获得目标视频1020的情况下,可以将目标视频1020中的结束图像1030作为生成下一视频的第一图像。进一步,可以输入第二图像(例如,北极熊在冰面睡觉的图像),并且输入文本“a polar bear gradually lies down and falls asleep(一只北极熊逐渐卧倒并且睡着了)”。此时,后续生成的新视频将以目标视频1020中的结束图像1030作为开始,并且新视频的末帧对应于北极熊睡觉的图像。

根据本公开的一个示例实现方式,可以连接目标视频和另一目标视频。利用本公开的示例实现方式,可以以逐步累积的方式,来将当前视频的结束图像作为下一待生成视频的开始图像。以此方式,可以逐步生成包括更为丰富情节的长视频。利用本公开的示例实现方式,可以大大简化视频创作复杂度,例如,可以按照电影分镜头的方式来构造较短的视频,进而可以剪辑这些视频进而生成更长的视频。

综上而言,根据本公开的一个示例实现方式,提出了一种基于扩散模型的新型视频生成架构PixelDance,该架构结合了首帧和末帧的图像指令以及文本指导。可以基于PixelDance架构来实现了相应的训练过程和推理过程。利用本公开的示例实现方式,可以提供了对视频生成过程的灵活控制、以及不同强度的末帧指导。

可以在多种数据集上执行所提出的技术方案,并且实验表明利用PixelDance生成的视频在合成具有复杂场景和/或动作等方面都具有强大优势。具体地,可以利用可获得的各种数据集来训练生成模型,数据集中的每个视频都与成对的文本相关联,该文本通常提供粗略的描述,并且表现出与视频内容的弱相关性。由于图像指令有助于学习复杂的视频分布,PixelDance可以在不需要标注数据的情况下,充分利用各种数据集,展示了在生成具有复杂场景和运动的视频方面的卓越能力。

示例过程

图11示出了根据本公开的一些实现方式的用于生成视频的方法1100的流程图。在框1110处,从参考视频中的多个参考图像中确定第一参考图像和第二参考图像。在框1120处,接收用于描述参考视频的参考文本。在框1130处,基于第一参考图像、第二参考图像和参考文本,获取生成模型,生成模型用于基于第一图像、第二图像和文本来生成目标视频。

根据本公开的一个示例实现方式,确定第一参考图像包括:将位于参考视频的头部的参考图像确定为第一参考图像。

根据本公开的一个示例实现方式,确定第二参考图像包括:从位于参考视频的尾部的预定范围内的一组参考图像中,确定第二参考图像。

根据本公开的一个示例实现方式,生成模型包括编码器网络和扩散模型,以及基于第一参考图像、第二参考图像和参考文本来获取生成模型包括:利用编码器模型来确定参考视频的第一参考特征,第一参考特征包括多个参考图像的多个参考图像特征;利用编码器模型来确定参考视频的第二参考特征,第二参考特征包括第一参考图像的第一参考图像特征和第二参考图像的第二参考图像特征;以及基于第一参考特征、第二参考特征、以及参考文本来确定扩散模型。

根据本公开的一个示例实现方式,第一参考图像特征在第二参考特征中的第一位置对应于第一参考图像在参考视频中的位置,并且第二参考图像特征在第二参考特征中的第二位置对应于第二参考图像在参考视频中的位置。

根据本公开的一个示例实现方式,第二参考特征的维度等于第一参考特征的维度,并且第二参考特征中的第一位置和第二位置以外的其他位置处的特征被设置为空。

根据本公开的一个示例实现方式,该方法进一步包括:按照预定条件来将第二参考图像特征设置为空。

根据本公开的一个示例实现方式,基于第一参考特征、第二参考特征、以及参考文本来确定扩散模型包括:分别针对第一参考特征和第二参考特征执行噪声处理以生成参考视频的第一噪声参考特征和第二噪声参考特征;连接第一噪声参考特征和第二噪声参考特征以生成参考视频的噪声参考特征;利用扩散模型,基于噪声参考特征和参考文本来确定参考视频的重建特征;以及基于重建特征和参考特征之间的差异,更新扩散模型。

根据本公开的一个示例实现方式,生成模型进一步包括解码器模型,以及该方法进一步包括:接收用于生成目标视频的第一图像、以及描述目标视频的内容的文本;根据扩散模型,基于第一图像以及文本来生成目标视频的重建特征;以及根据解码器模型,基于重建特征来生成目标视频。

根据本公开的一个示例实现方式,生成目标视频的重建特征进一步包括:接收用于生成目标视频的第二图像;以及基于第二图像来生成目标视频的重建特征。

根据本公开的一个示例实现方式,生成目标视频的重建特征包括:利用噪声特征作为目标视频的第一特征;根据编码器模型,基于第一图像和第二图像来生成目标视频的第二特征;以及根据扩散模型,利用第一特征、第二特征以及文本,获取目标视频的重建特征。

根据本公开的一个示例实现方式,获取目标视频的重建特征包括:在多个步骤中的第一步骤中,利用第一特征、第二特征以及文本,获取目标视频的重建特征;在多个步骤中第一步骤之后的第二步骤中,

将第一特征设置为目标视频的重建特征;以及根据扩散模型,基于第一特征、第二特征以及文本,获取目标视频的重建特征。

根据本公开的一个示例实现方式,该方法进一步包括:在多个步骤中的一组步骤中,将第二特征中的与第二图像相对应的部分设置为空。

根据本公开的一个示例实现方式,第二图像包括以下至少任一项:用于指定目标视频的结束图像的图像、以及用于指定目标视频的结束图像的内容的草图。

根据本公开的一个示例实现方式,该方法进一步包括:将目标视频的结束图像设置为另一目标视频的第一图像;接收用于生成另一目标视频的第二图像、以及描述另一目标视频的内容的另一文本;以及根据生成模型,基于另一目标视频的第一图像和第二图像、以及另一文本,生成另一目标视频。

根据本公开的一个示例实现方式,该方法进一步包括:连接目标视频和另一目标视频。

示例装置和设备

图12示出了根据本公开的一些实现方式的用于生成视频的装置1200的框图。该装置包括:图像确定模块1210,被配置用于从参考视频中的多个参考图像中确定第一参考图像和第二参考图像;文本接收模块1220,被配置用于接收确定用于描述参考视频的参考文本;以及获取模块1230,被配置用于基于第一参考图像、第二参考图像和参考文本,获取生成模型,生成模型用于基于第一图像、第二图像和文本来生成目标视频。

根据本公开的一个示例实现方式,图像确定模块包括:第一图像确定模块,被配置用于确定第一参考图像包括:将位于参考视频的头部的参考图像确定为第一参考图像。

根据本公开的一个示例实现方式,图像确定模块包括:第二图像确定模块,被配置用于从位于参考视频的尾部的预定范围内的一组参考图像中,确定第二参考图像。

根据本公开的一个示例实现方式,生成模型包括编码器模型和扩散模型,以及获取模块,被配置用于包括:第一编码模块,被配置用于利用编码器模型来确定参考视频的第一参考特征,第一参考特征包括多个参考图像的多个参考图像特征;第二编码模块,被配置用于利用编码器模型来确定参考视频的第二参考特征,第二参考特征包括第一参考图像的第一参考图像特征和第二参考图像的第二参考图像特征;以及确定模块,被配置用于基于第一参考特征、第二参考特征、以及参考文本来确定扩散模型。

根据本公开的一个示例实现方式,第一参考图像特征在第二参考特征中的第一位置对应于第一参考图像在参考视频中的位置,并且第二参考图像特征在第二参考特征中的第二位置对应于第二参考图像在参考视频中的位置。

根据本公开的一个示例实现方式,第二参考特征的维度等于第一参考特征的维度,并且第二参考特征中的第一位置和第二位置以外的其他位置处的特征被设置为空。

根据本公开的一个示例实现方式,该装置进一步包括:设置模块,被配置用于按照预定条件来将第二参考图像特征设置为空。

根据本公开的一个示例实现方式,确定模块包括:噪声模块,被配置用于分别针对第一参考特征和第二参考特征执行噪声处理以生成参考视频的第一噪声参考特征和第二噪声参考特征;连接模块,被配置用于连接第一噪声参考特征和第二噪声参考特征以生成参考视频的噪声参考特征;重建模块,被配置用于利用扩散模型,基于噪声参考特征和参考文本来确定参考视频的重建特征;以及更新模块,被配置用于基于重建特征和参考特征之间的差异,更新扩散模型。

根据本公开的一个示例实现方式,生成模型进一步包括解码器模型,以及该装置进一步包括:接收模块,被配置用于接收用于生成目标视频的第一图像以及描述目标视频的内容的文本;生成模块,被配置用于根据扩散模型,基于第一图像以及文本来生成目标视频的重建特征;以及视频生成模块,被配置用于根据解码器模型,基于重建特征来生成目标视频。

根据本公开的一个示例实现方式,接收模块进一步被配置用于:接收用于生成目标视频的第二图像;以及重建模块进一步被配置用于:基于第二图像来生成目标视频的重建特征。

根据本公开的一个示例实现方式,重建模块包括:设置模块,被配置用于利用噪声特征作为目标视频的第一特征;编码模块,被配置用于根据编码器模型,基于第一图像和第二图像来生成目标视频的第二特征;以及特征获取模块,被配置用于根据扩散模型,利用第一特征、第二特征以及文本,获取目标视频的重建特征。

根据本公开的一个示例实现方式,特征获取模块包括:第一重建模块,被配置用于在多个步骤中的第一步骤中,利用第一特征、第二特征以及文本,获取目标视频的重建特征;设置模块,被配置用于在多个步骤中第一步骤之后的第二步骤中,将第一特征设置为目标视频的重建特征;以及第二重建模块,被配置用于根据扩散模型,基于第一特征、第二特征以及文本,获取目标视频的重建特征。

根据本公开的一个示例实现方式,该装置进一步包括:去除模块,被配置用于在多个步骤中的一组步骤中,将第二特征中的与第二图像相对应的部分设置为空。

根据本公开的一个示例实现方式,第二图像包括以下至少任一项:用于指定目标视频的结束图像的图像、以及用于指定目标视频的结束图像的内容的草图。

根据本公开的一个示例实现方式,该装置进一步包括:图像设置模块,被配置用于将目标视频的结束图像设置为另一目标视频的第一图像;接收模块进一步被配置用于接收用于生成另一目标视频的第二图像、以及描述另一目标视频的内容的另一文本;以及生成模块进一步被配置用于根据生成模型,基于另一目标视频的第一图像和第二图像、以及另一文本,生成另一目标视频。

根据本公开的一个示例实现方式,该装置进一步包括:连接模块,被配置用于连接目标视频和另一目标视频。

图13示出了能够实施本公开的多个实现方式的设备1300的框图。应当理解,图13所示出的计算设备1300仅仅是示例性的,而不应当构成对本文所描述的实现方式的功能和范围的任何限制。图13所示出的计算设备1300可以用于实现上文描述的方法。

如图13所示,计算设备1300是通用计算设备的形式。计算设备1300的组件可以包括但不限于一个或多个处理器或处理单元1310、存储器1320、存储设备1330、一个或多个通信单元1340、一个或多个输入设备1350以及一个或多个输出设备1360。处理单元1310可以是实际或虚拟处理器并且能够根据存储器1320中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备1300的并行处理能力。

计算设备1300通常包括多个计算机存储介质。这样的介质可以是计算设备1300可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1320可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备1330可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备1300内被访问。

计算设备1300可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图13中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器1320可以包括计算机程序产品1325,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实现方式的各种方法或动作。

通信单元1340实现通过通信介质与其他计算设备进行通信。附加地,计算设备1300的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备1300可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。

输入设备1350可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备1360可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备1300还可以根据需要通过通信单元1340与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备1300交互的设备进行通信,或者与使得计算设备1300与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。

根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,提供了一种计算机程序产品,其上存储有计算机程序,程序被处理器执行时实现上文描述的方法。

这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。

相关技术
  • 一种钛合金与镍基高温合金激光增材连接的制造方法
  • 一种基于增材制造镍基合金磁粒抛光增强增韧的方法
  • 一种通过碳化物增强增材制造镍基高温合金性能的方法、镍基高温合金粉末及其应用
技术分类

06120116521932