## 3 Materials and Methods
### Training  
We have already discussed the advantages of using various recently developed generic object detection methods based on deep learning architectures; in what follows, we will discuss how we trained these different algorithms, and later, we will compare them in terms of performance. In order to compare our results with other works in the state-of-the-art, we have decided to implement various generic object detectors, focusing our efforts on methods amenable for mobile and embedded implementations: an LBP-based object detector (as in [17]), but also modern, deep learning algorithms, RetinaNet (as in [23]) and MobileNet (as in [25]).  
For the former model, as discussed thoroughly in [21], the architecture supports the training with different feature extraction backbone networks (for instance, RestNet or VGG). The choice of backbone serves as a means for exploring trade-offs between accuracy versus inference time. In general, RetinaNet yields better results other one stage detectors (i.e., YOLO), while producing models that are efficient for embedded or mobile implementations. According to our experiments, this detector model, using VGG19 for feature extraction, has a memory footprint of 115.7 MB and attains an inference time of 500 ms, a low enough latency for most road damage acquisition systems.  
We carried out the training of the deep learning models described above using the following methodology. The filtered dataset was randomly shuffled and split into two disjoint sets: 60% of the images were used for training and 30% for validation. We took great care to avoid overfitting in  
\begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline
**Dataset/Class** & **D00** & **D01** & **D10** & **D11** & **D20** & **D40** & **D43** & **D44** \\ \hline Maeda [25] & 2678 & 3789 & 742 & 636 & 2541 & 409 & 817 & 3733 \\ Extended [28] & 2978 & 3789 & 1042 & 1036 & 3341 & 1609 & 817 & 3733 \\ Filtered & 2950 & 3240 & 1024 & 1026 & 2940 & 1550 & 760 & 3260 \\
**Augmented** & **44,250** & **48,600** & **15,360** & **15,390** & **44,100** & **23,250** & **11,400** & **48,900** \\ \hline \hline \end{tabular}
\end{table}
Table 4: Quantity of road damage samples in each class for the dataset presented in [25], our extended dataset [28], and the filtered and augmented datasets.  
Figure 8: Process for discarding images with low contrast via the calculation of the variance [31].  
our models; in order to do so, we integrated regularization techniques such as dropout and sample augmentation over the proposed extended dataset, as discussed above.  
The model description, training, and validation were all done using Keras and Tensorflow. The training and all of the other experiments were executed on the collaboratory tool provided by Google, making use of a Tesla K80 GPU. The tested architectures were trained using the following parameters: a batch size of 24 and number steps per epoch of 300. We optimized the search of the model parameters using Adam, modifying the learning rate according to the approach proposed in [24]. As the results to be discussed next showcase, our RetinaNet-based approach yielded significant improvements, particularly for the classes poorly represented in the dataset in [25].