CN109889849B - 视频生成方法、装置、介质及设备 - Google Patents
视频生成方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN109889849B CN109889849B CN201910092355.0A CN201910092355A CN109889849B CN 109889849 B CN109889849 B CN 109889849B CN 201910092355 A CN201910092355 A CN 201910092355A CN 109889849 B CN109889849 B CN 109889849B
- Authority
- CN
- China
- Prior art keywords
- information
- video
- motion
- optical flow
- image
- 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.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开的实施方式公开了一种视频生成方法和装置、电子设备、计算机可读存储介质以及计算机程序,其中的视频生成方法包括:获取语义信息;根据所述语义信息,生成待生成视频的基础图像;获取所述基础图像的运动特征信息;根据所述运动特征信息和所述基础图像,生成所述待生成视频的多个视频帧帧。
Description
技术领域
本公开涉及计算机视觉技术,尤其是涉及一种视频生成方法、视频生成装置、电子设备、计算机可读存储介质以及计算机程序。
背景技术
视频生成技术是一项利用机器来生成待生成视频的技术。视频生成技术可以适用于模拟机器人决策、辅助自动驾驶、预测场景未来运动以及生成游戏场景等多种应用中。视频生成技术不但要求机器能够理解真实世界的组成,还要求机器生成的待生成视频具有逼真的静态场景以及连贯的运动。
发明内容
本公开实施方式提供一种视频生成技术方案。
根据本公开实施方式其中一方面,提供一种视频生成方法,包括:获取语义信息;根据所述语义信息,生成待生成视频的基础图像;获取所述基础图像的运动特征信息;根据所述运动特征信息和所述基础图像,生成所述待生成视频的多个视频帧。
在本公开一实施方式中,所述根据所述语义信息,生成待生成视频的基础图像,包括:根据从语义信息中提取出的特征信息,生成待生成视频的基础图像。
在本公开又一实施方式中,所述语义信息包括:语义分割图;所述根据从语义信息中提取出的特征信息,生成待生成视频的基础图像,包括:对语义分割图进行特征编码处理,获得特征信息;对所述特征信息进行图像解码处理,并根据所述解码处理的结果,获得待生成视频的基础图像。
在本公开再一实施方式中,所述获取所述基础图像的运动特征信息,包括:获取所述基础图像的至少两种类型的运动特征信息。
在本公开再一实施方式中,所述获取所述基础图像的至少两种类型的运动特征信息,包括:获取所述基础图像的第一运动类型的第一运动特征信息和第二运动类型的第二运动特征信息,所述第一运动类型和所述第二运动类型不同。
在本公开再一实施方式中,所述获取所述基础图像的至少两种类型的运动特征信息,包括以下至少之一或组合:针对预先设置的运动分布信息,基于随机取样方式,获取所述基础图像的至少一种类型的运动特征信息;根据所述基础图像,获取所述基础图像的至少一种类型的运动特征信息;根据所述基础图像以及所述基础图像的语义分割图,获取所述基础图像的至少一种类型的运动特征信息;根据所述基础图像以及所述基础图像的语义分割图和深度图,获取所述基础图像的至少一种类型的运动特征信息。
在本公开再一实施方式中,所述根据所述基础图像以及所述基础图像的语义分割图,获取所述基础图像的至少一种类型的运动特征信息,包括:对所述基础图像和语义分割图进行运动特征编码处理;基于所述运动特征编码处理的结果,获得所述基础图像的至少一种类型的运动特征信息。
在本公开再一实施方式中,所述根据所述基础图像以及所述基础图像的语义分割图和深度图,获取所述基础图像的至少一种类型的运动特征信息,包括:对所述基础图像、语义分割图和深度图进行运动特征编码处理;基于所述运动特征编码处理的结果,获得所述基础图像的至少一种类型的运动特征信息。
在本公开再一实施方式中,所述根据所述运动特征信息和所述基础图像,生成所述待生成视频的多个视频帧,包括:根据至少两种类型的运动特征信息,确定所述待生成视频的光流信息和遮挡信息;根据所述光流信息、遮挡信息和基础图像,生成所述待生成视频的多个视频帧。
在本公开再一实施方式中,所述根据所述至少两种类型的运动特征信息,确定所述待生成视频的光流信息和遮挡信息,包括:根据所述至少两种类型的运动特征信息,确定所述待生成视频的后向光流信息和后向遮挡信息。
在本公开再一实施方式中,所述根据所述至少两种类型的运动特征信息,确定所述待生成视频的后向光流信息和后向遮挡信息,包括:根据所述至少两种类型的运动特征信息,获得所述待生成视频的双向光流信息和双向遮挡信息;从所述双向光流信息和双向遮挡信息中,获取所述待生成视频的后向光流信息和后向遮挡信息。
在本公开再一实施方式中,所述待生成视频的双向光流信息包括:待生成视频中的多个视频帧各自对应的光流信息对;第n视频帧对应的光流信息对包括:由所述基础图像到所述第n视频帧的前向光流信息;以及由所述第n视频帧到所述基础图像的后向光流信息;其中,n为不大于待生成视频所包含的视频帧数量的正整数。
在本公开再一实施方式中,所述待生成视频的双向遮挡信息包括:待生成视频中的多个视频帧各自对应的遮挡信息对;第n视频帧对应的遮挡信息对包括:用于描述所述基础图像中的被所述第n视频帧中的对象所遮挡的前向遮挡信息;以及用于描述所述第n视频帧中的被所述基础图像中的对象所遮挡的后向遮挡信息。
在本公开再一实施方式中,所述根据所述光流信息、遮挡信息和基础图像,生成所述待生成视频的多个视频帧包括:根据所述待生成视频的光流信息,对所述基础图像进行变换处理,生成多个待处理视频帧;根据所述遮挡信息,对所述多个待处理视频帧中的被遮挡部分进行修复处理,以形成多个视频帧。
在本公开再一实施方式中,所述根据所述待生成视频的光流信息,对该基础图像进行变换处理,包括:针对待生成视频中的第n视频帧而言,根据第n视频帧对应的光流信息对中的后向光流信息,对所述基础图像进行卷绕处理。
在本公开再一实施方式中,所述根据所述遮挡信息,对所述多个待处理视频帧中的被遮挡部分进行修复处理,包括:针对待生成视频中的第n视频帧而言,根据所述第n视频帧对应的遮挡信息对中的后向遮挡信息确定被遮挡区域,并根据所述被遮挡区域的周围区域的像素对被遮挡区域进行修复处理。
在本公开再一实施方式中,所述获取所述基础图像的运动特征信息;根据所述运动特征信息和所述基础图像,生成所述待生成视频的多个视频帧,是利用神经网络系统实现的;所述神经网络系统是利用视频样本、视频样本中的预定帧样本的语义信息,训练获得的,其中的预定帧样本被作为视频样本的基础图像。
在本公开再一实施方式中,所述神经网络系统包括:第一运动编码器、流解码器、变换处理模块以及后期处理神经网络;所述神经网络系统的训练过程包括:将视频样本中的预定帧样本和预定帧样本的语义信息输入第一运动编码器中,经由第一运动编码器对预定帧样本和语义信息进行运动编码处理,生成第一运动特征信息;将视频样本中的预定帧样本的语义信息和视频样本中的多个视频帧样本输入第二运动编码器中,经由第二运动编码器对预定帧样本的语义信息和多个视频帧样本进行运动编码处理,生成第二运动特征信息;流解码器对第一运动特征信息和第二运动特征信息进行流解码处理,生成视频样本的光流信息和遮挡信息;变换处理模块根据视频样本的光流信息对预定帧样本进行变换处理,生成多个待处理视频帧;后期处理神经网络根据多个待处理视频帧和视频样本的遮挡信息对多个待处理视频帧分别进行图像修复处理,生成多个视频帧;根据第二运动特征的基于分布的损失、以及重建视频帧与视频帧样本之间的基于数据的损失,对所述神经网络系统的网络参数进行调整。
在本公开再一实施方式中,所述第二运动编码器包括:前景运动编码器以及背景序列编码器;将视频样本中的预定帧样本的前景语义信息和视频样本中的多个视频帧样本输入前景运动编码器中,经由前景运动编码器对预定帧样本的前景语义信息和多个视频帧样本进行运动编码处理,生成基于前景的第二运动特征信息;将视频样本中的预定帧样本的背景语义信息和视频样本中的多个视频帧样本输入背景序列编码器中,经由背景序列编码器对预定帧样本的背景语义信息和多个视频帧样本进行运动编码处理,生成基于背景的第二运动特征信息;所述基于前景的第二运动特征信息和基于背景的第二运动特征信息形成第二运动特征信息。
在本公开再一实施方式中,所述重建视频帧与视频帧样本之间的基于数据的损失包括下述至少一个:利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失;前向光流信息和/或后向光流信息的平滑度损失;前向光流信息和后向光流信息的前后一致性损失;神经网络系统所生成的视频帧与视频帧样本之间的距离损失;神经网络系统所生成的视频帧与视频帧样本之间的基于特征空间的距离损失。
在本公开再一实施方式中,所述利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失,包括:利用前向光流和后向光流分别重建的图像中的未被遮挡部分与相应的视频帧样本之间的像素重建损失。
在本公开再一实施方式中,所述前向光流信息和后向光流信息的前后一致性损失,包括:前向光流信息中未被遮挡部分和后向光流信息中未被遮挡部分的前后一致性损失。
根据本公开实施方式其中再一方面,提供一种视频生成装置,包括:获取语义模块,用于获取语义信息;生成图像模块,用于根据所述语义信息,生成待生成视频的基础图像;获取运动特征模块,用于获取所述基础图像的运动特征信息;生成视频帧模块,用于根据所述运动特征信息和所述基础图像,生成所述待生成视频的多个视频帧。
在本公开一实施方式中,所述生成图像模块进一步用于:根据从语义信息中提取出的特征信息,生成待生成视频的基础图像。
在本公开又一实施方式中,所述语义信息包括:语义分割图;所述生成图像模块包括:语义编码子模块,用于对语义分割图进行特征编码处理,获得特征信息;图像解码子模块,用于对所述特征信息进行图像解码处理,并根据所述解码处理的结果,获得待生成视频的基础图像。
在本公开再一实施方式中,所述获取运动特征模块进一步用于:获取所述基础图像的至少两种类型的运动特征信息。
在本公开再一实施方式中,所述获取运动特征模块进一步用于:获取所述基础图像的第一运动类型的第一运动特征信息和第二运动类型的第二运动特征信息,所述第一运动类型和第二运动类型不同。
在本公开再一实施方式中,所述获取运动特征模块,包括下述至少一个:第一子模块,用于针对预先设置的运动分布信息,基于随机取样方式,获取所述基础图像的至少一种类型的运动特征信息;第二子模块,用于根据所述基础图像,获取所述基础图像的至少一种类型的运动特征信息;第三子模块,用于根据所述基础图像以及所述基础图像的语义分割图,获取所述基础图像的至少一种类型的运动特征信息;第四子模块,用于根据所述基础图像以及所述基础图像的语义分割图和深度图,获取所述基础图像的至少一种类型的运动特征信息。
在本公开再一实施方式中,所述第三子模块进一步用于:对所述基础图像和语义分割图进行运动特征编码处理;基于所述运动特征编码处理的结果,获得所述基础图像的至少一种类型的运动特征信息。
在本公开再一实施方式中,所述第四子模块进一步用于:对所述基础图像、语义分割图和深度图进行运动特征编码处理;基于所述运动特征编码处理的结果,获得所述基础图像的至少一种类型的运动特征信息。
在本公开再一实施方式中,所述生成视频帧模块包括:第五子模块,用于根据至少两种类型的运动特征信息,确定所述待生成视频的光流信息和遮挡信息;第六子模块,用于根据所述光流信息、遮挡信息和基础图像,生成所述待生成视频的多个视频帧。
在本公开再一实施方式中,所述第五子模块进一步用于:根据所述至少两种类型的运动特征信息,确定所述待生成视频的后向光流信息和后向遮挡信息。
在本公开再一实施方式中,所述第五子模块进一步用于:根据至少两种类型的运动特征信息,获得所述待生成视频的双向光流信息和双向遮挡信息;从所述双向光流信息和双向遮挡信息中,获取所述待生成视频的后向光流信息和后向遮挡信息。
在本公开再一实施方式中,所述待生成视频的双向光流信息包括:待生成视频中的多个视频帧各自对应的光流信息对;第n视频帧对应的光流信息对包括:由所述基础图像到所述第n视频帧的前向光流信息;以及由所述第n视频帧到所述基础图像的后向光流信息;其中,n为不大于待生成视频所包含的视频帧数量的正整数。
在本公开再一实施方式中,所述待生成视频的双向遮挡信息包括:待生成视频中的多个视频帧各自对应的遮挡信息对;第n视频帧对应的遮挡信息对包括:用于描述所述基础图像中的被所述第n视频帧中的对象所遮挡的前向遮挡信息;以及用于描述所述第n视频帧中的被所述基础图像中的对象所遮挡的后向遮挡信息。
在本公开再一实施方式中,所述第六子模块包括:第七子模块,用于根据所述待生成视频的光流信息,对所述基础图像进行变换处理,生成多个待处理视频帧;第八子模块,用于根据所述遮挡信息,对所述多个待处理视频帧中的被遮挡部分进行修复处理,以形成多个视频帧。
在本公开再一实施方式中,所述第七子模块进一步用于:针对待生成视频中的第n视频帧而言,根据所述第n视频帧对应的光流信息对中的后向光流信息,对所述基础图像进行卷绕处理。
在本公开再一实施方式中,所述第八子模块进一步用于:针对待生成视频中的第n视频帧而言,根据所述第n视频帧对应的遮挡信息对中的后向遮挡信息确定被遮挡区域,并根据所述被遮挡区域的周围区域的像素对所述被遮挡区域进行修复处理。
在本公开再一实施方式中,获取运动特征模块和生成视频帧模块,是利用神经网络系统实现的;所述神经网络系统是利用视频样本、视频样本中的预定帧样本的语义信息,训练获得的,其中的预定帧样本被作为视频样本的基础图像。
在本公开再一实施方式中,所述神经网络系统包括:第一运动编码器、流解码器、变换处理模块以及后期处理神经网络;视频生成装置还包括:神经网络系统训练模块,用于:将视频样本中的预定帧样本和预定帧样本的语义信息输入第一运动编码器中,经由第一运动编码器对预定帧样本和语义信息进行运动编码处理,生成第一运动特征信息;将视频样本中的预定帧样本的语义信息和视频样本中的多个视频帧样本输入第二运动编码器中,经由第二运动编码器对预定帧样本的语义信息和多个视频帧样本进行运动编码处理,生成第二运动特征信息;流解码器对第一运动特征信息和第二运动特征信息进行流解码处理,生成视频样本的光流信息和遮挡信息;变换处理模块根据视频样本的光流信息对预定帧样本进行变换处理,生成多个待处理视频帧;后期处理神经网络根据多个待处理视频帧和视频样本的遮挡信息对多个待处理视频帧分别进行图像修复处理,生成多个视频帧;根据第二运动特征的基于分布的损失、以及重建视频帧与视频帧样本之间的基于数据的损失,对所述神经网络系统的网络参数进行调整。
在本公开再一实施方式中,所述第二运动编码器包括:前景运动编码器以及背景序列编码器;所述神经网络系统训练模块进一步用于:将视频样本中的预定帧样本的前景语义信息和视频样本中的多个视频帧样本输入前景运动编码器中,经由前景运动编码器对预定帧样本的前景语义信息和多个视频帧样本进行运动编码处理,生成基于前景的第二运动特征信息;将视频样本中的预定帧样本的背景语义信息和视频样本中的多个视频帧样本输入背景序列编码器中,经由背景序列编码器对预定帧样本的背景语义信息和多个视频帧样本进行运动编码处理,生成基于背景的第二运动特征信息;所述基于前景的第二运动特征信息和基于背景的第二运动特征信息形成第二运动特征信息。
在本公开再一实施方式中,所述重建视频帧与视频帧样本之间的基于数据的损失包括下述至少一个:利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失;前向光流信息和/或后向光流信息的平滑度损失;前向光流信息和后向光流信息的前后一致性损失;神经网络系统所生成的视频帧与视频帧样本之间的距离损失;神经网络系统所生成的视频帧与视频帧样本之间的基于特征空间的距离损失。
在本公开再一实施方式中,所述利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失,包括:利用前向光流和后向光流分别重建的图像中的未被遮挡部分与相应的视频帧样本之间的像素重建损失。
在本公开再一实施方式中,所述前向光流信息和后向光流信息的前后一致性损失,包括:前向光流信息中未被遮挡部分和后向光流信息中未被遮挡部分的前后一致性损失。
根据本公开实施方式再一方面,提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开任一方法实施方式。
根据本公开实施方式再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本公开任一方法实施方式。
根据本公开实施方式的再一个方面,提供一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本公开任一方法实施方式。
基于本公开提供的视频生成方法和装置、电子设备、计算机可读存储介质及计算机程序,本公开将视频生成过程可以分为两个阶段,先通过利用语义信息先获得基础图像,再利用基础图像以及基础图像的运动特征信息生成视频,降低了视频生成的难度,有利于提高视频生成的可调试性以及可维护性。
下面通过附图和实施方式,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施方式,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开的视频生成方法一个实施方式的流程图;
图2为本公开的视频生成方法另一个实施方式的流程图;
图3为本公开的视频生成的两个阶段的示意图;
图4为本公开的利用两阶段神经网络实现视频生成方法的流程图;
图5为本公开的视频生成方法由两阶段神经网络实现的示意图;
图6为本公开的第二阶段神经网络训练方法一个实施方式的流程图;
图7为本公开的第二阶段神经网络训练方法一个实施方式的示意图;
图8为本公开的第二运动编码器一个实施方式示意图;
图9为本公开的视频生成装置一个实施方式的结构示意图;
图10为实现本公开实施方式的一示例性设备的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法以及设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应当注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统及服务器等电子设备,其可与众多其它通用或者专用的计算系统环境或者配置一起操作。适于与终端设备、计算机系统以及服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子,包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统以及服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑以及数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性实施例
图1为本公开视频生成方法一个实施例的流程图。如图1所示,该实施例方法包括:步骤S100、步骤S110、步骤S120以及步骤S130。下面对各步骤进行详细描述。
S100、获取语义信息。
在一个可选示例中,本公开中的语义信息可以是用于描述画面的信息。该语义信息可以表现为文字信息的形式,例如,该语义信息可以为一句话或者若干句话或者一个短语或者若干个短语等。该语义信息也可以表现为图的形式,例如,该语义信息可以为语义分割图等。语义分割图中的像素的像素值可以表示出该像素点所属的分类类别。分类类别包括但不限于:行人、车辆、电线杆、障碍物或者树等。在语义分割图中,属于同一分类类别的像素具有相同的像素值,属于不同分类类别的像素具有不同的像素值。通过各像素的像素值,使语义分割图包括至少一个区块,一个区块对应一个分类类别,不同区块对应不同分类类别。
S110、根据语义信息,生成待生成视频的基础图像。
在一个可选示例中,本公开可以对该语义信息(如语义分割图)进行特征提取处理(如特征编码处理等),从而获取该语义分割图的特征图(Feature Map),之后,对获得的特征图进行解码处理(如图像解码处理),从而生成图像,生成的该图像被作为基础图像。
在一个可选示例中,本公开可以将语义信息(如语义分割图)输入用于生成图像的神经网络中,由该用于生成图像的神经网络对输入的语义分割图进行相应处理,例如,提取特征处理以及对提取的特征的解码处理等,从而本公开可以根据用于生成图像的神经网络输出的处理结果,获得语义分割图对应的图像,该图像被作为基础图像。通过将语义信息提供给用于生成图像的神经网络,以利用用于生成图像的神经网络形成基础图像,有利于快捷方便的生成基础图像。
在一个可选示例中,本公开的用于生成图像的神经网络包括但不限于:基于pix2pix(像素对像素)HD(High Definition,高清晰)的神经网络。例如,用于生成图像的神经网络可以为基于编解码的生成对抗神经网络(Generative Adversarial Network)等。该基于编解码的生成对抗神经网络通常包括:编码器(如特征编码器)以及解码器(如图像解码器)等。其中的编码器用于对输入的语义分割图进行编码处理,从而从语义分割图中提取特征,以获得语义分割图的特征图。其中的解码器用于对语义分割图的特征图进行解码处理,从而从特征图中解码出像素值,以形成基础图像。
在虚拟场景(如游戏等)应用中,相对于图像绘制而言,语义信息便于设置,例如,语义特征图的绘制难度往往远低于图像的绘制难度,而语义特征图的绘制效率往往远远高于图像的绘制效率。因此,相对于先绘制图像,再利用绘制的图像来生成视频这一方式而言,本公开通过利用语义信息来形成基础图像,并利用该基础图像生成视频,有利于提高视频生成的便捷性。
S120、获取基础图像的运动特征信息。
在一个可选示例中,本公开的运动特征信息是用于描述基础图像中的至少一对象在待生成视频中的运动情况的信息。例如,描述基础图像中的车辆和行人在待生成视频中的运动情况。基础图像的运动特征信息可以基于对基础图像的对象姿态分析而得,或者基于对基础图像的对象运动预测而得,或者可预先设置而得等等。考虑到对象所受力的方向、所受力的来源等因素对相应对象的运动所产生影响,可以将基础图像中的与运动特征信息分为不同的运动类型,例如,本公开中的运动特征信息可以包括:至少两种类型的运动特征信息。例如,获取基础图像的第一运动类型的第一运动特征信息和第二运动类型的第二运动特征信息。第一运动类型和第二运动类型不同。
可选的,第一运动类型可以为确定型运动类型,第一运动类型的第一运动特征信息可以称为确定型运动特征信息。确定型运动特征信息是:用于描述确定型运动的信息。例如,对于高空抛物这一运动而言,确定型运动特征信息通常用于描述向地面方向的加速运动。
可选的,第二运动类型可以为不确定型运动类型,第二运动类型的第二运动特征信息可以称为不确定型运动特征信息。不确定型运动特征信息是:用于描述不确定型(如随机型)运动的信息。例如,对于高空抛物这一运动而言,不确定型运动特征信息通常用于描述由于被抛物质量小、风速或者空气阻力等因素,而导致的与向地面方向垂直的水平方向的运动。
在下述实施方式中,是以第一运动特征信息和第二运动特征信息,这两种类型的运动特征信息为例进行描述的,然而,这并不表示本公开中的至少两种类型的运动特征信息只能包括第一运动特征信息和第二运动特征信息。例如,基于对象的受力方向,本公开可以获取基础图像的第一方向运动特征信息、第二方向运动特征信息以及第三方向运动特征信息等。
本公开通过将运动划分为至少两种类型,尤其是使运动特征信息包括属于不确定型运动类型的第二运动特征信息,有利于提高光流信息和遮挡信息的多样性,从而有利于提高生成的视频的多样性。
在一个可选示例中,本公开中的至少两种类型的运动特征信息可以均体现为向量的形式,即运动特征信息可以为运动特征向量。至少两种不同类型的运动特征信息可以包括:第一运动特征向量和第二运动特征向量。第一运动特征向量可以称为确定型运动特征向量。第二运动特征向量可以称为不确定型运动特征向量。
在一个可选示例中,本公开可以通过对基础图像进行处理(如运动特征提取处理等),从而获得该基础图像的第一运动特征信息。例如,将基础图像输入至神经网络系统中,由神经网络系统中的第一运动编码器(下述简称为运动编码器)对输入的基础图像进行运动特征提取处理(即运动编码处理),从而根据该运动编码器的输出,获得第一运动特征向量。运动编码器的训练过程可以参见下述实施方式中的相关描述,在此不再详细说明。
在一个可选示例中,本公开不仅可以利用基础图像,来获得基础图像的第一运动特征信息;还可以利用基础图像以及基础图像的其他信息,来获得第一运动特征信息。
可选的,本公开可以通过对基础图像以及该基础图像的语义分割图进行处理(如运动特征提取处理等),从而获得该基础图像的第一运动特征信息。例如,将基础图像和该基础图像的语义分割图均输入至神经网络系统中,由神经网络系统中的运动编码器对输入的基础图像和语义分割图进行运动特征提取处理,从而根据该运动编码器输出的信息,获得第一运动特征向量。
可选的,本公开可以通过对基础图像、该基础图像的语义分割图以及该基础图像的深度图进行处理(如运动特征提取处理),从而获得该基础图像的第一运动特征信息。例如,将基础图像、该基础图像的语义分割图和深度图均输入至神经网络系统中,由神经网络系统中的运动编码器对输入的基础图像、语义分割图和深度图进行运动特征提取处理,从而根据该运动编码器输出的信息,获得第一运动特征向量。
由于语义分割图提供的语义信息以及深度图提供的深度信息,有利于在运动特征提取处理过程中,更加准确的理解基础图像中的内容,例如,行人、汽车或者自行车等对象以及对象的位置等,因此,本公开利用基础图像以及语义分割图来获得第一运动特征信息,或者利用基础图像、语义分割图以及深度图来获得第一运动特征信息,有利于提高第一运动特征信息的准确性。
在一个可选示例中,本公开中的神经网络系统可以具体为:以cVAE(ConditionVariational Auto-Encoder,条件变分自编码器)为主干网络的神经网络。
在一个可选示例中,本公开可以针对预先设置的运动分布信息,采用随机取样的方式,获取基础图像的第二运动特征信息。预先设置的运动分布信息可以包括:呈正态分布的运动信息或者呈高斯分布的运动信息等。相应的,本公开中的随机取样的方式包括但不限于:基于正态分布的随机取样方式(即针对呈正态分布的运动信息的随机取样方式)、或者基于高斯分布的随机取样方式(即针对呈高斯分布的运动信息的随机取样方式)等。通过采用随机取样的方式获取基础图像的第二运动特征信息,有利于提高运动特征信息的多样性,从而有利于提高生成的视频的多样性。
S130、根据运动特征信息和基础图像,生成待生成视频的多个视频帧。
在一个可选示例中,由于运动特征信息可以描述基础图像中的对象在待生成视频中的运动情况,因此,本申请可以根据运动特征信息对基础图像进行变换处理,从而生成待生成视频的多个视频帧。
本公开实施例将视频生成过程可以分为两个阶段,先通过利用语义信息先获得基础图像,再利用基础图像以及基础图像的运动特征信息生成视频,降低了视频生成的难度,有利于提高视频生成的可调试性以及可维护性。
在一个可选示例中,本公开可以先根据至少两种类型的运动特征信息,确定待生成视频的光流信息和遮挡信息;然后,再根据光流信息、遮挡信息和基础图像,生成待生成视频的多个视频帧。
可选的,本公开可以根据至少两种类型的运动特征信息,确定待生成视频的后向光流信息和后向遮挡信息。如先根据至少两种类型的运动特征信息,获得待生成视频的双向光流信息和双向遮挡信息,然后,从双向光流信息和双向遮挡信息中,获取待生成视频的后向光流信息和后向遮挡信息。
可选的,待生成视频的双向光流信息可以包括:待生成视频中的多个视频帧各自对应的光流信息对。例如,第n视频帧对应的光流信息对包括:由基础图像到所述第n视频帧的前向光流信息、以及由第n视频帧到基础图像的后向光流信息。其中,n为不大于待生成视频所包含的视频帧数量的正整数。
可选的,待生成视频的双向遮挡信息包括:待生成视频中的多个视频帧各自对应的遮挡信息对。例如,第n视频帧对应的遮挡信息对包括:用于描述基础图像中的被第n视频帧中的对象所遮挡的前向遮挡信息、以及用于描述第n视频帧中的被基础图像中的对象所遮挡的后向遮挡信息。
可选的,本公开可以先根据待生成视频的光流信息,对基础图像进行变换处理(如卷绕处理),从而生成多个待处理视频帧。例如,针对待生成视频中的第n视频帧而言,根据第n视频帧对应的光流信息对中的后向光流信息,对基础图像进行卷绕处理。然后,本公开再根据遮挡信息,对多个待处理视频帧中的被遮挡部分进行修复处理,从而形成多个视频帧。例如,针对待生成视频中的第n视频帧而言,根据第n视频帧对应的遮挡信息对中的后向遮挡信息确定被遮挡区域,并根据被遮挡区域的周围区域的像素对所述被遮挡区域进行修复处理。
进一步的,本公开通过利用基础图像的至少两种类型的运动特征信息来获得待生成视频的光流信息和遮挡信息,有利于提高光流信息和遮挡信息的多样性;通过利用光流信息、遮挡信息和基础图像来生成视频帧,有利于完善生成的视频帧中的被遮挡区域的图像内容。由此可知,本公开提供的技术方案在有利于提高生成的视频的图像质量的同时,还有利于提高所生成的视频的多样性。另外,本公开提供的技术方案的应用场景包括但不限于:模拟机器人决策、辅助自动驾驶、预测场景未来运动以及生成游戏场景等。
图2为本公开视频生成方法另一个实施例的流程图。如图2所示,该实施例包括:步骤S200、步骤S210、步骤S220以及步骤S230。下面对各步骤进行详细描述。
S200、获取待生成视频的基础图像。
在一个可选示例中,本公开中的基础图像可以包括但不限于:根据预设的语义信息,而生成的图像。例如,本公开可以根据实际需求,预先设置语义分割图,然后,对该语义分割图进行特征提取处理(如特征编码处理等),从而获取该语义分割图的特征图,之后,对获得的特征图进行解码处理(如图像解码处理),从而生成图像,生成的该图像被作为基础图像。
在虚拟场景(如游戏等)应用中,相对于图像绘制而言,语义信息便于设置,例如,语义特征图的绘制难度往往远低于图像的绘制难度,而语义特征图的绘制效率往往远远高于图像的绘制效率。因此,相对于先绘制图像,再利用绘制的图像来生成视频这一方式而言,本公开通过利用语义信息来形成基础图像,并利用该基础图像生成视频,有利于提高视频生成的便捷性。
在一个可选示例中,本公开可以将该语义信息(如语义分割图)输入用于生成图像的神经网络中,由该用于生成图像的神经网络对输入的语义分割图进行相应处理,例如,提取特征处理以及对提取的特征的解码处理等,从而本公开可以根据用于生成图像的神经网络输出的处理结果,获得语义分割图对应的图像,该图像被作为基础图像。通过将语义信息提供给用于生成图像的神经网络,以利用用于生成图像的神经网络形成基础图像,有利于快捷方便的生成基础图像。
在一个可选示例中,本公开的用于生成图像的神经网络包括但不限于:基于pix2pix(像素对像素)HD的神经网络。例如,用于生成图像的神经网络可以为基于编解码的生成对抗神经网络等。该基于编解码的生成对抗神经网络通常包括:编码器(如特征编码器)以及解码器(如图像解码器)等。其中的编码器用于对输入的语义分割图进行编码处理,从而从语义分割图中提取特征,以获得语义分割图的特征图。其中的解码器用于对语义分割图的特征图进行解码处理,从而从特征图中解码出像素值,以形成基础图像。
在一个可选示例中,本公开中的基础图像也可以包括但不限于:基于摄像装置拍摄获得的图像。例如,本公开可以将摄像装置拍摄的照片,作为基础图像。再例如,本公开可以将摄像装置拍摄的视频中的任一视频帧,作为基础图像。可选的,该摄像装置可以设置在可移动物体上,该摄像装置也可以设置在不可移动的固定物体上。可移动物体可以包括但不限于:车辆、机器人或者机械臂等。而不可移动的固定物体可以包括但不限于:墙壁或者电线杆或者门框等。在智能驾驶、机器人以及避障导航等应用中,通过将拍摄获得的图像作为基础图像,有利于在真实场景中,基于生成的视频进行决策。
在一个可选示例中,本公开中的基础图像还可以包括但不限于:基于绘制而获得的图像。例如,本公开可以将利用计算机、数位板或者平台电脑等绘图工具绘制而成的图像,作为基础图像。
在一个可选示例中,本公开中的基础图像被作为生成视频的基础。即本公开所生成的视频是建立在基础图像之上的。基础图像是最终生成的视频的前提条件。在一些应用场景中,本公开可以将该基础图像作为视频的起始帧(即第一帧),来生成视频。在另一些应用场景中,本公开可以将该基础图像作为视频的最末帧(即最后一帧),来生成视频。当然,本公开也不排除基础图像并不出现在最终生成的视频中的可能性。
S210、获取基础图像的至少两种类型的运动特征信息。
在一个可选示例中,本公开可以将运动划分为至少两种类型,例如,可以将运动划分为确定型运动类型和不确定型运动类型,从而本公开所获得的运动特征信息可以包括:第一运动类型的第一运动特征信息和第一运动类型的第二运动特征信息。
其中的第一运动类型可以为确定型运动类型,第一运动类型的第一运动特征信息属于确定型运动类型,且可以称为确定型运动特征信息。确定型运动特征信息是:用于描述确定型运动的信息。例如,对于高空抛物这一运动而言,确定型运动特征信息通常用于描述向地面方向的加速运动。
其中的第二运动类型可以为不确定型运动类型,第二运动类型的第二运动特征信息属于不确定型运动类型,且可以称为不确定型运动特征信息。不确定型运动特征信息是:用于描述不确定型(如随机型)运动的信息。例如,对于高空抛物这一运动而言,不确定型运动特征信息通常用于描述由于被抛物质量小、风速或者空气阻力等因素,而导致的与向地面方向垂直的水平方向的运动。
运动类型的划分方式以及基于划分而形成的运动类型的数量等,可以根据实际需求来确定,本公开对此不作限制。在下述实施方式中,是以第一运动特征信息和第二运动特征信息,这两种类型的运动特征信息为例进行描述的,然而,这并不表示本公开中的至少两种类型的运动特征信息只能包括第一运动特征信息和第二运动特征信息。
本公开通过将运动划分为至少两种类型,尤其是使运动特征信息包括属于不确定型运动类型的第二运动特征信息,有利于提高光流信息和遮挡信息的多样性,从而有利于提高生成的视频的多样性。
在一个可选示例中,本公开中的至少两种类型的运动特征信息可以均体现为向量的形式,即运动特征信息可以为运动特征向量。至少两种不同类型的运动特征信息可以包括:第一运动特征向量和第二运动特征向量。第一运动特征向量可以称为确定型运动特征向量。第二运动特征向量可以称为不确定型运动特征向量。
在一个可选示例中,本公开可以通过对基础图像进行处理(如运动特征提取处理等),从而获得该基础图像的第一运动特征信息。例如,将基础图像输入至神经网络系统中,由神经网络系统中的运动编码器对输入的基础图像进行运动特征提取处理(即运动编码处理),从而可以根据该运动编码器输出的信息,获得第一运动特征向量。运动编码器的训练过程可以参见下述实施方式中的相关描述,在此不再详细说明。
在一个可选示例中,本公开不仅可以利用基础图像,来获得基础图像的第一运动特征信息;还可以利用基础图像以及基础图像的其他信息,来获得第一运动特征信息。
可选的,本公开可以通过对基础图像以及该基础图像的语义分割图进行处理(如运动特征提取处理等),从而获得该基础图像的第一运动特征信息。例如,将基础图像和该基础图像的语义分割图均输入至神经网络系统中,由神经网络系统中的运动编码器对输入的基础图像和语义分割图进行运动特征提取处理,从而根据该运动编码器输出的信息,获得第一运动特征向量。
可选的,本公开可以通过对基础图像、该基础图像的语义分割图以及该基础图像的深度图进行处理(如运动特征提取处理),从而获得该基础图像的第一运动特征信息。例如,将基础图像、该基础图像的语义分割图和深度图均输入至神经网络系统中,由神经网络系统中的运动编码器对输入的基础图像、语义分割图和深度图进行运动特征提取处理,从而根据该运动编码器输出的信息,获得第一运动特征向量。
由于语义分割图提供的语义信息以及深度图提供的深度信息,有利于在运动特征提取处理过程中,更加准确的理解基础图像中的内容,例如,行人、汽车或者自行车等对象以及对象的位置等,因此,本公开利用基础图像以及语义分割图来获得第一运动特征信息,或者利用基础图像、语义分割图以及深度图来获得第一运动特征信息,有利于提高第一运动特征信息的准确性。
在一个可选示例中,本公开中的神经网络系统可以具体为:以cVAE(ConditionVariational Auto-Encoder,条件变分自编码器)为主干网络的神经网络。
在一个可选示例中,本公开可以针对预先设置的运动分布信息,采用随机取样的方式,获取基础图像的第二运动特征信息。本公开中的随机取样的方式包括但不限于:基于正态分布的随机取样方式(即针对呈正态分布的运动信息的随机取样方式)、或者基于高斯分布的随机取样方式(即针对呈高斯分布的运动信息的随机取样方式)等。通过采用随机取样的方式获取基础图像的第二运动特征信息,有利于提高运动特征信息的多样性,从而有利于提高生成的视频的多样性。
S220、根据运动特征信息,确定待生成视频的光流信息和遮挡信息。
在一个可选示例中,本公开中的待生成视频的光流信息是用于描述待生成视频中的图像变化的信息。本公开中的待生成视频的光流信息通常包括:后向光流信息。该后向光流信息是指由待生成视频中的多个视频帧分别到基础图像的光流信息。
在一个可选示例中,本公开中的待生成视频的遮挡信息是用于描述待生成视频中的多个视频帧中的图像内容被遮挡情况的信息。本公开中的待生成视频的遮挡信息通常包括:后向遮挡信息。该后向遮挡信息是指用于描述待生成视频帧包括的多个视频帧中,被基础图像中的对象所遮挡的信息。本公开中的对象包括但不限于:车辆和行人等可运动的对象。
在一个可选示例中,本公开可以根据第一运动特征信息和第二运动特征信息,获得待生成视频的双向光流信息和双向遮挡信息;然后,本公开可以从双向光流信息和双向遮挡信息中,获取待生成视频的后向光流信息和后向遮挡信息。
可选的,上述双向光流信息包括:前向光流信息和后向光流信息。其中的前向光流信息是指由基础图像分别到待生成视频中的多个视频帧的光流信息。
可选的,上述双向遮挡信息包括:前向遮挡信息和后向遮挡信息。其中的前向遮挡信息是指用于描述基础图像中,被待生成视频帧包括的多个视频帧中的对象所遮挡的信息。
在一个可选示例中,本公开中的待生成视频的光流信息可以包括:待生成视频中的多个视频帧各自对应的光流信息对。本公开中的光流信息对的数量与待生成视频所包含的视频帧的数量相关,且光流信息对的数量通常小于待生成视频所包含的视频帧的数量。待生成视频所包含的视频帧的数量通常是预先设定的数值(即已知值)。例如,在待生成视频包括m(m大于2,如m=10)个视频帧(包括基础图像)的情况下,待生成视频的光流信息通常包括:m-1(如9)个光流信息对。
在一个可选示例中,无论是基础图像被作为待生成视频的起始帧,还是被作为待生成视频的最末帧,本公开中的任一个光流信息对通常包括:视频帧的前向光流信息和视频帧的后向光流信息,这两个方向的光流信息。
例如,对于待生成视频中的第n(n不大于m)视频帧而言,第n视频帧对应的光流信息对包括:从基础图像到第n视频帧的前向光流信息、以及从第n视频帧到基础图像的后向光流信息。可选的,本公开通常会使用光流信息对中的后向光流信息来生成相应的视频帧。前向光流信息和后向光流信息可用于对神经网络系统进行训练。
在一个可选示例中,本公开中的遮挡信息可以表现为遮挡掩膜(occlusion mask)的形式。本公开中的待生成视频的遮挡信息可以包括:待生成视频中的多个视频帧各自对应的遮挡信息对。本公开中的遮挡信息对的数量与待生成视频所包含的视频帧的数量相关,且遮挡信息对的数量小于待生成视频所包含的视频帧的数量。待生成视频所包含的视频帧的数量通常是预先设定的已知数值。例如,在待生成视频包括m(m大于2,如m=10)个视频帧(包括基础图像)的情况下,待生成视频的遮挡信息通常均包括:m-1(如9)个遮挡信息对。
在一个可选示例中,无论是基础图像被作为待生成视频的起始帧,还是被作为待生成视频的最末帧,本公开中的任一个遮挡信息对通常包括:视频帧的前向遮挡信息和视频帧的后向遮挡信息。
可选的,前向遮挡信息可以为前向遮挡图(forward occlusion map)。例如,前向遮挡图中的一个像素点的值被设置“0”,表示基础图像中的该像素点被其他视频帧中的对象所遮挡。前向遮挡图中的一个像素点的值被设置“1”,表示基础图像中的该像素点未被其他视频帧中的对象所遮挡。
可选的,后向遮挡信息可以为后向遮挡图(backward occlusion map)。例如,后向遮挡图中的一个像素点的值被设置“0”,表示其他视频帧中的该像素点被基础图像中的对象所遮挡。后向遮挡图中的一个像素点的值被设置“1”,表示其他视频帧中的该像素点被基础图像中的对象所遮挡。
可选的,待生成视频中的第n视频帧所对应的遮挡信息对包括:用于描述基础图像中的被第n视频帧中的对象所遮挡的前向遮挡信息(如前向遮挡图)、以及用于描述第n视频帧中的被基础图像中的对象所遮挡的后向遮挡信息(如后向遮挡图)。本公开通常会使用遮挡信息对中的后向遮挡信息来生成相应的视频帧。前向遮挡信息和后向遮挡信息可以被用于对神经网络系统的训练。
在一个可选示例中,本公开可以将第一运动特征信息(如第一运动特征向量)和第二运动特征信息(如第二运动特征向量)分别输入至神经网络系统的流解码器中,经由该流解码器对第一运动特征信息和第二运动特征信息进行流解码处理,并输出解码处理的结果。解码处理的结果通常包括:多个光流信息对和多个遮挡信息对。另外,本公开还可以将运动编码器中的至少一中间层的输出提供给的流解码器中的相应层,即运动编码器和流解码器之间的连接可以包括跳连接,这样,流解码器在执行解码处理的过程中,可以参考运动编码器的中间层输出的信息,从而有利于提高运动信息和遮挡信息的准确性。流解码器的训练过程可以参见下述实施方式中的相关描述,在此不再详细说明。
在一个可选示例中,本公开中的神经网络系统的流解码器生成多个光流信息对和多个遮挡信息对的方式,可利用真实的光流信息和遮挡信息作为监督信息,使运动编码器和流解码器进行学习而获得的,也可通过本公开提供的下述训练方式学习获得。在对神经网络系统进行训练过程中,本公开是利用针对光流信息对和遮挡信息对的损失计算结果,使运动编码器和流解码器进行学习的,也就是说,本公开并不需要针对视频样本进行光流计算以及遮挡计算,并利用光流计算的结果以及遮挡计算的结果,使运动编码器和流解码器进行学习。由于针对光流信息对和遮挡信息对进行损失计算的计算量较小,且可以避免针对视频样本进行光流计算以及遮挡计算中的误差对神经网络训练的影响,因此,本公开提供的神经网络的训练方式有利于降低训练过程中的计算量,并有利于促进神经网络的收敛,从而有利于提高训练效率。
可选的,在基础图像被作为待生成视频的起始帧的情况下,神经网络系统可以利用每一个光流信息对中的后向光流信息以及每一个遮挡信息对中的后向遮挡信息,来执行待生成视频中的位于其后的视频帧的生成操作。在基础图像被作为待生成视频的最末帧的情况下,神经网络系统同样可以利用每一个光流信息对中的后向光流信息以及每一个遮挡信息对中的后向遮挡信息,来执行待生成视频中的位于其前的视频帧的生成操作。
在一个可选示例中,神经网络系统中的运动编码器和流解码器可以使用下述公式(1)表示:
Wf,Wb,Of,Ob=F(I0) 公式(1)
在公式(1)中,F(I0)表示运动编码器和流解码器针对基础图像I0(如起始帧或者最末帧)进行处理的结果; 表示从基础图像I0到第t视频帧的前向光流信息中的像素点(u,v)位置处的前向光流信息,也可以称为像素点(u,v)的前向光流信息; 表示从第t视频帧到基础图像I0的后向光流信息中的像素点(u,v)位置处的后向光流信息,也可以称为像素点(u,v)的后向光流信息; 表示用于描述基础图像I0中的被第1视频帧中的对象所遮挡的前向遮挡信息,前向遮挡信息可以为遮挡图的形式,即可以称为前向遮挡图; 表示用于描述第1视频帧中的被基础图像I0中的对象所遮挡的后向遮挡信息,后向遮挡信息也可以为遮挡图的形式,即可以称为后向遮挡图;T表示待生成视频所包含的除了基础图像I0之外的视频帧的数量,1≤t≤T。
可选的,无论是在前向遮挡图中,还是在后向遮挡图中,像素点(u,v)位置处被设置为0表示两图像(即基础图像以及第t视频帧)中的该像素点位置处的像素值不一致,即像素点(u,v)在一图像中被对象遮挡,而在另一图像中被显露出来的。像素点(u,v)位置处被设置为1表示两图像中的该像素点位置处的像素值一致。
S230、根据光流信息、遮挡信息和基础图像,生成待生成视频的多个视频帧。
在一个可选示例中,本公开可以根据上述获得的光流信息,对基础图像进行变换处理,从而生成多个视频帧。可选的,本公开对基础图像的变换处理可以包括但不限于:卷绕(warping)处理。
例如,在基础图像被作为视频中的起始帧(如第0视频帧)的情况下,本公开可以利用第1视频帧对应的光流信息对(例如,第一个光流信息对)中的后向光流信息,对基础图像进行卷绕计算,从而可以根据计算结果获得待处理第1视频帧。利用第2视频帧对应的光流信息对(例如,第二个光流信息对)中的后向光流信息,对基础图像进行卷绕计算,从而可以根据计算结果获得待处理第2视频帧。以此类推,直到获得最末一个视频帧。
再例如,在基础图像被作为视频中的最末帧的情况下,本公开可以利用倒数第2视频帧对应的光流信息对(例如,最后一个光流信息对)中的后向光流信息,对基础图像进行卷绕计算,从而可以根据计算结果获得待处理倒数第2视频帧。利用倒数第3视频帧对应的光流信息对(例如,倒数第二个光流信息对)中的后向光流信息,对基础图像进行卷绕计算,从而可以根据计算结果获得待处理倒数第3视频帧。以此类推,直到获得起始帧(如第0视频帧)。
由于光流信息通常不能体现出基础图像中的被遮挡位置处的图像内容的运动情况,因此,变换处理后所形成的各视频帧中往往会存在空洞区域,视频帧中的空洞区域通常是指:在视频帧中的被基础图像中的对象所遮挡,而在该视频帧中被显露出来的区域。空洞区域即待修复区域。本公开通过将变换处理后形成的各视频帧作为待处理视频帧,并基于各待处理视频帧各自对应的遮挡信息对中的后向遮挡信息,对各待处理视频帧进行进一步的优化处理,可以修复各待处理视频帧中的空洞区域的图像内容,从而形成图像内容更为精细化的视频帧。
在一个可选示例中,本公开可以根据各遮挡信息对中的后向遮挡信息,确定各待处理视频帧中被显露出来,但是在基础图像中被对象遮挡的待修复区域,并对各待处理视频帧中的待修复区域进行图像内容修复处理(例如,图像生成处理),以最终形成视频中的多个视频帧。本公开中的图像内容修复处理包括但不限于:根据待修复区域的周边位置处的像素值,来预测待修复区域中的各像素的像素值,从而生成待修复区域处的图像内容。
可选的,本公开可以利用用于生成图像的神经网络来实现对待处理视频帧的修复处理。用于生成图像的神经网络是神经网络系统中的一部分。本公开中的用于生成图像的神经网络可以包括但不限于:采用U-Net结构的神经网络。用于生成图像的神经网络可以称为后期处理神经网络(Post Processing Network)。
可选的,本公开的神经网络系统生成视频帧的方式,可以用下述公式(2)表示:
在公式(2)中,表示神经网络系统最终生成的第t视频帧中的像素x的像素值;P(*)表示后期处理神经网络针对输入其中的信息*所执行的处理操作;表示第t视频帧对应的后向遮挡图中的像素x位置处的取值;表示待处理视频帧,即利用光流信息对基础图像进行变换处理后的视频帧;表示第t视频帧对应的后向光流信息中的像素x位置处的取值。
本公开通过利用各视频帧各自对应的遮挡信息,对各待处理视频帧中的空洞区域进行修复处理,有利于避免最终形成的视频帧存在空洞区域的现象,从而有利于提高视频帧的画面质量。
由上述实施例的描述可知,在一些应用场景中,本公开的视频生成方法可以包括两个阶段。第一阶段是由图到图(即Image-to-Image,I2I,图3中表示为img2img)的阶段(如图3的左侧所示),即由语义分割图生成图像的阶段,该图像可以作为视频的起始帧或者最末帧。该第一阶段可以由上述用于生成图像的神经网络实现,为了方便描述,下述称为第一阶段神经网络。第二阶段是由图到视频(即Image-to-Video,I2V,图3中表示为img2vid)的阶段(如图3的右侧所示),即由起始帧或者最末帧结合其运动特征信息(即图3中的Z)生成视频的阶段。该第二阶段可以由上述神经网络系统实现,为了方便描述,下述称为第二阶段神经网络。
可选的,第二阶段神经网络可以包括但不限于:变分自动编解码的神经网络以及后期处理神经网络。其中的变分自动编解码的神经网络的输入通常包括:图像以及语义信息(如语义分割图等),而变分自动编解码的神经网络的输出通常包括:待生成视频的光流信息和待生成视频的遮挡信息。后期处理神经网络的输入通常包括:利用待生成视频的光流信息对图像进行卷绕处理后的视频帧以及待生成视频的遮挡信息。而后期处理神经网络的输出通常包括:最终生成的用于形成视频的具有时序关系的多个视频帧。
需要说明的是,在一些应用场景中,本公开的视频生成方法可以只包括一个阶段,例如,在预先给定了图像的应用场景中,本公开的视频生成方法可以只包括上述第二阶段,即可以只利用第二阶段神经网络来实现视频生成。
本公开通过先获得基础图像(如利用语义信息获得基础图像),再利用基础图像生成视频,使视频的生成过程可以分为两个阶段,有利于提高视频生成的可调试性以及可维护性。通过利用基础图像的至少两种类型的运动特征信息来获得待生成视频的光流信息和遮挡信息,有利于提高光流信息和遮挡信息的多样性;通过利用光流信息、遮挡信息和基础图像来生成视频帧,有利于完善生成的视频帧中的被遮挡区域的图像内容。由此可知,本公开提供的技术方案在有利于提高生成的视频的图像质量的同时,还有利于提高所生成的视频的多样性。另外,本公开提供的技术方案的应用场景包括但不限于:模拟机器人决策、辅助自动驾驶、预测场景未来运动以及生成游戏场景等。
下面结合图4和图5,对本公开的利用第一阶段神经网络和第二阶段神经网络,来实现视频生成方法的实施方式,进行说明。
S400、将预先设置的语义信息输入至第一阶段神经网络中,经由第一阶段神经网络对语义信息进行编解码处理,根据第一阶段神经网络输出的处理结果,获得输入的语义信息对应的图像。
可选的,第一阶段神经网络可以包括编码器和解码器。编码器用于提取语义信息的特征,即执行特征编码处理。解码器用于对编码器输出的编码处理的结果(如语义信息的特征)进行解码处理,从而形成输入的语义信息对应的图像。第一阶段神经网络可以为基于编解码的生成对抗神经网络等。
可选的,输入至第一阶段神经网络中的语义信息可以为语义分割图。本公开可以采用现有的已成功训练的生成对抗神经网络生成图像。生成对抗神经网络的网络结构以及训练过程,在此不再详细说明。
S410、获取图像的不确定型运动特征信息。
可选的,本公开可以采用随机取样的方式(例如,基于正态分布的随机取样方式、基于高斯分布的随机取样方式等),获取图像的不确定型运动特征信息。该不确定型运动特征信息包括但不限于:不确定型运动特征向量等。
S420、将图像以及该图像的语义信息(如语义分割图等)均输入至第二阶段神经网络中,经由第二阶段神经网络中的运动编码器对输入的图像和语义信息,进行运动特征提取处理,从而获得图像的确定型运动特征信息。
可选的,上述确定型运动特征信息包括但不限于:确定型运动特征向量等。该运动编码器包括但不限于:有条件的变分自编码器等。
S430、经由第二阶段神经网络中的流解码器对不确定型运动特征信息以及确定型运动特征信息进行流解码处理,获得待生成视频的光流信息和待生成视频的遮挡信息。
可选的,从光流信息的方向而言,本步骤获得的待生成视频的光流信息包括:待生成视频的前向光流信息和待生成视频的后向光流信息。在上述图像被作为待生成视频中的起始帧的情况下,待生成视频的前向光流信息可以为:从起始帧至最末帧的光流信息。在上述图像被作为待生成视频中的最末帧的情况下,待生成视频的前向光流信息可以为:从待生成视频的最末帧至起始帧的光流信息。
可选的,从待生成视频的基本组成单位(即视频帧)而言,本步骤获得的待生成视频的光流信息包括:多个光流信息对,光流信息对的数量与待生成视频所包含的视频帧的数量相关。待生成视频所包含的视频帧的数量通常是已知的,即待生成视频所包含的视频帧的数量通常是预先设定的。任一个光流信息对均包括:视频帧的前向光流信息和视频帧的后向光流信息。
可选的,从待生成视频的基本组成单位(即视频帧)而言,本步骤获得的待生成视频的遮挡信息包括:多个遮挡信息对,且遮挡信息对的数量与待生成视频所包含的视频帧的数量相关。任一个遮挡信息对均包括:视频帧的前向遮挡信息和视频帧的后向遮挡信息。前向遮挡信息和后向遮挡信息的含义可以参见上述实施方式中的相关描述。
可选的,运动编码器和流解码器之间的连接除了采用串接之外,还可以采用跳连接的方式。也就是说,本公开可以将运动编码器最后一层输出的信息提供给流解码器,还可以将运动编码器中的至少一中间层输出的信息,提供给流解码器中的相应层,例如,可以对中间层输出的信息进行采样处理,并将采样处理后的结果提供给流解码器中的相应层,使流解码器在执行解码处理的过程中,可以参考运动编码器的中间层输出的信息,从而有利于提高流解码器生成运动信息和遮挡信息的准确性。
S440、根据流解码器输出的待生成视频的光流信息,对图像进行变换处理,以获得多个视频帧。
可选的,本公开可以利用各待生成视频帧各自对应的光流信息对中的后向光流信息,对图像分别进行变换处理(如卷绕处理等),从而生成多个视频帧。本公开可以将变换处理获得的多个视频帧分别作为待处理视频帧,并通过下述步骤对各待处理视频帧分别进行精细化处理,从而形成最终的多个视频帧。
S450、流解码器输出的待生成视频的遮挡信息以及各待处理视频帧被输入至第二阶段神经网络中的后期处理神经网络中,由该后期处理神经网络基于待生成视频的遮挡信息,对各待处理视频帧进行图像内容修复处理,根据后期处理神经网络的输出,获得各视频帧。
在一个可选示例中,对于待生成视频中的第n视频帧而言,可以将待处理第n视频帧、以及第n视频帧对应的遮挡信息对中的后向遮挡信息(如后向遮挡图等)输入后期处理神经网络中,经由后期处理神经网络根据该后向遮挡信息对第n视频帧进行图像内容修复处理,例如,后期处理神经网络根据该后向遮挡信息确定第n视频帧中的空洞区域,并利用待处理第n视频帧中的空洞区域周边的像素,来预测空洞区域中的像素的取值,从而实现待处理第n视频帧的图像内容修复处理。本公开可以根据后期处理神经网络输出的图像内容修复处理结果,最终获得待生成视频中的第n视频帧。
下面结合图6至图8对本公开的第二阶段神经网络的训练过程进行说明。
S600、将视频样本中的预定帧样本和预定帧样本的语义信息输入第二阶段神经网络的第一运动编码器中,经由第一运动编码器对预定帧样本及其语义信息进行确定型运动编码处理,生成第一运动特征信息。
可选的,视频样本包括多个视频帧样本。多个视频帧样本中的一视频帧样本被作为预定帧样本,即视频样本的基础图像。通常情况下,预定帧样本可以为视频样本中的起始帧样本或最末帧样本等。预定帧样本的语义信息可以为预定帧样本的语义分割图。上述生成的第一运动特征信息可以为第一运动特征向量,如图7中的
可选的,本公开不仅可利用预定帧样本及其语义信息,来获得预定帧样本的第一运动特征信息,还可以利用预定帧样本、语义信息及其他信息,来获得第一运动特征信息。例如,本公开可以将预定帧样本、该预定帧样本的语义分割图以及该预定帧样本的深度图输入第一运动编码器,由第一运动编码器对输入的信息进行运动编码处理(如确定型运动编码处理),从而获得该预定帧样本的第一运动特征信息。
S610、将视频样本中的预定帧样本的语义信息和视频样本中的多个视频帧样本输入第二运动编码器中,经由第二运动编码器对预定帧样本的语义信息和多个视频帧样本进行运动编码处理(如不确定型运动编码处理),生成第二运动特征信息。
可选的,第二运动特征信息可以为不确定型运动特征向量,如图7中的zm。需要说明的是,第二运动编码器并不属于第二阶段神经网络,即在第二阶段神经网络的测试以及实际应用过程中,并不需要使用第二运动编码器。也就是说,第二运动编码器仅用于对第二阶段神经网络进行训练。
可选的,本公开中的第二运动编码器可以为一个运动编码器。该第二运动编码器也可以包括两个运动编码器,即前景运动编码器以及背景序列编码器(如图7所示)。
在第二运动编码器包括一个运动编码器的情况下,本公开可以将本公开可以将预定帧样本的语义信息和视频样本中的多个视频帧样本直接输入至该运动编码器中。
在第二运动编码器包括前景运动编码器以及背景序列编码器的情况下,预定帧样本的语义信息包括:两部分,即前景语义信息和背景语义信息。前景语义信息包括但不限于:前景语义分割图。背景语义信息包括但不限于:背景语义分割图。预定帧样本的前景语义信息和视频样本中的多个视频帧样本被输入前景运动编码器中,经由前景运动编码器对预定帧样本的前景语义信息和多个视频帧样本进行运动编码处理,生成基于前景的第二运动特征信息(如图8中的zFG)。而预定帧样本的背景语义信息和视频样本中的多个视频帧样本被输入背景序列编码器中,经由背景序列编码器对预定帧样本的背景语义信息和多个视频帧样本进行运动编码处理,生成基于背景的第二运动特征信息(如图8中的zBG)。本公开的第二运动特征信息包括:基于前景的第二运动特征信息zFG和基于背景的第二运动特征信息zBG。
S620、流解码器对第一运动特征信息和第二运动特征信息进行流解码处理,生成视频样本的光流信息和遮挡信息。
在一个可选示例中,第一运动特征信息(如第一运动特征向量)和第二运动特征信息(如第二运动特征向量)被分别输入至流解码器中,经由该流解码器对第一运动特征信息和第二运动特征信息进行流解码处理,并输出解码处理的结果。解码处理的结果通常包括:视频样本的双向光流信息以及双向遮挡信息,例如,多个光流信息对和多个遮挡信息对。
可选的,上述双向光流信息包括:前向光流信息和后向光流信息。其中的前向光流信息是指由预定帧样本分别到视频样本中的多个视频帧样本的光流信息。
可选的,上述双向遮挡信息包括:前向遮挡信息和后向遮挡信息。其中的前向遮挡信息是指用于描述预定帧样本中的被视频样本中的多个视频帧样本中的对象所遮挡的信息。
在一个可选示例中,本公开中的视频样本的光流信息可以包括:视频样本中的多个视频帧样本各自对应的光流信息对。本公开中的光流信息对的数量与视频样本所包含的视频帧样本的数量相关,且光流信息对的数量通常小于视频样本所包含的视频帧样本的数量。例如,在视频样本包括m(m大于2,如m=10)个视频帧样本(包括预定帧样本)的情况下,视频样本的光流信息通常包括:m-1(如9)个光流信息对。
在一个可选示例中,无论是视频样本中的起始帧被作为预定帧样本,还是视频样本中的最末帧被作为预定帧样本,本公开中的任一个光流信息对通常包括:视频帧样本的前向光流信息和视频帧样本的后向光流信息,这两个方向的光流信息。
例如,对于视频样本中的第n(n不大于m)视频帧样本而言,第n视频帧样本对应的光流信息对包括:从预定帧样本到第n视频帧样本的前向光流信息、以及从第n视频帧样本到预定帧样本的后向光流信息。可选的,本公开通常会使用光流信息对中的后向光流信息来生成相应的视频帧。前向光流信息和后向光流信息通常用于计算光流损失。
在一个可选示例中,本公开中的遮挡信息可以表现为遮挡掩膜的形式。本公开中的视频样本的遮挡信息可以包括:视频样本中的多个视频帧样本各自对应的遮挡信息对。本公开中的遮挡信息对的数量与视频样本所包含的视频帧样本的数量相关,且遮挡信息对的数量小于视频样本所包含的视频帧样本的数量。例如,在视频样本包括m(m大于2,如m=10)个视频帧样本(包括预定帧样本)的情况下,视频样本的遮挡信息通常均包括:m-1(如9)个遮挡信息对。
在一个可选示例中,无论是视频样本中的起始帧被作为预定帧样本,还是视频样本中的最末帧被作为预定帧样本,本公开中的任一个遮挡信息对通常包括:视频帧样本的前向遮挡信息和视频帧样本的后向遮挡信息。
可选的,前向遮挡信息可以为前向遮挡图。例如,前向遮挡图中的一个像素点被设置“0”,表示预定帧样本中的该像素点被其他视频帧样本中的对象所遮挡。前向遮挡图中的一个像素点被设置“1”,表示预定帧样本中的该像素点未被其他视频帧样本中的对象所遮挡。
可选的,后向遮挡信息可以为后向遮挡图。例如,后向遮挡图中的一个像素点被设置“0”,表示其他视频帧样本中的该像素点被预定帧样本中的对象所遮挡。后向遮挡图中的一个像素点被设置“1”,表示其他视频帧样本中的该像素点被预定帧样本中的对象所遮挡。
可选的,视频样本中的第n视频帧样本所对应的遮挡信息对包括:用于描述预定帧样本中的被第n视频帧样本中的对象所遮挡的前向遮挡信息(如前向遮挡图)、以及用于描述第n视频帧样本中的被预定帧样本中的对象所遮挡的后向遮挡信息(如后向遮挡图)。本公开通常会使用遮挡信息对中的后向遮挡信息来生成相应的视频帧。前向遮挡信息和后向遮挡信息通常被用于计算遮挡损失。
可选的,运动编码器中的至少一中间层的输出可以提供给流解码器中的相应层,即运动编码器和流解码器之间的连接不仅包括串行连接,还可以包括跳连接(如图7所示),这样,流解码器在执行解码处理的过程中,可以参考运动编码器的中间层输出的信息,从而有利于提高流解码器生成运动信息和遮挡信息的准确性。
S630、变换处理模块根据视频样本的光流信息,对预定帧样本进行变换处理,生成多个待处理视频帧。
在一个可选示例中,本公开中的变换处理模块包括但不限于:卷绕处理模块。变换处理模块可以根据上述获得的光流信息,对预定帧样本进行变换处理(如卷绕处理),从而生成多个待处理视频帧。
例如,在视频样本中的起始帧(如第0视频帧)被作为预定帧样本的情况下,变换处理模块可以利用第1视频帧样本对应的光流信息对(例如,第一个光流信息对)中的后向光流信息,对预定帧样本进行卷绕计算,从而可以根据变换处理模块的计算结果,获得待处理第1视频帧。变换处理模块利用第2视频帧样本对应的光流信息对(例如,第二个光流信息对)中的后向光流信息,对预定帧样本进行卷绕计算,从而可以根据变换处理模块的计算结果,获得待处理第2视频帧。以此类推,直到获得最末一个视频帧。
再例如,在视频样本中的最末帧被作为预定帧样本的情况下,变换处理模块可以利用倒数第2视频帧样本对应的光流信息对(例如,最后一个光流信息对)中的后向光流信息,对预定帧样本进行卷绕计算,从而可以根据变换处理模块的计算结果获得待处理倒数第2视频帧。变换处理模块利用倒数第3视频帧对应的光流信息对(例如,倒数第二个光流信息对)中的后向光流信息,对预定帧样本进行卷绕计算,从而可以根据变换处理模块的计算结果,获得待处理倒数第3视频帧。以此类推,直到获得起始帧(如第0视频帧)。
S640、后期处理神经网络根据多个待处理视频帧和视频样本的遮挡信息对多个待处理视频帧分别进行图像修复处理,生成多个视频帧。
在一个可选示例中,在视频样本的起始帧被作为预定帧样本的情况下,后期处理神经网络可以利用每一个光流信息对中的后向光流信息以及每一个遮挡信息对中的后向遮挡信息,来执行位于起始帧之后的视频帧的生成操作。在视频样本的最末帧被作为预定帧样本的情况下,后期处理神经网络同样可以利用每一个光流信息对中的后向光流信息以及每一个遮挡信息对中的后向遮挡信息,来执行位于最末帧之前的视频帧的生成操作。
S650、根据第二运动特征的基于分布的损失、以及重建视频帧与视频帧样本之间的基于数据的损失,对第二阶段神经网络的网络参数进行调整。
在一个可选示例中,本公开可以对第一运动编码器的网络参数、第二运动编码器的网络参数、流解码器的网络参数、变换处理模块的网络参数以及后期处理神经网络的网络参数中的至少一个进行调整。本公开在对第二阶段神经网络中的网络参数(如卷积核的权值等)进行调整的过程中,所使用的损失函数可以表示为如下述公式(3)的形式:
在公式(3)中,表示第二阶段神经网络针对和X的总损失函数;表示第二阶段神经网络生成的一视频帧;X表示视频样本中的与相对应的视频帧样本;Ldata表示基于数据的损失;β表示平衡因子;Dkl表示基于分布的损失,如基于正态分布的损失;pφ(z|X)||p(z)是KL散度公式的一种表达方式,具体的,pφ(z|X)||p(z)表示pφ(z|X)对p(z)的相对熵;pφ(z|X)表示以X为条件,以z为随机变量的条件概率;p(z)表示针对z的标准正态分布;z表示不确定型运动信息。
上述公式(3)中的基于数据的损失Ldata可以使用下述公式(4)表示:
在公式(4)中,λr、λfs和λfc表示平衡因子;Lr表示基于像素重建的损失函数,即利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失;Lfs表示光流信息的平滑损失函数;Lfc表示光流信息的前后向一致性损失函数;表示和X之间的L1距离,表示第二阶段神经网络生成的视频帧,即第二阶段神经网络重建的视频帧;X表示视频样本中的与生成的视频帧相对应的视频帧样本;表示和φ(X)在特征空间中的L1距离;表示第二阶段神经网络生成的视频帧的特征信息;φ(X)表示与生成的视频帧相对应的视频帧样本的特征信息。
上述公式(4)中的Lfc可以使用下述公式(5)表示:
在公式(5)中,Lfc(Wf,Wb)表示针对未被遮挡盖区域的光流信息的前后一致性损失函数;表示表示第t视频帧对应的前向遮挡图中的像素x处的取值;表示与之间的L1距离;表示第t视频帧对应的前向光流信息中的像素x处的取值;表示第t视频帧对应的变换前向光流信息中的像素x处的取值,其中的变换前向光流信息为:利用第t视频帧对应的前向光流,对第t视频帧对应的后向光流信息进行变换处理(如warp处理)而得到的光流信息;表示在计算与之间的L1距离时,仅考虑未被遮挡部分;表示第t视频帧对应的后向遮挡图中的像素x处的取值;表示和之间的L1距离;表示第t视频帧对应的后向光流信息中的像素x处的取值;表示第t视频帧对应的变换后向光流信息中的像素x处的取值,其中的变换后向光流信息为:利用第t视频帧对应的后向光流,对第t视频帧对应的前向光流信息进行变换处理(如warp处理)而得到的光流信息。
上述公式(4)中的Lfs可以使用下述公式(6)表示:
在公式(6)中,Lfs(Wf,Wb)表示Wf和Wb之间的平滑损失函数;▽表示表示梯度;表示前向光流;表示后向光流;表示前向光流沿视频帧的x轴方向和y轴方向的梯度;表示后向光流沿视频帧的x轴方向和y轴方向的梯度;表示的绝对值;表示的绝对值。
公式(4)中的Lr可以使用下述公式(7)来表示:
在公式(7)中,Lr(Wf,Wn,V)表示基于像素重建的损失函数;表示表示第t视频帧样本对应的前向遮挡图中的像素x处的取值,该取值为0或1;I0(x)表示预定帧样本(如起始帧样本或者最末帧样本等)中的像素x处的取值;表示利用第t视频帧样本的前向光流信息对第t视频帧样本进行变换处理(如warp处理),得到的预定帧样本,即利用前向光流信息重建的预定帧样本;表示I0(x)和之间的L1距离;表示第t视频帧对应的后向遮挡图中的像素x处的取值;It(x)表示视频样本中的第t视频帧样本中的像素x处的取值;表示利用视频样本中的第t视频帧样本的后向光流对视频样本中的预定帧样本(如初始帧样本或者最末帧样本等)进行变换处理(如warp处理),所获得的视频帧;表示It(x)和之间的L1距离。
在一个可选示例中,在针对第二阶段神经网络的训练达到预定迭代条件时,本次训练过程结束。本公开中的预定迭代条件可以包括:计算出的基于分布的损失、以及生成的视频帧与视频帧样本之间的基于数据的损失,满足预定损失要求。在该损失满足要求的情况下,本次对第二阶段神经网络成功训练完成。本公开中的预定迭代条件也可以包括:对第二阶段神经网络进行训练,所使用的视频样本的数量达到预定数量要求等。
本公开的视频生成装置的结构如图9所示。图9所示的装置包括:获取语义模块900、生成图像模块910、获取运动特征模块920以及生成视频帧模块930。可选的,该视频生成装置还可以包括:神经网络系统训练模块940。
获取语义模块900用于获取语义信息。其中的语义信息包括但不限于:语义分割图。获取语义模块900可以通过绘制或者神经网络等方式获取语义信息。获取语义模块900具体执行的操作可以参见上述方法实施方式中的相关描述。
生成图像模块910用于根据语义信息,生成待生成视频的基础图像。
可选的,生成图像模块910可以根据从语义信息中提取出的特征信息,生成待生成视频的基础图像。生成图像模块910可以包括:语义编码子模块和图像解码子模块。语义编码子模块用于对语义分割图进行特征编码处理,获得特征信息。图像解码子模块用于对特征信息进行图像解码处理,并根据解码处理的结果,获得待生成视频的基础图像。语义编码子模块和图像解码子模块可以通过用于生成图像的神经网络实现,语义编码子模块和图像解码子模块具体执行的操作可参见上述方法实施方式中的相关描述。
获取运动特征模块920用于获取基础图像的运动特征信息。
可选的,获取运动特征模块920可以获取基础图像的至少两种类型的运动特征信息。例如,获取运动特征模块920获取基础图像的第一运动类型的第一运动特征信息和第二运动类型的第二运动特征信息。其中的第一运动类型和第二运动类型不同。
可选的,获取运动特征模块920可以包括:第一子模块。获取运动特征模块920还可以包括:第二子模块、第三子模块和第四子模块中的至少一个。第一子模块用于针对预先设置的运动分布信息,基于随机取样方式,获取基础图像的至少一种类型的运动特征信息。第二子模块用于根据基础图像,获取基础图像的至少一种类型的运动特征信息。第三子模块用于根据基础图像以及基础图像的语义分割图,获取基础图像的至少一种类型的运动特征信息。例如,第三子模块对基础图像和语义分割图进行运动特征编码处理,第三子模块基于运动特征编码处理的结果,获得基础图像的至少一种类型的运动特征信息。第四子模块用于根据基础图像以及基础图像的语义分割图和深度图,获取基础图像的至少一种类型的运动特征信息。例如,第四子模块先对基础图像、语义分割图及深度图进行运动特征编码处理,然后,第四子模块可以基于运动特征编码处理的结果,获得基础图像的至少一种类型的运动特征信息。第二子模块、第三子模块或者第四子模块可以通过运动编码器(即方法实施例中的第一运动编码器)实现。第一子模块、第二子模块、第三子模块和第四子模块具体执行的操作可参见上述方法实施方式中的相关描述。
生成视频帧模块930用于根据运动特征信息和基础图像,生成待生成视频的多个视频帧。
可选的,生成视频帧模块可以包括:第五子模块和第六子模块。其中的第五子模块用于根据至少两种类型的运动特征信息,确定待生成视频的光流信息和遮挡信息。例如,第五子模块可以根据至少两种类型的运动特征信息,确定待生成视频的后向光流信息和后向遮挡信息。第五子模块可以根据至少两种类型的运动特征信息,获得待生成视频的双向光流信息和双向遮挡信息;第五子模块从双向光流信息和双向遮挡信息中,获取待生成视频的后向光流信息和后向遮挡信息。其中的待生成视频的双向光流信息包括:待生成视频中的多个视频帧各自对应的光流信息对。第n视频帧对应的光流信息对包括:由基础图像到所述第n视频帧的前向光流信息;以及由第n视频帧到基础图像的后向光流信息。其中的n为不大于待生成视频所包含的视频帧数量的正整数。其中的待生成视频的双向遮挡信息包括:待生成视频中的多个视频帧各自对应的遮挡信息对。例如,第n视频帧对应的遮挡信息对包括:用于描述基础图像中的被第n视频帧中的对象所遮挡的前向遮挡信息;以及用于描述第n视频帧中的被基础图像中的对象所遮挡的后向遮挡信息。第五子模块可以通过流编码器实现。第六子模块用于根据光流信息、遮挡信息和基础图像,生成待生成视频的多个视频帧。第六子模块包括:第七子模块和第八子模块。其中的第七子模块用于根据待生成视频的光流信息,对基础图像进行变换处理,生成多个待处理视频帧。例如,针对待生成视频中的第n视频帧而言,第七子模块根据第n视频帧对应的光流信息对中的后向光流信息,对基础图像进行卷绕处理。其中的第八子模块用于根据遮挡信息,对多个待处理视频帧中的被遮挡部分分别进行修复处理,从而形成多个视频帧。例如,针对待生成视频中的第n视频帧而言,第八子模块根据第n视频帧对应的遮挡信息对中的后向遮挡信息确定被遮挡区域,并根据被遮挡区域的周围区域的像素对所述被遮挡区域进行修复处理。第八子模块可以通过后期处理神经网络实现。
可选的,本公开中的获取运动特征模块和生成视频帧模块,可以利用神经网络系统(即上述方法实施方式中的第二阶段神经网络)实现。该神经网络系统是利用视频样本、视频样本中的预定帧样本的语义信息,训练获得的,其中的预定帧样本被作为视频样本的基础图像。预定帧样本可以包括:视频样本中的起始帧样本或者最末帧样本。该神经网络系统包括:第一运动编码器、流解码器、变换处理模块以及后期处理神经网络。
神经网络系统训练模块940用于将视频样本中的预定帧样本和预定帧样本的语义信息输入第一运动编码器中,经第一运动编码器对预定帧样本和语义信息进行运动编码处理,生成第一运动特征信息;同时,神经网络系统训练模块940将视频样本中的预定帧样本的语义信息和视频样本中的多个视频帧样本输入第二运动编码器中,经由第二运动编码器对预定帧样本的语义信息和多个视频帧样本进行运动编码处理,生成第二运动特征信息。流解码器对第一运动特征信息和第二运动特征信息进行流解码处理,生成视频样本的光流信息和遮挡信息;变换处理模块根据视频样本的光流信息对预定帧样本进行变换处理,生成多个待处理视频帧。后期处理神经网络根据多个待处理视频帧和视频样本的遮挡信息对多个待处理视频帧分别进行图像修复处理,生成多个视频帧。神经网络系统训练模块940根据第二运动特征的基于分布的损失、以及重建视频帧与视频帧样本之间的基于数据的损失,对神经网络系统的网络参数进行调整。神经网络系统训练模块940训练神经网络系统的具体过程可以参见上述针对图6的描述。
在一个可选示例中,第二运动编码器可包括:前景运动编码器及背景序列编码器。在该示例中,神经网络系统训练模块940可以将视频样本中的预定帧样本的前景语义信息和视频样本中的多个视频帧样本输入前景运动编码器中,经由前景运动编码器对预定帧样本的前景语义信息和多个视频帧样本进行运动编码处理,生成基于前景的第二运动特征信息。同时,神经网络系统训练模块940将视频样本中的预定帧样本的背景语义信息和视频样本中的多个视频帧样本输入背景序列编码器中,经由背景序列编码器对预定帧样本的背景语义信息和多个视频帧样本进行运动编码处理,生成基于背景的第二运动特征信息。基于前景的第二运动特征信息和基于背景的第二运动特征信息形成第二运动特征信息。
可选的,神经网络系统训练模块940所使用的重建视频帧与视频帧样本之间的基于数据的损失可以包括:利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失、前向光流信息和/或后向光流信息的平滑度损失、前向光流信息和后向光流信息的前后一致性损失、神经网络系统所生成的视频帧与视频帧样本之间的距离损失、以及神经网络系统所生成的视频帧与视频帧样本之间的基于特征空间的距离损失中的至少一个。其中的利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失可以包括:利用前向光流和后向光流分别重建的图像中的未被遮挡部分与相应的视频帧样本之间的像素重建损失。其中的前向光流信息和后向光流信息的前后一致性损失可以包括:前向光流信息中未被遮挡部分和后向光流信息中未被遮挡部分的前后一致性损失。
示例性设备
图10示出了适于实现本公开的示例性设备1000,设备1000可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、个人计算机(PC,例如,台式计算机或笔记型计算机等)、平板电脑及服务器等。图10中,设备1000包括一个或者多个处理器、通信部等,所述一个或者多个处理器可以为:一个或者多个中央处理单元(CPU)1001,和/或,一个或多个加速单元(GPU)1013等,处理器可以根据存储在只读存储器(ROM)1002中的可执行指令或者从存储部分1008加载到随机访问存储器(RAM)1003中的可执行指令而执行各种适当的动作和处理。通信部1012可以包括但不限于网卡,所述网卡可以包括但不限于IB(Infiniband)网卡。处理器可与只读存储器1002和/或随机访问存储器1003中通信以执行可执行指令,通过总线1004与通信部1012相连、并经通信部1012与其他目标设备通信,从而完成本公开中的相应步骤。
上述各指令所执行的操作可以参见上述方法实施例中的相关描述,在此不再详细说明。此外,在RAM1003中,还可以存储有装置操作所需的各种程序以及数据。CPU1001、ROM1002以及RAM1003通过总线1004彼此相连。
在有RAM1003的情况下,ROM1002为可选模块。RAM1003存储可执行指令,或在运行时向ROM1002中写入可执行指令,可执行指令使中央处理单元1001执行上述物体分割方法所包括的步骤。输入/输出(I/O)接口1005也连接至总线1004。通信部1012可以集成设置,也可以设置为具有多个子模块(例如,多个IB网卡),并分别与总线连接。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装在存储部分1008中。
需要特别说明的是,如图10所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图10的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如,加速单元1013和CPU1001可分离设置,再如理,可将加速单元1013集成在CPU1001上,通信部可分离设置,也可集成设置在CPU1001或加速单元1013上等。这些可替换的实施方式均落入本公开的保护范围。
特别地,根据本公开的实施方式,下文参考流程图描述的过程可以被实现为计算机软件程序,例如,本公开实施方式包括一种计算机程序产品,其包含有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的步骤的程序代码,程序代码可包括对应执行本公开提供的方法中的步骤对应的指令。
在这样的实施方式中,该计算机程序可以通过通信部分1009从网络上被下载及安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本公开中记载的实现上述相应步骤的指令。
在一个或多个可选实施方式中,本公开实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任意实施例中所述的视频生成方法或者智能驾驶控制方法。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,所述计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
在一个或多个可选实施方式中,本公开实施例还提供了另一种视频生成方法和神经网络的训练方法及其对应的装置和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中的方法包括:第一装置向第二装置发送视频生成指示或者神经网络训练控制指示,该指示使得第二装置执行上述任一可能的实施例中的视频生成方法或者神经网络训练方法;第一装置接收第二装置发送的视频生成结果或者神经网络训练结果。
在一些实施例中,该视视频生成指示或者神经网络训练指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行视频生成操作或者神经网络训练操作,相应地,响应于接收到调用指令,第二装置可以执行上述视频生成方法或者神经网络训练方法中的任意实施例中的步骤和/或流程。
应理解,本公开实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本公开实施例的限定。还应理解,在本公开中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。还应理解,对于本公开中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
可能以许多方式来实现本公开的方法和装置、电子设备以及计算机可读存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置、电子设备以及计算机可读存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施方式中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
本公开的描述,是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言,是显然的。选择和描述实施方式是为了更好说明本公开的原理以及实际应用,并且使本领域的普通技术人员能够理解本公开实施例可以从而设计适于特定用途的带有各种修改的各种实施方式。
Claims (44)
1.一种视频生成方法,其特征在于,包括:
获取语义信息;
根据所述语义信息,生成待生成视频的基础图像;
获取所述基础图像的运动特征信息;
根据所述运动特征信息和所述基础图像,生成所述待生成视频的多个视频帧,
其中,所述根据所述运动特征信息和所述基础图像,生成所述待生成视频的多个视频帧,包括:
根据至少两种类型的运动特征信息,确定所述待生成视频的光流信息和遮挡信息;
根据所述光流信息、遮挡信息和基础图像,生成所述待生成视频的多个视频帧。
2.根据权利要求1所述的方法,其特征在于,所述根据所述语义信息,生成待生成视频的基础图像,包括:
根据从语义信息中提取出的特征信息,生成待生成视频的基础图像。
3.根据权利要求2所述的方法,其特征在于,所述语义信息包括:语义分割图;
所述根据从语义信息中提取出的特征信息,生成待生成视频的基础图像,包括:
对语义分割图进行特征编码处理,获得特征信息;
对所述特征信息进行图像解码处理,并根据所述解码处理的结果,获得待生成视频的基础图像。
4.根据权利要求1所述的方法,其特征在于,所述获取所述基础图像的运动特征信息,包括:
获取所述基础图像的至少两种类型的运动特征信息。
5.根据权利要求4所述的方法,其特征在于,所述获取所述基础图像的至少两种类型的运动特征信息,包括:
获取所述基础图像的第一运动类型的第一运动特征信息和第二运动类型的第二运动特征信息,所述第一运动类型和所述第二运动类型不同。
6.根据权利要求4所述的方法,其特征在于,所述获取所述基础图像的至少两种类型的运动特征信息,包括以下至少之一或组合:
针对预先设置的运动分布信息,基于随机取样方式,获取所述基础图像的至少一种类型的运动特征信息;
根据所述基础图像,获取所述基础图像的至少一种类型的运动特征信息;
根据所述基础图像以及所述基础图像的语义分割图,获取所述基础图像的至少一种类型的运动特征信息;
根据所述基础图像以及所述基础图像的语义分割图和深度图,获取所述基础图像的至少一种类型的运动特征信息。
7.根据权利要求6所述的方法,其特征在于,
所述根据所述基础图像以及所述基础图像的语义分割图,获取所述基础图像的至少一种类型的运动特征信息,包括:
对所述基础图像和语义分割图进行运动特征编码处理;
基于所述运动特征编码处理的结果,获得所述基础图像的至少一种类型的运动特征信息。
8.根据权利要求6所述的方法,其特征在于,
所述根据所述基础图像以及所述基础图像的语义分割图和深度图,获取所述基础图像的至少一种类型的运动特征信息,包括:
对所述基础图像、语义分割图和深度图进行运动特征编码处理;
基于所述运动特征编码处理的结果,获得所述基础图像的至少一种类型的运动特征信息。
9.根据权利要求1所述的方法,其特征在于,所述根据所述至少两种类型的运动特征信息,确定所述待生成视频的光流信息和遮挡信息,包括:
根据所述至少两种类型的运动特征信息,确定所述待生成视频的后向光流信息和后向遮挡信息。
10.根据权利要求9所述的方法,其特征在于,所述根据所述至少两种类型的运动特征信息,确定所述待生成视频的后向光流信息和后向遮挡信息,包括:
根据所述至少两种类型的运动特征信息,获得所述待生成视频的双向光流信息和双向遮挡信息;
从所述双向光流信息和双向遮挡信息中,获取所述待生成视频的后向光流信息和后向遮挡信息。
11.根据权利要求10所述的方法,其特征在于,所述待生成视频的双向光流信息包括:待生成视频中的多个视频帧各自对应的光流信息对;
第n视频帧对应的光流信息对包括:
由所述基础图像到所述第n视频帧的前向光流信息;以及
由所述第n视频帧到所述基础图像的后向光流信息;
其中,n为不大于待生成视频所包含的视频帧数量的正整数。
12.根据权利要求10所述的方法,其特征在于,所述待生成视频的双向遮挡信息包括:待生成视频中的多个视频帧各自对应的遮挡信息对;
第n视频帧对应的遮挡信息对包括:
用于描述所述基础图像中的被所述第n视频帧中的对象所遮挡的前向遮挡信息;以及
用于描述所述第n视频帧中的被所述基础图像中的对象所遮挡的后向遮挡信息。
13.根据权利要求1所述的方法,其特征在于,所述根据所述光流信息、遮挡信息和基础图像,生成所述待生成视频的多个视频帧,包括:
根据所述待生成视频的光流信息,对所述基础图像进行变换处理,生成多个待处理视频帧;
根据所述遮挡信息,对所述多个待处理视频帧中的被遮挡部分进行修复处理,以形成多个视频帧。
14.根据权利要求13所述的方法,其特征在于,所述根据所述待生成视频的光流信息,对所述基础图像进行变换处理,包括:
针对待生成视频中的第n视频帧而言,根据所述第n视频帧对应的光流信息对中的后向光流信息,对所述基础图像进行卷绕处理。
15.根据权利要求13所述的方法,其特征在于,所述根据所述遮挡信息,对所述多个待处理视频帧中的被遮挡部分进行修复处理,包括:
针对待生成视频中的第n视频帧而言,根据所述第n视频帧对应的遮挡信息对中的后向遮挡信息确定被遮挡区域,并根据所述被遮挡区域的周围区域的像素对所述被遮挡区域进行修复处理。
16.根据权利要求1至8中任一项所述的方法,其特征在于,所述获取所述基础图像的运动特征信息;根据所述运动特征信息和所述基础图像,生成所述待生成视频的多个视频帧,是利用神经网络系统实现的;
所述神经网络系统是利用视频样本、视频样本中的预定帧样本的语义信息,训练获得的,其中的预定帧样本被作为视频样本的基础图像。
17.根据权利要求16所述的方法,其特征在于,所述神经网络系统包括:第一运动编码器、流解码器、变换处理模块以及后期处理神经网络;
所述神经网络系统的训练过程包括:
将视频样本中的预定帧样本和预定帧样本的语义信息输入第一运动编码器中,经由第一运动编码器对预定帧样本和语义信息进行运动编码处理,生成第一运动特征信息;
将视频样本中的预定帧样本的语义信息和视频样本中的多个视频帧样本输入第二运动编码器中,经由第二运动编码器对预定帧样本的语义信息和多个视频帧样本进行运动编码处理,生成第二运动特征信息;
流解码器对第一运动特征信息和第二运动特征信息进行流解码处理,生成视频样本的光流信息和遮挡信息;
变换处理模块根据视频样本的光流信息对预定帧样本进行变换处理,生成多个待处理视频帧;
后期处理神经网络根据多个待处理视频帧和视频样本的遮挡信息对多个待处理视频帧分别进行图像修复处理,生成多个视频帧;
根据第二运动特征的基于分布的损失、以及重建视频帧与视频帧样本之间的基于数据的损失,对所述神经网络系统的网络参数进行调整。
18.根据权利要求17所述的方法,其特征在于,所述第二运动编码器包括:前景运动编码器以及背景序列编码器;
将视频样本中的预定帧样本的前景语义信息和视频样本中的多个视频帧样本输入前景运动编码器中,经由前景运动编码器对预定帧样本的前景语义信息和多个视频帧样本进行运动编码处理,生成基于前景的第二运动特征信息;
将视频样本中的预定帧样本的背景语义信息和视频样本中的多个视频帧样本输入背景序列编码器中,经由背景序列编码器对预定帧样本的背景语义信息和多个视频帧样本进行运动编码处理,生成基于背景的第二运动特征信息;
所述基于前景的第二运动特征信息和基于背景的第二运动特征信息形成第二运动特征信息。
19.根据权利要求17所述的方法,其特征在于,所述重建视频帧与视频帧样本之间的基于数据的损失包括下述至少一个:
利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失;
前向光流信息和/或后向光流信息的平滑度损失;
前向光流信息和后向光流信息的前后一致性损失;
神经网络系统所生成的视频帧与视频帧样本之间的距离损失;
神经网络系统所生成的视频帧与视频帧样本之间的基于特征空间的距离损失。
20.根据权利要求19所述的方法,其特征在于,所述利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失,包括:
利用前向光流和后向光流分别重建的图像中的未被遮挡部分与相应的视频帧样本之间的像素重建损失。
21.根据权利要求19所述的方法,其特征在于,所述前向光流信息和后向光流信息的前后一致性损失,包括:
前向光流信息中未被遮挡部分和后向光流信息中未被遮挡部分的前后一致性损失。
22.一种视频生成装置,其特征在于,包括:
获取语义模块,用于获取语义信息;
生成图像模块,用于根据所述语义信息,生成待生成视频的基础图像;
获取运动特征模块,用于获取所述基础图像的运动特征信息;
生成视频帧模块,用于根据所述运动特征信息和所述基础图像,生成所述待生成视频的多个视频帧,其中,所述生成视频帧模块包括:第五子模块,用于根据至少两种类型的运动特征信息,确定所述待生成视频的光流信息和遮挡信息;第六子模块,用于根据所述光流信息、遮挡信息和基础图像,生成所述待生成视频的多个视频帧。
23.根据权利要求22所述的装置,其特征在于,所述生成图像模块进一步用于:
根据从语义信息中提取出的特征信息,生成待生成视频的基础图像。
24.根据权利要求23所述的装置,其特征在于,所述语义信息包括:语义分割图;
所述生成图像模块包括:
语义编码子模块,用于对语义分割图进行特征编码处理,获得特征信息;
图像解码子模块,用于对所述特征信息进行图像解码处理,并根据所述解码处理的结果,获得待生成视频的基础图像。
25.根据权利要求22所述的装置,其特征在于,所述获取运动特征模块进一步用于:
获取所述基础图像的至少两种类型的运动特征信息。
26.根据权利要求25所述的装置,其特征在于,所述获取运动特征模块进一步用于:
获取所述基础图像的第一运动类型的第一运动特征信息和第二运动类型的第二运动特征信息,所述第一运动类型和所述第二运动类型不同。
27.根据权利要求25所述的装置,其特征在于,所述获取运动特征模块,包括下述至少一个:
第一子模块,用于针对预先设置的运动分布信息,基于随机取样方式,获取所述基础图像的至少一种类型的运动特征信息;
第二子模块,用于根据所述基础图像,获取所述基础图像的至少一种类型的运动特征信息;
第三子模块,用于根据所述基础图像以及所述基础图像的语义分割图,获取所述基础图像的至少一种类型的运动特征信息;
第四子模块,用于根据所述基础图像以及所述基础图像的语义分割图和深度图,获取所述基础图像的至少一种类型的运动特征信息。
28.根据权利要求27所述的装置,其特征在于,所述第三子模块进一步用于:
对所述基础图像和语义分割图进行运动特征编码处理;
基于所述运动特征编码处理的结果,获得所述基础图像的至少一种类型的运动特征信息。
29.根据权利要求27所述的装置,其特征在于,所述第四子模块进一步用于:
对所述基础图像、语义分割图和深度图进行运动特征编码处理;
基于所述运动特征编码处理的结果,获得所述基础图像的至少一种类型的运动特征信息。
30.根据权利要求22所述的装置,其特征在于,所述第五子模块进一步用于:
根据所述至少两种类型的运动特征信息,确定所述待生成视频的后向光流信息和后向遮挡信息。
31.根据权利要求30所述的装置,其特征在于,所述第五子模块进一步用于:
根据所述至少两种类型的运动特征信息,获得所述待生成视频的双向光流信息和双向遮挡信息;
从所述双向光流信息和双向遮挡信息中,获取所述待生成视频的后向光流信息和后向遮挡信息。
32.根据权利要求31所述的装置,其特征在于,所述待生成视频的双向光流信息包括:待生成视频中的多个视频帧各自对应的光流信息对;
第n视频帧对应的光流信息对包括:
由所述基础图像到所述第n视频帧的前向光流信息;以及
由所述第n视频帧到所述基础图像的后向光流信息;
其中,n为不大于待生成视频所包含的视频帧数量的正整数。
33.根据权利要求31所述的装置,其特征在于,所述待生成视频的双向遮挡信息包括:待生成视频中的多个视频帧各自对应的遮挡信息对;
第n视频帧对应的遮挡信息对包括:
用于描述所述基础图像中的被所述第n视频帧中的对象所遮挡的前向遮挡信息;以及
用于描述所述第n视频帧中的被所述基础图像中的对象所遮挡的后向遮挡信息。
34.根据权利要求22所述的装置,其特征在于,所述第六子模块包括:
第七子模块,用于根据所述待生成视频的光流信息,对所述基础图像进行变换处理,生成多个待处理视频帧;
第八子模块,用于根据所述遮挡信息,对所述多个待处理视频帧中的被遮挡部分进行修复处理,以形成多个视频帧。
35.根据权利要求34所述的装置,其特征在于,所述第七子模块进一步用于:
针对待生成视频中的第n视频帧而言,根据所述第n视频帧对应的光流信息对中的后向光流信息,对所述基础图像进行卷绕处理。
36.根据权利要求34所述的装置,其特征在于,所述第八子模块进一步用于:
针对待生成视频中的第n视频帧而言,根据所述第n视频帧对应的遮挡信息对中的后向遮挡信息确定被遮挡区域,并根据所述被遮挡区域的周围区域的像素对所述被遮挡区域进行修复处理。
37.根据权利要求22至29中任一项所述的装置,其特征在于,所述获取运动特征模块和生成视频帧模块,是利用神经网络系统实现的;
所述神经网络系统是利用视频样本、视频样本中的预定帧样本的语义信息,训练获得的,其中的预定帧样本被作为视频样本的基础图像。
38.根据权利要求37所述的装置,其特征在于,所述神经网络系统包括:第一运动编码器、流解码器、变换处理模块以及后期处理神经网络;
所述视频生成装置还包括:神经网络系统训练模块,用于:
将视频样本中的预定帧样本和预定帧样本的语义信息输入第一运动编码器中,经由第一运动编码器对预定帧样本和语义信息进行运动编码处理,生成第一运动特征信息;
将视频样本中的预定帧样本的语义信息和视频样本中的多个视频帧样本输入第二运动编码器中,经由第二运动编码器对预定帧样本的语义信息和多个视频帧样本进行运动编码处理,生成第二运动特征信息;
流解码器对第一运动特征信息和第二运动特征信息进行流解码处理,生成视频样本的光流信息和遮挡信息;
变换处理模块根据视频样本的光流信息对预定帧样本进行变换处理,生成多个待处理视频帧;
后期处理神经网络根据多个待处理视频帧和视频样本的遮挡信息对多个待处理视频帧分别进行图像修复处理,生成多个视频帧;
根据第二运动特征的基于分布的损失、以及重建视频帧与视频帧样本之间的基于数据的损失,对所述神经网络系统的网络参数进行调整。
39.根据权利要求38所述的装置,其特征在于,所述第二运动编码器包括:前景运动编码器以及背景序列编码器;所述神经网络系统训练模块进一步用于:
将视频样本中的预定帧样本的前景语义信息和视频样本中的多个视频帧样本输入前景运动编码器中,经由前景运动编码器对预定帧样本的前景语义信息和多个视频帧样本进行运动编码处理,生成基于前景的第二运动特征信息;
将视频样本中的预定帧样本的背景语义信息和视频样本中的多个视频帧样本输入背景序列编码器中,经由背景序列编码器对预定帧样本的背景语义信息和多个视频帧样本进行运动编码处理,生成基于背景的第二运动特征信息;
所述基于前景的第二运动特征信息和基于背景的第二运动特征信息形成第二运动特征信息。
40.根据权利要求38所述的装置,其特征在于,所述重建视频帧与视频帧样本之间的基于数据的损失包括下述至少一个:
利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失;
前向光流信息和/或后向光流信息的平滑度损失;
前向光流信息和后向光流信息的前后一致性损失;
神经网络系统所生成的视频帧与视频帧样本之间的距离损失;
神经网络系统所生成的视频帧与视频帧样本之间的基于特征空间的距离损失。
41.根据权利要求40所述的装置,其特征在于,所述利用前向光流和后向光流分别重建的图像与相应的视频帧样本之间的像素重建损失,包括:
利用前向光流和后向光流分别重建的图像中的未被遮挡部分与相应的视频帧样本之间的像素重建损失。
42.根据权利要求40所述的装置,其特征在于,所述前向光流信息和后向光流信息的前后一致性损失,包括:
前向光流信息中未被遮挡部分和后向光流信息中未被遮挡部分的前后一致性损失。
43.一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-21中任一项所述的方法。
44.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述权利要求1-21中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910092355.0A CN109889849B (zh) | 2019-01-30 | 2019-01-30 | 视频生成方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910092355.0A CN109889849B (zh) | 2019-01-30 | 2019-01-30 | 视频生成方法、装置、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109889849A CN109889849A (zh) | 2019-06-14 |
CN109889849B true CN109889849B (zh) | 2022-02-25 |
Family
ID=66927407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910092355.0A Active CN109889849B (zh) | 2019-01-30 | 2019-01-30 | 视频生成方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109889849B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110381268B (zh) * | 2019-06-25 | 2021-10-01 | 达闼机器人有限公司 | 生成视频的方法,装置,存储介质及电子设备 |
CN110728203B (zh) * | 2019-09-23 | 2022-04-12 | 清华大学 | 基于深度学习的手语翻译视频生成方法及系统 |
CN110782415A (zh) * | 2019-11-01 | 2020-02-11 | 合肥图鸭信息科技有限公司 | 一种图像补全方法、装置及终端设备 |
CN111899184B (zh) * | 2020-03-31 | 2023-11-28 | 珠海市杰理科技股份有限公司 | 图像缺陷修复、神经网络训练方法、装置、设备和系统 |
CN114120992A (zh) * | 2020-09-01 | 2022-03-01 | 北京字节跳动网络技术有限公司 | 语音生成视频的方法、装置、电子设备及计算机可读介质 |
CN112308000B (zh) * | 2020-11-06 | 2023-03-07 | 安徽清新互联信息科技有限公司 | 一种基于时空信息的高空抛物检测方法 |
CN112232322A (zh) * | 2020-12-14 | 2021-01-15 | 支付宝(杭州)信息技术有限公司 | 一种基于对象状态预测的图像生成方法及装置 |
CN115061770B (zh) * | 2022-08-10 | 2023-01-13 | 荣耀终端有限公司 | 显示动态壁纸的方法和电子设备 |
CN117079194B (zh) * | 2023-10-12 | 2024-01-05 | 深圳云天畅想信息科技有限公司 | 云视频ai理解生成方法、装置及计算机设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888767A (zh) * | 2014-03-31 | 2014-06-25 | 山东大学 | Umh块匹配运动估计与光流场运动估计相结合的一种帧率提升方法 |
CN104021525A (zh) * | 2014-05-30 | 2014-09-03 | 西安交通大学 | 一种道路场景视频图像序列的背景修复方法 |
CN106469314A (zh) * | 2016-08-31 | 2017-03-01 | 深圳市唯特视科技有限公司 | 一种基于时空共生双流网络的视频图像分类方法 |
CN108510061A (zh) * | 2018-03-19 | 2018-09-07 | 华南理工大学 | 基于条件生成对抗网络的多监控视频人脸合成正脸的方法 |
CN109040618A (zh) * | 2018-09-05 | 2018-12-18 | Oppo广东移动通信有限公司 | 视频生成方法和装置、存储介质、电子设备 |
CN109118490A (zh) * | 2018-06-28 | 2019-01-01 | 厦门美图之家科技有限公司 | 一种图像分割网络生成方法及图像分割方法 |
CN109165562A (zh) * | 2018-07-27 | 2019-01-08 | 深圳市商汤科技有限公司 | 神经网络的训练方法、横向控制方法、装置、设备及介质 |
CN109255790A (zh) * | 2018-07-27 | 2019-01-22 | 北京工业大学 | 一种弱监督语义分割的自动图像标注方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096936B (zh) * | 2009-12-14 | 2013-07-24 | 北京中星微电子有限公司 | 一种图像生成方法及装置 |
CN102467377A (zh) * | 2010-11-08 | 2012-05-23 | 上海无戒空间信息技术有限公司 | 动画制作方法 |
CN104123742A (zh) * | 2014-07-21 | 2014-10-29 | 徐才 | 一种将静态漫画图片转化为二维动画的方法和播放器 |
CN104732572B (zh) * | 2014-12-24 | 2018-06-19 | 天脉聚源(北京)科技有限公司 | 一种生成运动图像的方法及装置 |
CN107172450A (zh) * | 2016-03-07 | 2017-09-15 | 百度在线网络技术(北京)有限公司 | 视频数据的传输方法、装置及系统 |
US20180025749A1 (en) * | 2016-07-22 | 2018-01-25 | Microsoft Technology Licensing, Llc | Automatic generation of semantic-based cinemagraphs |
CN108881952B (zh) * | 2018-07-02 | 2021-09-14 | 上海商汤智能科技有限公司 | 视频生成方法及装置、电子设备和存储介质 |
CN109166102A (zh) * | 2018-07-24 | 2019-01-08 | 中国海洋大学 | 一种基于判别区域候选对抗网络的图像转图像翻译方法 |
-
2019
- 2019-01-30 CN CN201910092355.0A patent/CN109889849B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888767A (zh) * | 2014-03-31 | 2014-06-25 | 山东大学 | Umh块匹配运动估计与光流场运动估计相结合的一种帧率提升方法 |
CN104021525A (zh) * | 2014-05-30 | 2014-09-03 | 西安交通大学 | 一种道路场景视频图像序列的背景修复方法 |
CN106469314A (zh) * | 2016-08-31 | 2017-03-01 | 深圳市唯特视科技有限公司 | 一种基于时空共生双流网络的视频图像分类方法 |
CN108510061A (zh) * | 2018-03-19 | 2018-09-07 | 华南理工大学 | 基于条件生成对抗网络的多监控视频人脸合成正脸的方法 |
CN109118490A (zh) * | 2018-06-28 | 2019-01-01 | 厦门美图之家科技有限公司 | 一种图像分割网络生成方法及图像分割方法 |
CN109165562A (zh) * | 2018-07-27 | 2019-01-08 | 深圳市商汤科技有限公司 | 神经网络的训练方法、横向控制方法、装置、设备及介质 |
CN109255790A (zh) * | 2018-07-27 | 2019-01-22 | 北京工业大学 | 一种弱监督语义分割的自动图像标注方法 |
CN109040618A (zh) * | 2018-09-05 | 2018-12-18 | Oppo广东移动通信有限公司 | 视频生成方法和装置、存储介质、电子设备 |
Non-Patent Citations (1)
Title |
---|
Video Imagination from a single Image with Transformation Generation;Baoyang Chen 等;《arXiv:1706.04124v2》;20170615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109889849A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889849B (zh) | 视频生成方法、装置、介质及设备 | |
US11361546B2 (en) | Action recognition in videos using 3D spatio-temporal convolutional neural networks | |
US11176381B2 (en) | Video object segmentation by reference-guided mask propagation | |
CN110062934B (zh) | 使用神经网络确定图像中的结构和运动 | |
US10977530B2 (en) | ThunderNet: a turbo unified network for real-time semantic segmentation | |
CN109165562B (zh) | 神经网络的训练方法、横向控制方法、装置、设备及介质 | |
CN112149459A (zh) | 一种基于交叉注意力机制的视频显著性物体检测模型及系统 | |
US20230419521A1 (en) | Unsupervised depth prediction neural networks | |
CN117499658A (zh) | 使用神经网络生成视频帧 | |
CN112040311B (zh) | 视频图像补帧方法、装置、设备及可存储介质 | |
EP3710993B1 (en) | Image segmentation using neural networks | |
CN110060230B (zh) | 三维场景分析方法、装置、介质及设备 | |
CN114677412A (zh) | 一种光流估计的方法、装置以及设备 | |
CN114073071A (zh) | 视频插帧方法及装置、计算机可读存储介质 | |
CN113379877A (zh) | 人脸视频生成方法、装置、电子设备及存储介质 | |
CN117036436A (zh) | 一种基于双编码器-解码器的单目深度估计方法及系统 | |
CN109543556B (zh) | 动作识别方法、装置、介质及设备 | |
CN116363429A (zh) | 图像识别模型的训练方法、图像识别方法、装置及设备 | |
CN113706572B (zh) | 一种基于查询向量的端到端的全景图像分割方法 | |
CN114596475A (zh) | 单应性流估计模型的训练方法、单应性流估计方法和装置 | |
CN110753239B (zh) | 视频预测方法、视频预测装置、电子设备和车辆 | |
CN110913246B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN116912488B (zh) | 基于多目相机的三维全景分割方法及装置 | |
CN115908962B (zh) | 神经网络的训练方法、脉冲信号重构图像生成方法及装置 | |
CN116996695B (zh) | 一种全景图像压缩方法、装置、设备及介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |