Learning a Single Convolutional Super-Resolution Network for Multiple Degradations
Kai Zhang, Wangmeng Zuo, Lei Zhang
CVPR2018
摘要
之前的方法都是用bicubic下采样的数据做LR,导致模型处理退化过程不符合bicubic的LR时效果差。另外一点就是前人的模型可扩展性差,因为用单一的退化模型训练得到的网络无法应对真实复杂的退化图像。基于这两个问题,论文同时考虑了模糊核和噪声等级,将模糊核、噪声、LR同时作为网络的输入,来得到一个更一般的适用于多种退化图像的超分辨率模型。
主要贡献
- 提出了扩展性较强的网络,更适用于处理实际问题。
- 提出了维度拉长策略,可以让模糊核和噪声的维度跟图像匹配。
- 论文提出的方法在合成图像和真实图像上效果突出。
主要方法
退化模型
,其中
表示下采样s倍,k是模糊核,n是加性噪声。
- k:超分辨率问题中不用将模糊核考虑的太复杂,简单的高斯模糊就可以。而对图像高斯模糊核的准确估计将对网络性能有显著提升。
- n:超分辨率问题中如果先去噪在超分辨率,会损失一些信息,如果不去噪直接超分辨率又会存在很多噪声,所以理想状态是同时去噪和超分辨率。
-
:bicubic下采样
维度拉伸
首先:维度拉伸的主要作用就是将模糊核和噪声拉伸成跟图像同一维度,使得三者可以连在一起,作为信息。
假设模糊核是先将其拉伸成
,再用pca降维将其投影到t维线性空间,再将这个向量和噪声向量连接起来。再将其抻成
,这一步就是
,就把
,第i个图的整个元素都是
。
网络结构
论文提出的方法并没有过多的注重网络结构的设计,创新点就在于网络的输入同时融入了噪声和模糊核。论文的网络结构主要由“Conv+BN+ReLU”这样的块,整体如下:
卷积层的个数是12,每一层特征图的个数是128。
为什么不使用残差学习?
- 论文网络不是很深,不用残差学习也可以很好的训练。
- 因为这里考虑了噪声,如果加上残差学习可能会增加训练的难度。
实验细节
模糊核:同向高斯模糊核,2、3、4倍超分辨率网络分别对于的核宽度为:[0.2,2],[0.2,3],[0.2,4],步长为0.1,kernel size,论文还考虑了各性异向高斯函数,有
来刻画,通过旋转
的特征向量的角度和放缩特征值的倍数来得到模糊核的空间,旋转角度的范围:
,2、3、4倍超分辨率网络分别对于的放缩倍数为[0.5,6],[0.5,8][0.5,10]。
此外,论文除了直接用bicubic下采样以外,还可以给定直接下采样的模糊核,然后去寻找bicubic下采样中与它最接近的模糊核,即
噪声等级:[0.75]。RGB三通道。数据集:400BSD,800DIV2K,4744WED
patch size=,batch size=128,损失函数MSE,学习率一开始设为
,当训练误差不在减少的时候变为
。当训练误差连续5个epoch不改变的时候,就将BN的参数和相邻的卷积层的参数融合在一起。然后再设置学习率为
,训练100个epoch。
实验结果
其中SRMDNF表示退化模型中没考虑噪声的SRMD。
总结
论文的创新点在于它将噪声和模糊核同时作为网络的输入,并且提出了维度拉伸的方法,并没有太注重网络结构。另外论文对图像退化过程做了大量的分析,考虑了不同的退化过程。