超分辨率(CVPR2020)~《Video Super-resolution with Temporal Group Attention》

    科技2024-11-17  9

     有兴趣的朋友可以加微信:qyf--1314相互讨论技术

    论文:https://arxiv.org/pdf/2007.10595.pdf

    官方代码:https://github.com/junpan19/VSR_TGA

    Abstract

    视频超分辨率,它的目标是从相应的低分辨率版本生成高分辨率视频。在这项工作中,我们提出了一种新颖的方法,该方法可以有效地以分层方式合并时间信息。将输入序列分成若干组,每组对应一种帧率。这些组提供补充信息以恢复参考帧中丢失的细节,该参考帧与注意模块和深层组内融合模块进一步集成。此外,还提出了一种快速的空间对齐方法来处理大运动视频。大量的实验结果证明了该模型在处理各种运动的视频时的能力。它在多个基准数据集上与最新方法相比取得了良好的性能。

    1. Introduction

    超分辨率的目的是通过填充缺失的细节,从相应的低分辨率(LR)图像中生成高分辨率(HR)图像。对于单图像超分辨率,通过探索图像的自然先验和图像内部的自相似性来估计高分辨率图像。对于视频超分辨率,跨位置的空间信息和跨帧的时间信息都可以用于增强LR帧的细节。近年来,视频超分辨率的研究受到了学术界和工业界的广泛关注。例如,当为监视而录制的视频被放大以识别一个人的身份或汽车牌照时,或者当视频被投影到高清显示设备上以获得视觉愉悦时,需要视频超分辨率。

    大多数视频超分辨率方法[9,1,25,29,17]采用了以下pipeline:运动估计、运动补偿、融合和上采样。它们以离线或在线的方式估计参考帧和其他帧之间的光流,然后通过向后弯曲将所有其他帧与参考帧对齐。然而,对于视频SR来说,这并不是最优的。具有显式运动补偿的方法在很大程度上依赖于运动估计的精度。不精确的运动估计和对准,特别是当存在遮挡或复杂运动时,会导致失真和误差,恶化最终的超分辨率性能。另外,像光流这样的单像素运动估计往往要承受很大的计算量。

    最近Jo等人[8] 提出了一种利用LR帧间的运动信息,通过动态上采样滤波器恢复HR帧的DUF方法。它不受运动估计精度的影响,但其性能受到动态上采样滤波器尺寸的限制。另外,在没有明确考虑参考帧的情况下,进行了从其他帧到参考帧的时间信息集成过程。这会导致输入序列中边界帧的信息整合无效。

    在这项工作中,我们提出了一种新的深层神经网络,它以隐式的方式分层利用运动信息,并且能够充分利用帧间的互补信息来恢复参考帧的缺失细节。我们提出将一个序列分成若干组,并采用分层的方式进行信息集成,即先对每个组中的信息进行整合,然后再跨组进行信息集成,而不是用光流将所有其他帧与参考帧对齐或对整个序列进行三维卷积。该分组方法产生具有不同帧速率的子序列组,为参考帧提供不同种类的互补信息。这种不同的互补信息用注意模块建模,并用三维稠密块和二维密集块进行深度融合,生成高分辨率的参考框架。总的来说,所提出的方法遵循分层的方式。它能够处理各种运动,并自适应地从不同帧速率的组中借用信息。例如,如果一个对象被遮挡在一个帧中,模型将更加关注对象未被遮挡的帧。

    然而,由于接收野是有限的,因此该方法在处理大运动视频序列时的性能仍然有限。针对这一问题,提出了一种基于快速单应性的帧间运动补偿方法。与现有的基于光流的方法相比,所得到的扭曲帧没有完全对齐,但是它们遭受的失真伪影较少。该方法有效地减少了帧间的外观差异,使得所提出的神经网络模型能够聚焦于目标运动,产生更好的超分辨率结果。

    该方法在多个视频超分辨率基准上进行了评估,取得了最新的性能。我们进行了进一步的分析以证明其有效性。综上所述,我们做出了以下贡献:

    •我们提出了一种新的神经网络,它通过帧速率感知组以分层的方式有效地融合时空信息。

    •我们引入了一种快速空间对齐方法来处理大运动视频。

    •所提议的方法在两个流行的VSR基准测试中实现了最先进的性能。

    2. Related Work

    2.1. Single Image Super Resolution

    单图像超分辨率(SISR)技术的发展得益于深度学习的进步。Dong[2]首次提出使用三层CNN进行SISR,并在超分辨率LR图像中显示出令人印象深刻的潜力。从那时起,新的体系结构被设计出来,包括一个非常深的带有剩余连接的CNN[10],一个具有跳过连接的递归结构[11],一个具有子像素层和多通道输出的结构,可以直接将LR图像作为输入处理[23]。较新的网络,包括EDSR[15]、RDN[36]、DBPN[4]、RCAN[35],在新的大型数据集DIV2K[27]上进行训练时,其表现远远超过了先前的研究。更多的讨论可以在最近的调查中找到[31]。

    2.2. Video Super Resolution

    视频超分辨率很大程度上依赖于时间对齐,无论是显式的还是隐式的,以利用相邻低分辨率帧的互补信息。VESCPN[1]是第一个联合训练光流估计和时空网络的端到端视频SR方法。SPMC[25]提出了一种新的用于帧间运动对准的亚像素运动补偿层,同时实现了运动补偿和上采样。[29]通过提出面向任务的流程,以端到端的方式联合训练运动分析和视频超分辨率。[5] 提出了一种利用递归编解码模块来挖掘时空信息的方法,在该模块中可以估计出显式的帧间运动。使用隐式时间比对的方法在多个基准测试中显示出优越的性能。[12] 利用3DCNN的时空特征表示能力来避免运动对齐,并叠加了多个三维卷积层为视频SR。[8]建议使用3D卷积层计算动态滤波器[7],用于隐式运动补偿和上采样。TDAN[26]和EDVR[28]在特征级运动对准中工作,而不是图像级的运动对准。TDAN[26]提出了一种时间可变形对齐模块来对齐不同帧的特征以获得更好的性能。EDVR[28]从两个方面对TDAN进行了扩展:1)以粗到精的方式使用可变形对齐;2)提出了一种新的时空注意融合模块,而不是像TDAN那样幼稚地连接对齐的LR帧。

    与我们最相关的工作是[17],它还将输入帧重新组织为几个组。然而,在[17]中,组是由不同数量的输入帧组成的。此外,该方法为每个组生成一个超分辨率结果,并计算一个注意映射来组合这些超分辨率结果,这需要大量的计算,而且效果不太理想。我们的方法根据帧速率将输入帧分成若干组,并以分层的方式有效地整合时间信息

    3. Methodology

    3.1. Overview

    给定一个由一个参考帧和2N个相邻帧组成的连续低分辨率视频帧序列,其目标是充分利用序列中的时空信息来重构参考帧的高分辨率版本。所提出方法的总体流程如图2所示。它是一个通用框架,适用于处理不同输入长度的序列。以7帧为例,我们将中间帧表示为参考帧,其他帧表示为相邻帧。根据运动解耦,将输入的7帧图像分成三组,每组代表一定的帧速率。提出了一种共享权值的组内融合模块,用于提取和融合各组内的时空信息。通过基于注意力的组间融合模块,进一步整合跨组信息。最后,通过添加网络生成的残差图和输入参考帧的双三次上采样生成输出高分辨率帧。此外,还提出了一个快速空间对齐模块,以进一步帮助处理大运动视频序列。

    3.2. Temporal Group Attention

    隐式运动补偿的关键问题在于相邻帧的时间融合效率低下。在文献[8]中,输入帧沿时间轴堆叠,三维卷积直接应用于叠加帧。这种距离较远的相邻帧没有被参考帧明确地引导,导致信息融合不足,这阻碍了参考帧从远处帧借用信息。为了解决这个问题,我们建议根据相邻2N帧与参考帧的时间距离将其分成N组。然后,采用分层的方式提取和融合时空信息:组内融合模块将每个组内的信息进行整合,然后组间融合模块有效地处理组内特征。

    Temporal Grouping.

    与之前的工作不同,相邻的2N帧根据到参考帧的时间距离被分成N个组。原始序列被重新排序为其中是由前一帧、参考帧和后一帧组成的子序列。请注意,参考帧出现在每个组中。值得注意的是,我们的方法可以很容易地推广到任意帧作为输入。这种分组使得具有不同时间距离的相邻帧能够显式高效地进行整合,原因有两个:1)不同时间距离的相邻帧的贡献不相等,特别是对于具有大变形、遮挡和运动模糊的帧。当一个组中的一个区域是(例如通过遮挡),丢失的信息可以由其他组恢复。也就是说,不同群体的信息是互补的。2) 每个组中的参考帧引导模型从相邻帧中提取有益的信息,从而实现高效的信息提取和融合。

    Intra-group Fusion.

    对于每个组,部署一个组内融合模块,用于组内特征提取和融合。该模块由三部分组成。第一部分包含三个单元作为空间特征抽取器,每个单元由一个3×3的卷积层和一个批归一化(BN)[6]和ReLU[3]组成。所有的卷积层都配备了膨胀率来模拟与一个与组相关的运动水平。在远group运动大、近group运动小的假设下,根据各组的帧速率确定扩张率。其次,在第二部分中,使用3×3×3核的三维卷积层进行时空特征融合。最后,通过在2D密集块中应用18个2D单元来深度整合每个组内的信息,生成组级特征。为了提高效率,组内融合模块的权重被共享给每个组。建议的时间分组的有效性见第4.3节。

    Inter-group Fusion with Temporal Attention.

    为了更好地整合不同群体的特征,引入了一个时间注意模块。时间注意在视频相关任务中得到了广泛的应用[24,33,34,30]。在这项工作中,我们证明了时间注意也有利于VSR的任务,使模型能够在不同时间内关注不同的注意力。在上一节中,根据不同的帧速率将帧序列分类为组。这些组包含补充信息。通常,帧速率慢的组信息量更大,因为相邻帧与参考帧更相似。同时,具有快速帧速率的组也可以捕捉到附近帧中丢失的一些细节信息。因此,时间注意作为一种指导,可以有效地整合来自不同时间间隔组的特征。

    对于每一组,在相应的特征映射Fng上加上一个3×3的卷积层,计算一个单通道特征映射Fna。它们被进一步连接,并且沿着时间轴的softmax函数被应用到跨信道的每个位置,以计算注意映射,如图3所示。如图3所示,通过沿时间轴应用softmax计算每个组的中间映射并计算注意映射M(x,y)。

     组间融合模块的目标是聚合跨不同时间组的信息并生成高分辨率残差图。为了在时间组上充分利用注意力加权特征,我们首先通过沿时间轴将特征进行串联来汇总这些特征,并将其馈入3D密集块中。然后,将2D密集块放在顶部以进行进一步融合,如图4所示。3D单元具有与组内融合模块中使用的2D单元相同的结构。将具有1×3×3内核的卷积层插入3D密集块的末尾以减少通道。 2D和3D密集块的设计受到RDN [36]和DUF [8]的启发,它们以一种有效的方式修改了我们的pipeline。

    最后,类似于几种单图像超分辨率方法,使用深度空间操作[23]对充分聚集的特征进行上采样,以生成高分辨率残差图Rt。将高分辨率重建I ^ t计算为残差图Rt和三次三次上采样参考图像It之和”。

    3.3. Fast Spatial Alignment

    虽然该模型能够有效地利用帧间的时间信息,但在处理大运动视频时存在一定的困难。为了提高模型在大运动情况下的性能,我们进一步提出了一个快速的空间对准模块。与以往的方法[19,1,29]不同的是使用离线光流或集成光流网络进行运动估计和补偿,我们估计每两个连续帧之间的单应性,并将相邻帧扭曲到参考帧,如图5所示。

    兴趣点可以被SIFT[18]或ORB[21]等特征检测器检测,并计算点对应来估计单应性。从A帧到C帧的单应性可以计算为从A到B和从B到C的单应性的乘积:

    对于单应性,逆变换可以用矩阵的逆来表示: 

     由于光流是针对每个像素计算的,不完善的光流估计会给图像扭曲带来很多意想不到的像素级失真,破坏原始图像的结构。另外,大多数基于光流的方法[14,1,25,29]都是独立估计相邻帧与参考帧之间的光流,这在超分辨长序列时会带来大量的冗余计算。在我们的方法中,由于单应变换是全局的,所以它能更好地保持结构并引入很少的伪影。此外,单应性的联合构图性质允许将两个帧之间的单应性分解为该间隔中每两个连续帧之间的单应性的乘积,这避免了多余的计算并加快了预对准。请注意,这里的预对准并不需要完美。只要不引入太多像素级的失真,所提出的VSR网络可以获得良好的性能。我们还引入了退出机制来进行预对准以提高鲁棒性。也就是说,在检测到很少兴趣点或帧与应用H和H-1之后的结果之间存在很大差异的情况下,帧保持原样,而不进行任何预对准。换言之,在预对准过程中采用保守策略。

    4. Experiments

    为了评估该方法,我们进行了一系列实验,并将结果与现有的最新方法进行了比较。随后,我们进行了详细的消融研究,分析了所提出的时间分组、群体注意和快速空间对准的有效性。结果表明了该方法的有效性和优越性。

    4.1. Implementation Details

    Dataset.

    与[5,29]相似,我们采用了Vimeo-90k[29]作为训练集,这是一种广泛用于视频超分辨率任务的训练集。我们从高分辨率视频片段中提取空间分辨率为256×256的区域。与[8,29,32]相似,通过应用标准差为σ=1.6和4×下采样的高斯模糊,可以生成64×64的低分辨率面片。我们在两个流行的基准上评估了所提出的方法:Vid4[16]和Vimeo-90K-T[29]。Vid4由四个不同运动和遮挡的场景组成。Vimeo-90K-T包含约7k高质量帧和多种运动类型。

    Implementation details.

    在组内融合模块中,使用三个二维单元进行空间特征提取,然后进行三维卷积和二维密集块中的十八个二维单元来整合每组的信息。对于组间融合模块,我们在3D密集块中使用了4个3D单元,在2D稠密块中使用了21个2D单元。对于2D和3D单元中的卷积层,信道大小被设置为16。除非另有说明,我们的网络采用七个低分辨率帧作为输入。该模型由像素级L1损失监督,并用Adam[13]优化器进行优化,其中β1=0:9,β2=0:999。训练时权重衰减设定为5×10-4。学习率最初设定为2×10-3,然后每10个周期降低0.1倍,直到30个周期。小批量的大小设置为64。训练数据以0.5的概率翻转和旋转来扩充。所有的实验都是在一台装有python3.6.4、PyTorch 1.1和Nvidia Tesla V100 gpu的服务器上进行的。

    4.2. Comparison with State-of-the-arts

    我们将提出的方法与六种最新的VSR方法进行了比较,包括TOFlow [29],SPMC [25],Liu [17],DUF [8],RBPN [5],EDVR [28]和PFNL [32] 。 TOFlow和SPMC都通过光流估计应用显式的像素级运动补偿,而RBPN使用预先计算的光流作为附加输入。 DUF,EDVR和PFNL使用隐式运动补偿进行VSR。我们会自行谨慎地实现TOFlow和DUF,并根据公开的代码重建RBPN和EDVR。我们重现了本文中报道的大多数方法的性能,但EDVR除外。Tab.1和Tab.2给出了关于Vid4和Vimeo-90K-T的最新方法的定量结果,这些结果要么在原始论文中报告,要么由我们计算。

    在评估中,我们将所有帧都考虑在内,但DUF方法[8]会在每个帧的四个边界上裁切8个像素,因为它会遭受严重的边界伪影。此外,我们还在Tab.2中大小为112×64的LR图像上展示了大多数方法的参数和FLOP的数量。 在Vid4测试集上,所提出的方法在Y通道上达到27.59dB PSNR,在RGB通道上达到26.10dB PSNR,在很大程度上优于其他最新方法。图6中的定性结果也验证了该方法的优越性。

    归因于所提出的时态小组注意,它能够使充分利用帧之间的补充信息,我们的模型比其他方法产生更清晰的边缘和更细致的细节纹理。另外,我们提取时间轮廓以评估图8中时间一致性的性能。通过从连续帧中获取相同水平的像素行并将其垂直堆叠,可以生成时间轮廓。时间轮廓表明,所提出的方法给出了时间上一致的结果,与其他方法相比,该方法所遭受的闪烁伪像更少。

    Vimeo-90K-T是一个庞大而具有挑战性的数据集,涵盖了运动较大且照明变化复杂的场景。将该方法与包括TOFlow,DUF,RBPN和EDVR在内的几种方法进行了比较。如Tab.2和图7所示,所提出的方法在这个具有挑战性的数据集上也实现了非常好的性能。它在PSNR和SSIM方面都大大优于大多数最新方法,例如TOFlow,DUF和RBPN。唯一的例外是EDVR-L,其模型大小和计算量约为我们方法的四倍。尽管如此,我们的方法在PSNR方面仍相当可比,在SSIM中则更好。

    4.3. Ablation Study

    在这一部分中,我们对所提出的时间群体注意和快速空间对齐进行了一些消融研究,以进一步证明我们方法的有效性。

    Temporal Group Attention

    首先,我们用不同的方式组织输入序列。一种基线方法是简单地沿时间轴堆叠输入帧,并直接将其输入到几个3D卷积层,类似于DUF[8]。除了我们的分组方法{345;246;147}之外,我们还尝试了其他分组方式:{123;345;567}和{345;142;647}。如表3所示。

    在这些方法中,DUF-like输入的性能最差。这说明以分层方式集成时间信息是跨帧集成信息的一种更有效的方法。{345;246;147}和{345;142;647}都优于{123;345;567},这意味着在每组中添加参考帧的优势。在组中有参考可以鼓励模型提取参考框架中缺失的补充信息。我们的分组方法{345;246;147}的另一个0.05dB的改进可以归因于基于运动的分组在使用时间信息方面的有效性。

    此外,我们还评估了一个模型,该模型将注意力模块从整个模型中移除。如表4所示。.这个型号的性能比我们整个模型差一点。我们还训练我们的完整模型与序列的5帧作为输入。如表4所示表明,该方法能有效地从附加帧中提取信息。我们注意到,即使输入少2帧,所提出的方法仍优于DUF。此外,我们还进行了一个玩具实验,其中一部分相邻帧被遮挡,并可视化了时间群体注意力的地图。如图9所示,当一个组不能提供补充信息来恢复该区域的细节时,该模型确实尝试从其他组借用更多的信息。

    Fast Spatial Alignment.

    为了研究所提出的快速空间对齐的有效性和效率,我们为提出的TGA模型配备了三种不同的预对准策略:没有对齐的TGA、带PyFlow的TGA和带FSA的TGA。评估是在Vimeo-90K-T上进行的,视频剪辑中存在各种运动。Tab.5结果表明,采用PyFlow的TGA模型性能明显低于未进行任何预对准的TGA模型。这意味着不完美的光流估计会导致不精确的运动补偿,例如大运动区域的失真(参见图5中的绿框),这会在训练过程中混淆模型并损害最终的视频超分辨率性能。相比之下,提出的FSA将TGA模型的性能从37.32dB提高到37.59dB。这表明,所提出的FSA虽然不能完全对齐帧,但能够以适当的方式减少帧之间的外观差异。我们还计算了这个模块在Vimeo-90K-T数据集上的时间成本,并将其显示在Tab.5中。我们的FSA方法比PyFlow方法更有效。注意,由于Vimeo-90K-T中的每个序列只包含7个帧,FSA在减少冗余计算方面的优势并没有完全发挥出来。PyFlow和我们的FSA都运行在CPU上,并且FSA可以通过优化的GPU实现进一步加速。

    5. Conclusion

    在这项工作中,我们提出了一个新的深层神经网络,它以隐式的方式分层整合时间信息。为了有效地利用帧间的互补信息,输入序列被重新组织成具有不同帧速率的若干子序列。分组允许以分层方式提取时空信息,然后是组内融合模块和组间融合模块。组内融合模块提取各组内的特征,组间融合模块自适应地从不同的组中提取互补信息。此外,还提出了一种快速的空间对齐方法来处理大运动情况下的视频。该方法不仅能重建高质量的HR帧,而且能保持时间的一致性。在多个基准数据集上的大量实验证明了该方法的有效性。

    Processed: 0.016, SQL: 8