# Detection and Monitoring of Bottom-Up Cracks in Road Pavement Using a Machine-Learning Approach
## 4 Results and Discussions
### CNN for Classification  
As for Table 1, Table 2 reports the parameters used in each layer of the CNN network and the results of its application on the same data sets used by the MLP. Note that, the batch size was the same used in the MLP (i.e., 16). Table 2 shows that, even if this network did not allow a good classification for data sets consisting of 40-800 ARs, the CNN allows obtaining results better than the MLP. In more detail, using the data set consisting of 1600 ARs a model accuracy of 89.5% can be reached under the following hypotheses: (1) 20 epochs; (2) 500 nodes per hidden layer; (3) a learning rate of 0.224; (4) a convolutional layer with 10 filters (length of the convolution window = 30; stride length of the convolution = 5); (5) a pooling layer with a window size equal to 10; and 6) a pool stride equal to 5 (the stride is the amount by which the filter shifts). The 89% of the data set (consisting of 3200 ARs) was properly classified using only the 30% of the ARs with the following parameters: 20 epochs, 700 nodes per hidden layer, a learning rate of 0.224, and the same convolutional and pooling layers used for the data set with 1600 signals. Finally, using the data set consisting of 4000 ARs, the 89.5% of data was properly classified. Figures 5-7 refer to Tables 2 and 3. In more detail, figures illustrate how the loss function used (error) is minimized when epochs increase. Figure 4: Convergence plots for the MLP (cf. Table 1): (**a**) data set size (D) = 1600 signals, (**b**) D = 3200 signals, and (**c**) D = 4000 signals. It should be noted that, CNN allows obtaining the best results when the training data set consisted of 800 (for D = 1600, and D = 4000), or 960 ARs (for D = 3200). Importantly, if the configurations of the three cases (in terms of number of nodes and epochs) were compared, the case D = 4000 produced the best results using the simplest configuration. This key result could be due to the learning rate (=0.61) and the number of signals used for the training (=3200), which were both greater than those used in the other two configurations. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**D a**} & \multicolumn{6}{c}{**Variables of the Network**} \\ \cline{2-7}  & **Best Dataset** & \multirow{2}{*}{**\# of Nodes c**} & **\# of Epochs/** & **\# of Filters** & **Pool Size/** & **Model** \\  & **Partition b** & & **Learning Rate** & **/Kernel/Stride d** & **Pool Stride e** & **Accuracy (\%)** \\ \hline
40 & n.a. f & n.a. & n.a. & n.a. & n.a. & l.c. f \\
400 & n.a. & n.a. & n.a. & n.a. & n.a. & l.c. \\
800 & n.a. & n.a. & n.a. & n.a. & n.a. & l.c. \\
1600 & 50/50 & 1000/1000 & 20/0.224 & 10/30/5 & 10/5 & 83.0 \\
3200 & 30/70 & 700/700 & 20/0.224 & 10/30/5 & 10/5 & 89.0 \\
4000 & 20/80 & 500/500 & 10/0.61 & 10/30/5 & 10/5 & 89.5 \\ \hline \hline \end{tabular}  
* Data set size, i.e., the number of signals used to feed the network.
* Percentage of signals used as training and testing samples (e.g., 60/40 = 60% for training and 40% for testing).
* Number of nodes used for each hidden layers (e.g., 50/50 = 50 nodes for the hidden layer #1, and 50 nodes for the hidden layer #2).
* # of filters = number of filters used in the convolution layer; kernel = length of the convolution;stride = stride length of the convolution.e pool size = size of the window that makes the pooling; pool stride = stride of the pooling window
* n.a. = not available because of lack of convergence; l.c. = lack of convergence of the testing with the training phase.  
\end{table} 
Table 2: Convolutional neural network (CNN): best results. Figure 5: Convergence plots for the CNN (cf. Table 2): (**a**) data set size (D) = 1600 signals; (**b**) D = 3200 signals, and (c) D = 4000 signals. Figure 6: Convergence plots for the CNN (cf. Table 3, section “with same convolutional and pooling layers of Table 2′′): (**a**) data set size (D) = 1600 signals, (**b**) D =3200 signals, and (**c**) D = 4000 signals. Figure 7: Convergence plots for the CNN (cf.