首页 > 技术文章 > Blind Super-Resolution Kernel Estimation using an Internal-GAN【阅读笔记】

janmng 2020-12-07 20:51 原文

论文地址:[https://arxiv.org/abs/1909.06581]

用于估计与真实图像接近的降采样核,从而构建超分训练的图像对(Blind-SR),提升对现实图像超分的性能。

Introduction

之前超分算法所使用的训练数据,大多是通过在HR图像上应用理想的降采样核(如 bicubic downscaling)获得LR图像。而将这些数据上训练出来的SR模型应用到现实数据时,模型性能会急剧下降!

所以 Blind-SR(SR with an unknown kernel) 很重要。本文基于跨尺度共现的性质(internal cross-scale recurrence property)(这个不太理解,论文说SR-kernel也是最大化不同尺度LR图像块的相似度的降采样核),提出一个建模模糊核的算法 image-specific Internal-GAN —— KernelGAN,学习图像块的内部分布。KernelGAN整体结构如下图。

G网络为多层线性网络,根据输入的LR图像,生成下采样2倍的图像。然后从原始LR图像和下采样图像截取patch,输入到D网络(patch discriminator),预测heat map。最终整体训练后,得到的G网络即是对应image-specific SR-kernel的下采样操作。

算法细节

生成网络主要模拟降采样核:

[公式]

由于非线性网络和实际理论不符,故使用线性网络(不加激活函数)。同时,作者发现 deep linear network 在优化上,比单层网络好很多。所以最终,生成网络是stride 2的6层线性全卷机网络:前3层卷积核为 [公式] ,后3层卷积核为 [公式] ,最后一层顺便做stride 2的下采样;整体相当于感受野为 [公式] 的卷积核。

 

 

判别网络是为了学习区域像素的分布,以判别是否来自真实图像分布。作者使用了全卷积 Patch Discriminator,通过输出一个heat-map(D map)来判别每一块 [公式] 图像块的分布。其中包含操作:Spectral normalization,Batch normalization,ReLU激活层,Sigmoid输出层,但不包含 stride、pooling等操作。

Patch Discriminator,感觉7的感受野会不会太小了?


整体KernelAN网络的损失函数为:

[公式]

其中, [公式] 是G网络的正则项,主要约束为和一般的下采样卷积一样形式的操作,利于后续将G网络抽取出来作为一般的下采样核:

  1. 抽取为更加compat的小矩阵操作形式;
  2. 遵从下采样核的物理意义和数学形式。

故:

[公式]

其中, [公式] 。

  • [公式] 鼓励核的累积为1;
  • [公式] 中 [公式] 为常数加权mask,权重随着与中心的距离增加而指数增大,也就是越靠近边界的值惩罚越大,值越小;
  • [公式] 鼓励卷积核的稀疏性,防止过于平滑(oversmoothing);
  • [公式] 鼓励卷积核的质量中心为核的几何中心。

在训练的第一个epoch时,G网络的输出同时用 bicubic kernel得到的图像作为GT进行约束训练,从而G网络作为后续训练的初始化。

由于G网络的下采样倍数为2,所以如果想下采样4倍(例如后续要做4倍超分),可以将训练好的G网络转为compat的矩阵后,做个矩阵平方得到4倍下采样核。

实验设置和实验结果

KernelGAN中G网络和D网络交叉训练,使用Adam优化器( [公式] ),学习率 2e-4,每750个epoch衰减 乘上0.1,总共训练3000个epoch。

实验结果:

核估计结果对比用本论文KernelGAN估计出来的核做 Blind-SR的结果比较生成网络,单层网络和多层网络的消融对比实验

 

和用bicubic kernel训练出来的SotA超分模型的对比和SotA Blind-SR模型对比

转自:【https://zhuanlan.zhihu.com/p/154062965?from_voters_page=true】

推荐阅读