论文地址:https://arxiv.org/abs/1704.02738
多帧SR与单帧相比,最主要的两个问题:
(1) 如何对齐多个帧以构造精确的对应关系;
(2) 如何有效地融合图像细节以获得高质量的输出。
1 亚像素运动补偿(SPMC)
如果想要把图像a warp到图像b上面去,则需要b到a的光流。因为要对b进行遍历,去a里面找插值的数据。
图像的降质模型(由第0帧HR变换到第i帧LR):
![](https://img.haomeiwen.com/i5633236/a3080f7da41c6e85.png)
上述公式是从第0帧warp到第i帧,需要的是从i到0的光流;然而大多数方法是把图像从第i帧对齐到第0帧,应该使用0到i的光流。
后面一堆公式还没看懂是啥意思……
2 Method
方法框架分为三个部分:
(1) 运动估计:估计帧与帧之间的运动场;
(2) 运动补偿:通过运动补偿对齐帧;
(3) 细节融合:放大图像尺寸、增加图像细节。
2.1 运动估计
输入两帧LR图像,输出一个运动场:
![](https://img.haomeiwen.com/i5633236/9ab847757d92ff0c.png)
![](https://img.haomeiwen.com/i5633236/6e995136912d90a1.png)
其中,运动估计(ME)网络使用的是VESPCN
中的MCT模型。
2.2 SPMC层
同时实现亚像素运动补偿和分辨率增强。
![](https://img.haomeiwen.com/i5633236/809da074daad988c.png)
(1) 采样网格生成器
![](https://img.haomeiwen.com/i5633236/635e2f4e3950e709.png)
相当于构建了一个坐标的对应关系。对于原图中第p个像素而言,(xp, yp)是它在原图中的坐标,(up, vp)是它的位移,即光流估计的结果,a是放大倍数,(xsp, ysp)是它在结果图中对应的坐标。
(2) 对网格进行填充
![](https://img.haomeiwen.com/i5633236/93403cbf8e0aefcc.png)
遍历网格中的像素,像素值为LR图像中像素的加权和,权值由像素之间的距离决定。M(·)函数可取(在一遍博客中看到的,相当于双线性插值):
![](https://img.haomeiwen.com/i5633236/60f1e4de5d01bd1e.png)
2.3 细节融合网络
网络的设计考虑到以下几点:
(1) 输入图像JiH是HR尺度,需要考虑计算量的问题;
(2) JiH图像很稀疏,大多数是用0填充的,所以需要网络有足够大的感受野;
(3) 生成的HR图像需要与第0帧的结构保持一致,但是过度强调第0帧可能会导致没有利用到其他帧中的信息。
针对上述前两点设计了编解码的结构,网络的结构为:编码->LSTM模块->解码。
![](https://img.haomeiwen.com/i5633236/0ee2bdf3e60f5244.png)
2.4 训练步骤
- 先训预练运动估计(ME)网络,运动估计损失:
![](https://img.haomeiwen.com/i5633236/038e9453f7b6be48.png)
- 再预训练SR网络,SR损失:
![](https://img.haomeiwen.com/i5633236/f87ef19d607ca444.png)
3.最后联合训练整体网络,总损失:
![](https://img.haomeiwen.com/i5633236/e42d268f495a7951.png)
3 Experiment
从六个方面实验证明了方法的有效性:
- SPMC层的有效性:SPMC层 vs. 先warp在bicubic插值
- 细节融合的有效性:3张同样的输入 vs. 3张不同的输入
- 细节融合网络的输入:输入JiH vs. 输入JiH 加 I0L的bicubic(或0填充上采样)
- 和其他视频SR方法比较
- 和其他单帧SR方法比较
- 真实世界视频实例
网友评论