基于深度学习的时间维视频超分辨率方法与流程

文档序号:11387611阅读:776来源:国知局
基于深度学习的时间维视频超分辨率方法与流程

本发明属于图像处理领域,具体涉及一种时间维视频超分辨方法,可用于场景插值、动画制作、实现低帧率视频的时间域插帧。



背景技术:

视频图像不仅包含了被观测目标的空间信息,而且包含了被观测目标在时间上的运动信息,具备“空时合一”的性质。由于视频图像可以把反映物体性质的空间信息和时间信息维系在一起,因此极大的提高了人类认知客观世界的能力,在遥感、军事、农业、医学、生物化学等领域都被证明有着巨大的应用价值。

利用视频成像设备获取精密的视频图像成本很高,而且受到传感器和光学器件制造工艺的限制,为了提高成像视频的分辨率,通常需要对视频进行压缩,以牺牲视频的时间分辨率为代价,这显然难以满足科学研究和大规模实际应用的需求。所以利用信号处理技术从压缩后的视频图像中重建出高分辨率的视频图像成为获取视频图像的一个重要途径。

kangsj等人在“dualmotionestimationforframerateup-conversion”中提出了一种采用运动估计和运动补偿的方法实现视频图像插帧重构的算法。该视频图像插帧重构问题是一个病态逆问题,其利用视频图图像的时间信息并结合视频图像的空间信息来实现视频图像插帧重构,但是该算法由于没有充分利用视频图像中存在的较强的相邻帧间的结构相似性,使得重构的视频图像稳定性和精度难以满足科学研究和大规模实际应用的要求。



技术实现要素:

本发明的目的在于针对上述现有技术的不足,提出一种基于深度学习的时间维视频超分辨率方法,以提高重构视频图像的稳定性和精度,满足大规模实际应用的要求。

本发明的技术方案是这样实现的:

将经过下采样的视频图像集和原始视频图像集分别作为神经网络的输入训练样本和输出训练样本,通过神经网络训练拟合下采样视频图像和原始视频图像之间的非线性映射关系,并以这种关系为指导进行测试样本的插帧重构,从而达到利用神经网络进行视频时间域插帧的目的,其具体步骤包括如下:

(1)将彩色视频图像集s={s1,s2,...,si,...,sn}转换为灰度视频图像集,即原始视频图像集x={x1,x2,...,xi,...,xn},并利用下采样矩阵f对原始视频图像集x进行直接下采样,得到下采样视频图像集y={y1,y2,...,yi,...,yn},其中,表示第i个原始视频图像样本,表示第i个下采样视频图像样本,1≤i≤n,n表示原始视频图像集中图像样本的数量,m表示原始视频图像块的大小,lh表示原始视频图像集每个样本中图像块的数量,ll表示下采样视频图像集每个样本中图像块的数量,且lh=r×ll,r表示原始视频图像集对下采样视频图像集的放大倍数;

(2)构建神经网络模型,并利用下采样视频图像集y和原始视频图像集x训练神经网络参数:

(2a)确定神经网络输入层节点数、输出层节点数、隐藏层数和隐藏层节点数量,随机初始化各层的连接权值w(t)和偏置b(t),给定学习速率η,选定激活函数为:其中,g表示神经网络节点的输入值,t=1,2,···,n,n表示神经网络的总层数;

(2b)随机输入下采样视频图像集中的一个下采样视频图像yi作为输入训练样本,同时输入对应的原始视频图像集中的一个原始视频图像xi作为输出训练样本,使用选定的激活函数计算神经网络每一层的激活值,计算得到:

第1层即输入层的激活值为:a(1)=yi,

第t'=2,3,...,n层的激活值为:a(t′)=f(w(t′-1)*a(t′-1)+b(t-1)),其中,在该网络的第二层,第三层,第四层即t'=2,t'=3,t'=4时,为了充分提取视频帧间的相关性,设计了三个三维滤波器用来代替传统的二维滤波器,f(g)表示tanh(g)激活函数,g=w(t′-1)*a(t′-1)+b(t′-1),w(t'-1)和b(t'-1)分别表示第t'-1层的权重和偏置,a(t'-1)表示第t'-1层的激活值;

(2c)计算神经网络各层的学习误差:

输出层即第n层的误差为:δ(n)=xi-a(n)

第t"=n-1,n-2,...,2层的误差为:δ(t")=((w(t”))tδ(t”+1)).*f'(w(t”-1)*a(t”-1)+b(t”-1)),其中,w(t”)表示第t"层的权值,δ(t"+1)表示第t"+1层的误差,w(t”-1)和b(t”-1)分别表示第t"-1层的权值和偏置,a(t”-1)表示第t"-1层的激活值,f'(g')表示函数f(g')的导数,(g”)t表示转置变换,g'=w(t”-1)*a(t”-1)+b(t”-1),g”=w(t”)

(2d)按误差梯度下降方法更新神经网络各层的权值和偏置:

将权值更新为w(t)=w(t)-ηδ(t+1)(a(t))t,将偏置更新为b(t)=b(t)-ηδ(t+1),其中,δ(t+1)表示第t+1层的误差,a(t)表示第t层的激活值;

(2e)反复执行步骤(2b)-(2d),直到神经网络的输出层误差达到预设精度要求或训练次数达到最大迭代次数,结束训练,保存网络结构和参数,得到训练好的神经网络模型;

(3)任给一段视频,输入到训练好的神经网络模型中,神经网络的输出即为时间维超分辨后的视频。

本发明与现有的技术相比具有以下优点:

1)本发明由于利用卷积神经网络进行时间维视频超分辨率重建,相比现有技术降低了计算复杂度,提高了时间维视频图像超分辨重建的稳定性;

2)本发明所设计的三维滤波器,由于充分考虑了视频相邻帧间的相关性,提高了时间维视频图像时间超分辨重建的精度。

附图说明

图1为本发明的实现流程图;

图2为本发明构建的神经网络结构图;

图3为本发明仿真实验所用的bus视频的原始图像;

图4为用现有的kang’s方法和choi’s方法以及本发明方法对bus视频图像的重建结果图。

具体实施方式

以下结合附图对本发明的实施例和效果做进一步详细描述。

参照图1,本发明基于深度学习的时间维视频超分辨率方法,其实现步骤如下:

步骤1,获取彩色视频图像集s。

(1a)从给定数据库中,选取样本数为464814的彩色视频图像集s={s1,s2,...,si,...,s464814},将s转换为灰度视频图像集,即原始视频图像集x={x1,x2,...,xi,...,x464814},其中,表示第i个原始视频图像样本,1≤i≤464814,m表示原始视频图像块的大小,m=576,lh表示原始视频图像集每个样本中图像块的数量,lh=6;

(1b)利用下采样矩阵f,对原始视频图像集x进行直接下采样,得到下采样视频图像集y=fx,相当于对原始视频图像集x={x1,x2,...,xi,...,x464814}中的每个样本进行下采样得到下采样视频图像集y={y1,y2,...,yi,...,y464814},其中,yi表示第i个下采样视频图像样本,yi=fxi,1≤i≤464814,m表示下采样视频图像块的大小,m=576,ll表示下采样视频图像集每个样本中图像块的数量,ll=3,

步骤2,构建神经网络模型,并利用下采样视频图像集y和原始视频图像集x训练神经网络参数。

本步骤的具体实现如下:

(2a)初始化神经网络参数;

(2a1)将下采样视频图像集中的下采样视频图像作为输入训练样本,将原始视频图像集中的原始视频图像作为输出训练样本;

(2a2)根据输入训练样本的视频帧数来确定神经网络的输入层节点数,本实施例中,根据输入层节点数等于下采样视频图像集每个样本中图像块的数量ll,设置输入层节点数为3;

(2a3)根据输出训练样本的视频帧数来确定神经网络的输出层节点数,本实施例中,根据输出层节点数等于原始视频图像集每个样本中图像块的数量lh,设置输出层节点数为6;

(2a4)确定隐藏层数和隐藏层节点数:

由于神经网络的隐藏层数和隐藏层节点数决定了神经网络的规模,因而应在保证能够解决问题的前提下,力求神经网络的规模尽量简单,本实施例中,将神经网络的隐藏层数直接确定为7层,隐藏层节点数通过实验调节每层的节点数,即第一层结点数为64个,第二层结点数为32个,第三层结点数为24个,第四层结点数为12个,第五层结点数为32个,第六层结点数为32个,第七层结点数为6个;

(2a5)随机初始化各层连接权值w(t)和偏置b(t),t=1,2,3,4,5,6,7,8;

(2a6)给定学习速率η=0.0005;

(2a7)选定激活函数为:其中,g表示神经网络节点包括偏置在内的输入加权和;

(2b)随机输入一个输入训练样本yi,使用选定的激活函数计算神经网络每一层的激活值,计算得到:

第1层即输入层的激活值为:a(1)=yi,

第t'=2,3,4,5,6,7层的激活值为:a(t')=f(w(t'-1)*a(t'-1)+b(t'-1)),其中,在该网络的第二层,第三层,第四层即t'=2,t'=3,t'=4时,为了充分提取视频帧间的相关性,设计了三个三维滤波器用来代替传统的二维滤波器,f(g)表示tanh(g)激活函数,g=w(t'-1)*a(t'-1)+b(t'-1),w(t'-1)和b(t'-1)分别表示第t'-1层的权值和偏置,a(t'-1)表示第t'-1层的激活值;

(2c)输入一个对应的输出训练样本xi,计算神经网络各层的学习误差:

输出层即第4层的误差为:δ(4)=xi-a(4)

第t”=3,2层的误差为:δ(t”)=((w(t”))tδ(t”+1)).*f'(w(t”-1)*a(t”-1)+b(t”-1)),其中,w(t”)表示第t”层的权值,w(t”-1)和b(t”-1)分别表示第t”-1层的权值和偏置,a(t”-1)表示第t”-1层的激活值,f'(g')表示函数f(g')的导数,(g”)t表示转置变换,g'=w(t”-1)*a(t”-1)+b(t”-1),g”=w(t”)

(2d)按误差梯度下降方法更新神经网络各层的权值和偏置:

将权值更新为:w(t)=w(t)-ηδ(t+1)(a(t))t

将偏置更新为:b(t)=b(t)-ηδ(t+1),其中,δ(t+1)表示第t+1层的误差,a(t)表示第t层的激活值;

(2e)反复执行步骤(2b)-(2d),直到网络输出层误差达到预设精度要求或训练次数达到最大迭代次数,结束训练,保存网络结构和参数,得到训练好的神经网络模型,本实施例中,最大迭代次数为500;

本步骤2所构建的神经网络如图2所示,其包括1个输入层、3个三维卷积层、3个二维卷积层、1个输出层,输入层有3个结点,7个隐含层的结点个数分别为64,32,24,12,32,32,6,输出层有6个结点。

步骤3,利用训练好的神经网络模型,进行视频图像的时间维超分辨重建。

(3a)将任给的一段视频作为测试样本,将该视频图像中的每一个视频图像样本即yi拉成一个列向量,每个向量的大小为1728×1;

(3b)将这些列向量作为已经训练好的神经网络模型的输入,对于每一个输入的向量,神经网络的输出结果是一个维数增加了的向量,该向量的大小为3456×1;

(3c)将这些向量进行重构组合,即先将这些向量重构成单帧图像,再将这些单帧的图像组合成视频,就可得到时间维超分辨的视频。

本发明的效果可以通过如下仿真实验具体说明:

1.仿真条件:

1)仿真实验中的直接下采样变换矩阵f通过函数imresize得到;

2)仿真实验所用的编程平台为matlabr2015a和pycharmv2016;

3)仿真实验中构建的神经网络结构如图2所示;

4)仿真实验所用的bus视频序列的第14帧图像如图3所示;

5)仿真实验所用的视频图像集中的视频图像来源于xiph数据库,共464814个训练样本;

6)仿真实验中,采用峰值信噪比psnr指标来评价实验结果,峰值信噪比psnr的定义为:

其中,m表示重构出的视频图像的帧数,maxj表示重构出的第j帧图像的最大像素值,msej表示重构出的视频图像第j帧与原始视频图像第j帧之间的均方误差。

2.仿真内容:采用本发明方法对图3所示的bus视频图像进行时间维视频超分辨重建,其重建结果如图4所示,其中:

图4(a)表示用kang’s方法重构出的第14帧图像,

图4(b)表示用choi’s方法重构出的第14帧图像,

图4(c)表示用本发明方法重构出的第14帧图像,

从图4所显示的重构结果可以看出,本发明重构出来的图像比kang’s方法和choi’s方法重构出来的图像更接近真实的图像。

3.峰值信噪比psnr对比

计算现有的tsai’s方法、choi’s方法和本发明方法对bus视频图像进行视频时间超分辨重建的峰值信噪比psnr,结果如表1所示。

表1重构视频图像的峰值信噪比psnr值(单位:db)

从表1可以看出,本发明方法重建的视频图像的峰值信噪比psnr比现有的kang’s方法高2.99db,比现有的choi’s方法高2.38db。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1