# Towards Automatic Image Enhancement with Genetic Programming and Machine Learning
## 2 Related Works
proposed [13] a novel way of improving an image detail and contrast by expanding on Laplacian operators of edge-aware filter kernels in order to develop a robust method capable of enhancing the details of an image without compromising its overall quality by boosting noise and artifacts, which is a major concern when working with edge-aware filters. Moreover, [PERSON] et al. proposed in the same year another pipeline approach that tries to bridge the problem where approaches that are only based on intensity enhancement may produce artifacts in \"over-enhanced\" regions, and lack enrichment on color-based features [14]. An experimental phase is conducted with various natural scene images showing that this simple and efficient pipeline is a suitable choice to enhance color images. For their part, [PERSON] et al. recently proposed an IE pipeline that aims to improve the overall brightness and contrast of low-illumination images [7]. The enhancement function takes inspiration from the Weber-Fechner law that suggests that the brightness perceived by the human eye follows approximately a logarithmic function. So, different illumination values would require different adjustments. The result showed significant improvement in brightness and contrast when compared to other Classical approaches, while preserving the details. Lastly, to finish with the classic techniques, it is worth mentioning the work of [PERSON] et al., who recently presented, in Reference [15], a novel way of performing white-balance within a camera image processing pipeline. They propose a pipeline that renders multiple _\"tiny versions\"_ of the original image, each with a different white-balance setting. [PERSON] et al. also recently presented a few other research studies concerning image white-balance and illumination, but by using more advanced computational techniques, such as deep learning [16]. Regarding IE approaches using Machine Learning, a few examples are reviewed below. [PERSON] et al. proposes a very deep architecture to perform image denoising [17]. As opposed to the presented work by [PERSON] et al., where a near-IR camera setup was proposed to tackle the denoising problem, this work presents a novel, very deep Convolutional Neural Network (CNN) architecture that manipulates the final image. Experiments with this model showed that it could remove Gaussian noise with an unknown noise level, which is not possible in traditional discriminative models trained for specific levels. [PERSON] et al. introduced an adversarial learning model called _EnhanceGAN_ in Reference [18]. _EnhanceGAN_ only requires weak supervision and is based on the GAN framework. However, the generator \(G\) does not generate images itself but, rather, learns an operation of transformation. This means that the work is extensible to other types of operators besides the ones presented. [PERSON] et al. took an interesting approach on extremely low light and low signal-to-noise IE [19]. Instead of manipulating the resulting image using Classical techniques, as in the work of [PERSON] et al. mentioned above, the proposed model is an end-to-end CNN architecture that receives as input the raw sensor data of the camera, replacing the traditional pipeline, which rarely performs well under the short-exposure scenario presented. [PERSON] et al. recently introduced another GAN-based model dubbed _Enlighten-GAN_, an unsupervised GAN that can be trained without image pairs [8]. [PERSON] et al. presented an interesting take on IE by introducing a framework that explores the value of the personalization factor in automatic IE [20], where both Classical techniques and Machine Learning models are used, making it an example of a hybrid approach to the problem. During an initial training phase, a database is built by presenting the user to a set of image examples in a simple interface that allows him to select the enhancement he likes the most in a set of enhanced versions of the original image. This database stores the original image features and the enhancement parameters that the user chose.