欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 用于视频帧内插的基于CNN的系统和方法独创技术35447字

用于视频帧内插的基于CNN的系统和方法

2021-04-02 06:33:30

用于视频帧内插的基于CNN的系统和方法

  技术领域

  本公开的实施例涉及用于视频处理的系统和方法,并且更具体地涉及用于视频帧内插的基于CNN的系统和方法。

  背景技术

  在视频帧内插(VFI)中,中间非现有(non-existing)帧是根据原始输入帧合成的。要求VFI的经典应用是帧率上转换,其用于处理LED/LC显示器中的如显示运动模糊和抖动之类的问题。其他应用包括视频编码和流传输中的帧恢复、慢动作效果和新颖的视图合成。

  包括精心手工设计的模块的VFI常规方法通常包括以下步骤:双向运动估计、运动内插和遮挡推理以及运动-补偿帧内插(MC-FI)。由于上述任何组成部分的质量不足,因此这样的方法易于出现各种伪像,比如光晕、重影和破裂。

  在过去的几年中,深度学习(特别是卷积神经网络(CNN))已成为用于许多图像处理和计算机视觉任务的领先方法。VFI处理可以得益于这些尖端技术的使用,比如用一个或多个预训练的CNN替代VFI算法流程中的一些步骤。

  发明内容

  本公开的示例性实施例涉及用于根据给定视频中的输入帧对合成中间非现有帧的系统和方法。与用于VFI的常规方法相反,本公开的实施例集中于设计基于CNN的框架,该基于CNN的框架保留了简单的手工制作的模块,并且通过已对大量示例进行了预训练的CNN替代更复杂的组成部分。根据本公开的实施例的方法可以减少光晕、重影和破裂伪像的等级,光晕、重影和破裂伪像是常规解决方案的典型特征。此外,通过选择常规的组成部分和基于CNN的组成部分的良好平衡的混合,可以在从GPU至神经处理器到专用硬件的各种平台上有效地实施根据本公开的实施例的方法。

  根据本公开的实施例,提供了一种使用卷积神经网络(CNN)根据给定视频中的输入帧对合成中间非现有帧的系统,所述系统包括:粗糙卷积神经网络(CNN),接收在连续时间点获取的一对图像,其中该对图像包括前一图像和下一图像;配准模块,连接到粗糙CNN;细化CNN,连接到配准模块和粗糙CNN;加法器,连接到细化CNN和粗糙CNN;以及运动-补偿帧内插(MC-FI)模块,连接到加法器和粗糙CNN。粗糙CNN根据前一图像和下一图像输出前一特征图和下一特征图,根据一对图像输出粗糙内插运动矢量场(IMVF)和遮挡图,配准模块使用粗糙IMVF将前一特征图和下一特征图扭曲为与粗糙IMVF的像素位置对准,并且输出配准的前一特征图和配准的下一特征图,细化CNN使用配准的前一特征图和配准的下一特征图来校正所述粗糙IMVF,并且加法器将粗糙IMVF与对所述粗糙IMVF的校正相加并输出最终IMVF。

  根据本公开的又一实施例,运动-补偿帧内插(MC-FI)模块通过使用最终IMVF扭曲前一图像和下一图像并使用来自遮挡图的遮挡权重对扭曲的前一图像和扭曲的下一图像进行加权混合,来生成与前一图像和下一图像的时间点之间的时间相对应的内插帧。

  根据本公开的又一实施例,粗糙CNN以多个分辨率等级接收该对图像。粗糙CNN包括:特征提取子网络,在每个分辨率等级下生成与一对图像相对应的一对特征图;编码器-解码器子网络,将每个分辨率等级下的一对特征图级联成单个特征图,并对单个特征图进行处理以产生具有减少的空间分辨率的新的单个特征图;融合子网络,通过对每个分辨率等级的新的单个特征图执行加权平均将每个分辨率等级下的新的单个特征图合并为单个合并的特征图,其中用于所述加权平均的权重是在训练阶段中学习的且针对每个像素而不同;以及估计子网络,输出粗糙IMVF的水平分量和垂直分量以及遮挡图。特征提取子网络包括连体层。

  根据本公开的又一实施例,估计子网络包括水平子模块、垂直子模块和遮挡图子模块,其中每个子模块接收从融合子网络输出的单个合并的特征图。水平子模块和垂直子模块分别输出水平概率图和垂直概率图,每个概率图中每个像素有S个概率值。每个概率值表示运动矢量是针对该像素的S个位移值中的一个位移值的概率。水平子模块和垂直子模块分别计算针对每个像素的概率值的一阶矩,以确定针对每个像素的期望的水平分量和垂直分量,其中由针对每个像素的期望的水平分量和垂直分量构成的对包括对粗糙IMVF的校正。

  根据本公开的又一实施例,遮挡图子模块输出遮挡图,遮挡图包括用于在前一图像与下一图像之间执行加权平均的每像素权重。

  根据本公开的又一实施例,细化CNN包括:编码器-解码器子网络,将配准的前一特征图与配准的下一特征图级联,并且输出新的特征图集合,新的特征图集合具有相对于前一图像和下一图像的全分辨率被大小调整的空间分辨率;以及估计子网络,针对配准的下一特征图和配准的前一特征图中的每个块估计对粗糙IMVF的水平分量和垂直分量的校正以输出校正的IMVF。

  根据本公开的又一实施例,估计子网络包括水平子模块和垂直子模块。水平子模块和垂直子模块分别输出水平概率图和垂直概率图,其中每个概率图中每个像素有S个概率值,其中每个概率值表示运动矢量是针对该像素的S个位移值中的一个位移值的概率。水平子模块和垂直子模块分别计算针对每个像素的概率值的一阶矩,以确定针对每个像素的期望的水平分量和垂直分量,其中由针对每个像素的期望的水平分量和垂直分量构成的对包括对粗糙IMVF的校正。

  根据本公开的另一实施例,提供了一种使用卷积神经网络(CNN)根据给定视频中的输入帧对合成中间非现有帧的方法,包括:接收一对连续输入帧的金字塔表示,其中该对连续输入帧包括前一图像和下一图像,其中金字塔表示包括多对输入帧,每对输入帧处于不同的空间分辨率等级;从金字塔表示的每个分辨率等级生成一对特征图,并且根据每对特征图估计粗糙内插运动矢量场(IMVF)和遮挡图;通过将该对特征图中的每个特征图扭曲为与粗糙IMVF的像素位置对准来根据粗糙IMVF和遮挡图配准相同分辨率等级的特征图对,并且输出配准的前一特征图和配准的下一特征图;使用配准的前一特征图和配准的下一特征图来校正粗糙IMVF以生成对粗糙IMVF的校正;将对粗糙IMVF的校正与粗糙IMVF相加以生成细化的IMVF;以及根据该一对连续输入帧、细化的IMVF和遮挡图产生合成的中间帧。

  根据本公开的又一实施例,生成一对特征图包括:针对多对输入帧中的每一对输入帧在每个空间分辨率等级下生成一对特征图,其中每对特征图具有相对于一对输入帧的分辨率减少的空间分辨率;将每个分辨率等级下的特征图级联,并处理级联的特征图以生成新的特征图集合,新的特征图集合具有相对于一对连续输入帧的分辨率减少的空间分辨率;通过对针对每个分辨率等级的新的特征图集合执行加权平均来将针对所有空间分辨率等级的新的特征图集合合并为单个合并的特征图,其中用于所述加权平均的权重是在训练阶段中学习的并且针对每个像素而不同;以及针对单个合并的特征图中的每个块估计粗糙IMVF的水平分量和垂直分量以及遮挡图,其中遮挡图包括用于在前一图像与下一图像之间执行加权平均的每像素权重。

  根据本公开的又一实施例,估计粗糙IMVF的水平分量和垂直分量包括:生成水平概率图和垂直概率图,其中每个概率图中每个像素有S个概率值,其中每个概率值表示运动矢量是针对该像素的S个位移值中的一个位移值的概率,以及计算针对每个像素的概率值的一阶矩,以确定针对每个像素的期望的水平分量和垂直分量,其中由针对每个像素的期望的水平分量和垂直分量构成的对包括对粗糙IMVF的校正。

  根据本公开的又一实施例,粗糙IMVF包括从粗糙IMVF指向下一图像的水平移位和垂直移位的两个2D图,并且配准特征图对包括:使用这些移位的相反值将来自前一图像的特征扭曲到粗糙IMVF的位置,并且原样地使用水平移位和垂直移位将来自下一图像的输入特征扭曲到粗糙IMVF的所述位置。

  根据本公开的又一实施例,配准特征图对还包括:当配准的前一特征图具有遮挡区域时,用配准的下一特征图中的对应区域替代配准的前一特征图中的遮挡区域,以及当配准的下一特征图具有遮挡区域时,用配准的前一特征图中的对应区域替代配准的下一特征图中的遮挡区域。

  根据本公开的又一实施例,校正粗糙IMVF包括:将配准的前一特征图和配准的下一特征图的特征级联,并且处理级联的特征图以生成新的特征图集合,新的特征图集合具有相对于前一图像和下一图像的全分辨率被大小调整的空间分辨率;以及针对粗糙IMVF中的每个块估计对粗糙IMVF的水平分量和垂直分量的校正以生成对粗糙IMVF的校正。

  根据本公开的又一实施例,产生合成的中间帧包括:根据细化的IMVF扭曲一对连续输入帧;以及使用来自遮挡图的遮挡权重对扭曲的一对图像执行加权混合,以生成合成的中间帧。

  根据本公开的又一实施例,所述方法包括通过使用来自相邻块的估计对合成的中间帧中的内插像素执行加权平均,来从运动边界中去除块效应伪像。

  根据本公开的另一实施例,提供了一种计算机可读的非暂时性程序存储设备,有形地体现了由计算机执行以执行方法步骤的指令的程序,所述方法步骤用于使用卷积神经网络(CNN)根据给定视频中的输入帧对合成中间非现有帧。

  附图说明

  图1示出了根据本公开的实施例的一对连续输入帧。

  图2示出了根据本公开的实施例的具有复杂运动的一对连续输入帧。

  图3示出了根据本公开的实施例的具有3个金字塔等级的粗糙CNN的示例。

  图4示出了根据本公开的实施例的遮挡-感知配准模块。

  图5示出了根据本公开的实施例的细化CNN的示例。

  图6示出了根据本公开的实施例的用于VFI的基于CNN的框架的概览。

  图7示出了根据本公开的实施例的对来自图1的一对帧应用分层粗糙CNN和MC-FI模块的结果。

  图8示出了根据本公开的实施例的对来自图2的一对帧应用粗糙CNN和细化CNN的结果。

  图9示出了根据本公开的实施例的对来自图2的一对帧执行基于CNN的VFI解决方案的结果。

  图10是根据本公开的实施例的实现用于使用CNN根据给定视频中的输入帧对合成中间非现有帧的方法的系统的框图。

  具体实施方式

  如本文中所描述的本公开的示例性实施例总体上提供了用于使用CNN根据给定视频中的输入帧对合成中间非现有帧的系统和方法。尽管实施例易于变为各种修改案和备选形式,但是其具体实施例在附图中通过示例的方式示出并将在本文中进行详细描述。然而,应该理解的是,这并非旨在将本公开限制为所公开的特定形式,相反,本公开应涵盖落入本公开的精神和范围内的所有修改案、等同物和备选案。

  图1描绘了一对连续输入帧,其中前一帧在顶部,并且下一帧在底部。在此示例中,背景保持静止,而左手和上半身的其余部分各自以不同的运动矢量移动。

  基本假设

  根据本公开的实施例,假设一对连续输入帧之间的线性运动。具体来说,这意味着从所估计的中间帧中的每个像素位置到前一帧的运动等于从该位置到下一帧的运动。

  任务定义

  根据本公开的实施例的方法将根据一对的两个连续输入帧合成中间帧的任务分解为三个步骤:

  1)估计从合成帧中的每个像素位置到输入帧中的每个输入帧中的其对应位置的运动。来自所有此类像素位置的运动矢量的集合被视为内插运动矢量场(IMVF)。

  2)将合成帧中的每个像素位置分类为以下类别中的一个类别:“关闭”、“打开”或“非遮挡”。第一个类别意味着只能在前一输入帧中找到该像素位置,第二个类别意味着只能在下一帧中找到它,并且最后的类别意味着可以在前一帧和下一帧两者中找到它。这些分类类别的图(map)被视为遮挡图。

  3)根据遮挡图对输入帧进行运动补偿扭曲并对扭曲的输入进行加权混合,其充当混合过程的局部权重。

  用于VFI的基于CNN的框架

  根据本公开的实施例的系统包括两个CNN和两个常规模块以处理配准和运动-补偿帧内插(MC-FI)。首先,根据实施例的粗糙CNN针对输出的内插帧中的每个K×K块估计粗糙IMVF和遮挡图。配准模块使用这些估计来创建配准的特征图,配准的特征图充当根据实施例的对IMVF进行细化的第二CNN的输入。将细化的IMVF和遮挡图输入到产生内插中间帧的MC-FI模块中。

  根据实施例的两个CNN中的每个CNN扮演不同的角色。根据实施例的粗糙CNN可以捕获场景中的最主要的运动,最主要的运动通常是全局运动和一组简单的刚性局部运动的组合。粗糙CNN还可以发现主要在运动边界上的遮挡区域。使用针对IMVF和遮挡图的粗糙CNN的估计,对从这些帧中提取的输入特征进行扭曲。在该扭曲之后,可能仍余留误差和残余运动。根据实施例的第二细化CNN对扭曲的输入特征进行操作,并且可以校正误差并捕获次级运动。

  根据实施例,将IMVF估计拆分为两个步骤对于具有复杂运动的场景是有用的。具有复杂运动的一对输入帧的示例如图2中所示,其中前一帧在顶部,并且下一帧在底部。最靠近相机的汽车正在向右移动,它的车轮也在旋转,而距相机较远的另一汽车正在沿不同的方向移动。根据实施例的粗糙CNN可以捕获相机运动以及最靠近相机的汽车的局部运动。然而,同时精确地捕获旋转的车轮的运动具有挑战性。在这种情况下,根据实施例的细化CNN发挥了作用。

  根据实施例,用于构造两个CNN的基本构建块包括卷积、平均池化、双线性上采样、级联和soft-max层;所有的这些都是深度学习领域中的常见做法。使用这些构建块,可以设计以下类型的子网络:

  1、特征提取;

  2、编码器-解码器;

  3、特征融合;以及

  4、估计。

  每个子网络均由特定层构成,这些层包括以下类型:

  (i)卷积;

  (ii)平均池化;

  (iii)级联;

  (iv)双线性上采样;

  (v)SoftMax;以及

  (vi)质心。

  前五种类型是深度学习领域中非常常见的做法。请注意,未在其后跟随SoftMax层的每个卷积层都包括非线性(通常是修正线性)单元激活。最后一种类型是线性运算,在其中计算给定分布的一阶矩。根据实施例的两个CNN由这些类型的子网络中的一些或全部组成。神经网络中的每个卷积层都具有其自己参数集合。神经网络中的卷积层的参数包括权重和偏差。在卷积层中,权重与3D卷积核的系数相对应,并且偏差是添加到3D卷积运算的结果的偏移集合。例如,如果卷积层使用3×3过滤器支持大小,则考虑像素和该像素周围的3×3像素网格。将这些像素中的每个像素与权重值相乘,然后将所有的这些权重相加。然后添加偏差并产生一个输出特征的值。针对所有像素位置和所有输出通道重复此操作,其中可以针对每个输出通道应用不同的3×3过滤器和偏差。当训练CNN时学习卷积层的权重和偏差。为了学习每个CNN的参数,将CNN与给定的MC-FI模块一起训练,从而生成输出帧。这允许使用帧三元组的数据集以端对端的方式训练CNN,其中在每个三元组中,中间帧充当根据其他两个帧进行帧合成的基准真相(ground truth)。具体来说,这意味着可以通过对视频进行子采样来轻松获得VFI的基准真相。

  粗糙CNN

  根据实施例的分层粗糙CNN以若干种分辨率接收一对输入帧,例如:等级0-全分辨率,等级1-减少到1/2,等级2-减少到1/4,依此类推。有关图像金字塔的说明,请参见图3。为了针对每个输入帧生成图像金字塔,以每个轴1/2(对于等级1)和1/4(对于等级2)使用标准图像大小调整操作。这些大小调整操作基于双线性或双三次内插。每个输入都经过具有相同层参数集合的相同层对。这样的层对通常被称为连体层。连体层产生每个输入的特征图集合,从而每个像素输出N个值,每个轴的像素数量相对于输入分辨率减少到1/M。N的示例性非限制性值为N=25。与网络的其余部分一样,在这种情况下可以学习权重和偏差。从CNN的连体层中提取出的低等级特征通常包括对图像边缘和颜色表示的强烈响应。

  根据实施例,当从输入移动到输出时,对编码器-解码器子网络进行训练用于以增加的高等级上下文提取特征。编码器-解码器的输出是3D图像,其中该图像中的每个空间条目都是高维表示。在两个输入帧中从相同金字塔等级获取的每对特征图都由编码器-解码器子网络层进行级联和处理,从而得到新的特征图集合,其空间分辨率相对于全分辨率减少到1/L。级联意味着将来自第二输入帧的N个特征通道附加到第一输入帧的N个特征通道,产出总共2N个特征通道。将2N个特征通道作为输入传递到编码器-解码器层,从而产出每个像素J个值(通道)的输出,并且每个轴的像素数量相对于输入图像减少到1/L。例如,在一些实施例中,J=2N。编码器-解码器子网络执行的处理是卷积、平均池化和上采样层的深度级联。每个卷积层还跟随有非线性单元,比如修正线性单元。结合在一起,根据实施例的该子网络学习如何随着处理从输入移动到输出而以增加的高等级上下文来提取特征。编码器-解码器的输出是3D图像,其中该图像中的每个空间条目都是高维特征矢量。

  然后,根据实施例,使用融合子网络以本地自适应方式将所有解码器的输出合并为粗糙IMVF。根据实施例,存在三个编码器-解码器子模块,其中一个编码器-解码器子模块用于一个等级的分辨率,并且每个编码器-解码器子模块产出具有相同大小的输出:W/L×H/L×2N,其中W和H是输入帧以像素为单位的宽度和高度。融合子模块获取这三个输出,并通过对三个输入执行加权平均将这三个输出组合为单个输出。该平均的权重在对它们进行学习的意义上是自适应的,并且在它们对于每个像素都不同的意义上是局部的。

  根据实施例,L和M的非限制性值为L=8和M=4。这些值是网络的架构的基本属性,并且由CNN内的改变空间分辨率的层的数量和结构设置。

  根据实施例,将合并的解码器输出输入到估计子网络层中,估计子网络层针对输出图像中的每个K×K块估计粗糙IMVF的水平分量和垂直分量以及遮挡图。例如,在一些实施例中,K=L。粗糙估计层包括三个子模块:水平粗糙IMVF子模块、垂直粗糙IMVF子模块和遮挡图子模块,并且每个子模块接收融合子网络的输出。水平粗糙IMVF子模块和垂直粗糙IMVF子模块各自输出类似的结构:大小为W/L×H/L×S的粗糙水平概率图和粗糙垂直概率图,即概率图中针对每个像素有S个值。每个像素的S个概率中的每个概率表示运动分量成为S个位移值中的一个位移值的概率,例如对于S=25,位移可以为-96、-88、...0、...88、96(以像素单位)。例如,在一些实施例中,S=N。然后,针对每个像素计算该分布的一阶矩(质心),以确定每个像素的水平分量和垂直分量。每个像素的水平分量和垂直分量的期望值对是IMVF。

  根据实施例,针对水平/垂直运动分量中的每一个的估计路径包括卷积层、soft-max层和质心层的浅级联。卷积层对合并的解码器输出的输出进行处理,使得它将与在进行中的特定估计任务相匹配。soft-max层将最后一个卷积层的输出转换为归一化的离散概率矢量,其中每个空间位置都具有一个概率矢量。运动估计路径中的每个运动估计路径使用S个类,每个类对应于特定的运动值。质心层计算每个概率分布的一阶矩,然后将概率矢量转换为预期的运动值。

  根据实施例,当创建新的中间帧时,根据IMVF分别配准前一帧和下一帧,之后将它们组合为单个帧。这是使用遮挡图完成的,遮挡图包括每像素权重,用于在前一帧与下一帧之间执行加权平均。通过单独的估计路径来计算每个像素的遮挡权重。类似于运动估计路径,对合并的解码器输出应用卷积层和soft-max层的浅级联。在该估计路径中,存在两类-“覆盖”和“未覆盖”。遮挡权重是通过获取第一类的概率来计算的。当遮挡图的值为0.5时,来自前一帧和下一帧的像素将以相等的权重进行平均。当遮挡图的值为1时,仅使用前一帧像素,而当遮挡图的值为0时,仅使用下一个帧像素。在遮挡的情况下使用0和1的这些值。例如,如果球在两个帧之间移动,则现在可以看到前一帧中球后面的像素,并且在执行内插时,仅使用来自下一图像的像素中的一些像素(现在已曝光的新像素)以及来自前一帧的像素中的一些像素(下一帧中前进的球所隐藏的像素)。遮挡图由类似于IMVF子模块的子模块确定,但不是每个像素获得S个通道,而是仅输出两个通道,其中遮挡图是其中一个通道。

  具有3个金字塔等级的粗糙CNN的示例如图3中所示。现在参考图3,在左侧示出了以三种分辨率给出的两个连续输入帧。三种分辨率分别由等级0、等级1和等级2指示。注意,分辨率等级的这种数量是示例性而非限制性的,并且在其他实施例中可以存在更多或更少个分辨率等级。将每对输入帧输入到特征提取子网络31的连体层中,连体层针对每对输入帧输出一对特征图。将连体层输出的一对特征图输入到编码器-解码器子网络32,编码器-解码器子网络32输出处理后的特征图,处理后的特征图被提供给特征融合子网络33。特征融合子网络33对编码器-解码器子网络32的输出进行合并,以产生粗糙IMVF和遮挡图34。估计的IMVF(覆盖在输出图像上)和遮挡图显示在右侧。

  遮挡-感知配准

  根据实施例,配准模块接收由给定金字塔等级的连体子网络的卷积层提取出的一对输入特征图。使用从特征融合子网络输出的粗糙IMVF,配准模块将这些特征图中的每个特征图扭曲为与输出帧的像素位置对准,并且产出配准的前一特征图和配准的下一特征图。

  根据实施例,IMVF包括从输出帧指向下一帧的水平移位和垂直移位的两个2D图。在配准模块中,这些移位用于生成两个版本的扭曲输入特征:

  (1)这些移位的相反值用于将来自前一帧的输入特征扭曲到输出帧的位置。

  (2)这些移位原样地用于将来自下一帧的输入特征扭曲到输出帧的位置。

  图4示出了根据实施例的遮挡-感知配准模块的示例性流程。由于遮挡,仅能根据输入帧中的一个输入帧合成输出帧中的一些区域。这意味着在扭曲的特征图中,存在具有非常低的置信度的区域。为了处理这些区域,根据实施例,可以应用以下遮挡-感知补偿。参考图4的顶行,用这些位置42b处的下一帧的扭曲特征替代前一帧42a的扭曲特征图中的遮挡区域(白洞)以产出输出帧43a,并且参考图4的底行,用这些位置42a处的前一帧的扭曲特征替代下一帧42b的扭曲特征图中的遮挡区域以产出输出帧43b。在该补偿之后,配准的前一特征图和下一特征图将在遮挡的像素位置重合,从而在这些位置没有进一步的运动细化空间。

  细化CNN

  图5中示出了根据实施例的细化CNN的示例,细化CNN从图像金字塔的一个等级接收配准的特征图。细化CNN使用两个粗糙配准的输入特征作为输入,将它们级联,然后类似于粗糙CNN那样对它们进行处理。类似于粗糙CNN,根据实施例的细化CNN包括水平子模块和垂直子模块。参考图5,细化CNN接收由配准模块产生的一对配准的特征图。类似于粗糙CNN,这些特征由编码器-解码器子网络51级联和处理,从而产生新的特征图集合,其中空间分辨率相对于全分辨率减少到1/Q。Q的示例性非限制性值为Q=4。然后将解码器输出和粗糙IMVF提供给估计子网络层52,估计子网络层52针对输出图像中的每个P×P块估计对粗糙IMVF的水平分量和垂直分量的校正,以输出细化的IMVF。例如,在一些实施例中,P=Q。根据实施例的细化后的CNN使用粗糙配准的输入帧而不是直接从粗糙IMVF产出IMVF校正。然后,将IMVF校正与粗糙IMVF的大小调整的版本相加,以创建最终的细化的IMVF。大小调整操作将由粗糙CNN和细化CNN估计的输出对准到相同的分辨率。在K=8、L=8、P=4和Q=4的示例中,使用在每个轴上以系数2进行的向上缩放操作。

  MC-FI模块

  根据实施例的MC-FI模块使用两个全分辨率输入帧,细化的IMVF和遮挡图在给定的时间戳创建新的内插帧。根据实施例,类似于配准模块如何扭曲这些特征图的每个特征图,MC-FI模块使用IMVF根据输入帧生成输出帧,其中遮挡权重用于混合两个输入帧。类似于根据实施例的配准模块的第一步,MC-FI模块首先根据IMVF扭曲输入帧。然后,MC-FI模块使用遮挡权重对扭曲的图像执行加权混合。由于IMVF和遮挡权重是针对输出图像中的每个K×K块估计的,因此MC-FI模块包括解块机制,解块机制去除来自运动边界的块效应(blockiness)伪像。更具体地,MC-FI模块对使用来自相邻块的估计获得的内插像素执行加权平均。

  算法流程

  图6中示出了用于VFI的根据实施例的基于CNN的框架的流程。参考附图,根据实施例,整个算法流程包括:

  1、接收一对连续输入帧;

  2、根据这些帧生成金字塔表示;

  3、将图像金字塔对提供给第一分层粗糙CNN 61,第一分层粗糙CNN 61针对每对图像金字塔输出一对特征图,并且估计粗糙IMVF和遮挡图;

  4、由配准模块62根据由粗糙CNN 61估计的IMVF和遮挡图来配准由粗糙CNN 61生成的特征图对;

  5、将粗糙IMVF和配准的特征图对提供给第二细化CNN 63,第二细化CNN 63估计对粗糙IMVF的校正;

  6、由加法器64将对粗糙IMVF的校正与粗糙IMVF的向上缩放版本相加以创建最终IMVF;以及

  7、将原始输入帧对以及最终IMVF和估计的遮挡图提供给产生合成的中间帧的MC-FI模块65。

  注意:(1)粗糙CNN可以从图像金字塔接收一个或多个等级;并且(2)如果优先考虑快速推理而不是高精度,则可以绕过配准模块和细化CNN。

  效果

  根据实施例的方法可以将深度学习模块并入到VFI框架中,以替代常规手工设计的组成部分中的一些或全部。预训练的神经网络可以:

  1、更精确地估计遮挡的区域和复杂运动;以及

  2、对突然的亮度变化更鲁棒。

  这些功能可以提高帧内插质量,从而有效地减少通常在标准VFI方法中观察到的光晕、重影和破裂伪像的等级。

  另外,根据实施例的方法可以从示例中学习以执行以下任务:

  1、直接从深度特征空间估计IMVF,而不是计算前向和后向MVF,然后将它们内插到期望的输出网格。

  2、直接从深层特征空间估计遮挡图,而不是通过前向和后向MVF的手工设计的分析来估计遮挡图。

  根据实施例的方法可以在VFI解决方案中在使用预训练的神经网络与常规手工设计的模块之间进行平衡。两种类型的组成部分之间的良好平衡以及神经网络架构的精心设计可以促进在诸如GPU、神经处理器和专用硬件之类的平台上高效实现高质量VFI。

  本公开的实施例可以用于依赖于VFI的各种应用:

  1、用于减少LED/LCD显示器中的显示运动模糊和抖动的帧率上转换;

  2、视频编码和流传输中的帧恢复;

  3、提高视频电话会议中的帧率;

  4、慢动作效果;以及

  5、合成新颖的视图。

  在如(3)和(4)这样的场景中,运动和遮挡可能太复杂,并且图像质量要求对于常规的VFI方法进行处理可能太严格。根据实施例的使用基于CNN的技术的系统可以更好地应对这些场景中面临的挑战。

  示例

  图7至图9示出了根据本公开的实施例的通过用于VFI的基于CNN的解决方案获得的结果。

  图7描绘了当应用于图1中所示的一对输入帧时,由根据实施例的分层粗糙CNN和MC-FI模块产生的输出,包括估计的IMVF和遮挡图。它还示出了MC-FI模块使用这些估计合成的中间帧。顶行从左到右示出:IMVF的估计的水平分量和垂直分量以及估计的遮挡图。底行从左到右示出:覆盖在合成帧上的估计的IMVF以及覆盖在合成帧上的估计的遮挡图。注意,区域72描绘了“关闭”遮挡类型,并且其余像素位置未遮挡。

  接下来示出图2中所示的具有复杂运动的一堆输入帧的结果。图8描绘了由粗糙CNN获得的粗糙IMVF,粗糙CNN仅使用图像金字塔的最精细等级(全分辨率)以及由细化CNN产生的IMVF的估计校正。顶行从左到右示出:IMVF的水平分量和垂直分量,这些分量由仅使用图像金字塔的最精细等级(全分辨率)的粗糙CNN估计。底行从左到右示出:ΔIMVF的水平分量和垂直分量,这些分量由细化CNN估计。可以看出,第二CNN在前车的IMVF中检测到误差,并且还恢复了该车的车轮的次级运动。

  图9示出了对来自图2的一对帧执行用于VFI的基于CNN的解决方案的结果,并且显示了通过建议的框架的两个可能选择合成的中间帧:(i)粗糙CNN+MC-FI;以及(ii)粗糙CNN+配准+细化CNN+MC-FI(整个管线)。顶行示出了由VFI解决方案(包括粗糙CNN+MC-FI)生成的合成帧。底行示出了根据实施例的由VFI解决方案的整个管线(粗糙CNN+配准+细化CNN+MC-FI)生成的合成帧。当比较这两个框架的结果时,很容易观察到通过使用完整的管线实现的质量改进:文本看起来更清晰,汽车零件的边界更锐化,并且车轮的细节等级也得到了提高。

  系统实施方式

  应当理解的是,可以以硬件、软件、固件、专用处理或它们的组合的各种形式来实现本公开的实施例。在一些实施例中,本公开可以以硬件的形式被实现为专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在其他实施例中,本公开可以以软件的形式被实现为有形地体现在计算机可读程序存储设备上的应用程序。应用程序可以上传到包括任何合适架构的机器并由其执行。

  图10是根据本公开的实施例的系统的框图,该系统实现用于使用CNN根据给定视频中的输入帧对合成中间非现有帧的方法。现在参考图10,用于实现本发明的计算机系统101尤其可以包括处理器102、存储器103和输入/输出(I/O)接口104。计算机系统101通常通过I/O接口104耦合到显示器105和各种输入设备106(比如鼠标和键盘)。支持电路可以包括诸如高速缓冲存储器、电源、时钟电路和通信总线之类的电路。处理器102可以是图形处理单元(GPU)、神经处理器或专用硬件(HW)。GPU和神经处理器适合于运行深度神经网络,而根据实施例,GPU和专用HW是配准和MC-FI模块的良好匹配。存储器103可以包括随机存取存储器(RAM)、只读存储器(ROM)、磁盘驱动器、磁带驱动器等、或者它们的组合。本公开可以被实现为例程107,例程107存储在存储器103中并由处理器102执行。这样,计算机系统101是通用计算机系统,当执行本发明的例程107时,该通用计算机系统成为专用计算机系统。备选地,如上所述,本公开的实施例可以被实现为与处理器102进行信号通信的ASIC或FPGA107。

  计算机系统101还包括操作系统和微指令代码。本文中所述的各种处理和功能可以是微指令代码的一部分,或者是通过操作系统执行的应用程序(或其组合)的一部分。此外,各种其他外围设备可以连接到计算机平台,比如附加数据存储设备和打印设备。

  还应理解的是,因为在附图中描绘的构成系统组件和方法步骤中的一些可以以软件形式实现,因此系统组件(或者,处理步骤)之间的实际连接可以根据本发明的编程方式而不同。给定本文中提供的本发明的教导,相关领域的普通技术人员将能够考虑本发明的这些以及类似的实施方式或配置。

  尽管已参考示例性实施例详细描述了本发明,但是本领域技术人员将理解的是,在不脱离所附权利要求书中阐述的本发明的精神和范围的情况下,可以对其进行各种修改和替换。

《用于视频帧内插的基于CNN的系统和方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)