SRFlow: Learning the Super-Resolution Space with Normalizing Flow

Andreas Lugmayr, Martin Danelljan, Luc Van Gool, Radu Timofte
6/25/2020
cs.CVeess.IV

Official code: andreas128/SRFlow (853 stars, last commit 2022-12-08).

Abstract

Super-resolution is an ill-posed problem, since it allows for multiple predictions for a given low-resolution image. This fundamental fact is largely ignored by state-of-the-art deep learning based approaches. These methods instead train a deterministic mapping using combinations of reconstruction and adversarial losses. In this work, we therefore propose SRFlow: a normalizing flow based super-resolution method capable of learning the conditional distribution of the output given the low-resolution input. Our model is trained in a principled manner using a single loss, namely the negative log-likelihood. SRFlow therefore directly accounts for the ill-posed nature of the problem, and learns to predict diverse photo-realistic high-resolution images. Moreover, we utilize the strong image posterior learned by SRFlow to design flexible image manipulation techniques, capable of enhancing super-resolved images by, e.g., transferring content from other images. We perform extensive experiments on faces, as well as on super-resolution in general. SRFlow outperforms state-of-the-art GAN-based approaches in terms of both PSNR and perceptual quality metrics, while allowing for diversity through the exploration of the space of super-resolved solutions.

View on arXivView PDF

Code Implementations(1)

andreas128/SRFlowOfficial100%

Official SRFlow training code: Super-Resolution using Normalizing Flow in PyTorch

853114Shell, PythonJun 22, 20203 years agoNOASSERTION
image-manipulationnormalizing-flowpapersuper-resolution

Similar Papers

Cite this paper

@article{lugmayr2020srflow,
  title  = {SRFlow: Learning the Super-Resolution Space with Normalizing Flow},
  author = {Andreas Lugmayr and Martin Danelljan and Luc Van Gool and Radu Timofte},
  year   = {2020},
  eprint = {2006.14200},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2006.14200}
}

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/2006.14200.svg)](https://codeofpaper.com/paper/2006.14200)

Discussion