-Zero-Shot-- Super-Resolution using Deep Internal Learning

“Zero-Shot”: Super-Resolution using Deep Internal Learning

简介

  • 以往的深度学习超分辨方法是基于大量的LR-HR数据来训练一个网络的参数,其中生成LR的方法是用诸如MATLAB的imresize函数,这种LR图像被称为 ideal 的。然而实际情况中要超分辨的LR图像往往有是 non-ideal 的:掺杂噪声、未知的降采样核、有aliasing现象等等,如此很难用传统超分辨跑出很好的HR。另外,有一些图像内有的特殊结构不是通过大量数据就能学到的。

  • 作者提出的“Zero-Shot” SR (ZSSR)致力于寻找单张图像内在的信息(exploit the internal recurrence of information within a single image)。在超分辨一张图LR时,对该图再度降采样,学习二者之间的超分辨参数,再用于LR的超分辨。

  • 作者把传统的那些深度学习超分辨方法叫做 SotA supervised CNNs。虽然ZSSR是在test的同时训练的,但是因为网络结构小,因此和SotA supervised CNNs相比test的时间相差不多。

  • ZSSR的理论基础是:自然图像有很强的的internal data repetition。单张图片内的patch的internal entropy要比自然图像集合的patch的external entropy小很多(尚不明白entropy代表什么)。

网络

-Zero-Shot-- Super-Resolution using Deep Internal Learning

  • 如上图。LR图像I先再度降采样s倍,成为Is。网络学习IsI的映射,然后把网络用于I的升采样,得到HR图像Is
  • 为了扩充训练集,我们把I降采样,得到很多小版本的II=I0,I1,I2....In),他们都叫做“HR fathers”,再次降采样后得到“LR sons”。另外,还有对LR-HR进行旋转(0◦; 90◦; 180◦; 270◦),及其水平和垂直的镜像映射。
  • 为了鲁棒性,这段没看懂。
    -Zero-Shot-- Super-Resolution using Deep Internal Learning

网络结构

  • 作者的网络结构很简单:8个64通道的隐藏层,用ReLU**,输入首先被插值到输出的大小,输入和输出用skip connection连接,损失用L1损失,ADAM优化器,0.001学习率,会逐渐衰减。其他优化方法不提了。最后还是用了geometric self-ensemble方法,不过有所改动,没看太明白。

Adapting to the Test Image

  • 生成LR时,如果知道降采样核,就可以用上,如果不知道,就用“Nonparametric Blind Super-Resolution”中的方法估计核。另外,训练时最好在LR中添加高斯噪声(0均值,小标准差)

实验

  • 最后,实验表明,ideal情况时,ZSSR与SotA supervised CNNs尚可匹敌。non-ideal时,直接完爆。

-Zero-Shot-- Super-Resolution using Deep Internal Learning
-Zero-Shot-- Super-Resolution using Deep Internal Learning