Skip to content
/ NICER Public

Neural Image Correction and Enhancement Routine

Notifications You must be signed in to change notification settings

mr-Mojo/NICER

Repository files navigation

NICER

Neural Image Correction and Enhancement Routine

This repository contains a PyTorch implementation of:

"NICER: Aesthetic Image Enhancement with Humans in the Loop" [ACHI2020]

by M. Fischer, K. Kobs and A. Hotho. The publication can be found at the ThinkMind(TM) Digital Library.

Installation

To install and run this framework, it is recommended that you create a conda environment. For further information on managing conda environments, confer the docs. Afterwards, head over to PyTorch and install the appropriate PyTorch and Cuda versions.

Once PyTorch is installed, go ahead and clone this repository. Then install the required libraries:

pip install opencv-python
pip install -r requirements.txt

Once everything is set up, you can simply run python main.py to load up the application GUI.

How does it work?

NICER is a differentiable, neural image enhancement tool. The original, unedited version of the image is passed through our neural pipeline, which is depicted below. NICER first uses our devised ABN (Adaptive Brightness Normalization - for details, cf. the paper) algorithm as a pre-processing step, before feeding the image into the enhancement loop. In the loop, the image is iteratively updated by a Context Aggregation Network (CAN) which has been trained to replicate the behaviour of commonly used image enhancement operations (e.g., contrast, brightness, saturation, ...). Subsequently, the enhanced image is assessed by a neural image assessor, NIMA, whose aesthetic score prediction is then maximized by backpropagating a loss function towards the CAN filter intensitites via Gradient Descent.

Results

NICER has the advantage that the user can interfere with the enhancement process at any time, be it before, during, or even after the optimization. Furthermore, the optimization happens in a white-box fashion, so users have control and can adjust parameters to their liking. However, user interaction is not necessary and NICER's automatic mode also provides stunning results! Some results with images from the MIT-Adobe 5K dataset are shown here (upper row: original, lower row: NICER). For more, cf. the publication

Bibtex

If you find this work and code useful, please cite our publication in your work:

@article{fischer2020nicer,
  title={NICER: Aesthetic Image Enhancement with Humans in the Loop},
  author={Fischer, Michael and Kobs, Konstantin and Hotho, Andreas},
  journal={arXiv preprint arXiv:2012.01778}, 
  year={2020}
}

About

Neural Image Correction and Enhancement Routine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages