## 3 Results  
The Jupyter Notebooks [30] interactive computing product under the Python programming language was used for encoding the whole process, with the neural network being programmed with Keras (with Tensorflow backend [31]). In addition, the data normalization, data splitting, confusion matrices and classification reports were being programmed with Sci-Kit Learn, while OpenCV was used for loading and manipulating images, SciPy was used for the FFT application, Glob was used for reading filenames from a folder, Matplotlib was used for plot visualizations, and finally Numpy was used for all mathematical and array operations. The script was run on an Intel(r)Core(tm) i7-6950X CPU @ 3.00 GHz x 20, and the CNN was trained on a Nvidia Titan GeForce GTX 1080 Ti. The computation times ranged between 15' to 100' per training, depending on the different input, with the grayscale images requiring the lowest training time and the RGB images requiring the longest training time. Before starting with the exploratory analysis of the optimal CNN setup, it is necessary to see where the other famous classification ML algorithms stand in the particular problem. In a previous work [32], it was shown that neural networks outperform other algorithms in a similar dataset, thus pointing to investigating the best neural network implementation. However, some of the most famous classical ML algorithms were tested on this new dataset for the comparison. The results are shown in Table 6.  
Again, it is shown that ANNs perform better in a particular problem, and therefore our choice of focusing on CNNs is justified and validated. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline  & **Decision Trees** & **Random Forest** & **Ada-Boost** & **Support Vector Machines** & **Artificial Neural Networks** \\ \hline _Accuracy_ & 64.59 & 79.55 & 77.45 & 81.37 & 83.38 \\ _Precision_ & 0.65 & 0.80 & 0.78 & 0.81 & 0.84 \\ _Recall_ & 0.65 & 0.80 & 0.77 & 0.81 & 0.84 \\ _F1 score_ & 0.65 & 0.80 & 0.77 & 0.81 & 0.84 \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Comparison of classical machine learning (ML) algorithms. Figure 16: Filters’ effect on the image with the anthracose-infected leaf, without the background: (**a**) for the first; (**b**) the last convolutional layer; and individual filter effect: (**c**) for the first; (**d**) last convolutional layer. The first comparative analysis was dedicated to measure the accuracy as well as the loss of both the validation and the testing dataset for images containing background information. Measuring accuracies allows us to see if the predictions made to the unknown set match the performance of the model while training. In Table 7 the accuracy percentage and the loss for each method used are listed. The second comparative analysis was to measure the accuracy and loss for each method, but with additionally applying the background removal method. This way, the images contain less relevant-to-the-infection information, which should lead to increased performance. In Table 8 we see that indeed by removing unnecessary information, the performance of each model has increased. More results such as training and validation plots and confusion matrices are presented in the Appendix B. Finally, we select the best performing model, being the one using RGB images with background removal, and compare it to state-of-the-art CNNs for image classification. These CNNs are specifically selected for comparison, since they set new accuracy records when originally trained on the Imagenet [33] database. In detail, we used DenseNet121 [34] a version of DenseNet (Densely Connected Convolutional Networks) that is 121 layers deep. Despite its depth, DenseNet managed to solve the problem of vanishing gradients, having both \(1\times 1\) and \(3\times 3\) convolutional layers, as well as batch normalization in its architecture. Another architecture we used is VGG16 [35], a version of VGG (Visual Geometry Group). Generally, in VGGs there are only \(3\times 3\) convolutional layers which are stacked on top of each other.