AI简报:Blind超分KernelGAN
AI简报:Blind超分KernelGAN
- Blind Super-Resolution Kernel Estimation using an Internal-GAN
- https://arxiv.org/abs/1909.06581
- https://github.com/sefibk/KernelGAN
1. 意图或目的
超分(Super-Resolution)是从低分辨率图LR中恢复到高分辨率图HR。为了构造配对的数据集,通常会在HR图做各种降质的操作,如高斯模糊,下采样,噪声以及压缩等,之后生成LR与HR的配对数据进行训练模型。如下图所示,Ks为模糊核。

问题在于各种降质操作后图片是否和测试的图片(即真实环境中的低质图像)是在同一分布的,是否是match的,答案往往是否定的,这就造成按照降质操作后模拟的低质图像训练出来的模型,在真实低质图像上效果差强人意。这就在传统超分中衍生出针对真实图片(Real Image)的Blind Super-Resolution, 也称作Real Super-Resolution;这里Blind指的就是降质操作是未知的。
这篇KernelGAN就是Blind Super-Resolution的领域的一种解决方案。主要是针对上面降质的模糊核Ks进行估计。
2. 思路
既然Real Image与人为降质mismatch,那能不能学习这种分布? 众所周知,GAN是学习数据内部分布的良器。
所以,KernelGAN的思路可以简单概括为:
- 用GAN(patchGAN)的生成器G来模拟2倍下采样后的图片,使得判别器无法区分从原图中裁剪的图片,以此来说明生成器G模拟了原图中的数据分布
- GAN中的判别器采用的PatchGAN,即label并不是一个值,而是对应原图一定感受野每个特征像素都有一个label
- KernelGAN最终要从生成器G网络中,合成一个显式的kernel;以此作用于用来训练的HR来生成配对LR进行有监督的训练

2.1 生成器G和显式的kernel合成

生成器G是一个下采样的网络,输入尺寸为64x64,输出为32x32,由6个卷积层组成。
the generator G constitutes, implicitly, the ideal SR downscaling function for the specific LR image.
可以把生成器本身看成是隐式的模糊核,为了生成显式的模糊核,文章中将生成器G中所有的卷积核依次进行卷积操作,得到最终SR kernel。 为了更好的获得有效的SR kernel,文章对于合成的SR kernel进行了限制,主要体现loss设计上。
2.2 判别器D
判别器的输入为32x32,是全卷积网络,包含6个卷积层,有7x7的卷积核和6个1x1卷积核。

2.3 loss
kernelGAN采用LSGAN的loss,加上前面对于合成kernel的正则限制R

R限制如下:
- kernel权重和为1
- 鼓励kernel的稀疏防止过度模糊
- 抑制边界非零值和鼓励适当的k个中心点

3. 训练
- 优化器:ADAM(0.5, 0.999)
- 学习率:2e-4,每750iters下降0.1
- 迭代次数:3000
4. 结果

