CVPR2018-SRMD-Kai Zhang

https://github.com/cszn/SRMD

https://github.com/2wins/SRMD-pytorch

创新点:

1. 设计了一个非盲单一 CNN 网络SRMD,针对多个退化模型, 模型的输入除了LR图,还有 degration map(blur kernel, noise level)

2. 提出了维度伸展策略,使LR图像、blur kernel、noise level 维度匹配

3. 网络SRMDNF, 在SRMD的基础上用没有noise的图像 fine-tunning

 

思路:

1. 训练数据的合成 (模糊核:isotropic Gaussian & anisotropic Gaussian;噪声:AWGN;双三次插值)

isotropic Gaussian:kernel withdh ranges are set to [0.2, 2], [0.2, 3], [0.2, 4] for scale factors 2, 3, 4; 步长为0.1;kernel size为15x15

anisotropic Gaussian: rotation angel [0, pi], scaling of eigenvalues is set from 0.5 to 6.8 and 10 for scale factors 2, 3, 4

noise level : [0, 75]

 

2. input image、blur kernel 、noise level 的融合策略:

image 

模糊核首先通过PCA 降为 t

然后 concatenate 一个 噪声 level v 变为 t+1

将这t+1维 拉伸成 WxHx(t+1),得到 degration maps 就可以与输入图像 concatennate 了

 

3. 网络的设计

image 

1) 网络的输入为 WxHx(c+t+1)

2) convolutional layers: 每一层包括 Conv(3x3) + Relu + BN 除了最后一层

3)最后使用 sub-pixel convolutionl layer 上采样

试验中convolutional layers的数量为12,number of feature maps 是128

没有使用 residual learning 和 bicubicly LR image 的原因是:1) 在使用Relu + BN 和Adam训练时,没有residual learning strategy 也是easy to train 的;2) 由于噪声的加入,bicubicly LR image 可能会恶化噪声的复杂度,反过来会增加训练的困难度

 

4. 训练过程:

1)t=15 M=N=40, 对应的HR图像的size分别为 80x80, 120x120, 160x160

2) 数据集:400 BSD, 800 DIV2K,4744 WED dataset

 image

 

5. 在通常用的 bicubic degration 上的实验

image

SRMDNF取得了最好的效果, 解释原因: 可能的原因是,在MAP框架中,Multiple degrations的SRMDNF具有相同的先验,有利于隐式先验学习,从而有利于PSNR的改进。这也可以解释为什么vdsr with multiple scales可以提高性能。(我认为原因也可能是SRMD使用了更多的数据集)

image

 

6. 在 general degrations 上的实验

image

(NCSR 和 IRCNN 是 two-model-based方法,DnCNN是一个去噪算法)SRMD在更宽的kernel width上的优势还挺明显的

image

NCSR和IRCNN的视觉效果比VDSR好,SRMD和SRMDNF的结果在边缘处更sharp

 

7. 在 spatially variant degradation  上的实验

image

 

8. 在 real images 上的实验

1) 只提供了视觉上的对比

2) 采用网格搜索策略选择kernel width 和 noise level : (kernel size 在0.1到2.4之间,步长为0.1均匀采样;noise level 在0到75之间,步长为5均匀采样) --(这个方法有点笨笨的

image 含有压缩伪影的LR image

image 含有重复性结构的图片

(SelfEx是一个self-similarity based的方法)

综上 SRMD 去掉了伪影和噪声而且更sharp

 

一些想法:

1. 模糊和噪声过于单一(看来考虑运动模糊还是挑战)

2. 没有模糊和噪声的估计过程,均为手工输入 (这个问题好像在IKC中得到了解决)

转载于:https://www.cnblogs.com/btschang/p/11527636.html

你可能感兴趣的:(人工智能)