视频超分辨率论文笔记:Recurrent Back-Projection Network for Video Super-Resolution

Recurrent Back-Projection Network for Video Super-Resolution - CVPR2019

  • paper:https://arxiv.org/pdf/1801.04590v4.pdf
  • code:https://github.com/alterzero/RBPN-PyTorch

1. Related Work

视频超分辨率论文笔记:Recurrent Back-Projection Network for Video Super-Resolution_第1张图片

  • 与DBPN论文一样,都是先总结并分类当前主流的SR做法。
  • 主流的Deep VSR(video super-resolution)分为以下四种:
    1. Temporal Concatenation:送入网络前将frames直接concat起来
    2. Temporal Aggregation:将不同数量的帧(有些分路包含更多的邻居frame)丢进网络分路,最后输出前concat起来
    3. RNNs:frames迭代式地进入RNN,最后输出当前这一帧的输出
    4. 本文提出的RBPN

2. Method

  • 首先RBPN是根据当前帧以及多个邻居帧生成当前帧的SR图像(multi frame->single frame),并不是multi frame -> multi frame
  • RBPN与本文的兄弟paper图像超分辨率网络DBPN思想比较相似,核心都是残差学习。DBPN是根据浅层的特征来学习残差,RBPN是根据邻居帧以及两者的optical flow来学习残差

2.1 Network Architecture

视频超分辨率论文笔记:Recurrent Back-Projection Network for Video Super-Resolution_第2张图片

  • 与DBPN类似,RBPN同样划分为三个stages:
    1. Initial Feature Extraction:对当前帧采用卷积层 I t I_t It进行特征提取,得到LR特征 L t L_t Lt。并concat当前帧 I t I_t It、邻居帧 I t − i I_{t-i} Iti、两者之间的optical flow图 F t − i F_{t-i} Fti,然后对concat起来的输入使用卷积层进行特征提取,得到Multi-frame特征 M t − i M_{t-i} Mti。其中 i = 1 , 2 , . . . , n i = {1, 2, ... , n} i=1,2,...,n n n n是一个超参数。上图中最后一个Projection Module的输入 L t − n − 1 L_{t-n-1} Ltn1应该写错了,应该是 L t − n + 1 L_{t-n+1} Ltn+1,是t-n帧的后一帧t-n+1帧对应的Projection Module的输出 L t − n + 1 L_{t-n+1} Ltn+1
    2. Multiple Projections
      视频超分辨率论文笔记:Recurrent Back-Projection Network for Video Super-Resolution_第3张图片
      Multiple Projections 是一个Encoder-Decoder结构的Module。Encoder负责上采样,Decoder负责下采样。
      1. Encoder:输入是 L t − n + 1 L_{t-n+1} Ltn+1(图应该画错了)。 L t − n + 1 L_{t-n+1} Ltn+1是上一个Projection Module的输出,结合了t-n+1 ~ t-1 帧以及他们与当前帧的optical flow,产生的LR特征图。通过对 L t − n + 1 L_{t-n+1} Ltn+1使用SISR网络(single image super-resolution)产生HR特征原型 H t − n + 1 t H_{t-n+1}^t Htn+1t,然后使用Multi-Frame特征 M t − n M_{t-n} Mtn产生multi-frame的HR特征 H t − n m H^m_{t-n} Htnm,两者相减得到残差,残差经过Residual Block得到学习后的残差 e t − n e_{t-n} etn,与LR特征原型 L t − n + 1 L_{t-n+1} Ltn+1相加,得出Encoder的输出HR特征 H t − n H_{t-n} Htn
      2. 为了利用更前一帧t-n-1与当前帧的Multi-Frame特征(LR的特征),需要将Encoder的输出HR特征 H t − n H_{t-n} Htn下采样得到LR特征 L t − n L_{t-n} Ltn。这里使用了一个Residual Block以及下采样模块(我看得源码采用了max-pooling进行下采样)
      3. Resconstruction:把Projection Module中Encoder每次迭代中输出的HR特征全部concat起来,经过卷积层得出最终的SR图像
  • 网络图中的Projection Module实际上只有一个,循环利用。每次向同一个Projection Module输入LR特征以及Multi-Frame的特征
    视频超分辨率论文笔记:Recurrent Back-Projection Network for Video Super-Resolution_第4张图片

3. Experiment

  • 采用L1 Loss
  • 分析采用多少帧过去的帧进行SR重建
    视频超分辨率论文笔记:Recurrent Back-Projection Network for Video Super-Resolution_第5张图片
    可以看出,显然用更多帧进行预测时效果更好。
    然而,我在跑这个模型的时候发现,这个模型非常的慢…6frame跑不起跑不起…3frame都难

你可能感兴趣的:(计算机视觉)