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. 结果



版权声明: 本文为 InfoQ 作者【AIWeker-人工智能微客】的原创文章。
原文链接:【http://xie.infoq.cn/article/5edd140dce97788e767eea6c2】。文章转载请联系作者。
评论