# Towards Automatic Image Enhancement with Genetic Programming and Machine Learning
## 4 Experiments in Real Estate Image Marketing
### Experimental Results
* **GP.C--(\(N.A.^{2}*SSIM\))**: combination of NIMA Aesthetic model and SSIM similarity metric. For each selected method, we performed 10 runs due to the stochastic nature of the GP engine. Then, the best solution from each group of 10 experiments was selected. Table 3 contains the results of the 3 chosen solutions. Figure 10 presents examples for each solution. In the experiments performed, the average image enhancement is higher when the image has a lower original score. This demonstrates that it is much easier to improve upon a bad image than it is for a good one. This is a very rational conclusion since better images have, overall, \"less room for improvement\", making the enhancement operation harder and, most importantly, in some cases, degrading the quality of the images. Figure 8: (**a**) Original image as input; (**b**) _One-Click_ output; (**c**) Classical List output. Figure 7: (**a**) Graphical comparison between the original test dataset (blue) and the results from the _One-Click_ (orange), computed by all four _no-reference_ IQA tools used during the experiments; (**b**) graphical comparison between the original test dataset (blue) and the results from the list of Classical functions manually selected (orange), computed by all four _no-reference_ IQA tools used during the experiments. In order to test all the methods together, we will use the framework discussed (see Algorithm 1). The framework employs two components, called _compare_ component and the _threshold_ component. The _threshold_ component is the _Quality Threshold_, referred to in Algorithm 1, that was designed to avoid the over-enhancement of the input image. It limits the transformation of those images that cannot be improved further without degrading the original quality. The NIMA T metric was selected due to the fact that it responds negatively to over-enhancement, based on the previous results. So, while using the _threshold_ component, any follow-up  
Figure 9: Examples of outputs from the GAN model. On the left, we have the input and original image; on the right, we have the output of after GAN + CL. transformation is performed only if the resulting image has its NIMA T value higher than 5.36. On the other side, we added a _compare_ component to the pipeline, where a transformation will be performed only if the resulting _PhotoLike_ metric is higher than the original _PhotoLike_ metric. We selected _PhotoLike_ as it is the closest metric to our use case scenario. Table 4 presents the results for each GP solution _GP.A_, _GP.B_, and _GPC_, respectively, using the _compare_ component and the _threshold_ component, both separately and in conjunction. For simplicity of presentation, we only show the average score of each metric. For comparison purposes, we highlighted in green every cell that scored better than _One-Click_. The performance of the _PhotoLike_ metric is critical to us, as this tool was made exclusively for our use case scenario. Overall, we can observe that the GP approach can provide suitable solutions to be included in the pipeline. Results also indicate that the approach surpasses the Pix2 Pix GAN trained for the context of this problem. Every evolved pipeline increases the enhancement  
Figure 10: From left to right: Original image; output using solution from GP-A; output using solution from GP-B; output using solution from GP-C.  
of an image more than the One-Click tool, the manually arranged Classical List, and the GAN. It is a testimony to the power of Genetic Programming applied to this particular real-world problem. The results attained with the automatic image enhancement pipelines solve most pitfalls of only using a system. With thresholds, an input image can be enhanced by multiple models.