基于深度学习的视频渲染方法、装置、计算机设备以及存储介质与流程

文档序号:24783704发布日期:2021-04-23 09:16阅读:128来源:国知局
基于深度学习的视频渲染方法、装置、计算机设备以及存储介质与流程

1.本发明属于渲染领域,具体涉及一种基于深度学习的高效视频渲染系统、装置、计算机设备以及存储介质。


背景技术:

2.现有渲染技术中,采用渲染引擎对复杂的三维模型进行直接渲染处理,由于三维模型的复杂性导致渲染计算量超级大,进而影响渲染效率,为了提升渲染效率,现有技术中会牺牲掉分辨率,这种做法得到的渲染图并不能满足用户的需求。
3.现有技术中,可以通过插值来提升图像效果,如申请公布号cn106204701a的专利申请公开的一种基于光探针插值动态计算间接反射高光的渲染方法,再如申请公布号为cn106384378a的专利申请公开的一种基于gpu的广义mipmap插值实时景深渲染方法,但是这两种均是传统的插值算法,计算量仍然比较大,渲染成本高。
4.视频插帧算法是指根据视频帧信息来做插帧算法,用来提升视频的连续性,但是目前没有和渲染相结合的视频插帧技术来提升效率降低渲染成本。


技术实现要素:

5.鉴于上述,本发明的目的是提供一种基于深度学习的视频渲染方法、装置、计算机设备以及存储介质,降低渲染成本的同时,显著提升渲染速度。
6.第一方面,本发明实施例提供了一种基于深度学习的视频渲染方法,包括以下步骤:
7.从视频渲染过程中获得视频帧和对应的运动矢量,所述运动矢量包括当前视频帧相对前一帧的前运动矢量和相对后一帧的后运动矢量;
8.利用基于可变形卷积神经网络构建的视频帧生成模型基于输入的插值帧的运动矢量和相邻前后两视频帧生成插值帧;
9.将视频帧和插值帧按照时间序列排序合成最终渲染视频。
10.在一种实施方式中,前后相邻两视频帧之间的插值帧的运动矢量通过以下方式获得:
11.首先,对前视频帧的后运动矢量做插值运算,得到插值帧的运动矢量,然后,根据前视频帧的运动矢量和后视频帧的运动矢量,得到插值帧的前运动矢量和后运动矢量。
12.在另外一种实施方式中,如权利要求1所述的基于深度学习的视频渲染方法,其特征在于,所述视频渲染方法还包括;利用基于卷积神经网络构建的矫正模型对插值帧的运动矢量进行矫正,得到矫正后的运动矢量;
13.所述视频帧生成模型基于矫正后的运动矢量和相邻前后两视频帧生成插值帧。
14.在另外一种实施方式中,利用矫正模型对插值帧的运动矢量进行矫正时,将相邻前后两视频帧和插值帧的运动矢量输入至矫正模型,经过计算后输出矫正后的运动矢量。
15.在另外一种实施方式中,视频帧生成模型和矫正模型构建过程为:
16.从视频渲染器中获得帧率大于设定阈值的视频帧序列和每个视频帧对应的运动矢量,以连续三个视频帧和对应的运动矢量作为一个样本,其中,中间视频帧为标签帧,剩下两个视频帧为输入数据;
17.利用样本对可变形卷积神经网络进行训练以优化网络参数,训练结束后,确定的网络参数与可变形卷积神经网络结构组成视频帧生成模型;
18.利用样本对卷积神经网络进行训练以优化网络参数,训练结束后,确定的网络参数与卷积神经网络结构组成矫正模型。
19.第二方面,本发明实施例提供了一种基于深度学习的视频渲染装置,包括:
20.获取模块,用于从视频渲染过程中获得视频帧和对应的运动矢量,所述运动矢量包括当前视频帧相对前一帧的前运动矢量和相对后一帧的后运动矢量;
21.插值帧生成模块,用于利用基于可变形卷积神经网络构建的视频帧生成模型基于输入的插值帧的运动矢量和相邻前后两视频帧生成插值帧;
22.合成模块,用于将视频帧和插值帧按照时间序列排序合成最终渲染视频。
23.在一种实施方式中,所述装置还包括:
24.插值帧的运动矢量计算模块,用于对对前视频帧的后运动矢量做插值运算,得到插值帧的前运动矢量;还用于对后视频帧的前运动矢量做插值运算,得到插值帧的后运动矢量。
25.在另外一种实施方式中,所述装置还包括:
26.运动矢量矫正模块,利用基于卷积神经网络构建的矫正模型对插值帧的运动矢量进行矫正,得到矫正后的运动矢量。
27.第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,所述存储器中存储有视频帧生成模型和矫正模型,所述处理器执行所述计算机程序时实现第一方面提供的基于深度学习的视频渲染方法的步骤。
28.第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理执行时实现第一方面提供的基于深度学习的视频渲染方法的步骤。
29.与现有技术相比,本发明具有的有益效果至少包括:
30.本发明实施例提供的基于深度学习的视频渲染方法、装置、计算机设备以及存储介质,从视频渲染过程中直接获得视频帧和运动矢量,保证了运动矢量的真实性,同时利用基于可变形卷积神经网络构建的视频帧生成模型根据插值帧的运动矢量和相邻前后两视频帧生成插值帧,模型一次构建多次应用,大大降低了计算成本,同时深度学习的计算高效性和准确性也大大提升了插值帧的计算速度和计算精度,最后将视频帧和插值帧按照时间序列排序合成最终渲染视频,提升了整体视频渲染的效率。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
32.图1是本发明一实施例提供的基于深度学习的视频渲染方法的流程图;
33.图2是本发明一实施例提供的利用视频帧生成模型生成插值帧的示意图;
34.图3是本发明一实施例提供的运动矢量矫正过程的示意图;
35.图4是本发明一实施例提供的基于深度学习的视频渲染装置的结构示意图;
36.图5是本发明另一实施例提供的基于深度学习的视频渲染装置的结构示意图;
37.图6是本发明一实施例提供的基于深度学习的视频渲染装置的结构示意图;
38.图7是本发明一实施例提供的计算机设备的结构示意图。
具体实施方式
39.为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
40.为了降低视频渲染成本,在保证渲染质量的同时提升渲染速度,本发明实施例提供了一种基于深度学习的高效视频渲染系统、装置、计算机设备以及存储介质。下面针对每部分详细说明。
41.实施例1
42.图1是本发明一实施例提供的基于深度学习的视频渲染方法的流程图。如图1所示,实施例1提供了一种基于深度学习的视频渲染方法,包括以下步骤:
43.s101,从视频渲染过程中获得视频帧和对应的运动矢量,所述运动矢量包括当前视频帧相对前一帧的前运动矢量和相对后一帧的后运动矢量。
44.视频渲染器可以对三维模型进行光线追踪渲染,得到视频帧序列,也就是视频。视频渲染器在渲染过程中,在输出视频帧的同时,还能够根据渲染时相机位置和三维模型计算获得每个视频帧的运动矢量,对于当前时刻t的视频帧p
t
,获得的运动矢量s
t
包括获得相对于t

1时刻视频帧的前运动矢量s
t

s
t
‑1,还包括相对于t+1时刻视频帧的后运动矢量s
t+1

s
t
。前运动矢量和后运动矢量均是从视频渲染器中获得的三维模型的真实运动数据,因此可以保证运动矢量的真实性和准确性,为后续生成插值帧提供了稳定的数据基础,以使得基于运动矢量生成的插值帧质量更好,真实感更强。
45.s102,利用基于可变形卷积神经网络构建的视频帧生成模型基于输入的插值帧的运动矢量和相邻前后两视频帧生成插值帧。
46.卷积神经网络具有很强的学习和映射能力,但是标准卷积中的规则格点采样是导致网络难以适应几何形变的主要原因。为了削弱这个限制,通过对卷积核中每个采样点的位置都增加了一个偏移的变量。通过这些变量,卷积核就可以在当前位置附近随意的采样,而不再局限于之前的规则格点。这样扩展后的卷积操作被称为可变形卷积,由此组成的网络为可变性卷积神经网络。相比于卷积神经网络,可变性卷积神经网络不需要任何额外的监督信号,可以直接通过目标任务学习得到,具有更强的学习能力和适应性,在增加了很少的模型复杂度和计算量的同时,显著提高了识别精度。
47.基于可变卷积神经网络的优点,本实施例采用可变形卷积神经网络作为基础网络
来构建视频帧生成模型,具体过程可以为:
48.构建样本集,样本集可以从较大帧率的视频渲染器输出的视频帧序列得到,即设定满足需求的帧率阈值,从获得帧率大于设定帧率阈值的视频帧序列,同时获得视频帧对应的运动矢量,该运动矢量同样包括前运动矢量和后运动矢量。然后以连续三个视频帧和对应的运动矢量作为一个样本,其中,中间视频帧为标签帧,剩下两个视频帧为输入数据。
49.优化可变形卷积神经网络模型参数,将每个样本作为可变形卷积神经网络的输入,利用样本对可变形卷积神经网络进行训练以优化网络参数,训练结束后,确定的网络参数与可变形卷积神经网络结构组成视频帧生成模型。
50.在一种实施方式中,前后相邻两视频帧之间的插值帧的运动矢量通过以下方式获得:首先,对前视频帧的后运动矢量做插值运算,得到插值帧的运动矢量,然后,根据前视频帧的运动矢量和后视频帧的运动矢量,得到插值帧的前运动矢量和后运动矢量。
51.举例说明,前视频帧运动矢量表示为s
t
,后视频帧运动矢量表示为s
t+1
,前视频帧的后运动矢量表示为s
t+1

s
t
,则对后运动矢量s
t+1

s
t
进行中间线性插值运算,得到插值帧的运动矢量表示为s
t+0.5
,则插值帧的前运动矢量s
t+0.5

s
t
和后运动矢量s
t+1

s
t+0.5

52.生成插值帧时,将插值帧的前运动矢量s
t+0.5

s
t
、后运动矢量s
t+1

s
t+0.5
、前视频帧p
t
和后视频帧p
t+1
同时输入至视频帧生成模型中,经计算得到插值帧p
t+0.5

53.实施例中,在获得插值帧的基础上,可以将插值帧作为当前后视频帧,在当前后视频帧和前视频帧之间再生成插值帧,当然也可以将插值帧作为当前的前视频帧,在当前的前视频帧和后视频帧之间再生成插值帧,具体生成方法与上述步骤2所述方法相同。
54.如图2所示,利用视频帧生成模型生成插值帧时,将前后两视频帧通道拼接后输入至视频帧生成模型,同时将插值计算得到的插值帧的前后运动矢量也输入至视频帧生成模型中,经过计算生成插值帧图像。
55.由于运动矢量不需要进行光线追踪计算,可以以非常低的成本快速生成视频渲染器中的运动矢量,但是生成的运动矢量有时候会存在以下两个问题:(a)存在亚像素误差,对亚像素取整会导致中间帧变模糊;(b)无法计算玻璃后的运动矢量和镜子发射里的运动矢量。为了解决这两个问题,实施例中还需要对运动矢量进行矫正。
56.在另一个可能的实施方式中,利用基于卷积神经网络构建的矫正模型对插值帧的运动矢量进行矫正,得到矫正后的运动矢量。如图3所示,具体过程为:将相邻前后两视频帧和插值帧的前运动矢量和后运动矢量输入至矫正模型,经过计算后输出矫正后的前运动矢量和后运动矢量,然后将矫正后的前后运动矢量输入至视频帧生成模型,视频帧生成模型基于矫正后的前后运动矢量和相邻前后两视频帧生成插值帧。
57.实施例中,基于神经网络构建矫正模型,具体过程为:
58.构建样本集,同样从视频渲染过程中获得帧率大于设定帧率阈值的视频帧序列,同时获得视频帧对应的前运动矢量和后运动矢量。然后以连续三个视频帧和对应的运动矢量作为一个样本,其中,中间视频帧的真实前后运动矢量为标签帧,剩下两个视频帧和通过前后视频帧的运动矢量插值得到的计算前后运动矢量作为输入数据;
59.优化卷积神经网络模型参数,将每个样本作为卷积神经网络的输入,利用样本对卷积神经网络进行训练以优化网络参数,训练结束后,确定的网络参数与卷积神经网络结构组成矫正模型。
60.s103,将视频帧和插值帧按照时间序列排序合成最终渲染视频。
61.在获得视频帧和插值帧后,将视频帧和插值帧按照时间序列集合成渲染视频。
62.实施例1提供的基于深度学习的视频渲染方法,从视频渲染过程中直接获得视频帧和运动矢量,保证了运动矢量的真实性,同时对运动矢量进行矫正,进一步提升了运动矢量的准确性。还利用视频帧生成模型根据插值帧的运动矢量和相邻前后两视频帧生成插值帧,模型一次构建多次应用,大大降低了计算成本,同时深度学习的计算高效性和准确性也大大提升了插值帧的计算速度和计算精度,最后将视频帧和插值帧按照时间序列排序合成最终渲染视频,提升了整体视频渲染的效率。
63.实施例2
64.图4是本发明一实施例提供的基于深度学习的视频渲染装置的结构示意图。如图4所示,实施例提供的基于深度学习的视频渲染装置400包括:
65.获取模块401,用于从视频渲染过程中获得视频帧和对应的运动矢量,所述运动矢量包括当前视频帧相对前一帧的前运动矢量和相对后一帧的后运动矢量;
66.插值帧生成模块402,用于利用基于可变形卷积神经网络构建的视频帧生成模型基于输入的插值帧的运动矢量和相邻前后两视频帧生成插值帧;
67.合成模块403,用于将视频帧和插值帧按照时间序列排序合成最终渲染视频。
68.在一种实施方式中,如图5所示,装置400还包括:
69.插值帧的运动矢量计算模块501,用于对对前视频帧的后运动矢量做插值运算,得到插值帧的前运动矢量;还用于对后视频帧的前运动矢量做插值运算,得到插值帧的后运动矢量。
70.在另外一种实施方式中,如图6所示,装置400还包括:
71.运动矢量矫正模块601,利用基于卷积神经网络构建的矫正模型对插值帧的运动矢量进行矫正,得到矫正后的运动矢量。
72.需要说明的是,实施例2提供的基于深度学习的视频渲染装置在进行视频帧插值渲染时,应以上述各功能模块的划分进行举例说明,可以根据需要将上述功能分配由不同的功能模块完成,即在终端或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,实施例2提供的基于深度学习的视频渲染装置与基于深度学习的视频渲染方法实施例属于同一构思,其具体实现过程详见基于深度学习的视频渲染方法实施例,这里不再赘述。
73.实施例2提供的基于深度学习的视频渲染装置,从视频渲染过程中直接获得视频帧和运动矢量,保证了运动矢量的真实性,同时对运动矢量进行矫正,进一步提升了运动矢量的准确性。还利用视频帧生成模型根据插值帧的运动矢量和相邻前后两视频帧生成插值帧,模型一次构建多次应用,大大降低了计算成本,同时深度学习的计算高效性和准确性也大大提升了插值帧的计算速度和计算精度,最后将视频帧和插值帧按照时间序列排序合成最终渲染视频,提升了整体视频渲染的效率。
74.实施例3
75.实施例3提供了计算机设备,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计
算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种图像展示方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
76.在一个实施方式中,提供了一种计算机设备,包括存储器、处理器以及存储在机存储器中并可在处理器上执行的计算机程序,存储器中存储有视频帧生成模型和矫正模型,处理器执行计算机程序时实现权利实施例1所述的基于深度学习的视频渲染方法的步骤,即实现如下步骤:
77.从视频渲染过程中获得视频帧和对应的运动矢量,所述运动矢量包括当前视频帧相对前一帧的前运动矢量和相对后一帧的后运动矢量;利用基于可变形卷积神经网络构建的视频帧生成模型基于输入的插值帧的运动矢量和相邻前后两视频帧生成插值帧;将视频帧和插值帧按照时间序列排序合成最终渲染视频。
78.在一个实施方式中,处理器执行计算机程序时还实现如下步骤:
79.对前视频帧的后运动矢量做插值运算,得到插值帧的运动矢量;根据前视频帧的运动矢量和后视频帧的运动矢量,得到插值帧的前运动矢量和后运动矢量。
80.在一个实施方式中,处理器执行计算机程序时还实现如下步骤:利用基于卷积神经网络构建的矫正模型对插值帧的运动矢量进行矫正,得到矫正后的运动矢量;所述视频帧生成模型基于矫正后的运动矢量和相邻前后两视频帧生成插值帧。
81.实施例4
82.实施例4还提供了一种计算机可读存储介质,例如包括至少一条指令的存储器,上述至少一条指令可由终端中的处理器执行以完成实施例1中基于深度学习的视频渲染方法的步骤。
83.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
84.以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范
围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1