本发明涉及视频增强领域,具体涉及一种基于卷积神经网络的多重帧插值方法。
背景技术:
视频帧插值是图像视频处理领域中的一个重要问题,在许多应用中扮演重要角色,例如,帧率提升,电影制作,慢动作视频,视频编码压缩等等。帧插值属于图像合成的一个分支,典型的帧插值方法是基于光流的图像合成方法。首先估计出光流或者光流的变体形式,从而对物体运动进行建模,然后对输入图像进行扭曲变换和合成,得到新的视频帧。
传统的光流估计方法往往通过目标函数最优化的方法,在输入的两帧图像上寻找相同像素点的精确匹配,匹配像素点之间的距离就是该点的光流。由于这种方法需要在所有像素点上,对目标函数作全局最优化,计算复杂度很高,而且难以并行化计算。尽管过去的二十年中,光流法得到的长足的发展,但是在光照变化以及大运动场景下,挑战依然存在。
与显示寻找像素点匹配不同,一些基于相位的方法隐式地对运动进行建模,将物体的运动表现在单个点的像素值变化。这一类方法又被称为“欧拉方法”(参见论文s.meyer,o.wang,h.zimmer,etal.,“phase-basedframeinterpolationforvideo,”inproceedingofcvpr,1410-1418,2015)。基于相位的方法往往对与处理光照变化问题表现很好。然而,相位法由于其有限的相位变化方法,对于大运动的处理表现较差。
随着深度学习技术的发展,基于神经网络的光流估计方法的精度越来越高,同时具备较低的计算复杂度。基于神经网络的光流法分为有监督和无监督两类。前者需要大量人工标注的标签,后者只需要收集普通的视频序列,无需人工标注。无监督的光流估计实际上是将光流估计作为一个中间步骤,然后合成中间帧图像。从图像合成的角度看,这种无监督的光流估计方法同时包含光流计算和图像合成,为帧插值问题提供了一个端到端的解决方案(参见论文z.liu,r.a.yeh,x.tang,etal.,“videoframesynthesisusingdeepvoxelflow.,”inproceedingoficcv,4473-4481,2017)。
然而,现有的基于神经网络的帧插值算法基于三元组(三个连续帧)训练,在一次前向计算中,只输出一个中间帧。考虑两个输入帧之间的连续区间,可以对多个连续中间帧统一建模,从而加强时域一致性,提高精度。另外,引入相位特征也可以处理较大亮度变化的场景。
技术实现要素:
本发明提供了一种基于卷积神经网络的多重帧插值方法,可以同时输出多个连续的中间帧,而且引入相位特征,可以处理光照变化较大的场景。
本发明的技术方案为:
一种基于卷积神经网络的多重帧插值方法,包括以下步骤:
(1)收集连续的视频帧,截取连续n帧为一个训练样本组成训练集,其中,训练样本中的首帧和尾帧作为输入,剩下中间帧作为起监督作用的输出,n为大于等于5的自然数;
(2)对训练样本进行水平直翻转、旋转、随机截取方形区域、时域重采样以及图像全局亮度线性调整处理,以实现对训练集的数据增强;
(3)构建深度卷积神经网络,包括用于提取尾帧相对于首帧的相位差的相位子网络,用于提取尾帧相对于首帧的运动特征的编码子网络,用于根据相位差和运动特征生成光流场图的多端解码网络,以及对多端解码网络的输出与首帧和尾帧进行融合输出插值图像的合成子网络;
(4)根据深度卷积神经网络的预测输出的插值图像与训练样本中的中间帧的差异设计损失函数;
(5)利用步骤(1)和步骤(2)获得的训练样本对所述深度卷积神经网络进行训练,当网络参数确定时获得多重帧插值模型;
(6)应用时,输入连续的两帧图像至多重帧插值模型,经计算输出两帧图像之间的插值帧图像。
本发明的有益新效果表现为:
本发明通过对多重中间帧的时域关系显式建模,在一次前向计算中,同时输出多帧插值结果。通过相位子网络提取相位特征,结合子编码网络提取的运动特征,增加了运动表示能力。合成子网络进一步提升了插值结果的图像质量。
本发明考虑光照变化的问题,并且能够同时输出多帧插值,更加高效地实现了时域一致性强的插值结果,而且适应特殊光照条件的场景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1为本发明提供的基于卷积神经网络的多重帧插值方法的流程图;
图2为本发明提供的深度卷积神经网络的结构示意图;
图3为本发明提供的相位子网络的结构示意图;
图4为middlebury数据集上,不同亮度调整下的图像质量对比;
图5为实际光照变化场景下的主观质量对比;
图6为ucf101数据集上的主观质量对比;
图7为动画场景sintel序列不同运动强度下客观性能对比;
图8为随机选取的场景下多帧插值结果的主观对比。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
如图1所示,本发明提供的基于卷积神经网络的多重帧插值方法包括以下步骤:
s101,收集连续的视频帧,构建训练样本集。
为了满足图像内物体的运动近似线性的条件,即相同时间间隔的物体运动,其位移相等,选择合适的样本,具体地,可以截取连续n帧为一个训练样本,其中,训练样本中的首帧和尾帧作为输入,剩下中间帧作为起监督作用的输出,n为大于等于5的自然数。
举例说明,可以截取连续5帧作为一个训练样本,该连续5帧组成一个五元组,其中首帧和尾帧作为输入,剩下的三个中间帧作为真实数据,用于监督深度卷积神经网络训练。
s102,对样本集进行数据增强。
为了增强训练样本的多样性,对训练样本进行水平直翻转、旋转、随机截取方形区域、时域重采样以及图像全局亮度线性调整处理,以实现对训练集的数据增强。
具体地,采用在线数据增强的方式对训练集的数据增强,包括:
以一定的概率(例如1/2)随机水平垂直翻转帧图像、随机90度旋转帧图像;
随机在每帧图像上截取方形小区域作为深度卷积神经网络的输入图像;
随机反置每个训练样本中连续n帧图像的顺序,以实现对训练样本的时域重采样,这样可以消除训练集在时空域上的分布偏差;
以小于0.3的概率(例如0.2)对每个训练样本进行线性亮度调整,针对需要进行线性亮度调整的训练样本,在一定范围内按照均匀分布选取两个调整率,应用于首帧、尾帧的亮度调整,在首帧和尾帧对应的调帧率之间按照均匀的线性比例选取调整率对相应的中间帧进行亮度调整。这样模拟了亮度的均匀变化。
例如对于连续5帧(首帧、第二帧、第三帧、第四帧以及尾帧)组成的训练样本,首帧的调整率为1/5,尾帧的调整率为1,则中间帧的调整率分别为2/5、3/5、4/5,利用这三个调整率分别对第二帧、第三帧、第四帧进行亮度调整。
s103,构建深度卷积神经网络。
如图2所示,构建的深度卷积神经网络包括用于提取尾帧相对于首帧的相位差的相位子网络a,用于提取尾帧相对于首帧的运动特征的编码子网络b,用于根据相位差和运动特征生成光流场图的多端解码网络c,以及对多端解码网络的输出与首帧和尾帧进行融合输出插值图像的合成子网络d。相位子网络a、编码子网络b以及多端解码网络c组成预测阶段,合成子网络d作为融合阶段。
其中,相位子网络主要用于提取相位特征,使深度卷积神经网络能够更好的处理亮度变化场景,如图3所示,相位子网络a包括:
特征提取模块,其包括若干个依次连接的卷积层、非线性层以及平均池化层,其输入为3通道数据,用于提取并输出尺寸为输入图像的1/4的特征图;
具体地,特征提取模块包含以卷积层、非线性层以及平均池化层为单个特征提取单元的多个特征提取单元,输入为相邻两帧(即首帧和尾帧)3通道rgb图像,首帧和尾帧通过若干卷积层、非线性层,得到特征图,然后进过一层平均池化层,将特征尺寸减小到1/4。
四层金字塔结构,其输入端与特征提取模块的输出连接,且下采样采用平均池化层,用于对特征图再进行特征提取;
本发明中,为了网络结构的一致性,金字塔结构的下采样采用平均池化层。
复数gabor滤波器,其作用于金字塔的每层,用于提取每层特征图的相位信息;
具体地,针对金字塔的每一层,使用复数gabor滤波器提取相位信息,复数gabor滤波器的公式如下:
其中,fω,θ=(ωcos(θ),ωsin(θ))为复数gabor滤波器中心频率,ω与θ分别为频率值和方向,参数σ和中心频率fω,θ决定了滤波器的空域窗大小,i表示虚数单位,x表示空域坐标向量,记滤波后的复数响应的相位为
相位差计算模块,根据复数gabor滤波器输出的首帧对应的相位信息和尾帧对应的相位信息,计算尾帧相对于首帧的相位差;
具体地,相位差计算模块中,根据公式(2)获得相位差:
其中,atan2{·}表示四象限反正切函数,
第一解码模块,其为以卷积层、非线性层以及双线性上采样层为单个尺度的四个尺度的网络,以金字塔四层上的相位差作为分别作为解码子模块四个尺度对应的输入,用于输出相位差特征图。
也就是,将四层相位差金字塔按照相同尺度与解码网络跳跃连接,这样可以将相位差金字塔每层上的相位差输入至解码网络中对应的卷积层上。
其中,编码子网络b主要用于提取输入图像的运动特征。由于物体运动信息体现在空间位置上的变化,编码子网络b通过将空间大小不断减小,通道数不断增加的方式对运动信息进行重新编码。
具体地,编码子网络为以卷积层、非线性层以及平均池化层为单个尺度的五个尺度的网络,其输入为6通道数据,用于提取输入图像的运动特征图。输入图像(首帧与尾帧)组成6通道数据输入至编码子网络中,经一个若干卷积层、非线性层的组合,以增加通道数,再通过一个平均池化层,以减小空间大小,依此重复,总共通过五个尺度(四次池化)的层叠。
其中,多端解码网络c主要用于根据相位差和运动特征生成光流场图的多端解码网络。
具体地,多端解码网络c包括:
第二解码模块,其结构与编码子网络结构对称,在相同尺寸下,采用跳跃连接(skipconnect)方式连接编码子网络和第二解码模块,用于对编码子网络输出的运动特征图进行前四个尺度的复原得到的运动特征图;
多端解码模块,其包含卷积层和非线性层,输入为相位子网络输出的相位差图和第二解码模块输出的运动特征图按照通道数排布形成的6通道数据,输出包括n个分支,第一个分支与最后一分支输出首帧和尾帧对应时刻的光流程图,剩下的中间分支输出中间时刻的光流场图、图像融合权重图以及光流场融合权重图。
多端解码模块主要负责最后一个尺度特征图的复原,对针对五个连续帧组成的样本,多端解码模块的输出共有5个分支,五个时刻分别为t=t0=0,t=t1=0.25,t=t2=0.5,t=t3=0.75,t=t4=1。每个分支都输出对应时刻的光流场图,并且在t1,t2,t3时刻将额外输出图像融合权重图和光流场融合权重图。这些输出在合成子网络d中均会被用到。
其中,合成子网络d主要用于对多重中间帧的运动显式建模,最后合成图像。具体地,合成子网络包括:
图像变换模块,用于针对每个中间时刻,根据光流场融合权重图和光流场图合成新光流场图,再根据光流场图、新光流场图以及图像融合权重图进行图像变换,生成2个候选帧;
具体地,利用公式(3)获得新光流场图:
其中,
利用公式(4)进行图像变换,生成2个候选帧:
其中,
其中,
对于首帧和尾帧,利用变换函数
对于中间时刻ti,利用公式(3)~(6)计算获得候选帧
合成模块,其包含卷积层和非线性层,针对每个中间时刻,其输入为图像变换模块输出的2个候选帧,输出的残差信号加回输入,得到中间时刻的插值图像。
根据公式(7)获得中间时刻的插值图像:
其中,
s104,设计损失函数。
具体地,根据深度卷积神经网络的预测输出的插值图像与训练样本中的中间帧的差异设计损失函数,损失函数loss为:
其中,
s105,训练深度卷积神经网络。
具体地,利用步骤(1)和步骤(2)获得的训练样本对所述深度卷积神经网络进行训练,当网络参数确定时获得多重帧插值模型。针对五元组的训练样本,以首帧和尾帧作为输入,以中间连续三帧作为输出的真实数据,端到端地训练网络,以获得多重帧插值模型。
s106,应用时,输入连续的两帧图像至多重帧插值模型,经计算输出两帧图像之间的插值帧图像。
总体而言,本发明通过对多重中间帧的时域关系显式建模,在一次前向计算中,同时输出多帧插值结果。通过相位子网络提取相位特征,结合编码网络提取的运动特征,增加了运动表示能力。合成子网络进一步提升了插值结果的图像质量。
图4-8给出了本发明的实验效果:评价指标有峰值信噪比(psnr),结构相似度(ssim),以及主观质量评估。对比的方法包括本发明方法(ours),慢动作级联网络(slomo)、分离卷积网络(sepconv)、深度体素流(dvf)、基于相位方法(phasebased)、相位网络(phasenet)、运动细节保留光流估计方法(mdp-flow2)。
图4-8为本发明在不同的数据集上与其他先进方法的对比。如图4所示,在middlebury数据集上,本发明在多个亮度调整率下都优于其他对比方法,表明本发明具有更好的针对亮度变化场景的处理能力;如图5所示,本发明在实际光照变化场景下的主观质量更好,在闪电导致的光照剧烈变化的场景下,本发明合成的插值图具有更清晰完整的前景和背景,在各个对比方法中主观质量最好;如图6所示,本发明在ucf101数据集上的主观质量更好;如图7所示,本发明在合成的动画场景sintel序列中,本发明在多种运动强度下均优于其他方法,而且增大运动强度时,质量的下降程度小于其他方法;如图8所示,本发明在随机选取的视频场景中,评估多帧插值的主观质量,具有比其他对比方法更好的表现,这表明本发明的网络的泛化性能较好。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。