Blind Super-Resolution Kernel Estimation using an Internal-GAN

Sefi Bell-Kligler, Assaf Shocher, Michal Irani
9/14/2019
cs.CV

Official code: sefibk/KernelGAN (361 stars, last commit 2022-03-02).

Abstract

Super resolution (SR) methods typically assume that the low-resolution (LR) image was downscaled from the unknown high-resolution (HR) image by a fixed 'ideal' downscaling kernel (e.g. Bicubic downscaling). However, this is rarely the case in real LR images, in contrast to synthetically generated SR datasets. When the assumed downscaling kernel deviates from the true one, the performance of SR methods significantly deteriorates. This gave rise to Blind-SR - namely, SR when the downscaling kernel ("SR-kernel") is unknown. It was further shown that the true SR-kernel is the one that maximizes the recurrence of patches across scales of the LR image. In this paper we show how this powerful cross-scale recurrence property can be realized using Deep Internal Learning. We introduce "KernelGAN", an image-specific Internal-GAN, which trains solely on the LR test image at test time, and learns its internal distribution of patches. Its Generator is trained to produce a downscaled version of the LR test image, such that its Discriminator cannot distinguish between the patch distribution of the downscaled image, and the patch distribution of the original LR image. The Generator, once trained, constitutes the downscaling operation with the correct image-specific SR-kernel. KernelGAN is fully unsupervised, requires no training data other than the input image itself, and leads to state-of-the-art results in Blind-SR when plugged into existing SR algorithms.

View on arXivView PDF

Code Implementations(1)

sefibk/KernelGANOfficial100%
36179PythonAug 13, 20194 years agoNOASSERTION

Similar Papers

Cite this paper

@article{bellkligler2019blind,
  title  = {Blind Super-Resolution Kernel Estimation using an Internal-GAN},
  author = {Sefi Bell-Kligler and Assaf Shocher and Michal Irani},
  year   = {2019},
  eprint = {1909.06581},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1909.06581}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1909.06581.svg)](https://codeofpaper.com/paper/1909.06581)

Discussion