视频超分辨率论文笔记:Recurrent Back-Projection Network for Video Super-Resolution
Recurrent Back-Projection Network for Video Super-Resolution - CVPR2019
1. Related Work
- 与DBPN论文一样,都是先总结并分类当前主流的SR做法。
- 主流的Deep VSR(video super-resolution)分为以下四种:
- Temporal Concatenation:送入网络前将frames直接concat起来
- Temporal Aggregation:将不同数量的帧(有些分路包含更多的邻居frame)丢进网络分路,最后输出前concat起来
- RNNs:frames迭代式地进入RNN,最后输出当前这一帧的输出
- 本文提出的RBPN
2. Method
- 首先RBPN是根据当前帧以及多个邻居帧生成当前帧的SR图像(multi frame->single frame),并不是multi frame -> multi frame
- RBPN与本文的兄弟paper图像超分辨率网络DBPN思想比较相似,核心都是残差学习。DBPN是根据浅层的特征来学习残差,RBPN是根据邻居帧以及两者的optical flow来学习残差
2.1 Network Architecture
- 与DBPN类似,RBPN同样划分为三个stages:
- Initial Feature Extraction:对当前帧采用卷积层进行特征提取,得到LR特征。并concat当前帧、邻居帧、两者之间的optical flow图,然后对concat起来的输入使用卷积层进行特征提取,得到Multi-frame特征。其中。是一个超参数。上图中最后一个Projection Module的输入应该写错了,应该是,是t-n帧的后一帧t-n+1帧对应的Projection Module的输出。
-
Multiple Projections
Multiple Projections 是一个Encoder-Decoder结构的Module。Encoder负责上采样,Decoder负责下采样。- Encoder:输入是(图应该画错了)。是上一个Projection Module的输出,结合了t-n+1 ~ t-1 帧以及他们与当前帧的optical flow,产生的LR特征图。通过对使用SISR网络(single image super-resolution)产生HR特征原型 ,然后使用Multi-Frame特征产生multi-frame的HR特征,两者相减得到残差,残差经过Residual Block得到学习后的残差,与LR特征原型相加,得出Encoder的输出HR特征
- 为了利用更前一帧t-n-1与当前帧的Multi-Frame特征(LR的特征),需要将Encoder的输出HR特征下采样得到LR特征。这里使用了一个Residual Block以及下采样模块(我看得源码采用了max-pooling进行下采样)
- Resconstruction:把Projection Module中Encoder每次迭代中输出的HR特征全部concat起来,经过卷积层得出最终的SR图像
- 网络图中的Projection Module实际上只有一个,循环利用。每次向同一个Projection Module输入LR特征以及Multi-Frame的特征
3. Experiment
- 采用L1 Loss
- 分析采用多少帧过去的帧进行SR重建
可以看出,显然用更多帧进行预测时效果更好。
然而,我在跑这个模型的时候发现,这个模型非常的慢…6frame跑不起跑不起…3frame都难