## 4 Experimental Setup and Results
### Classification between Street Art and Illegal Graffiti  
To identify the type of graffiti more quickly and therefore define the following steps, an image classification algorithm was developed to classify an image into the following categories: illegal graffiti, street art graffiti, or no graffiti.  
First, different pre-trained models available in Keras Applications were tested with similar conditions and parameters to understand which model better suited the problem. For all these first tests, only four new training layers were added to the end of the model in question (explained in Section 3.2).  
The models were trained for 50 epochs, with the Adam optimizer having a learning rate of 0.01. The _ReduceLROnPlateau_ tool was used to reduce the learning rate when the validation loss stopped improving, i.e., when it reached a plateau. According to Table 4, we can see that the ResNet50 architecture was the one that presented the best results overall, and that InceptionResNetV2 presented the worst performance, with only 39% accuracy.  
It is also worth noting that, for any of the architectures, the results for the F1-score metric always presented worse results in the \"without graffiti\" class, most likely due to the dataset balance regarding the number of images used to train this class compared to the others, or due to the vast diversity of images that can be labeled as \"without graffiti\" (images of houses, buildings, roads, benches, walls with posters, streets, etc.). However, the \"street art\" class showed the best F1-score metric values in all architectures tested except for ResNet15V2. Table 4 presents the classification metrics obtained for each tested model.  
Once the initial best architecture model was found, the Resnet50, a fine-tuning was performed to find the best parameters and optimizers for the classification. The fine-tuning was done using a python library called \"Keras Tuner\", which allows the definition of the hyperparameters and their values to be tested. These hyperparameter combinations are used for training and verifying which combination provides the best metrics.  
Table 5 presents the different parameters tested. Among the combinations tested in the random search of the Keras tuner, the parametrization that achieved the best results is the one presented in Table 6.  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**Pre-Trained Model**} & \multirow{2}{*}{**Accuracy**} & \multirow{2}{*}{**Precision (Weighted)**} & \multirow{2}{*}{**Recall (Weighted)**} & \multirow{2}{*}{**Street Art**} & **Illegal Graffiti** & **Without Graffiti** \\ \hline Resnet50 & 0.715 & 0.763 & 0.758 & 0.833 & 0.750 & 0.581 \\ EfficientNetV2L & 0.680 & 0.728 & 0.697 & 0.769 & 0.715 & 0.513 \\ EfficientNetB7 & 0.606 & 0.632 & 0.603 & 0.667 & 0.605 & 0.478 \\ VGG19 & 0.686 & 0.713 & 0.700 & 0.790 & 0.678 & 0.551 \\ DenseNet201 & 0.503 & 0.581 & 0.617 & 0.715 & 0.617 & 0.112 \\ Xception & 0.473 & 0.542 & 0.572 & 0.661 & 0.578 & 0.142 \\ ResNet15V2 & 0.406 & 0.496 & 0.506 & 0.505 & 0.578 & 0.051 \\ InceptionResNetV2 & 0.390 & 0.467 & 0.481 & 0.628 & 0.312 & 0.063 \\ \hline \hline \end{tabular}
\end{table}
Table 4: Performance metrics achieved with different classification models.