# Driver Drowsiness Detection by Applying Deep Learning Techniques to Sequences of Images
## 5 Discussion
### Analysis and Limitations of the Results  
After analyzing the results obtained, we can conclude that, even though both systems have potential, they are not ready for installation on the ADAS of a real vehicle. The accuracy of both systems is insufficient, especially on the test data, so they must be revised and improved.  
Both alternatives reached a similar accuracy: around 65% on training data and 55-65% on test data. This results are quite poor considering that we are only classifying two balanced classes (awake and drowsy), since a random classifier should obtain an accuracy of 50% and our system only sightly improves that number.  
Even thought the results are similar, Alternative I falls behind Alternative II because it raises too many false positives to be tolerable to the driver. Until the false positive rate is minimized, this alternative cannot be considered for implementation in real driving environments. Since this solution uses a neural network that learns by itself the characteristics of data, to improve this results, it is necessary to tune the training parameters or even the architecture of the network used.  
However, the results obtained by Alternative II, which uses deep learning combined with fuzzy logic, are promising, since it minimizes the number of false positives. From the 60 videos (around 10 h of video) where the driver was completely alert, the system only raised an alarm on 4 of them, so it stands as a reliable system that will not bother the driver with unnecessary alarms. Its precision while detecting actual fatigue is inferior to Alternative I, but we are working on improvements to the fuzzy inference system that will make the system capable of detecting more drowsy situations.  
Apart from the accuracy, another aspect that requires analysis for future versions of the system is the value of parameters _drowsiness_threshold_ and _min_time_. This value remains  
\begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Cross-Validation Experiment** & **Drowsiness Threshold** & **Minimum Time** & **FP** & **FN** & **TN** & **TP** & **Total Accuracy** \\ \hline
1 & 0.50 & 10–15 & 1 & 11 & 11 & 2 & 0.52 \\
2 & 0.50 & 10–15 & 0 & 7 & 12 & 5 & 0.71 \\
3 & 0.45 & 10–15 & 2 & 7 & 10 & 6 & 0.64 \\
4 & 0.50 & 10–15 & 0 & 8 & 12 & 4 & 0.67 \\
5 & 0.45 & 50–55 & 1 & 8 & 11 & 4 & 0.63 \\
**Average** & **-** & **-** & **0.8** & **8.2** & **11.2** & **4.2** & **0.63** \\ \hline \hline \end{tabular}
\end{table}
Table 10: Cross validation of the results obtained by Alternative II over test data.  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Cross-Validation Experiment** & **Drowsiness Threshold** & **Minimum Time** & **FP** & **FN** & **TN** & **TP** & **Total Accuracy** \\ \hline
1 & 0.50 & 10–15 & 0 & 30 & 48 & 19 & 0.69 \\
2 & 0.50 & 10–15 & 1 & 34 & 47 & 16 & 0.64 \\
3 & 0.45 & 10–15 & 2 & 31 & 46 & 18 & 0.66 \\
4 & 0.50 & 10–15 & 1 & 33 & 47 & 17 & 0.65 \\
5 & 0.45 & 50–55 & 1 & 32 & 47 & 18 & 0.66 \\
**Average** & **-** & **-** & **1** & **32** & **47** & **17.6** & **0.66** \\ \hline \hline \end{tabular}
\end{table}
Table 9: Cross validation of the results obtained by Alternative II over train data.  
relatively stable among the tests performed (_drowsiness_threshold_ is in the range of [0.50, 0.65] or [0.45, 0.50] depending on the alternative, while _min_time_ is usually in the range of [0.10,0.15]), but there are some outliers among the results of the different folds, and the tests performed are insufficient for choosing the best value.  
Because of this, more tests are necessary to obtain the best combination of parameters for which it could be beneficial to use other databases and a cross validation that considers more folds (e.g., using 10 folds instead of 5). By comparing the best performing combinations of each of those tests, we will be able to determine values that work almost universally.