/open-image-restoration

A selection of State-ot-the-art, Open-source, Usable, and Pythonic techniques for Image Restoration

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

A selection of State-ot-the-art, Open-source, Usable, and Pythonic techniques for Image Restoration

Anne Franck Image Restoration

Description

This project gathers together and packages various image restoration techniques that follow various criteria:

  • State-of-the-art (they are all based on Deep Learning; as of today (25/07/2019 at time of writing), NLRN and ESRGAN are leaders in various leaderboards maintained by paperswithcode.com, see here and here ).
  • Open source (the selected implementations are under MIT or Apache licenses)
  • Usable (a pretrained model is available, and the code does not need painfull1 dependencies)
  • Python implementation (easier to use together, to share, and especially to use in Google Colab).

Demo

The project is a work in progress. However, it is already functional and can be tested on your own images through this demo in Google Colab.

Technical details

The algorithms currently included in the packages are directly replicated or slightly adapted from external github repositories (see below). These methods were selected based on the above criteria, and after a comparison with other methods (comparison colab notebooks are coming soon).

1. Denoising

NLRN - Liu et al. 2018. Non-Local Recurrent Network for Image Restoration (NeurIPS 2018) - MIT License

https://github.com/Ding-Liu/NLRN

https://paperswithcode.com/paper/non-local-recurrent-network-for-image

2. Colorization

DeOldify ("NoGAN" algorithm) - Jason Antic, 2019 - MIT License

https://github.com/jantic/DeOldify

(no leaderboard associated... yet).

3. Super-resolution

ESRGAN - Wang et al. 2018. ESRGAN: Enhanced super-resolution generative adversarial networks (ECCV 2018) - Apache-2.0 License

https://github.com/xinntao/ESRGAN

https://paperswithcode.com/paper/esrgan-enhanced-super-resolution-generative

Many thanks to the authors of these awesome contributions to image restoration research, and for sharing them as open-source projects.

More information

A more detailed comparison of State-of-the-art super-resolution algorithms can be found in this Google Colab Notebook. A blog post (in french) presents an overview on the subject here


1: In my research of IR algorithms, I subjectively considered Matlab and Caffe as painfull dependencies. Matlab is simply not free (and simpy not usable in Google colab), and Caffe hard to install, especially in Google Colab. Both of these issues make the algorithms hard to share to the community.