发表在2017年ICCV。网络
核心内容:提出了亚像素运动补偿(Sub-pixel Motion Compensation, SPMC)层,服务:基于CNN的视频超分辨方法。架构
特色:ide
SPMC能够同时完成超分辨和运动补偿。这一点是精髓,做者claims that能够更好地保持亚像素信息。为何这么说,最后我再解释。学习
SPMC是无参数的,所以结合到视频超分辨网络中,使得该网络可用于任意尺寸的输入,而无需从新训练。编码
使用了Conv-LSTM,输入帧数任意。这样,咱们能够在效率和质量上权衡。spa
这篇论文实际上写得很绕。我无心间发现了做者对这篇论文的报告视频(B站:https://www.bilibili.com/video/av36952293/),讲得简单明了。这里作一个截图和笔记。
3d
首先,视频超分辨率有如下几个挑战:视频
如何配准多帧信息。若是没有配准,那么多帧反而是有害的。blog
模型不够健壮。一个放缩系数每每对应一个模型,而且输入帧数也是固定的。
生成的细节有时是假的。这是由于外部数据库的影响。
鉴于此,本文的目标是:
任意大小输入,任意放缩系数。
更好地利用亚像素信息。
生成更真实的细节。
本文提出的网络架构(从论文截取的大图):
第\(i\)时刻的LR帧\(I_i^L\) 和 当前\(0\)时刻的LR帧\(I_0^L\) 一块儿输入运动预测网络,获得光流预测图\(F_{i \to 0}\)。
\(F_{i \to 0}\) 和 \(I_i^L\) 一块儿输入SPMC层,获得 升采样而且运动补偿的 \(J^L\)。
因为\(J^L\)比较稀疏,所以输入一个有丰富降采样的编码器-解码器网络,获得残差;而后与 \(I_0^L\) 点点求和,即获得最终输出。注意,与传统编解码网络不一样,中间的单元被换成了Conv-LSTM,从而能够对视频序列建模。
首先,做者尝试将三个相同帧输入网络,发现输出图像虽然更锐利了,可是没有产生额外的信息。
接着,做者换成了三张连续帧,效果就行了。这说明:SPMC的使用,使得细节伪造更少了,而且细节的生成更真实。
做者还尝试了传统方案:先运动补偿,而后升采样,结果中产生了不少虚假的细节:
换成SPMC就行了:
做者说:基于以上实验,他们认为,在亚像素级别,只有合适地运动补偿,才能恢复真实的细节。这一句,就是点睛之笔。
个人理解:前人通常都是先 运动补偿 而后 超分辨,在这个过程当中,亚像素信息须要二次加强,很难保真,而更倾向于从 根据外部数据库学习的先验 中获取。
看完了视频,咱们再来看一下SPMC。其实很简单:
第一步是坐标变换,其中\(\alpha\)就是放缩系数:
第二步是双线性插值,将升采样的图完善。