极市导读
本文是第一个也是唯一一个视频超分方向的综述,回顾了基于深度学习的视频超分技术的研究进展,提出了一种基于深度学习的视频超分分类方法,并总结了SOTA方法在一些公共基准数据集上的性能。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
近年来,深度学习在很多领域取得了进展,其中包括视频超分辨率任务。本文是第一个也是唯一一个视频超分方向的综述,主要看点如下:
1)回顾了基于深度学习的视频超分技术的研究进展; 2)提出了一种基于深度学习的视频超分分类方法,利用不同处理帧间信息的方式进行分类; 3)总结了SOTA方法在一些公共基准数据集上的性能; 4)分析了视频超分任务的一些前景和挑战;
视频超分源于图像超分,其目的是从一个或多个低分辨率(LR)图像中恢复高分辨率(HR)图像。它们的区别也很明显,由于视频是由多个帧组成的,即前者通常利用帧间的信息来进行修复。下面将叙述一些有关视频超分的基础背景知识(本节为基础知识,选看)。
HR的退化过程如下:
其中表示HR,表示LR,(·)表示退化函数,θα表示退化函数的参数和各种退化因子,例如噪声、运动模糊、下采样因子等。视频超分旨在解决退化的视频序列,从而恢复相应的HR视频序列。因此超分辨过程可理解为上述的逆过程,表述如下:
其中表示超分辨率估计值(SR)。在大多数现有的方法中,退化过程如下:
其中k代表模糊核,n代表高斯噪声,和⊗代表下采样s倍和卷积操作。
与图像超分辨率一样,视频质量主要通过峰值信噪比(PSNR)和结构相似性指数(SSIM)来评价。这些指标分别衡量两幅图像像素的差异和结构的相似性。PSNR定义为:
其中L表示颜色值的最大范围,通常为255,N表示图像中像素的总数,MSE经常作为损失函数出现。SSIM定义为:
其中和分别表示图像和的平均值,和是常数,通常设为0.01和0.03,σ和σ表示标准差,σ表示协方差。
此外,度量方法还包括MOVIE、感知图像相似度(LPIPS),tOF和tLP等。
到目前为止,已经有了许多的视频超分算法。下图总结了近年来基于深度学习的视频超分方法的特点。其中MEMC表示运动估计和补偿方法,DC表示可变形卷积方法,3D Conv表示3D卷积方法,RCNN表示循环卷积神经网络方法。
多篇研究表明,帧间信息的利用对视频超分的性能有很大影响。正确、充分地利用这些信息可以提高超分的最终结果。因此,根据帧间信息的利用方式——是否对齐,将现有方法分为两大类:对齐方法和非对齐方法,如下图所示:
对齐方法通过提取运动信息,使相邻帧与目标帧对齐。该方法主要有运动补偿和可变形卷积两种方法。
在视频超分对齐方法中,大多数方法采用运动补偿和运动估计技术。具体而言,运动估计的目的是提取帧间运动信息,而运动补偿用于根据帧间运动信息执行帧间的扭曲操作使其对齐。大多数运动估计技术都是通过光流方法来实现的。该方法通过相邻帧在时域的相关性和变化来计算相邻帧之间的运动。运动补偿方法可分为传统方法(如LucasKanade、Druleas)和深度学习方法(如FlowNet、FlowNet 2.0和SpyNet)。
光流方法以两个连续帧和作为输入,其中一个是目标帧,另一个是相邻帧。然后,该方法通过以下公式计算从帧到的光流:
其中和分别代表水平和垂直分量,ME(·)为计算光流的函数,θ为所需参数。运动补偿用于根据运动信息在图像之间进行图像变换,使相邻帧在空间上与目标帧对齐。它可以通过一些方法实现,如双线性插值和空间变换网络(STN)等:
其中MC(·)表示运动补偿函数,、和θ分别表示相邻帧、光流和参数。图3示出了运动估计和运动补偿的示例。下面将介绍这类中的一个代表性方法——RBPN。
RBPN
论文链接:https://arxiv.org/pdf/1903.10128.pdf
受反投影算法的启发,提出了循环反投影网络(RBPN),其结构如下图所示。
该网络由特征提取模块、投影模块和重建模块组成。特征提取模块包括两个操作,一个是提取目标帧的特征,另一个是从目标帧、相邻帧和相邻帧到目标帧的光流中提取特征,然后隐式地执行对齐。光流由pyflow计算。投影模块由编码器和解码器组成,如下图所示。在编码器中,将特征提取模块输出的两个特征图分别进行单图超分和多图超分处理。然后将两个结果的差分图输入残差模块,计算残差。最后,将残差结果和单图超分之和作为编码器的输出,输入进解码器。在解码器中,通过残差模块和下采样操作来处理输入,将输出输入进下一个投影模块,将所有投影模块解码器的输出输入进重建模块,得到SR帧。投影是重复使用的,直到处理完所有相邻帧,这是“循环反投影网络”一词的原因。
RBPN采用DBPN作为单图超分网络,ResNet和反卷积作为多图超分网络。使用Vimeo-90K数据集作为训练集,同时使用数据扩充技术。批大小和补丁大小分别设置为8和64×64。损失和Adam分别作为损失函数和优化器。初始学习率设置为,当总迭代执行一半时,学习率将降低到初始的十分之一。
普通的卷积神经网络通常是对一层中的所有核使用一个固定的大小,这限制了网络对几何变换建模的能力。相比之下,可变形卷积能够减轻这种限制。输入特征通过卷积操作以获得偏移。在传统的卷积核中加入偏移量,得到一个可变形的卷积核,然后与输入特征进行卷积,得到输出特征,如下图所示。
虽然可变形卷积增加了网络对空间变形的适应性,但计算量也相应的增加了。下面将介绍这类中的一个代表性方法——EDVR(增强的可变形视频恢复)。
EDVR
论文链接:https://arxiv.org/pdf/1905.02716.pdf
EDVR是NTIRE19挑战的冠军模型。它提出了两个关键模块:金字塔、级联和可变形对齐模块(PCD)和时空注意融合模块(TSA),分别用于解决视频中的大运动和有效融合多帧。EDVR由PCD、TSA和重建模块三部分组成。首先,通过PCD对输入帧进行对齐,然后通过TSA对对齐的帧进行融合。然后将融合后的结果输入重建模块进行特征提取,再通过上采样得到SR残差图像,将SR残差图像加到直接上采样的目标帧中得到最终的SR帧,结构如下图所示。为了进一步提高性能,EDVR还采用了两阶段的方法,其第二阶段与第一阶段相似,但网络深度较浅。
EDVR使用NTIRE19挑战中提出的真实动态场景(REDS)数据集作为训练集。数据集由300个分辨率为720×1280的视频序列组成,每个视频有100帧。作者选取了4个具有代表性的视频(REDS4)作为测试集,其余视频作为训练集进行数据扩充。此外,EDVR采用Charbonnier函数作为损失函数,Adam作为优化器,它以五个连续的帧作为输入。补丁大小和批大小分别设置为64×64和32。初始学习速率设置为。
与对齐方法不同,非对齐方法在重建前不进行帧对齐。非对齐方法分为空间非对齐方法和时空非对齐方法,由于使用空间对齐方法的模型不多,在这里我们着重介绍时空非对齐方法。
输入帧直接输入二维卷积网络,在空间上进行特征提取、融合和超分运算。空间非对齐方法使网络能够自己学习帧内的相关信息,从而进行超分重建。VSRResNet属于空间非对齐方法,结构如下图,具体细节不再过多阐述。
时空非对齐方法特点是同时利用输入视频的时空信息。根据当前主流模型,将时空方法分为三类:三维卷积(3D Conv)、循环卷积神经网络(RCNN)和非局部方法。接下来,将详细介绍相关的最新方法。
与二维卷积相比,三维卷积模块可以在时空域上操作。这有利于视频序列的处理,因为可以通过提取时间信息来考虑帧之间的相关性。下面将介绍这类中的一个代表性方法——DUF(动态滤波上采样网络)。
DUF
论文链接:https://openaccess.thecvf.com/content_cvpr_2018/papers/Jo_Deep_Video_Super-Resolution_CVPR_2018_paper.pdf
动态滤波器网络可以为特定的输入生成相应的滤波器,然后应用它们来生成相应的特征图。动态上采样滤波器的结构结合了三维卷积学习的时空信息,避免了运动估计和运动补偿的使用。DUF不仅执行滤波,还执行上采样操作。为了增强超分辨率结果的高频细节,DUF使用一个单独的网络来估计目标帧的残差图。SR图是残差图和动态上采样滤波器处理后的帧的总和。
DUF还提出了一种基于时间轴的视频数据增强方法。通过对不同时间间隔的帧进行顺序或相反顺序的采样,可以得到不同运动速度和方向的视频。在实验中,DUF使用Huber函数作为其损失函数,其中δ=0.01。Adam用作优化器,初始学习速率设置为。
RCNN在自然语言、视频、音频等序列数据处理的建模中具有很强的时间依赖性。因此可以使用在视频超分领域中。但是本文没有介绍性能很好的RSDN、RRN等网络,故此处不再做阐述。
非局部操作是计算一个位置的响应值,该值等于输入特征图中所有可能位置的权重和。其公式如下:
其中i是响应值的输出位置索引,j是所有可能位置的索引,x和y分别是具有相同维数的输入和输出数据,f是计算i和j之间相关性的函数如高斯、点乘等,g是计算输入特征的函数,C(x)是归一化因子。这里,g通常定义为:,其中是需要学习的权重矩阵。下图给出了上述过程建立的相应卷积计算。其中f是embedded Gaussian函数。
非局部块可以很容易地加入到现有的深度卷积神经网络中。虽然非局域网络能够有效地捕获时空信息,但是计算量大。下面将介绍这类中的一个代表性方法——PFNL(渐进式非局部融合)。
PFNL
论文链接:https://openaccess.thecvf.com/content_ICCV_2019/papers/Yi_Progressive_Fusion_Video_Super-Resolution_Network_via_Exploiting_Non-Local_Spatio-Temporal_Correlations_ICCV_2019_paper.pdf)
PFNL使用非局部残差块来提取时空特征,并提出渐进式融合残差块(PFRB)来进行融合。最后,通过亚像素卷积层的输出加到通过双三次插值上采样的输入帧中,得到SR图像。PFRB由三个卷积层组成。首先,对输入帧进行3×3卷积,串联后通过1×1卷积降低通道维数。并将结果分别与之前的卷积特征图串联,进行3×3卷积。最后的结果被加到每一个输入帧中,得到当前PFRB的输出。此外,为了减少PFRB叠加带来的参数增加,PFNL采用了通道参数共享机制,有效地平衡了参数个数与网络性能之间的权衡。损失函数为Charbonnier函数,使用Adam作为优化器,为其初始学习速率。
本节总结了具有代表性的视频超分方法在PSNR和SSIM方面的性能。退化类型包含双三次下采样(BI)和高斯模糊下采样(BD)。
此外,还总结了几项国际视频超分辨率竞赛,本文认为这些竞赛为视频超分的发展做出了巨大的贡献,它们值得更多的关注。
尽管基于深度学习的视频超分方法已经取得了很大的进展,但是仍然存在一些挑战。
基于深度学习的视频超分辨率方法虽然具有很高的性能,但由于模型参数庞大,需要大量的计算和存储资源,训练时间长,在实际问题中难以有效部署。随着移动设备在现代生活中的流行,人们期望将模型应用到这些设备上。如何设计和实现一种高性能、轻量级的超分算法,以满足实际应用的需要是一个挑战。
深度神经网络通常被认为是黑箱。也就是说,不管模型表现如何,我们也无法知道模型学到了什么真正的信息。在现有的视频超分模型中,卷积神经网络如何恢复低分辨率视频序列还没有一个理论解释。随着对其解释的深入研究,包括视频和图像超分方法在内的超分算法的性能可能会有很大的提高。
对于视频超分任务,现有的工作主要集中在放大倍数为4的情况下。更具挑战性的尺度(如×8、×16)很少被探索。随着高分辨率(如4K、8K)显示设备的普及,大尺度的超分有待进一步研究。显然,随着尺度的增大,视频序列中未知信息的预测和恢复会变得越来越困难。这可能导致算法的性能下降,削弱模型的鲁棒性。因此,如何开发稳定的深度学习算法来实现更大规模的视频超分辨率仍然是一个重要的问题。
在现有的研究中,LR视频的退化通常由两种方法得到。一种是使用插值(如双三次插值)直接对HR视频进行下采样。另一种是对HR视频进行高斯模糊,然后对视频序列进行降采样。虽然这两种方法在理论上都有很好的表现,但在实践中却总是表现不佳。真实世界的退化过程是非常复杂的,并且在真实世界的问题中包含了大量的不确定性,模糊和插值对问题的建模是不够的。因此,在构建LR视频时,应该从理论上建立与实际情况相一致的退化模型,以缩小研究与实践之间的差距。大多数最先进的视频超分辨率方法都是有监督学习。由于降质过程是复杂的和HR/LR对获取是比较难获取的。或许无监督的超分方法可能会称为解决这个问题的一个方法。
现有的视频超分方法很少涉及场景变化的视频。实际上,一个视频序列通常有许多不同的场景。在研究这类视频的超分问题时,必须在不改变场景的情况下将其分割成多个片段,并分别进行处理。这可能会导致大量的计算和计算时长。因此,能够处理场景变化的深度学习方法对于实际应用是必要的。
评价超分辨率结果质量的标准主要有PSNR和SSIM。然而,它们的值并不能反映视频质量对人的感知。也就是说,即使视频的PSNR值很高,视频对人类来说也不一定是舒服的。因此,需要开发出符合人类感知的新的视频评价标准。虽然提出了一些评价标准,但仍需要更多能被广泛接受的标准。
视频超分的一个重要特征是利用帧间信息。它的有效利用直接影响着模型的性能。尽管本文提出了许多方法,但仍存在一些不足。例如,三维卷积和非局部模运算量大,光流估计的精度无法保证等。因此,有效利用帧间信息的方法值得进一步研究。