摘要
这篇综述完成了 4 个工作:
1.总结了 33 种最先进基于深度学习的 VSR方法,并详细介绍了这些方法的特征和实现细节。
2.把这 33 种方法按照使用帧间信息的不同分成了6个子类。
3.在一些基准数据集上总结并对比了有代表性的 VSR 方法。
4.讨论了VSR领域的挑战和未来可以努力方向。
一、介绍
超分(SR)的目标是生成一个高分辨率(HR)的图像或者将许多有关系的低分辨率(LR)图像融合。超分的应用很广泛,如:医学图像重建、人脸、遥感、全景视频超分、无人机(UAV)监控、高清(HD)电视。
随着 5G 技术的应用,超分会变得越来越重要。视频是日常生活中最常见的多媒体,对低分辨率的视频进行超分当然也很重要。
图像超分每次处理一张图片,视频超分算法每次处理多张连续的图片/帧,利用多个帧之间的关系来实现超分目标帧。 从广义上讲,视频超分(VSR)是逐帧处理的图像超分算法,可以被看作图像超分的一种。然而,由于不能保证帧在时间上的一致性,SR 的实验结果通常不能让人满意,并且可能产生许多干扰。
近年来提出的视频超分算法可以被分成两大类:传统方法和深度学习方法。
传统方法主要有:通过仿射模型对运动简单估计;非局部均值;三维自适应核回归;通过贝叶斯方法来估计潜在运动、模糊核、噪音水平,并且重建高分辨率帧;运用期望最大值法估计模糊核,并指导重建高分辨率帧。这些方法在各种场景下都存在不足。
基于深度神经网络的超分辨率方法有:卷积神经网络(CNN),生成对抗网络(GAN),循环神经网络(RNN)。这些方法通常将低分辨率和高分辨率的视频序列作为输入,把视频序列输入神经网络来进行帧间对齐;然后进行特征提取/融合;接着利用有关联的低分辨率视频序列,生成高分辨率序列。
视频超分辨率运算流程主要包括:一个对齐模块,一个特征提取和融合模块,一个重建模块。
视频超分和图像超分的不同关键在于对帧间信息的处理。对VSR任务来说,如何有效利用相邻帧之间信息是最重要的。
这篇综述主要关注不同深度学习方法利用帧间信息的方式,按照利用帧间信息方式进行分类。
二、背景
视频超分辨率技术经常使用帧间信息,RGB颜色空间,YUV颜色空间,YCbCr颜色空间。
VSR需要处理退化视频序列和恢复有关HR视频序列,HR视频序列需要尽可能接近人工标注视频(GTvideos)。
VSR算法可能使用与SISR(单图像超分辨率)相同的技术来处理一个单独的帧(空间信息),同时VSR算法必须考虑多个帧之间的关系(时间信息)来确保视频的运动一致性。超分的逆向过程称为Eq。
与SISR相似,视频质量通过峰值信噪比(PSNR)和结构相似指数(SSIM)来评估。这些指数分别衡量两个图片间的像素差和结构相似性。
三、视频超分辨率方法
视频记录移动的视觉图像和声音,VSR学习已有的SISR方法。基于深度学习的图像超分辨率方法有:SRCNN,FSRCNN,VDSR,ESPCN,RDN,RCAN,ZSSR,SRGAN。2016年基于SRCNN提出了视频超分辨率的 VSRnet 方法。基于特征总结了近些年基于深度学习的VSR方法,见下表:
EDVR[37],DUF[44],TDAN[39] 表明了利用帧间信息可以明显增强模型表现。对于帧间信息的合适用法可以加强超分辨率的结果。因此,把已有的这些 VSR 方法按照利用帧间信息的方法进行分类。见下图:
基于上面的表格和图,将这些方法分成两类:对齐方法和非对齐方法。分类的依据是:视频帧是否明确对齐。
四、对齐法
对齐技术的两个常用方法:运动估计和运动补偿(MEMC),可变形卷积。
1、运动估计和补偿方法
运动估计:提取帧间运动信息。
运动补偿:利用帧间运动信息执行变形操作,使一个帧定位到另外一个帧。
运动估计技术主要通过光流法来实现。
光流法:通过相邻帧在时间领域的相关性和变化来计算他们之间的运动。
光流法将两个帧(目标帧 ,相邻帧 )作为输入,然后根据公式使用输入帧 , 计算向量域的光流方程 。
运动补偿方法可以被分成两类:传统方法(LucasKanade,Druleas)和深度学习方法(FlowNet,FlowNet2.0,SpyNet)。
运动补偿:按照两个图片的运动信息执行图像变换,使相邻帧定位到目标帧。
运动补偿常用的两个方法:双线性插值和空间变换网络(STN)。补偿帧 的计算公式:
1.1 Deep-DE
Deep-DE由两阶段组成。
一阶段通过调整光流和运动细节保留光流来生成一组 SR 草图。
二阶段把SR草图和经过两三次插值法处理的LR目标帧一起输入到CNN中来进行特征提取,融合,超分。
CNN由 4 个卷积层组成:3 个一般卷积层,1 个反卷积层。
卷积核大小分别是:。
通道数分别是:。
1.2 VSRnet
VSRnet基于图像超分方法SRCNN提出。
VSRnet和SRCNN的不同之处在于输入帧的数量。SRCNN输入单个帧,VSRnet输入多个连续帧(补偿帧)。
VSRnet由运动估计和补偿模块,3 个卷积层模块组成。前 2 个卷积层后面跟 1 个ReLU 激活函数。
帧间运动信息使用Druleas算法来计算。
VSRnet提出了过滤器对称执行机制(FSE)和自适应运动补偿机制。他们分别被用来加速训练和减少不可靠帧的影响。
1.3 VESPCN
视频高效子像素卷积网络(VESPCN)提出了空间运动补偿转换器(MCT)模块来进行运动估计和补偿。
接着将补偿帧输入到一系列的卷积层中进行特征提取和融合。
最后将超分结果输入到子像素卷积层中来进行上采样。
MCT模块使用CNNs来提取运动信息和实现运动补偿。MCT使用 coarse-to-fine 法来计算图像序列的光流。
coarse阶段:coarse 网络由 5 个卷积层和 1 个子像素卷积层组成。
- 将两个连续帧(目标帧和相邻帧)作为 coarse 网络的输入。
- 使用子像素卷积层,先进行 2 次 下采样操作,再进行 1 次 上采样操作,得到 coarse 光流估计。
- 将相邻帧通过光流进行扭曲。
fine阶段:网络结构和coarse网络相似。
- 将目标帧,相邻帧,(coarse阶段计算得到的)光流,扭曲相邻帧作为作为 fine 网络的输入。
- 使用子像素卷积层,先进行 1 次 下采样操作,再进行 1 次 上采样操作,得到 fine 光流。
- 将 coarse 光流与 fine 光流进行元素尺度相加,得到 final 光流估计。
- 将相邻帧通过 final 光流再次扭曲,使扭曲帧和目标帧对齐。
1.4 DRVSR
揭示细节的深度视频超分方法(DRVSR)提出了一个子像素运动补偿层(SPMC),来同时为输入的相邻帧,按照估计光流信息,进行上采样和运动补偿操作。
DRVSR由 3 个模块组成:运动估计模块,运动补偿模块(使用SPMC层实现),融合模块。
运动估计模块:通过运动补偿转换器(MCT)网络实现。
运动补偿模块:由网格生成器和取样器两个子模块组成。
- 网格生成器:按照光流将LR空间坐标转换成HR空间坐标。
- 取样器:对HR空间进行插值操作。
融合模块:使用了ConvLSTM模块来处理时空信息。
- 使用步长为 2 的卷积进行下采样,使用反卷积进行上采样,得到目标帧的HR残差图像。
- 将LR目标帧上采样的结果和残差图像相加生成最终结果。
1.5 RVSR
增强视频超分(RVSR)由两个模块组成:空间定位模块和时间自适应模块。
空间定位模块:负责多帧定位——将相邻帧定位到目标帧。
- 通过 1 个本地化网络估计相邻帧和目标帧之间的变形参数。
- 通过 1 个基于变形参数的空间变形层使相邻帧定位到目标帧。
- 本地化网络由 2 个卷积层组成,每 1 层后面都有 1 个最大池化层和 2 个全连接层。
时间自适应模块:自动决定时间依赖的最佳规模。由多个SR分支子网络和 1 个时间调制模块组成。
- SR分支子网络:负责处理时间规模(输入帧的数量)和输出对应的超分结果。
- 时间调制模块:为每个子网络的超分结果分配权重。
- 输入帧数量取决于超分网络的最大输入帧数量。
- 网络结构和超分网络结构相同,都是基于ESPCN的结构。
最终超分辨率的结果,是每个分支的超分辨结果的加权和。
1.6 FRVSR
帧循环视频超分(FRVSR)使用前面的帧推断出的HR估计,对后面的帧进行超分,进而产生出时间一致
的结果,并减少了计算成本。
FRVSR详细实现过程:
- 使用光流估计网络,计算目标帧之前帧的光流。
- LR光流使用双线性插值法进行上采样,变成与HR视频相同的尺寸。
- 将经过上采样的LR光流扭曲得到(目标帧之前的)HR变体。
- 将扭曲HR变体通过空间到深度的转换,来进行下采样,得到LR版本的变体。
- 将LR版本的变体和目标帧输入到后面的超分网络,得到目标帧的结果。
FlowNet:
- 14 个 卷积层,前面 13 个卷积层后面都跟有 1 个 LeakyReLU 激活函数。
- 3 个池化成。
- 3 个双线性上采样层。
SR Module:
- 2 个卷积层。
- 2 个反卷积层,每个反卷积层分别具有 2 个和 10 个残差块。
- 残差块:2 个卷积层跟 1 个 ReLU 激活函数。
1.7 STTN
时空转换器网络(STTN)提出了一个时空转换器模块,这个模块用来解决以前的光流法存在的缺点。
时空转换器模块能够一次处理多个帧。
以前的光流法只能处理一对视频帧,当视频出现遮挡和亮度变化的时候,可能会导致不准确的估计。
STTN 由 3 个主要模块构成:时空流估计模块,时空采样模块,超分模块。
时空流估计模块:负责将输入进来的连续帧(目标帧和多个相邻帧),进行光流估计。
- 是 1 个与 U-Net 相似的 U-Style 网络,由 12 个卷积层和 2 个上采样层组成。
- 先进行 下采样,再进行
- 最终的输出结果是 1 个 3 通道的时空流,表示了这些帧之间的时空变化。
时空采样模块:对当前多个相邻帧和进行扭曲操作,并且获取使用(上一个模块输出的)时空流定位过的视频帧。
- 1 个三线性插值法。
SR 模块:对目标帧进行特征融合和超分。
- 输入:已经定位过的视频帧。
1.8 SOFVSR
超分光流视频超分(SOFVSR)提出了OFRnet,对LR进行光流估计,获得更好的SR表现。
光流重建网络(OFRnet):通过 coarse-to-fine 方法对相邻帧的光流进行估计,产生 1 个HR光流。
Downsample:将HR光流通过空间深度转换(space-to-depth transformation),得到LR光流。
MotionComp:使用LR光流对相邻帧进行扭曲,使相邻帧定位到目标帧。
SRnet:将目标帧和扭曲帧作为输入,获得最终的超分结果。
- SRnet 由 2 个卷积层, 5 个密集残差块, 1 个子像素卷积层组成。
1.9 TecoGAN
时间连续生成对抗网络(TecoGAN)为了达到真实连续的视频超分,提出了 1 个时空判别器,提出了 1 个新的 “Ping-Pong” 损失来处理反复出现的实验结果。TecoGAN 和 GAN 相似,由 1 个生成器和 1 个判别器组成。
生成器模块:目标帧,(目标帧)前面的帧,(目标帧)前面帧估计生成的 HR 帧作为输入。
- 运动估计模块:将输入帧输入到光流模块,这个模块是 CNN,和 FRVSR 中的光流估计模块相似。
- 通过双三次插值法(bicubic interpolation),估计并放大目标帧和相邻帧之间的 LR 光流,得到对应的HR 光流。
- 运动补偿模块:通过 HR 光流将前面的 HR 帧扭曲。
- 卷积模块:由 2 个卷积层,1 个残差块, 2 个上采样模块,1 个反卷积层组成。
- 扭曲后的HR帧和目标帧输入到卷积模块,获得 1 个修复后的目标帧。
判别器模块:评估超分结果的质量,使最终结果的空间过于平滑和时间不一致性得到缓解。
- 输入:生成的结果和 GT。他们都是由 3 个部分组成:
- 3 个连续的 HR 帧, 3 个一致的上采样HR帧, 3 个扭曲HR帧。
“ping-pong” 损失函数:减少长期时间细节偏差,使超分结果更自然。
1.10 TOFlow
面向任务流程(TOFlow)将光流估计网络与重构网络相结合,并联合训练它们,获得针对特定任务(视频 SR、视频插值、视频去模糊)量身定制的光流网络。
O.F.Estimation:采用 SpyNet 作为光流估计网络。
STN:空间变换器网络,根据计算出的光流扭曲相邻帧。
Image Process.Net:执行视频超分任务,获得最终结果。
- 由 4 个卷积层组成,卷积核大小分别为 ,通道数为
1.11 MMCNN
多内存卷积神经网络(MMCNN)由 5 个主要模块组成:光流估计模块(运动估计和运动补偿),特征提取模块,多内存细节融合模块,特征重建模块,上采样模块(使用 1 个子像素卷积层)。
光流估计模块:处理输入的连续帧,使相邻帧定位到目标帧(扭曲帧)。
随后的网络模块:扭曲帧作为输入,得到目标帧的残差图像。
结果相加:将残差图像和LR上采样目标帧相加,通过双三次插值计算,得到最终超分结果。
多内存细节融合模块:采用 ConvLSTM 模块,来合并时空信息。
特征提取模块,细节融合模块,特征重建模块:都基于残差密集快(residual dense block),只有网络层的类型不同。
1.12 RBPN
循环反投影网络(RBPN)的灵感来自于反投影算法。
RBPN 主要由以下模块组成:1 个特征提取模块,1 个投影模块,1 个重建模块。
特征提取模块:特征提取模块包括两个操作。
- 一是提取目标帧的特征
- 二是从目标帧、相邻帧级联中提取特征。
- 级联光流由相邻帧到目标帧,通过pyflow方法计算得出。
- 然后对光流进行隐式对齐。
投影模块:由 1 个编码器和 1 个解码器组成。
- 编码器:由 1 个多图超分(MISR),1 个单图超分(SISR),残差模块(ResBlock)组成。
- 解码器:由 ResBlock 和 1 个跨步卷积(strided convolution)组成。
- 输入:前面编码器输出的结果。
- 输出:LR特征。作为下一个投影模块编码器的输入。
投影模块的循环过程:
- 目标帧的级联光流,下一个相邻帧,前面计算得到的光流,将这些作为特征提取模块的输入,输出的结果作为下一个投影模块编码器的输入。
- 直到所有相邻帧都被处理过,停止循环。
重建模块:
- 输入:将每个投影模块中编码器的输出结果,求级联的平均值。
- 输出:最终的SR结果。
1.13 MEMC-Net
运动估计和运动补偿网络(MEMC-Net)提出了 1 个自适应扭曲层(Adaptive warping layer)。
运动估计网络:采用 FlowNet,得到估计光流。
核估计网络:采用改进版的 U-Net,得到卷积核。
- U-Net:5 个 max-pooling 层,5 个 un-pooling 层,跳过从编码器到解码器的连接。
上下文信息:为了解决遮挡问题。
- 采用 ResNet18 网络进行预训练,提取输入帧的特征。
- 输出结果作为上下文信息,输入到自适应扭曲层。
自适应扭曲层:通过估计光流和卷积核扭曲相邻帧,将相邻帧定位到目标帧。
帧增强模块(超分模块):与 EDSR 相似。
1.14 RRCN
残差循环卷积网络(RRCN)是一种双向循环神经网络,通过残差图像进行学习。
RRCN 提出了 1 种不同步全循环卷积网络,其中不同步是指输入多个连续的视频帧,只有中间的 1 个是超分辨率的。
RRCN采用将局部变量和全局变量结合的方法(GLG-TV)对目标帧及其相邻帧进行运动估计和补偿。
补偿后的帧作为网络的输入。
前向网络和后向网络分别进行前向卷积和循环卷积,并将它们的输出相加。
将目标帧添加到输入中得到最终结果。
为了进一步提升性能,RRCN 还采用了自集成策略,并结合单幅图像超分辨率方法(EDSR+)的输出,分别得到两个模型,命名为 RRCN+ 和 RRCN++ 。
1.15 RTVSR
实时视频超分辨率(RTVSR)采用 1 个卷积网络,称为运动卷积核估计网络。这个网络是全卷积编解码器结构,用于估计目标帧和相邻帧之间的运动,并产生 1 对一维卷积核,分别对应当前的目标帧和相邻帧。
然后使用估计的卷积核对相邻帧进行扭曲,使其与目标帧对齐。
RTVSR 设计了 1 个重要组件,称为门控增强单元 (GEU) ,用来学习有用的特征,它是基于《Face hallucination based on key parts enhancement》的改进变体。
1.16 MultiBoot VSR
多阶段多参考引导(MultiBoot VSR)视频超分辨率由两个阶段组成。
为了获得更好的性能,将第一阶段的输出作为第二阶段的输入。
1.17 MAFN
运动自适应反馈网络(MAFN)由三部分组成:输入层将输入帧映射到深层特征,中间层将特征转换为更完整的表面特征,输出层从表面表现特征生成输出图像。
使用来自输入层的特征图,中间层中的每个子模块通过由 2 个卷积层和 1 个 ReLU 层组成的简单超分辨率层(SR 层)更新每个输入的表示特征。
然后,相邻特征作为输入并成对发送到运动自适应反馈单元(MAFC)以生成相应的运动补偿信息。
最后,运动补偿信息与新获得的表面特征相结合,产生最终输出。
1.18 STARnet
时空感知多分辨率网络(STARnet)是一个端到端的网络,可以同时处理视频超分辨率和视频插值。它由三个阶段组成:初始化、细化和重构。
在这个阶段,两个空间超分辨率(S-SR)模块可以通过 DBPN 或 RBPN 对两个 LR 帧执行超分辨率,并通过类似的网络重新生成它们的 LR 对应物,为 LR 和 HR 空间在时空超分辨率(ST-SR)模块中的帧插值做准备。同时,运动模块对齐双向流图像。
总结:
MEMC 技术用于将相邻帧与目标帧对齐,这是解决视频超分辨率问题最常用的方法。
当光照变化剧烈或视频中存在较大运动时,该技术无法保证运动估计的准确性。在这些情况下,视频超分辨率的性能会大大降低。
为了解决这个问题,提出了具有对齐的方法(例如在深度网络中作为一个模块呈现的可变形卷积来对齐帧),以及没有对齐的方法。
2、可变形卷积方法
在普通的 CNN 中,一层网络中约定使用固定的几何结构,这限制了网络对几何变换进行建模的能力。
可变形卷积能够克服这个限制。
- 目标特征图与相邻特征图连接,通过额外的卷积层对目标特征图投影,获得偏移量。
- 将偏移量应用于传统卷积核,产生可变形卷积核,然后将其与输入特征图卷积以产生输出特征图。
采用可变形卷积的方法主要包括:增强型可变形视频恢复(EDVR)、可变形非局部网络(DNLN)和时间可变形对齐网络(TDAN)。
1.1 EDVR
增强可变形视频恢复(EDVR),是 NTIRE19 挑战赛中的冠军模型。
EDVR 主要提出了两个模块:渐增、级联、可变形 (PCD) 对齐模块和时空注意力 (TSA) 融合模块。
两个模块的功能分别是:解决视频中的大幅运动,有效融合多个帧。
EDVR主要由四部分组成:1 个PCD对齐模块、1 个TSA融合模块、1 个重建模块和 1 个(使用子像素卷积层的)上采样模块。
- PCD对齐模块:将输入帧对齐,输出对其帧。
- TSA融合模块:将对齐帧融合,输出融合结果。
- 重建模块:将输入的融合结果,进行特征细化。
- 上采样模块:将细化后的特征进行上采样,输出 HR 图像(称为残差图像)。
- adding:将残差图像添加到直接进行上采样的目标帧中,输出最终结果。
为了提升性能,EDVR 采用了两阶段法,第二阶段与第一阶段类似,但网络深度更浅。
1.2 DNLN
可变形非局部网络(DNLN)分别基于可变形卷积和非局部网络,设计了一个对齐模块和一个非局部注意力模块。
对齐模块在原始可变形卷积中,使用分层特征融合模块(HFFB)来生成卷积参数。
DNLN 以级联方式利用多个可变形卷积,使得帧间对齐更准确。
1.3 TDAN
时间可变形对齐网络(TDAN),将可变形卷积应用于目标帧和相邻帧,获得相应的偏移量。
然后根据偏移量扭曲相邻帧,使相邻帧与目标帧对齐。
TDAN分为三个部分:特征提取模块、可变形卷积模块和重建模块。
1.4 D3Dnet
可变形 3D 卷积网络 (D3Dnet)提出了 3D 可变形卷积,实现了强大的时空特征建模能力。
首先将 LR 帧输入到 3D 卷积层生成特征。
然后将特征输入到 5 个残差可变形 3D 卷积 (ResD3D) 块,进行运动补偿和捕获空间信息。
1.5 VESR-Net
视频增强和超分辨率网络(VESR-Net),是优酷视频增强和超分辨率挑战赛中的冠军模型。
VESR-Net 主要由特征编码器、融合模块和重建模块组成。
特征编码器:LR 帧首先由特征编码器处理。
- 1 个卷积层。
- 几个堆叠的通道注意力残差块(CARB)
融合模块:
- PCD:执行帧间特征对齐。
- 分离的非局部子模块(Separate NL):
- 在空间、通道和时间维度上划分特征图,并对得到的信息分别进行处理,获得相关信息。
- 与 vanilla non-local 架构相比,Separate NL 可以用更少的参数和更浅的网络,来融合视频帧和每帧像素的信息。
重建模块:使用 CARB 和特征解码器进行上采样,上采样模块由子像素卷积层实现。
最终结果:将经过双三次插值的LR目标帧,与重建模块输出结果相加,得到超分辨帧。
对齐法的演变:
在对齐方法中,运动估计和运动补偿技术作为计算机视觉领域的经典研究课题,早已应用于 VSR。
MEMC具有广泛的应用,例如视频编码和增强隔行扫描。
随着基于深度学习的 VSR 的出现,许多工作使用 MEMC 来捕获帧之间的运动信息。
MEMC的早期工作是 Deep-DE,最近提出的一些方法如 VESPCN、SOFVSR、TOFlow 和 FRVSR 也采用了MEMC 技术。
具体来说,早期的视频超分辨率算法采用 VSRnet 中的 Druleas 等传统 MEMC 方法,后续的 VESPCN 、TOFlow 和 FRVSR 算法主要为 MEMC 设计子模块或子网。
通常无法保证大多数 MEMC 方法的准确性。 当亮度变化或视频在帧之间包含较大的运动时,VSR 性能会急剧下降。
因此,对变化的光照和运动条件不敏感的可变形卷积引起了研究人员的更多关注。可变形卷积,用于增强 CNN 对物体几何变化的变换建模能力。
在 VSR 方法中,TDAN 首先利用它来执行帧间对齐。之后,DNLN、EDVR、STVSR 和 D3Dnet 进一步推动它进行帧对齐。
可变形卷积仍然存在一些缺点:计算复杂度高和收敛条件苛刻。该技术在未来的研究工作中还有进一步改进的空间。
五、非对齐法
不对齐法不会对齐相邻帧,来获得 VSR。
这类方法主要利用空间或时空信息进行特征提取。
不对齐法分为四种主要类型:
- 2D 卷积方法 (2D Conv):空间方法。
- 3D 卷积方法 (3D Conv):时空方法。
- 循环卷积神经网络 (RCNN) :时空方法。
- (基于)非局部网络(的 12 种方法):时空方法,利用输入视频的空间和时间信息。
1、2D卷积法
与帧间运动估计和运动补偿等对齐操作不同,输入帧直接被输入到二维卷积网络,在空间上进行特征提取、融合和超分辨率操作。
这种方法使网络自己学习帧内的相关信息。代表性的方法是 VSRResFeatGAN 和 FFCVSR 。
1.1 VSRResFeatGAN
VSRResFeatGAN 利用 GAN 来解决 VSR 任务,通过对抗性训练找到一个好结果。
生成器的结构图。
生成器:
- 卷积层
- 残差块:两个卷积层,后面跟一个 ReLU 激活函数。
判别器:确定生成器的输出是生成图像还是 GT 图像。
- 3 组卷积层:每组包括 1 个卷积层、Batch Normalization(BN) 和 LeakyReLU。
- 1 个全连接层
鉴别器的结果反馈给生成器,来提升生成器产生更接近 GT 图像的结果。
通过迭代优化可以得到一个相对满意的结果。
1.2 FFCVSR
帧和特征上下文视频超分辨率 (FFCVSR)与常见的 MEMC 技术不同, 由多个局部网络和上下文网络组成,以不同的方式利用帧间信息。
是局部网络。
未对齐的 LR 视频帧和前一帧的 HR 输出,一起作为网络的输入,目的是还原高频细节和保持时间一致性。
总结:
上述两种方法都利用了帧之间的空间相关性来进行 VSR 。
VSRResFeatGAN 利用 GAN 的对抗性训练,来寻找合适的结果。
由于 GAN 中的判别器必须猜测生成的帧是否接近 GT,(与 FFCVSR 等方法相比)利用 PSNR 和 SSIM 方法的 VSR 结果, 并不总是令人满意。
2、3D卷积法
3D 卷积模块在时空域上运行,与 2D 卷积相比,后者仅通过输入帧上的滑动核利用空间信息。
在时空域上运行利于视频序列的处理,因为帧之间的相关性,通过提取时间信息被考虑到了。、
3D 卷积法 VSR 的代表有:DUF 、FSTRN 和 3DSRnet。
1.1 DUF
动态上采样滤波器 (DUF)的灵感来自动态过滤器网络,可以为特定输入生成相应的过滤器,然后应用它们来生成相应的特征图。
动态上采样滤波器的结构,加上 3D 卷积学到的时空信息,可以避免使用运动估计和运动补偿。
DUF 不仅执行滤波,还执行上采样操作。为了增强超分辨率结果的高频细节,DUF 使用网络来估计目标帧的残差图。
最终结果是残差图和(经过动态上采样模块与学习过滤器)处理过的LR目标帧的总和。
1.2 FSTRN
快速时空残差网络 (FSTRN) 使用分解的 3D 卷积来提取连续帧之间的信息。
在FSTRN中,一个 的3D卷积核被分解为2个级联的核,大小分别为 和 ,来减少直接使用3D卷积带来的计算量。
FSTRN由四部分组成:
- LR视频浅层特征提取网络(LFENet):使用 3D 卷积来提取 LR 连续输入帧的特征。
- 快速时空残差块(FRBs):包括分解的 3D 卷积层,负责提取输入帧之间的时空信息。
- LR特征融合和上采样SR网络(LSRNet):用于融合来自前一层的信息,并进行上采样。
- 全局残差学习(GRL)模块。
1.3 3DSRnet
3D 超分辨率网络 (3DSRNet)使用 3D 卷积提取连续视频帧之间的时空信息,来进行 VSR 任务。
DSRNet 提出了一种方法,用于应对实际应用中的场景变化,并提出了一个浅层网络来判断输入的连续帧。
如果在当前帧中检测到场景变化,它将被具有相同场景,且最接近当前帧的帧替换。
替换后的序列被发送到后续的视频超分辨率网络。
这种方法在一定程度上克服了场景变化导致的性能下降。
总结:
这些 3D 卷积方法可以提取连续帧之间的时空相关性,而不是执行运动估计以提取帧之间的运动信息,和运动补偿来对齐它们。
与二维卷积方法相比,这些方法具有相对较高的计算复杂度,这限制了它们用于实时视频超分辨率任务。
3、循环卷积神经网络(RCNNs)
RCNN 在对序列数据处理(例如自然语言、视频和音频)进行建模时具有很强的时间依赖性。
一种直接的方法是使用 RCNN 来处理视频序列。
基于这个关键思想,已经提出了几种 RCNN 方法用于视频超分辨率,例如:BRCN 、STCN 和 RISTN。
1.1 BRCN
双向循环卷积网络(BRCN)由两个模块组成:前向子网络和后向子网络。它们结构相似,只是处理顺序不同。
- 前向子网:对来自先前帧的时间依赖性进行建模。
- 后向子网:对来自后续帧的时间依赖性进行建模。
1.2 STCN
时空卷积网络(STCN)是一种没有使用MEMC的,端到端 VSR 方法。STCN 使用 LSTM 提取帧内的时间信息。
STCN 与 RISTN 类似,该网络由三部分组成:
- 空间模块:从多个连续的 LR 帧中提取特征。
- 时间模块:LSTM 的双向多尺度卷积变体,旨在提取帧之间的时间相关性。
- 重建模块
1.3 RISTN
残差可逆时空网络(RISTN)的灵感来自于可逆块。
它设计了 1 个残差可逆块(RIB)、1 个带有残差密集卷积的 LSTM(RDC-LSTM)和 1 个稀疏特征融合策略来自适应地选择有用的特征。RIB 用于有效提取视频帧的空间信息,RDC-LSTM 用于提取时空特征。
RISTN 主要分为三个部分:空间模块、时间模块和重建模块。
空间模块:由多个并行的 RIB 组成,其输出作为时间模块的输入。
时间模块:提取时空信息后,通过稀疏融合策略选择性地融合特征。
重建模块:反卷积重构目标帧的HR结果。
总结:
基于 RCNN 的方法适用于对视频中的时空信息进行建模,因为它们可以映射相邻帧,从而有效地建立具有更轻量级结构的长期依赖关系。
传统的基于 RCNN 的方法难以训练,有时会遇到梯度消失问题。并且当输入序列的长度太大时,它们可能无法捕获长期依赖性,导致无法实现出色的性能。
基于 LSTM 的方法借助对较浅层特征的记忆,可以在一定程度上克服这些限制。
然而,LSTM 的复杂设计限制它们在硬件上的深度,限制它们建模非常长期的依赖。
4、非局部法
非局部法是另一种利用视频帧中时空信息,来实现超分辨率的方法。
这种方法受益于非局部神经网络,非局部神经网络用于捕获远程依赖关系,来进行视频分类。
非局部法克服了卷积和循环计算仅限于局部区域的缺陷。非局部操作计算一个位置的响应值,这个值等于输入特征图中所有可能位置的权重和。
- :计算 之间相关性的函数。
- 函数有高斯、点积、串联等多种选择。
- :计算输入数据特征表示的函数。
- 通常定义为: ,其中
非局部块可以很容易地添加到现有的 CNNs 中。
1.1 PFNL
渐进融合非局部(PFNL)法主要包括三部分:非局部残差块、渐进融合残差块(PFRB)和上采样块。
PFNL 使用非局部残差块提取时空特征,PFRB 将他们融合。
融合后的结果,通过一个子像素卷积层输出,输出结果添加到通过双三次插值上采样的输入帧中,得到最终的超分辨率结果。
PFRB: 由三个卷积层组成。
- 首先,输入帧分别与 3x3 内核卷积,然后连接输出特征图,接着通过 1x1 卷积降低通道维度。
- 将结果分别与之前的卷积特征图连接起来,然后进行 3x3 卷积。
- 将最终结果添加到每个输入帧以获得当前 PFRB 的输出。
1.2 MuCAN
多相关聚合网络(MuCAN)是一个端到端网络,由 1 个时间多相关聚合模块(TM-CAM)、1 个跨尺度非局部相关聚合模块(CN-CAM)和 1 个重构模块组成。
时间多相关聚合模块(TM-CAM):
- 为了对噪声更加稳定和鲁棒,两个相邻的 LR 帧被编码为较低分辨率的特征。
- 为了补偿大幅运动,在原始 LR 特征空间中,由聚合单元 (AU) 进行聚合。
- 为了进行细微的子像素偏移,逐步向上移动到低级/高分辨率阶段。
- 在单个 AU 中,为了包含结构信息,使用基于补丁的匹配策略。
- 为了获得足够的上下文信息,聚合多个候选。
跨尺度非局部相关聚合模块(CN-CAM):接收被聚合的信息 ,使用基于 AvgPool 的金字塔结构,获得时空非局部注意力和 corase-to-fine 空间注意力。
重构模块:接收聚合的结果,产生最终 HR 结果。
总结:
基于非局部的方法将注意力机制引入到 VSR 任务中,可以通过将感受野扩展到全局,建立对时空信息的有效依赖。
使用非局部模块为了计算每个位置的响应,需要关注所有其他位置,并计算所有位置的特征加权平均值。这会导致高计算成本,可以做出一些努力来减少计算开销。
非对齐法依赖神经网络的非线性能力,学习帧之间的运动相关性,来进行视频超分辨率。非对齐法不使用额外的模块去对齐框架。
神经网络的学习能力很大程度上取决于深度神经网络的设计。精心的设计更有可能带来更高的 VSR 性能。
六、性能比较
1、数据集和竞赛
VSR 最流行的数据集:
最广泛使用的训练数据集:Vimeo-90K。
- 是目前最大的,具有真实场景的 VSR 数据集。
最流行的测试数据集:Vid4。
- 其帧包含更多的高频细节。
- 经常用于评估 VSR 方法的性能。
最具挑战性的数据集:REDS。
- 包含具有极大运动的视频。
VSR 国际比赛:
NTIRE 2019 挑战赛:
- 旨在恢复具有大动作和多样化现实世界场景的视频。
- 获胜方案是 EDVR,这可能是 VSR 最受欢迎的作品。
AIM 2019 挑战赛:
- 基于 EDVR 增强的方法获胜。
AIM 2020 挑战赛:
- EVESRNet 获胜。
2019年优酷视频超分辨率与增强挑战赛:
- 获胜方案是 VESR-Net。
- 针对与娱乐相关的视频。
2019 年和 2020 年的 AIM 挑战赛都鼓励大规模因子的 VSR 解决方案。
这些竞赛为 VSR 的发展做出了巨大贡献,有助于开发各种 VSR 应用的新方法。
2、方法的表现
具有代表性的,比例因子为 4 的 VSR 方法,在 PSNR 和 SSIM 方面的性能如下。
补充材料中具有放大倍数为 2 和 3 的 VSR 更多实验结果。
降维类型:
- BI:具有图像调整大小函数的双三次下采样。
- BD:高斯模糊和下采样。
所有 PSNR 和 SSIM 均来自其原始作品。简单的性能比较可能不公平,因为训练数据、预处理和视频中的裁剪区域可能在方法上完全不同。
Top3:EDVR、RBPN 和 FFCVSR。
最新 VSR 法:EDVR 和 RBPN
传统 VSR 法:VSRnet 和 VESPCN
最新 VSR 法效果提升明显,原因可能是:更深层次和更复杂的网络结构的发展,硬件计算能力的提高。
最新方法的性能在未来仍有待提高。
性能优越的方法之间有一些共同的特点。
循环结构:提高了高频细节和长时间距离依赖的鲁棒性。
- MMCNN:LSTM 。
- RRCN :非同步循环结构。
跨层特征:帮助保持时间一致性,并为恢复的结果带来更少伪影和干扰。
EDVR: PCD 对齐。
RBPN:后向投影。
FFCVSR:上下文特征。
基于 MEMC 的方法:
- 更适合通用视频的 VSR,因为它们具有更稳定的性能和相对较低的计算复杂度。
- 如果视频包含大动作,则应用其他可选的技术。
(不管计算成本)可变形卷积的方法:更适合接近真实场景的应用。
3D 卷积和非局部网络:不适合实时应用。
七、趋势和挑战
尽管基于深度学习的最先进的 VSR 方法,在一些公共基准数据集上取得了很大进展,但仍然存在以下挑战和趋势。
1、轻量级超分辨率模型
基于深度学习的 VSR 虽然具有高性能,但在许多实际问题中难以有效部署。这些模型通常有大量的参数,需要大量的计算和存储资源,训练也需要很长时间。
随着移动设备在现代生活中的普及,人们期望将这些模型应用到此类设备上。如何设计和实现高性能的轻量级超分辨率算法是一个重大挑战。
2、模型的可解释性
深度神经网络通常被认为是黑匣子。我们不知道模型在性能好或坏时,模型学到的真实信息。
在现有的 VSR 模型中,没有关于卷积神经网络如何恢复低分辨率视频序列的理论解释。
随着对其解释的深入研究,视频和图像的超分辨率算法的性能可能会大大提高。
3、具有更大缩放因子的超分辨率
对于视频超分辨率任务,现有工作主要集中在放大因子为 、 和 的情况。 和
随着高分辨率(例如 8K 和 16K)显示设备的普及,更大的缩放因子有待进一步研究。随着规模变大,预测和恢复视频序列中的未知信息变得更具挑战性。这可能会导致算法的性能下降,并削弱模型的鲁棒性。
如何为具有较大缩放因子的 VSR 任务开发稳定的深度学习算法仍然具有挑战。大多数视频超分辨率方法都是针对默认缩放因子为4的情况设计的,不适用于真实场景。
比例如 2、3 或 1.5 在 VSR 任务中也很常见。固定尺度的视频超分辨率模型将严重限制其泛化性和可移植性。在实际应用中非常需要一种适用于任意比例因子的通用 VSR 方法。
4、具有随机缩放因子的超分辨率
降维 LR 视频常用两种方法:
- 使用插值直接对 HR 视频进行下采样,例如:bicubic。
- 对 HR 视频执行高斯模糊,然后对视频序列进行下采样。
尽管这两种方法在理论上都表现良好,但在实践中却总是表现不佳。现实世界的降维过程非常复杂,包含很多不确定性。模糊和插值不足以对问题进行建模。
在构建 LR 视频时,应根据实际情况对降维进行理论建模,以减少研究与实践之间的差距。
5、无监督超分辨率方法
大多数最先进的 VSR 方法都采用监督学习。深度神经网络需要大量成对的 LR 和 HR 视频帧进行训练。
这样的配对数据集在实践中很难获得或成本高昂。
人们可能会去合成 LR/HR 视频帧,但由于降维模型太简单,无法表征现实世界的问题,导致 HR/LR 数据集不准确,因此超分辨率方法的性能不令人满意。
因此,非常需要无监督的 VSR 方法。
6、更有效的场景变换算法
现有的视频超分辨率方法很少涉及场景变化的视频。 在实践中,一个视频序列通常有许多不同的场景。
考虑此类视频的视频超分辨率问题时,必须将它们拆分为多个不改变场景的片段,并单独处理。这可能会导致大量的计算时间。
因此,可以处理具有场景变化的视频的深度学习方法对于现实世界的应用是必要的。
7、更合理的视频质量评价标准
评价超分辨率结果质量的标准主要包括PSNR和SSIM。然而,它们的值不能反映人类感知的视频质量。
即使视频的 PSNR 值非常高,视频对人类来说也是不舒服的。
因此,需要制定新的符合人类感知的视频评价标准。尽管已经提出了一些评价标准,但还需要更多能够被广泛接受的标准。
8、更有效地利用信息的方法
视频超分辨率的一个重要特性是利用帧间信息。利用是否有效直接影响性能。
尽管已经提出了许多方法,但仍然存在一些缺点。比如 3D 卷积和非局部模块计算量大,光学估计的精度无法保证。
因此,能够有效利用帧间信息的方法值得进一步研究。
八、总结
在本文中,回顾了近年来用于视频超分辨率的深度学习的发展。首先通过利用帧内信息的方式对现有的视频超分辨率算法进行分类。
虽然基于深度学习的视频超分辨率算法取得了很大的进步,但仍然存在一些潜在的和未解决的问题。深度学习的发展进入了充满挑战的时期。