Video Super-Resolution with Recurrent Structure-Detail Network阅读

Video Super-Resolution with Recurrent Structure-Detail Network阅读_第1张图片
代码:https://github.com/junpan19/RSDN
文章出自ECCV 2020,与CVPR 2020 VSR-TGA出自同一个作者团队.

文章思路

这篇文章的创新点在于将一帧图像分为了Structure和Detail两部分,其中,Structure部分包含低频信息,而Detail部分包含高频信息,最后两者分别进行处理。
算法的整体框架如下图:
Video Super-Resolution with Recurrent Structure-Detail Network阅读_第2张图片
从上图可以看到这是一种类似循环网络的处理方式,但实际结构中并没有用到循环结构,它的思路和FRVSR这篇文章类似,即是用前一时刻的处理结果作为后一时刻一部分的输入,这样循环迭代,这也是这里循环意思的来源。

具体的实现细节如下图所示:
Video Super-Resolution with Recurrent Structure-Detail Network阅读_第3张图片
推理过程概述如下

1、首先输入的两帧,一个是当前帧(目标帧),一个是前一帧,分别通过Bicubic插值算法先下采样再上采样,以获取Structure信息,然后让目标帧与前一帧分别与他相应的Structure成分做差,分别得到对应的Detail信息。通过这种方式实现两种信息的分离。(作者说也可以通过低通和高通滤波器实现)

2、接下来就分别对这两种信息进行处理,分为上下两个分支,如上图所示。3、以Detail分支为例,将Detail信息与前一帧估计的Detail信息,前一帧估计的隐状态信息按通道维度进行拼接,然后送入一个3x3卷积层和多个SD(Structure-Detail)模块进行特征融合,此时的输出再通过一个3x3卷积和一个上采样层,最终输出当前帧的高分辨率Detail结果。

4、Structure分支与Detail处理过程一样。区别仅在于输入输出。输入是Structure信息和前一帧估计的Structure信息,前一帧估计的隐状态信息拼接的结果。输出是当前帧的高分辨率Structure结果。

5、对于当前帧的隐状态,则对Structure和Detail分支分别再最后一个SD模块的输出求和,求和的结果再通过3x3卷积得到当前帧的隐状态。

6当前帧的超分结果,则是将两个分支在最后一个SD模块的输出经过一个3x3卷积的结果按通道维度拼接,然后送入另一个3x3卷积和上采样层,最终得到当前帧的超分结果。

SD模块细节
直接上图,结构简单,一目了然
Video Super-Resolution with Recurrent Structure-Detail Network阅读_第4张图片
隐状态自适应细节
提出这个模块的初衷可以看下图:
Video Super-Resolution with Recurrent Structure-Detail Network阅读_第5张图片
如果过去的信息一并的给当前帧的话,可能达不到理想结果,因为没有选择性,存在信息的冗余,冗余的信息可能会干扰正常的处理。理想的情况是不同的帧能够从过去的信息中有选择性的提取对自己超分有益的信息。

具体的处理方式如下图:
Video Super-Resolution with Recurrent Structure-Detail Network阅读_第6张图片
它的过程是:
1)当前帧通过一个3x3卷积得到一组针对当前帧中每个位置的滤波器,每个滤波器的大小为KxK。
2)然后让每个位置的滤波器与隐状态的每个特征通道进行卷积操作,它的输出结果再经过Sigmoid函数将数值限定在[0,1]之间,以表示相似度关系。(个人觉得这有点注意力机制的味道)
3)将这个相似度矩阵与输入的隐状态进行对应元素对应通道相乘,从而得到自适应后的隐状态特征。

这里为什么能够用滤波器去构建这种相似关系了?
我的理解是,滤波器本身有提取特征的作用,如果这个滤波器是基于我要超分的帧得到的,那它提取的模式就必然与要超分的帧相关,所以当我们应用这些滤波器去与隐状态卷积的时候,就可以在其中提取与要超分的帧相关的信息,然后将其与输入隐状态相乘,便实现过滤掉无用信息,突出有用信息的目的。

损失函数
使用Cb损失作为目标函数,包含三项,分别对Structure,Detail和超分结果进行了损失计算,三者之和作为最终损失。如下:
在这里插入图片描述
其中,各个损失项的权重选择,作者通过消融实验进行了说明,如下表:
在这里插入图片描述
看文章,作者最后选择的权重分别是1,1,1。

实验结果

训练数据集:Vimeo-90K
测试数据集:Vimeo-90K-T,Vid4,UDM10
低分辨视频帧获取方式:
高斯模糊(标准差1.6)+Bicubic下采样
对于一个视频两端的视频帧的处理方式:反射,比如输入五帧,对于第一帧的处理就是[3,2,1,2,3],对于第二帧就是[2,1,2,3,4],假如100帧的话,对于第100帧,则是[98,99,100,99,98]
Video Super-Resolution with Recurrent Structure-Detail Network阅读_第7张图片

Video Super-Resolution with Recurrent Structure-Detail Network阅读_第8张图片
Video Super-Resolution with Recurrent Structure-Detail Network阅读_第9张图片

Video Super-Resolution with Recurrent Structure-Detail Network阅读_第10张图片
上面这种是用来评估恢复的视频在时间连贯性上的表现。但是本人才疏学浅并不知道这是如何画的,有知道的大佬,还望不吝赐教,万分感谢!!!

你可能感兴趣的:(超分辨,深度学习)