Recurrent Back-Projection Network for Video Super-Resolution
作者:Muhammad Haris, Greg Shakhnarovich, and Norimichi Ukita
作者提出:
- 流行的MISR或者VSR方法一般都是基于准确的运动估计和运动补偿(alignment),这个模式受到运动估计准确度的约束。RBPN希望改进这个模式。
- 另外,在绝大多数基于CNN的方法中(包括作者之前提出的DBPN),实际上都对图像做了concat以及1*1卷积的操作,或者直接把图片输入到RNN中。concat的方法导致多张图片被同步地处理,增加了训练网络的难度。RNN中,同时处理细微和明显的变化(比如同一图片中运动剧烈和缓慢的物体)是比较困难的。
- DBPN中的不停向后传递的residual,实际上能比较好地应对RNN中对subtle 和 significant changes乏力的问题。
- 应用了循环Encoder-Decoder机制,用于通过反投影合并在SISR和MISR路径中提取的细节。RBPN中的这种机制扩大了RNN中的时间gap(t,t-1),使得时间跨度更大的帧也能被姣好地利用。
其实作者这样一说我就很好奇了。因为正如他所说,只要是提到了VSR + 运动估计的文献,几乎无一例外都要借助于一个精细的运动估计网络或者方法进行运动估计和运动补偿,但是效果一般有限,而且经过一些实验(比如之前的OFRNet,专门推算高分光流)表明,即使PSNR得到了一定的提升,但是这样的运动估计和运动补偿实在太容易引入伪影和帧间的不一致了。对比frame recurrent (FRVSR)和 OFRNet 网络,FRVSR的一致性非常好,这应该得益于循环利用高分帧的机制。而OFRNet相邻帧间的一致性较差,作为视频播放时(25fps)可见雪花状伪影。
另外,由于对RNN了解很少,要想理解RBPN不得不查阅相关资料
Encoder-Decoder模型
序列-序列的任务,经常采用Encoder-Decoder模型解决。参考基于Encoder-Decoder模式的机器翻译模型原理及实现
为了解决seq2seq问题,有人提出了encoder-decoder模型,也就是编码-解码模型。所谓编码,就是将输入序列转化成一个固定长度的向量;解码,就是将之前生成的固定向量再转化成输出序列。
encoder-decoder模型虽然非常经典,但是局限性也非常大。最大的局限性就在于编码和解码之间的唯一联系就是一个固定长度的语义向量C。也就是说,编码器要将整个序列的信息压缩进一个固定长度的向量中去。但是这样做有两个弊端,一是语义向量无法完全表示整个序列的信息,还有就是先输入的内容携带的信息会被后输入的信息稀释掉,或者说,被覆盖了。输入序列越长,这个现象就越严重。这就使得在解码的时候一开始就没有获得输入序列足够的信息, 那么解码的准确度自然也就要打个折扣了
网络结构
RBPN整体主要分为三个部分:初试特征提取、多投影和重建。
-
初始特征提取
- MISR path:将第 I t I_t It和 I t − k I_{t-k} It−k帧以及其光流 F t − k F_{t-k} Ft−k concat后,进行卷积得到8通道的特征张量 M t − k M_{t-k} Mt−k。
- SISR path:第t帧 I t I_t It直接进行卷积得到特征张量 L t L_t Lt.
-
多投影
-
通过projection module,将第k个M张量与第k-1个L张量进行投影,并输出第k个L张量和第k个高分特征H张量
-
第k个张量再一次输入到projection module中(作者提到:“The projection module, shared across time frames,”),然后结合第k+1个M张量,生成L和H。
-
Encoder:SISR和MISR两支路的特征输入到Encoder后,经由上采样得到高分的特征张量 H t − n m H_{t-n}^m Ht−nm和 H t − n − 1 l H_{t-n-1}^l H
-