## 2 Related Work
### Approaches Based on Deep Learning
The Boston University (BU) dataset consists of images that cover four types of distractions, namely: looking down, head nodding, eye closure, and head panning. These images have been generated in controlled lab settings where the light source was moved in different directions while capturing the images. [PERSON] et al. proposed a distraction detection system based on yaw head pose estimation using the BU dataset [43]. Later, in 2017, they proposed a system to estimate both roll and yaw angle using a decision tree model [44]. They used non-intrusive feedback regarding the user's head pose in order to determine the direction of their gaze and subsequently infer their attention level. [PERSON] et al. proposed an approach which relied on a weighted and ensembled convolutional network [45]. They tested their approach on the BU dataset and obtained 84.64% accuracy. In 2018, [PERSON] and [PERSON] proposed a feature-based system using a neural network to detect distraction due to driver's head panning, achieving an accuracy of 89.20% on the same dataset [46]. In the BU dataset, our proposed approach ReSVM, combining deep features of ResNet-50 with an SVM classifier, outperforms the state-of-the-art approach (89.20%) by achieving an accuracy of 90.46%. However, this dataset lacks more realistic scenarios. Compared to the BU dataset, SFDD and DrivFace datasets contain more realistic images as well as more categories of distraction. [PERSON] et al. relied on deep convolutional methods on dashboard camera images to detect distracted drivers [47]. They used transfer learning on AlexNet, VGG-16, and ResNet-152 and were able to achieve an accuracy of 82.5% on the SFDD dataset. In 2018, [PERSON] et al. proposed a system based on averaging the various existing convolutional neural network (CNN) models, namely: VGG16, VGG19, and Inception, for classification of distracted drivers [48]. They achieved an accuracy of 89.9% on the same dataset. In 2020, [PERSON] et al. proposed a novel approach to identify distracted drivers from their postures using CNNs and stacked bidirectional long short-term memory (BiLSTM) networks which captured the spectral-spatial features of the images [49]. Results showed that they achieved a classification accuracy of 92.7% on the same dataset. In 2019, [PERSON] et al. proposed that the dropout layer from VGG-16 could be used to prevent overfitting while detecting driver's distraction [50]. In addition to that, an attention mechanism was implemented to optimize the resource allocation. The authors tested various activation functions, including DReLU, SELU, and Leaky ReLU, and achieved 95.82%. accuracy on the SFDD dataset. In 2020, [PERSON] et al. gave a comparative analysis of the approaches called scale invariant feature transform (SIFT) and RootSIFT for drowsy feature extraction [51]. The enhanced SIFT, called RootSIFT, achieves 93% accuracy on the BU dataset, which is better than normal SIFT in extracting the drowsy features. In 2020, [PERSON] et al. introduced the Driver Monitoring Dataset (DMD), an extensive dataset which includes real and simulated driving scenarios: distraction, gaze allocation, drowsiness, and hand-wheel interaction [52]. They achieved an accuracy of 93.2% on the same dataset. Previously, in 2016, [PERSON] et al. proposed a new automatic method for coarse and fine head yaw angle estimation of the driver [53]. They relied on a set of geometric features computed from just three representative facial keypoints, namely the center of the eyes and the nose tip. They were able to achieve an accuracy of 81% on the BU dataset. Although these aforementioned approaches exhibited good accuracy, there is still room for improvement. Our proposed approach, ReSVM, outperforms the state-of-the-art approaches and achieves an accuracy of 95.5% and 93.44% on SFDD and DrivFace datasets, respectively. One of the reasons why our approach outperforms the state-of-the-art techniques is because ResNet performs well with noisy data as compared to the other CNNs.