视频超分:RRN(Revisiting Temporal Modeling for Video Super-resolution)

在这里插入图片描述

论文:用于视频超分的再审视时空模型
文章检索出处: 2020 BMVC

摘要和简介

在这项工作中,我们仔细研究和比较了三种实现视频超分的时间建模方法(早期融合2DCNN,缓慢融合3DCNN和RNN)。
我们提出了一种新颖的递归残差网络(RRN),以实现有效的视频超分。其中利用残差学习来稳定RNN的训练并同时提高超分辨率性能。大量实验表明,与其他时间建模方法相比具有更好的细节。 此外,所提出的方法实现了SOTR。
作者于 2020-10-08 upload 了源码
在这里插入图片描述

方法

overview

整个系统由两部分组成:一个以连续帧为输入并将其与参考帧集成的时间建模网络,以及一个通过隐式方式利用运动信息优化网络的损失函数。 三种时间建模方法与本文所提出的方法的示意图为:在这里插入图片描述

2DCNN

EDSR 的启发,我们设计了带有几个修改后的2D残差块的2DCNN。这种模型将2T +1个连续帧作为输入。在这里插入图片描述
聚合过程可以表述为: R t = W n e t 2 D { W f u s i o n 2 D [ I t − T , . . . , I t + T ] } R_t = W_{net2D}\{W_{fusion2D}[I_{t-T},...,I_{t+T}]\} Rt=Wnet2D{ Wfusion2D[ItT,...,It+T]} W f u s i o n 2 D W_{fusion2D} Wfusion2D的输入张量形状为NC x H x W,N = 2T + 1。生成的残差图的形状为 R t R_t Rt为 H x W x C r 2 r^2 r2,其中r为比例因子。 高分辨率残差图 R t ↑ R_t^↑ Rt通过depth-to-space获得。最后,高分辨率图像 y ^ t \hat y_t y^t为预测的高分辨率残差图 R t ↑ R_t^↑ Rt加bicubic上采样的高分辨率参考图 I t ↑ I_t^↑ It

3DCNN

我们将2D残差块中的2D卷积层修改为3x3x3卷积层。聚合过程可以表述为: R t = W f u s i o n 3 D { W n e t 3 D { I t − T : t + T } } R_t =W_{fusion3D}\{W_{net3D}\{I_{t-T:t+T}\}\} Rt=Wfusion3D{ Wnet3D{ ItT:t+T}} W n e t 3 D W_{net3D} Wnet3D的输入张量形状为C x N x H x W,N = 2T + 1。 为了防止帧数减少,我们在时间轴上添加两个像素值为零的帧。

RRN

在时间步t处的隐藏状态将三部分作为输入:(1)先前的输出 o t − 1 o_{t-1} ot1(2)先前的隐藏状态 h t − 1 h_{t-1} ht1(3)两个相邻帧 I { t − 1 , t } I_{\{t-1,t\}} I{ t1,t}。先前VSR中的RNN遭受梯度消失的困扰。 为了解决这个问题,我们提出了一种新颖的递归网络,称为残留递归网络(RRN),它具有残差映射和跳过连接。在时间t:
在这里插入图片描述>其中 g ( x ^ k − 1 ) g(\hat x_{k-1}) g(x^k1)表示身份残差块中的身份映射,也就是 g ( x ^ k − 1 ) g(\hat x_{k-1}) g(x^k1)= x ^ k − 1 \hat x_{k-1} x^k1 F ( x ^ k − 1 ) F(\hat x_{k-1}) F(x^k1)表示第k层的残差映射。

实验

数据集

在这项工作中,我们采用Vimeo-90k作为训练集。 通过将 σ \sigma σ = 1.6的高斯模糊应用于高分辨率帧并进一步以4比例因子进行下采样来获得大小为64x64的低分辨率图像。 我们在Vid4,SPMCS和UDM10数据集上评估开发的模型。

细节和实验

对于本实验不同的模型,其中S和L分别代表五个模块和十个模块。2DCNN和3DCNN的通道大小设置为128。为了与基于CNN的方法进行合理比较,我们还分别采用了五个和十个残留块作为RRN-S和RRN-L的隐藏状态。 每个块包括一个卷积层,一个ReLU层以及另一个卷积层。卷积层的通道大小设置为128。在时间步 t 0 t_0 t0,先前的估计被初始化为零。 为了训练基于CNN的模型,将2DCNN和3DCNN的初试学习率分别设置为 1 1 1x 1 0 − 4 10^{-4} 104 1 1 1x 1 0 − 3 10^{-3} 103,并在10个epochs后乘以0.1。 训练步骤在30个epochs后完成。 为了训练基于RNN的模型,学习率最初设置为 1 1 1x 1 0 − 4 10^{-4} 104,然后每60个epochs乘0.1直到结束(70个epochs)。 设置 β 1 \beta_1 β1 = 0.9, β 2 \beta_2 β2 = 0.999和权重衰减为 5 5 5x 1 0 − 4 10^{-4} 104,使用Adam优化器对所有模型进行逐像素L1损失函数监督。 对于基于CNN和基于RNN的方法,我们分别将mini-batch的大小设置为64和4。
对比实验:在这里插入图片描述
模型PSNR随信息流变化:
在这里插入图片描述
RNN中不同层数以及是否使用残差块的消融实验,其中" ∗ * "代表出现梯度消失:
在这里插入图片描述
有其他模型的量化评估:在这里插入图片描述
仅供学习使用,请勿转载。

猜你喜欢

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