1.本发明涉及一种视频时空超分辨率实现方法及装置,尤其是指一种视频时空超分辨率实现方法及装置。
背景技术:2.视频超分辨率的目的是提高视频的分辨率。相比于通过提升采集视频图像的硬件设备来提高视频分辨率,采用视频超分辨率技术的成本更低。通常视频超分辨率技术通过具有高相关性的多个相邻帧来重建高质量帧。如何利用相邻帧的有用信息,是视频超分辨率技术的关键。
3.视频超分辨率技术通常分为空域超分辨率和时域超分辨率两种类型,空域超分辨率用于提升视频帧的清晰度,时域超分辨率则用于提升视频的帧率。在实际应用中,视频的清晰度和帧率都严重影响着用户对视频的感观体验,而视频时空超分辨率技术可以从清晰度和帧率两方面提升视频的视觉质量,因而具有更高的应用价值和研究价值。
4.在现有的视频时空超分辨率方法中,通常将整个任务分为空域超分辨率和时域超分辨率两个独立的子任务。然而,它们之间具有很强的相关性,这样的方法无法充分利用它们的相关性来提升超分辨率性能。
技术实现要素:5.本发明所要解决的技术问题是:提供一种视频时空超分辨率实现方法及装置,旨在提升视频的视觉质量。
6.为了解决上述技术问题,本发明采用的技术方案为:一种视频时空超分辨率实现方法,包括以下步骤,
7.s10、对视频的视频帧进行边缘增强,得到边缘增强的视频帧;
8.s20、将多个边缘增强的相邻视频帧两两输入光流估计模块,得到双向光流;计算公式为:
[0009][0010]
其中,f
t
→
t+1
和f
t
→
t
‑1为双向光流;和为边缘增强的相邻视频帧;fe为光流估计模块;
[0011]
s30、将双向光流进行计算得到估计光流,将其与双向光流共同输入到双向预测模块得到预测光流;计算公式为:
[0012][0013]
其中,为估计光流;f
t
→
t+1
和f
t
→
t
‑1为双向光流;0<δt<1;
[0014]
[0015]
其中,为预测光流;f
t
→
t+1
和f
t
→
t
‑1为双向光流;为估计光流;bp为双向预测模块;
[0016]
s40、将预测光流和相应的视频帧经计算得到用于时域超分辨率的中间帧,并将中间帧插入到视频中相应的位置;计算公式为:
[0017][0018]
其中,为中间帧;i
t
为用于参考的相邻视频帧;
[0019]
s50、将中间帧和相应的视频帧输入到循环超分辨率网络rsrnet中,对视频帧进行空域上的超分辨率处理,得到多个重建帧;
[0020]
s60、循环执行步骤s10
‑
s50,直至完成对整个视频的时空超分辨率。
[0021]
进一步的,步骤s10具体包括,
[0022]
s11、从视频中提取出视频帧,利用滑动窗口对窗口内的像素点进行计算,得到视频帧中每个像素点的梯度变化系数;
[0023]
s12、根据每个像素点的梯度变化系数,对应计算出每个像素点的边缘增强系数;
[0024]
s13、以每个像素点为中心,利用滑动窗口计算计算出每个像素点的低频成分,将每个像素点的低频成分与对应的边缘增强系数对视频帧进行图像增强,得到边缘增强的视频帧。
[0025]
进一步的,步骤s11中,梯度变化系数的计算公式为:
[0026][0027]
其中,c
t
表示梯度变化系数,g
x
和g
y
分别代表用于在水平方向和垂直方向上检测梯度的滤波器,h
×
w为视频帧大小,n
×
n为滑动窗口大小,α=0.05。
[0028]
进一步的,步骤s12中,边缘增强系数的计算公式为:
[0029][0030]
其中,m
t
表示增强系数,c
t
表示梯度变化系数,mean(
·
)表示取平均值,norm(
·
)表示归一化。
[0031]
进一步的,步骤s13中,对视频帧进行增强采用的公式为:
[0032]
[0033]
其中,表示增强后的视频帧,i
t
表示原始的视频帧,m
t
表示边缘增强系数,n
×
n表示滑动窗口的大小,μ=1。
[0034]
本发明还提供了一种视频时空超分辨率实现装置,包括,
[0035]
边缘增强模块,用于对视频的视频帧进行边缘增强,得到边缘增强的视频帧;
[0036]
双向光流计算模块,用于将多个边缘增强的相邻视频帧两两输入光流估计模块,得到双向光流;计算公式为:
[0037][0038]
其中,f
t
→
t+1
和f
t
→
t
‑1为双向光流;和为边缘增强的相邻视频帧;fe为光流估计模块;
[0039]
预测光流计算模块,用于将双向光流进行计算得到估计光流,将其与双向光流共同输入到双向预测模块得到预测光流;
[0040]
计算公式为:
[0041][0042]
其中,为估计光流;f
t
→
t+1
和f
t
→
t
‑1为双向光流;0<δt<1;
[0043][0044]
其中,为预测光流;f
t
→
t+1
和f
t
→
t
‑1为双向光流;为估计光流;bp为双向预测模块;
[0045]
中间帧计算模块,用于将预测光流和相应的视频帧经计算得到用于时域超分辨率的中间帧,并将中间帧插入到视频中相应的位置;计算公式为:
[0046][0047]
其中,为中间帧;i
t
为用于参考的相邻视频帧;
[0048]
重建帧处理模块,用于将中间帧和相应的视频帧输入到循环超分辨率网络rsrnet中,对视频帧进行空域上的超分辨率处理,得到多个重建帧;
[0049]
循环执行模块,用于循环执行上述操作,直至完成对整个视频的时空超分辨率。
[0050]
进一步的,所述边缘增强模块具体包括,
[0051]
梯度变化系数计算单元,用于从视频中提取出视频帧,利用滑动窗口对窗口内的像素点进行计算,得到视频帧中每个像素点的梯度变化系数;
[0052]
边缘增强系数计算单元,用于根据每个像素点的梯度变化系数,对应计算出每个像素点的边缘增强系数;
[0053]
视频帧边缘增强单元,用于以每个像素点为中心,利用滑动窗口计算计算出每个像素点的低频成分,将每个像素点的低频成分与对应的边缘增强系数对视频帧进行图像增强,得到边缘增强的视频帧。
[0054]
进一步的,所述梯度变化系数计算单元中,梯度变化系数的计算公式为:
[0055][0056]
其中,c
t
(i,j)为梯度变化系数,g
x
和g
y
分别代表用于在水平方向和垂直方向上检测梯度的滤波器,h
×
w为视频帧大小,n
×
n为滑动窗口大小,α=0.05。
[0057]
进一步的,所述边缘增强系数计算单元中,边缘增强系数的计算公式为:
[0058][0059]
其中,m
t
表示增强系数,c
t
表示梯度变化系数,mean(
·
)表示取平均值,norm(
·
)表示归一化。
[0060]
进一步的,所述视频帧边缘增强单元中,对视频帧进行增强采用的公式为:
[0061][0062]
其中,表示增强后的视频帧,i
t
表示原始的视频帧,m
t
表示边缘增强系数,n
×
n表示滑动窗口的大小,μ=1。
[0063]
本发明的有益效果在于:对视频的视频帧进行边缘增强,以促进光流估计,提升超分辨率性能。在视频时空超分辨率的过程中,通过双向光流预测网络来有效地获取精确光流,能够提升中间帧的质量。其次,设计了一种递归式的超分辨率网络,能够利用多个低分辨率帧重建高分辨率帧,在减少网络参数的同时有效提升视频帧的分辨率。因此,本发明能够有效地对视频进行时空联合超分辨率,提升视频的视觉质量。
附图说明
[0064]
下面结合附图详述本发明的具体结构。
[0065]
图1为本发明实施例的视频时空超分辨率实现方法流程图;
[0066]
图2为本发明实施例的视频时空超分辨率实现装置框图;
[0067]
图3为本发明实施例的双向光流预测网络结构图;
[0068]
图4为本发明实施例的循环超分辨率网络rsrnet结构图;
[0069]
图5为本发明具体实施例的计算机设备的示意性框图。
具体实施方式
[0070]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0071]
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0072]
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0073]
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0074]
如图1所示,本发明第一实施例为:一种视频时空超分辨率实现方法,包括以下步骤,
[0075]
步骤s10、对视频的视频帧进行边缘增强,得到边缘增强的视频帧;
[0076]
进一步的,步骤s10具体包括,
[0077]
s11、从视频中提取出视频帧,利用滑动窗口对窗口内的像素点进行计算,得到视频帧中每个像素点的梯度变化系数;
[0078]
s12、根据每个像素点的梯度变化系数,对应计算出每个像素点的边缘增强系数;
[0079]
s13、以每个像素点为中心,利用滑动窗口计算计算出每个像素点的低频成分,将每个像素点的低频成分与对应的边缘增强系数对视频帧进行图像增强,得到边缘增强的视频帧。
[0080]
进一步的,步骤s11中,梯度变化系数的计算公式为:
[0081][0082]
其中,c
t
(i,j)为梯度变化系数,g
x
和g
y
分别代表用于在水平方向和垂直方向上检测梯度的滤波器,h
×
w为视频帧大小,n
×
n为滑动窗口大小,α=0.05。
[0083]
进一步的,步骤s12中,边缘增强系数的计算公式为:
[0084][0085]
其中,m
t
表示增强系数,c
t
表示梯度变化系数,mean(
·
)表示取平均值,norm(
·
)表示归一化。
[0086]
进一步的,步骤s13中,对视频帧进行增强采用的公式为:
[0087][0088]
其中,表示增强后的视频帧,i
t
表示原始的视频帧,m
t
表示边缘增强系数,n
×
n表示滑动窗口的大小,μ=1。
[0089]
步骤s20、将多个边缘增强的相邻视频帧两两输入光流估计模块,得到双向光流;
[0090]
步骤s30、将双向光流进行计算得到估计光流,将其与双向光流共同输入到双向预测模块得到预测光流;
[0091]
步骤s40、将预测光流和相应的视频帧经计算得到用于时域超分辨率的中间帧,并将中间帧插入到视频中相应的位置;
[0092]
具体的,步骤s20
‑
s30的具体处理过程为:
[0093]
每次处理时需要用到三个低分辨率的连续帧i
t
‑1,i
t
,i
t+1
,最终目标是生成高分辨率帧其中0<δt<1,一般取δt=0.5。首先对视频进行时域上的超分辨率。本发明提出了一种双向光流预测网络来获取精确光流,该网络由光流估计模块和双向预测模块组成,能够有效提升中间帧的质量。首先将经第一步得到的视频增强帧和分别输入到光流估计模块中,得到双向光流f
t
→
t+1
和f
t
→
t
‑1。然后用f
t
→
t+1
和f
t
→
t
‑1计算得到估计光流随后将f
t
→
t+1
,f
t
→
t
‑1,共同输入到双向预测模块中,得到预测光流预测光流和i
t
经过计算可以得到中间帧由于利用双向光流进行预测,得到的预测光流更加精确,重建的中间帧质量更高。具体的计算公式为:
[0094][0095][0096][0097][0098]
如图3为双向光流预测网络结构图。其中conv表示卷积层,其参数c表示滤波器数目,k表示卷积核大小,s表示卷积步长,n代表零填充的数目。dilated conv表示膨胀卷积层,其参数r表示膨胀率,其余参数与上述卷积层相同。maxpool表示最大池化层,其参数表示过滤器大小。downsample表示下采样操作,upsample表示上采样操作,concat表示拼接合并操作,flow estimation表示计算预测光流的操作,fe表示光流估计模块,bp表示双向预测模块。
[0099]
步骤s50、将中间帧和相应的视频帧通过循环超分辨率网络rsrnet对视频帧进行空域上的超分辨率处理,得到多个重建帧。
[0100]
步骤s60、循环执行上述步骤s10
‑
s50直至完成对整个视频的时空超分辨率。
[0101]
步骤s50的具体处理过程为:设计了一种循环超分辨率网络rsrnet,能够利用多个低分辨率帧重建高分辨率帧,且循环式的结构能有效减少网络参数,循环次数为m次,一般取m=4。分别将视频帧i
t
‑1、i
t
、和i
t
、i
t+1
输入到超分辨率网络rsrnet中,即可得到相应的高分辨率重建帧循环执行上述步骤直至完成对整个视频的时空超分辨率。具体的计算公式为:
[0102][0103]
如图4为循环超分辨率网络结构图。其中conv表示卷积层,其参数c表示滤波器数目,k表示卷积核大小,s表示卷积步长,n代表零填充的数目。deformconv表示形变卷积层,其参数与上述卷积层相同。pixelshuffle表示用于上采样的网络层,其参数表示上采样倍数。upsample表示上采样操作,concat表示拼接合并操作,m recurrences表示循环m次,一般取m=4。
[0104]
上述步骤s10
‑
s50为视频的具体时空超分辨率过程。可以选取合适的视频序列作为数据集,对整个网络框架进行端到端地训练。本发明利用优化算法训练网络模型,它基于训练数据迭代地更新神经网络的权重。在训练网络的过程中,先设置较大的学习率作为初始学习率,随后每进行一定次数的迭代后学习率衰减。训练网络直至损失函数值收敛,最终得到视频超分辨率网络模型。
[0105]
视频超分辨率网络模型的训练过程如下:
[0106]
输入数据集,对视频序列进行数据增强,初始化整个网络框架的权重。网络的输入值是经退化处理后的低分辨率低帧率视频序列,标签值是未做处理的视频序列。
[0107]
数据集分批次地输入到网络中,经其超分辨率重建得到相应的输出,根据输出值与标签值计算损失函数,再通过反向传播更新网络框架中的权重。
[0108]
迭代更新网络框架的权重,直至损失函数值收敛,网络训练完成。需要对视频进行超分辨率时,将视频输入到训练好的网络框架中即可得到高分辨率高帧率的视频。每次超分辨率倍数为2,可以通过重复输入网络实现2n倍超分辨率。
[0109]
本实施例中,对视频的视频帧进行边缘增强,以促进光流估计,提升超分辨率性能。在视频时空超分辨率的过程中,通过双向光流预测网络来有效地获取精确光流,能够提升中间帧的质量。其次,设计了一种递归式的超分辨率网络,能够利用多个低分辨率帧重建高分辨率帧,在减少网络参数的同时有效提升视频帧的分辨率。因此,本发明能够有效地对视频进行时空联合超分辨率,提升视频的视觉质量。
[0110]
如图2所示,本发明的第二实施例为:一种视频时空超分辨率实现装置,包括,
[0111]
边缘增强模块10,用于对视频的视频帧进行边缘增强,得到边缘增强的视频帧;
[0112]
双向光流计算模块20,用于将多个边缘增强的相邻视频帧两两输入光流估计模块,得到双向光流;计算公式为:
[0113]
[0114]
其中,f
t
→
t+1
和f
t
→
t
‑1为双向光流;和为边缘增强的相邻视频帧;fe为光流估计模块;
[0115]
预测光流计算模块30,用于将双向光流进行计算得到估计光流,将其与双向光流共同输入到双向预测模块得到预测光流;
[0116]
计算公式为:
[0117][0118]
其中,为估计光流;f
t
→
t+1
和f
t
→
t
‑1为双向光流;0<δt<1;
[0119][0120]
其中,为预测光流;f
t
→
t+1
和f
t
→
t
‑1为双向光流;为估计光流;bp为双向预测模块;
[0121]
中间帧计算模块40,用于将预测光流和相应的视频帧经计算得到用于时域超分辨率的中间帧,并将中间帧插入到视频中相应的位置;计算公式为:
[0122][0123]
其中,为中间帧;i
t
为用于参考的相邻视频帧;
[0124]
重建帧处理模块50,用于将中间帧和相应的视频帧输入到循环超分辨率网络rsrnet中,对视频帧进行空域上的超分辨率处理,得到多个重建帧;
[0125]
循环执行模块60,用于循环执行上述操作,直至完成对整个视频的时空超分辨率。
[0126]
进一步的,所述边缘增强模块10具体包括,
[0127]
梯度变化系数计算单元,用于从视频中提取出视频帧,利用滑动窗口对窗口内的像素点进行计算,得到视频帧中每个像素点的梯度变化系数;
[0128]
边缘增强系数计算单元,用于根据每个像素点的梯度变化系数,对应计算出每个像素点的边缘增强系数;
[0129]
视频帧边缘增强单元,用于以每个像素点为中心,利用滑动窗口计算计算出每个像素点的低频成分,将每个像素点的低频成分与对应的边缘增强系数对视频帧进行图像增强,得到边缘增强的视频帧。
[0130]
进一步的,所述梯度变化系数计算单元中,梯度变化系数的计算公式为:
[0131][0132]
其中,c
t
(i,j)为梯度变化系数,g
x
和g
y
分别代表用于在水平方向和垂直方向上检测梯度的滤波器,h
×
w为视频帧大小,n
×
n为滑动窗口大小,α=0.05。
[0133]
进一步的,所述边缘增强系数计算单元中,边缘增强系数的计算公式为:
[0134]
signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field
‑
programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0149]
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
[0150]
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行上述视频时空超分辨率实现方法。
[0151]
所述存储介质可以是u盘、移动硬盘、只读存储器(read
‑
only memory,rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
[0152]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0153]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0154]
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
[0155]
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0156]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。