视频超分:TGA(Video Super-resolution with Temporal Group Attention)

在这里插入图片描述
论文:视频超分与时域注意机制
文章检索出处:2020 CVPR

摘要和简介

提出了一种新颖的神经网络,通过帧速率组以分层的方式有效的融合了时空信息。
介绍了一种快速空间对齐方法去处理大规模运动的视频。
所提出的上述两种方法实现了SOTR。
在这里插入图片描述

方法

Overview

给定一个参考帧 I t L I_t^L ItL和2N个相邻帧{ I t − N L I_{t-N}^L ItNL,…, I t L I_t^L ItL,… I t + N L I_{t+N}^L It+NL},去重建参考帧的高分辨率版本 I ^ t \hat I_t I^t。根据一些筛选帧的方式,我们将这7帧分为三组,每组代表一种帧速率,将不同的组分别输入进权重共享的组内融合模块,以提取和融合每个组内的时空信息。跨组的信息通过基于注意力的组间融合模块进一步整合。最后通过将网络产生的残差图和输入参考帧的双三次上采样进行像素相加生成高分辨率帧。另外,还提出了一种快速空间对齐模块,以进一步帮助处理大规模运动的视频序列。
在这里插入图片描述

时域组

基于到参考帧的距离,将2N个相邻帧分成N组{ G 1 G_1 G1,…, G N G_N GN},其中 G n G_n Gn={ I t − n L I_{t-n}^L ItnL, I t L I_t^L ItL, I t + n L I_{t+n}^L It+nL}。由于两个原因,该分组允许对具有不同时间距离的相邻帧进行显示且有效的集成:(1)不同时间距离的相邻帧的贡献不同,尤其是对于具有较大形变、遮挡和运动模糊的帧。不同组的信息是互补的。(2)每组中的参考帧指导模型从相邻帧中提取有益的信息,从而实现有效的信息提取融合。

时域组融合

组内融合模块在每个组内进行特征提取和融合。该模块包含三个部分。第一部分包含三个单元作为空间特征提取器,其中每个单元都由一个3x3卷积,一个BN和一个ReLU组成。所有的卷积层都配备有膨胀率,根据各组的帧频确定。第二部分使用具有3x3x3的3D卷积来进行时空特征融合。最后,通过18个2D单元组成的2D密集块以在每个组内深度集成信息来生成特征 F n g F_n^g Fng。另外,组间权重是共享的。

组内融合与组间注意力机制

上节中,根据不同的帧速率将帧序列分为几组,这些组中包含补充的信息。通常,帧速率较慢的组信息量更大,因为相邻帧与参考帧更相似。快速帧速率组可以捕获有关附近帧中缺少的一些精细细节的信息。因此引入时间注意力机制能有效整合不同时间间隔组的特征。
对于每个组的输出,通过一个3x3卷积获取单通道特征图 F n a F_n^a Fna。将这些输出叠加后在时间轴应用softmax以计算注意力图。在这里插入图片描述
加权注意力特征 F ~ n g \tilde F_n^g F~ng,其中⊙代表乘法。:在这里插入图片描述
为了在时间组上充分利用注意力加权特征,首先通过时间轴对这些特征进行串联,并将其馈入到3D密集块中。然后通过2D密集块以进行进一步融合。3D单元具有与组内融合模块中2D单元相同的结构。在3D块中最后插入1x3x3的卷积层以减少通道数量。最后使用depth-to-space操作进行上采样生成高分辨残差图 R t R_t Rt。将 R t R_t Rt与双三次上采样参考帧的 I t ↑ I_t^↑ It相加生成最终的高分辨率图像 I ^ t \hat I_t I^t在这里插入图片描述

快速空间对齐

提出了一种快速空间对准模块,使用离线光流或集成光流网络进行运动估计和补偿。我们估计每两个连续帧之间的单应性并扭曲相邻帧一直到参考帧。兴趣点可以通过特征检测器(SIFT,ORB)进行检测,并计算点对应关系以估计单应性。帧A到C的单应性可以计算为A到B与B到C的乘积。单应性的逆变换可以用矩阵的逆来表示。我们还介绍了用于预对齐的稳健性退出机制,即在检测到很少兴趣点或者在应用逆后,帧与结果之间存在很大差异时,将帧保持原样而不进行任何的预对准。在这里插入图片描述

实验

数据集:Vimeo-90K,通过标准差 σ \sigma σ=1.6的高斯模糊和4x下采样从256x256生成64x64的LR帧。
测试集:Viemo-90K-T和Vid4
在组内融合模块中,三个2D单元用于空间特征提取器,然后是3D卷积和2D密集块中的18个2D单元,以将信息集成到每个组中。 对于组间融合模块,我们在3D密集块中使用4个3D单元,在2D密集块中使用21个2D单元。 对于2D和3D单位的卷积层,通道大小设置为16。 我们的网络将以7个低分辨率帧作为输入。 使用L1损失作为损失函数,Adam优化器进行优化,其中 β 1 \beta_1 β1= 0.9和 β 2 \beta_2 β2 = 0.999。 训练期间权重衰减设置为5x 1 0 − 4 10^{-4} 104
初试学习率设置为2x 1 0 3 10^3 103,然后每10步缩小0.1倍,直到30步。mini_batch的大小设置为64。通过翻转和旋转以0.5的概率增加训练数据。 所有实验均在装有Python 3.6.4,PyTorch 1.1和Nvidia Tesla V100 GPU的服务器上进行。
不同模型之间的RSNR和SSIM量化评估:
在这里插入图片描述
不同输入序列和不同堆叠方式:在这里插入图片描述
是否有注意力模块和不同的输入帧数对模型精度的影响:在这里插入图片描述
不同对准方式对模型精度的影响:在这里插入图片描述

仅供学习使用,请勿转载。

猜你喜欢

转载自blog.csdn.net/Srhyme/article/details/108828359