一种基于多帧分组与反馈网络的视频超分辨率方法
技术领域
本发明涉及视频处理的
技术领域
,更具体地,涉及一种基于多帧分组与反馈网络的视频超分辨率方法。背景技术
视频超分辨率方法是从低分辨率视频中生成高分辨率视频的方法,作为一种典型的计算机视觉问题,几十年来得到了广泛的研究。近些年,大量高清显示设备的涌现以及超高清分辨率的出现,进一步推动了视频超分辨率的发展。与此同时,它在卫星图像、视频监控、医学成像、军事科技也有很广泛的应用前景,已成为计算机视觉领域的热点研究问题之一。
视频超分辨率任务和单帧超分辨率相比增加了时序信息。按照利用时序信息的不同方式,基于深度学习的视频超分辨率技术可以大致分为基于多帧级联的方法、基于3D卷积的方法和基于循环结构的方法。基于多帧级联的方法可以看作是单帧超分辨率换成多帧输入。这种方法如果想要利用好时序信息都离不开相邻帧对齐,而相邻帧对齐方式又可以分为光流法对齐和可变形卷积对齐。Wang等人提出的EDVR网络就是属于这类方法中的可变形卷积对齐,EDVR通过多尺度的变形卷积将相临帧的特征和当前帧对齐,后续再进行特征融合。RBPN网络是属于这类方法中的光流法对齐,RBPN通过把SISR和MISR的思想结合起来利用相邻帧的信息,光流法常常因为在对齐环节就引入了过多的噪声而影响最后的重建结果精度。基于多帧级联的方法虽然利用了多帧特征,但只是把特征级联到了一起,无法表示帧间的运动信息。基于3D卷积的方法是利用3D卷积本身可以学习时间信息的特点来处理视频中的时序信息,Caballero等人首先提出3D卷积可以看作缓慢的帧间信息融合过程。Huang等人通过使用3D卷积结合RNN的思想提出BRCN这个模型,但他们的工作使用的网络仍然很浅层,能学习到的信息非常有限。因此Li等人提出的FSTRN,采用了带跳跃连接的深层3D卷积网络,在网络中使用了可分离的3D卷积来减小3D卷积的计算量。循环神经网络擅长处理序列结构,因此基于循环结构的方法通过RNN,LSTM等进行多帧超分辨率。这种方法中最早提出的是双向RNN,它的网络容量较小,也没有后续的帧间对齐步骤。Guo等人通过采用运动补偿模块和卷积LSTM层改进了双向RNN。视频超分辨率(VSR)的最新进展展现了深度学习的力量,可以实现更好的重建性能。然而,现有的基于深度学习的视频SR方法基本上都是融合输入的多帧时序信息,再经过一次重建后得到最终的结果。存在的方法中尚未充分利用人类视觉系统中常见的反馈机制,对多帧视频进行分组反馈超分。
2020年4月7日公开的中国专利CN110969577A提供的一种基于深度双重注意力网络的视频超分辨率重建方法,通过加载级联的运动补偿网络模型和重建网络模型,充分利用时空信息特征来实现精确的视频超分辨率重建;其中的运动补偿网络模型能够由粗糙到细致地逐步学习光流表示合成相邻帧的多尺度运动信息;在重建网络模型中利用双重注意力机制,并形成一个残差注意力单元,专注中间信息特征。该方法基于多帧级联,利用光流法进行相邻帧对齐,引入了过多的噪声而影响最后的重建结果精度,并且基于多帧级联的方法只是把特征级联到了一起,无法表示帧间的运动信息,视频超分辨率效果不好。
发明内容
本发明为克服上述现有技术视频超分辨率效果差的缺陷,提供一种基于多帧分组与反馈网络的视频超分辨率方法,将人类视觉系统的反馈机制运用到视频超分辨率技术中,具有强大的高层表征能力,提高了视频超分辨率效果。
为解决上述技术问题,本发明的技术方案如下:
本发明提供一种基于多帧分组与反馈网络的视频超分辨率方法,包括以下步骤:
S1:获取视频数据,对视频数据进行预处理,获得训练视频数据,组成训练视频数据集;
S2:确定需超分的目标帧,对该目标帧进行上采样,获得初步超分视频帧;
S3:将每条训练视频数据包含的视频帧序列在时间轴上分组;
S4:将分组的视频帧序列输入构建的初始超分辨率网络模型,提取每组视频帧序列的特征图,对每组视频帧序列的特征图进行对齐、融合操作,获得每组视频帧序列的LR特征图;
S5:对每组视频帧序列的LR特征图进行逐步反馈超分,获得目标帧的超分特征图序列;
S6:对目标帧的超分特征图序列进行重建,获得目标帧的重建超分残差信息序列,并与S2中目标帧的初步超分视频帧相加,获得目标帧的最终超分视频帧序列;
S7:设置损失函数,对初始超分辨率网络模型进行训练,获得训练好的超分辨率网络模型;
S8:利用训练好的超分辨率网络模型对待超分视频进行超分辨率重建。
优选地,所述对视频数据进行预处理包括:
S1.1:对所有视频数据在相同的位置截取高分辨率视频帧;
S1.2:对高分辨率视频帧进行下采样,得到低分辨率视频帧;
S1.3:将所有低分辨率视频帧进行归一化处理;
S1.4:将归一化处理后的低分辨率视频帧进行随机的数据增强操作,所述数据增强操作包括翻转操作和镜像操作。
优选地,所述步骤S1.2中,采用高斯模糊下采样方法对高分辨率视频帧进行下采样。
优选地,所述步骤S2中,采用双三次插值上采样方法对训练视频数据的目标帧进行上采样操作,获得初步超分视频帧。
优选地,所述步骤S3中,将每条训练视频数据包含的视频帧序列在时间轴上分为n组,获得n个视频帧序列的子集,并且每个子集都包含目标帧。
优选地,所述初始超分辨率网络模型包括可变形卷积对齐模块和融合模块;
所述可变形卷积对齐模块具体为现有的EDVR模型前端的PCD特征对齐模块,包括多尺度特征提取单元和特征对齐单元;
将分组获得的n个视频帧序列的子集输入多尺度特征提取单元,每帧视频获得n种size的特征图,将每种size的特征图输入特征对齐单元进行可变形卷积对齐操作,获得每组视频帧序列的对齐特征图;
所述融合模块具体为现有的EDVR网络模型的TSA融合模块;
将每组视频帧序列的对齐特征图由小到大逐步向上融合,获得每组视频帧序列的LR特征图(Fg1、Fg2、…、Fgn),其中,n表示视频帧序列的分组的组数,Fgn表示第n个视频帧序列子集的LR特征图。
优选地,所述初始超分辨率网络模还包括反馈模块;
将每组视频帧序列的LR特征图(Fg1、Fg2、…、Fgn)输入反馈模块,按分组顺序进行n次迭代,每次迭代进行逐步反馈超分的输入为该次迭代对应的视频帧序列子集的LR特征图和上次迭代输出的目标帧的超分特征图,输出每次迭代的目标帧的超分特征图,即:
F(out,n)=fFB(F(out,n-1),Fgn)
其中,F(out,n)表示第n次迭代输出的目标帧的超分特征图,fFB(*)表示反馈超分操作,F(out,n-1)表示第n-1次迭代输出的目标帧的超分特征图;第一次迭代时,F(out,n-1)=Fgn,即F(out,0)=Fg1;
将每次迭代的目标帧的超分特征图组成目标帧的超分特征图序列(F(out,1)、F(out,2)、…、F(out,n))。
优选地,所述初始超分辨率网络模还包括重建超分模块;
将目标帧的超分特征图序列(F(out,1)、F(out,2)、…、F(out,n))输入重建超分模块进行重建,获得目标帧的重建超分残差信息序列(I(Res,1)、I(Res,2)、…、I(Res,n)),即:
I(Res,n)=fRB(F(out,n))
其中,I(Res,n)表示第n次迭代的视频帧序列子集的目标帧的重建超分残差信息,fRB(*)表示重建操作;
目标帧的重建超分残差信息与目标帧的初步超分视频帧相加,获得目标帧的最终超分视频帧,即:
I(SR,n)=I(Res,n)+fUP(It)
其中,I(SR,n)表示第n次迭代的视频帧序列子集的目标帧的最终超分视频帧,fUP(It)表示目标帧的初步超分视频帧,It表示目标帧;
将目标帧的最终超分视频帧组成目标帧的最终超分视频帧序列(I(SR,1)、I(SR,2)、…、I(SR,n))。
优选地,所述损失函数为L1范数损失函数:
其中,Wn表示I(SR,n)在损失函数中所占的比列,I(HR,t)表示目标帧的ground truth;
重复步骤S3-S6,利用训练视频数据集中的训练视频数据,对初始超分辨率网络模型进行迭代训练。
优选地,所述视频数据从现有的高分辨率数据集Vimeo-90k中获取。
与现有技术相比,本发明技术方案的有益效果是:
本发明首先将预处理后的训练视频数据的需超分的目标帧进行上采样,获得初步超分视频帧,再将训练视频数据包含的视频帧序列在时间轴上分组;将分组的视频帧序列输入初始超分辨率网络模型进行特征图提取、特征图对齐、对齐特征图融合的操作,获得每组视频帧序列的LR特征图;之后对每组视频帧序列的LR特征图进行逐步反馈超分操作,获得具有强大的高层表征能力目标帧的超分特征图序列;最后将目标帧的超分特征图序列进行重建,获得目标帧的重建超分残差信息序列,并与目标帧的初步超分视频帧相加,获得目标帧的最终超分视频帧序列。通过设置损失函数,对初始超分辨率网络模型进行训练,获得训练好的超分辨率网络模型,利用训练好的超分辨率网络模型对待超分视频进行超分辨率重建;本发明提高了视频超分辨率效果,重建出来的视频帧的细节保持效果明显提高。
附图说明
图1为实施例所述的一种基于多帧分组与反馈网络的视频超分辨率方法的流程图;
图2为实施例所述的一种基于多帧分组与反馈网络的视频超分辨率方法的数据流向图;
图3为实施例所述的反馈模块内的数据流向图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例
本实施例提供一种基于多帧分组与反馈网络的视频超分辨率方法,如图1所示,包括以下步骤:
S1:获取视频数据,对视频数据进行预处理,获得训练视频数据,组成训练视频数据集;
在本实施例中,选取现有公开的高分辨率数据集Vimeo-90k数据集中的视频作为视频数据,对视频数据进行预处理:
S1.1:在视频数据相同位置截取长为256、宽为256的高分辨率视频帧;
S1.2:采用高斯模糊下采样方法高分辨率视频帧进行下采样,使其缩小4倍,得到长为64、宽为64的低分辨率视频帧;
S1.3:将所有低分辨率视频帧进行归一化处理;
S1.4:将归一化处理后的低分辨率视频帧进行随机的数据增强操作,所述数据增强操作包括翻转操作和镜像操作。
S2:确定需超分的目标帧,对该目标帧进行上采样,获得初步超分视频帧;
在本实施例中,训练视频数据为7帧,选择中间帧作为需超分的目标帧,对目标帧进行双三次插值上采样操作,获得初步超分视频帧。
S3:将每条训练视频数据包含的视频帧序列在时间轴上分组;
如图2所示,将需超分的目标帧记为It,7帧训练视频数据分别记为It-3、It-2、It-1、It、It+1、It+2、It+3;本实施例中,将视频帧序列分为3组,第一分组(It-3、It、It+3),第二分组(It-2、It、It+2),第三分组(It-1、It、It+1),每组都是视频帧序列的子集,并且每组都包含目标帧。
S4:将分组的视频帧序列输入构建的初始超分辨率网络模型,提取每组视频帧序列的特征图,对每组视频帧序列的特征图进行对齐、融合操作,获得每组视频帧序列的LR特征图;
本实施例中,初始超分辨率网络模型包括可变形卷积对齐模块、融合模块、反馈模块和重建超分模块;将分组的视频帧序列输入初始超分辨率网络模型的可变形卷积对齐模块中,可变形卷积对齐模块具体为现有的EDVR模型前端的PCD特征对齐模块,包括多尺度特征提取单元和特征对齐单元,多尺度特征提取单元由5个基础残差模块组成;
将分组获得的3个视频帧序列的子集输入多尺度特征提取单元,每帧视频获得从大到小的3种size的特征图;
将每种size的特征图输入特征对齐单元进行可变形卷积对齐操作,获得每组视频帧序列的对齐特征图;
将每组视频帧序列的对齐特征图输入融合模块进行融合操作,融合模块具体为现有的EDVR网络模型的TSA融合模块;
将每组视频帧序列的对齐特征图由小到大逐步向上融合,获得每组视频帧序列的LR特征图(Fg1、Fg2、Fg3),每一组的channel=64;其中,Fg1、Fg2、Fg3分别表示第1个、第二个、第三个视频帧序列子集的LR特征图。
S5:对每组视频帧序列的LR特征图进行逐步反馈超分,获得目标帧的超分特征图序列;
如图3所示,本实施例中,将3组LR特征图(Fg1、Fg2、Fg3)迭代输入反馈模块中,进行3次迭代,每次迭代进行逐步反馈超分的输入为该次迭代对应的视频帧序列子集的LR特征图和上次迭代输出的目标帧的超分特征图:
第1次迭代,n=1:
F(out,1)=fFB(F(out,0),Fg1)
其中,F(out,1)表示第1次迭代输出的目标帧的超分特征图,fFB(*)表示反馈超分操作;第1次迭代时,F(out,0)=Fg1;
第2次迭代,n=2:
F(out,2)=fFB(F(out,1),Fg2)
其中,F(out,2)表示第2次迭代输出的目标帧的超分特征图;
第3次迭代,n=3:
F(out,3)=fFB(F(out,2),Fg3)
其中,F(out,3)表示第3次迭代输出的目标帧的超分特征图;
将3次迭代的目标帧的超分特征图组成目标帧的超分特征图序列(F(out,1)、F(out,2)、F(out,3))。
S6:对目标帧的超分特征图序列进行重建,获得目标帧的重建超分残差信息序列,并与S2中目标帧的初步超分视频帧相加,获得目标帧的最终超分视频帧序列;
本实施例中,将超分特征图序列(F(out,1)、F(out,2)、F(out,3))输入重建超分模块进行重建:
I(Res,1)=fRB(F(out,1))
I(Res,2)=fRB(F(out,2))
I(Res,3)=fRB(F(out,3))
其中,I(Res,1)、I(Res,2)、I(Res,3)分别为第1次、第2次、第3次迭代的视频帧序列子集的目标帧的重建超分残差信息,组成目标帧的重建超分残差信息序列(I(Res,1)、I(Res,2)、I(Res,3));
将目标帧的重建超分残差信息序列与目标帧的初步超分视频帧相加:
I(SR,1)=I(Res,1)+fUP(It)
I(SR,2)=I(Res,2)+fUP(It)
I(SR,3)=I(Res,3)+fUP(It)
其中,I(SR,1)、I(SR,2)、I(SR,3)分别为第1次、第2次、第3次迭代的视频帧序列子集的目标帧的最终超分视频帧,fUP(It)表示目标帧的初步超分视频帧;
将目标帧的最终超分视频帧组成目标帧的最终超分视频帧序列(I(SR,1)、I(SR,2)、I(SR,3))。
S7:设置损失函数,对初始超分辨率网络模型进行训练,获得训练好的超分辨率网络模型;
本实施例中,所述损失函数为L1范数损失函数:
其中,Wn表示I(SR,n)在损失函数中所占的比列,n=1,2,3;I(HR,t)表示目标帧的ground truth。本实施例中,W1、W2、W3取值都为1;
重复步骤S3-S6,利用训练视频数据集中的训练视频数据,对初始超分辨率网络模型进行迭代训练;
本实施例中,将前两次迭代的视频帧序列子集的目标帧的最终超分视频帧I(SR,1)、I(SR,2)用于损失函数的计算,最后一次迭代的视频帧序列子集的目标帧的最终超分视频帧I(SR,3)作为目标帧It的超分结果。
S8:利用训练好的超分辨率网络模型对待超分视频进行超分辨率重建。
采用本实施例提供的方法对待超分视频进行超分辨率重建,可以大幅提高视频超分辨率效果,重建出来的视频帧的细节保持效果优秀,为卫星图像、视频监控、医学成像和军事的技术领域提供有力支持。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。