原文github地址
一、简介
1、超分(SR)领域的划分:
(1)单幅图像超分(Single-Image SR,SISR):输入一幅图像,输出一幅图像
常用策略:更好的上采样方式(better up-sampling layers)、残差学习(residual learing)、反向映射(back-projection)、循环层(recursive layers)和逐级上采样(progressive upsampling)等。
(2)多幅图像超分(Multi-Image SR,MISR):输入多幅图像,输出一幅图像
(3)视频超分(Video SR,VSR):输入多幅图像(视频),输出多幅图像(视频)
2、基于深度学习的视频超分方法(Deep VSR)的划分
(1)Temporal Concatenation:将 n 帧图像在时间维度上连接起来,堆成一个体结构,送到超分网络(类似于SISR,不过输入不是1 x H x W,而是 n x H x W),如下图:
【注】上图源自论文: Kappeler A , Yoo S , Dai Q , et al. Video Super-Resolution With Convolutional Neural Networks[J]. IEEE Transactions on Computational Imaging, 2016.
(2)Temporal Aggregation:用多个分支分别训练目标图像 不同的邻域,最后将不同分支预测的 整合起来,如下图:
【注】上图源自论文: Liu D , Wang Z , Fan Y , et al. Robust Video Super-Resolution with Learned Temporal Dynamics[C]// 2017 IEEE International Conference on Computer Vision (ICCV). IEEE, 2017.
(3)RNNs:
借鉴RNN的思想,形成循环网络:参考我前面的一篇博客
(4)本文方法,融合了 SISR (蓝色部分)与 MISR(红色部分)
3、本文主要贡献:
(1)将 SISR 和 MISR 集成到一个统一的 VSR 框架中
(2)提出了一种循环的编解码机制(recurrent encoder-decoder mechanism),通过反向映射(back-projection),把从 SISR 和 MISR 中提取出来的细节信息融合起来。
二、Recurrent Back-Projection Networks(本文提出的循环反向映射网络)
1、网络结构:分为三个部分(1)初始特征提取(Initial feature extraction);(2)多次映射(Multiple Projection);(3)重建(Reconstruction)。
网络的输入:n+1 的 LR 帧{ },其中 为要进行超分的目标帧。
(1)初始特征提取(Initial feature extraction)
初始特征提取分为两块,一个是上图最左边对 进行的特征提取,为;另一个是上图最上面一层对 的特征提取,为;其中 为 和 之间的光流图(flow map,这是提前计算好的)。两部分的特征提取都是通过一个简单的卷积层完成。
(2)多次映射(Multiple Projections)
这部分将横向的 SISR 和纵向的 MISR 整合起来,生成细化的HR特征 。
输入:、
输出:、
(3)重建(Reconstruction)
将上面产生的所有HR特征 连接(concatenate)起来,再送到重建模块:,本文所用的重建模块 是一个简单的卷积层。
2、Multiple Projection 中的 Projection Module 的具体分析
它的结构是一个编解码(encoder-decoder)模块(不过这个encoder-decoder是encoder进行上采样,由LR到HR;而decoder进行下采样,由HR到LR),如下图:
其中的 Encoder 和 Decoder 再具体一点,如下图:
在本文中,SISR Block()使用的是 DBPN网络,MISR Block()和 Residual Blocks 使用的是 ResNet 网络
3、举例,对于一个3帧视频
如上图所示,目标帧 首先通过一个卷积层提取特征,得到 ,再通过 SISR 模块 ()得到 (该过程对应上图左边的蓝色箭头);对于目标帧和每一个邻近帧的组合(eg: 和 、 和 ),MISR模块()执行帧对齐操作,生成 ,它可以从邻近帧中获取目标帧中丢失的信息(该过程对应上图左边的红色箭头)。然后将 和 的差值经过 Residual Block 生成 残差特征(residual features),再将其加到由 SISR 路径生成出来的上,生成隐状态。 既作为后面重建过程的一个输入,同时也通过Decoder模块生成下一个模块的输入,继续走在SISR这条路线上。
总体来说,还是以目标帧通过SISR为主线,通过加入目标帧与其邻近帧的MISR,来为目标帧提供更多的信息。