Real-Time Driver State Monitoring Using a CNN Based Spatio-Temporal Approach

07/18/2019 ∙ by Neslihan Köse, et al. ∙ Technische Universität München Intel 5

Many road accidents occur due to distracted drivers. Today, driver monitoring is essential even for the latest autonomous vehicles to alert distracted drivers in order to take over control of the vehicle in case of emergency. In this paper, a spatio-temporal approach is applied to classify drivers' distraction level and movement decisions using convolutional neural networks (CNNs). We approach this problem as action recognition to benefit from temporal information in addition to spatial information. Our approach relies on features extracted from sparsely selected frames of an action using a pre-trained BN-Inception network. Experiments show that our approach outperforms the state-of-the art results on the Distracted Driver Dataset (96.31 accuracy of 99.10 performance. We also analyzed the impact of fusion using RGB and optical flow modalities with a very recent data level fusion strategy. The results on the Distracted Driver and Brain4Cars datasets show that fusion of these modalities further increases the accuracy.



There are no comments yet.


page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

As vehicles gain intelligence and capabilities, new opportunities emerge where the vehicle can improve traffic safety by supervising a driver’s performance, alertness and driving intentions via a so-called Driver Monitoring System (DMS).

Self-driving technology can create a safer driving environment by giving autonomous vehicles the capacity to learn from driving experiences, and avoid human errors. However, today, driver monitoring systems are still essential to improve safety even for the latest autonomous vehicles.

In May 2016, the crash in Florida was the first fatal crash involving a vehicle using sophisticated semi-autonomous functionalities which was not actively supervised by the driver. In March 2018, Uber’s self driving car with a backup driver struck and killed a pedestrian in Arizona. In both examples, drivers could potentially have avoided the crashes if they were not distracted.

Distracted driving may cause severe problems as it is diverting the driver’s attention away from driving. According to the National Highway Traffic Safety Administration (NHTSA) [1], 3450 people died in the United States in 2016 due to distracted driving. Dangerous maneuvers may also cause deaths hence anticipating drivers’ movement decisions is also very important in order to reduce driver-related accidents.

Today, crashes can be avoided with technologies that analyze drivers’ state and alert them via dedicated sensors. These technologies should provide real-time performance to prepare the driver to instantly take control of the vehicle in case of emergency. There are several commercial products [2, 3, 4, 5] developed for this purpose.

In this paper, we propose a real-time monitoring system to classify drivers’ distraction level and movement decisions. The state-of-the-art on distraction level analysis is based on image classification [6, 7]. We approach this problem as action recognition from video data. Our approach relies on features extracted from sparsely selected frames of an action using CNNs. Temporal information is retrieved by concatenating the extracted features from each selected frame. The results reveal that our approach outperforms the state-of-the art providing a real-time performance, which is utmost important in real life to alert distracted drivers on time.

Furthermore, in this study, it is the first time that the impact of fusion of RGB and optical flow modalities on drivers’ state is evaluated with a very recent fusion strategy [8] that is based on data level fusion of modalities. Our analyses on the Distracted Driver [7] and Brain4Cars [9] datasets show that our approach provides considerable classification accuracies and the fusion process further improves the results for both datasets. However, since optical flow computation is costly, it is not very applicable for driver monitoring that has to be real-time.

Today, it is possible to collect several modalities such as infrared, depth and RGB even from just one sensor. In this paper, our motivation for fusion analysis is to show that the applied fusion strategy can easily be adapted for these modalities and improved classification accuracies can be achieved with real-time performances.

The rest of the paper is organized as follows. Section II presents the related work on driver state monitoring. Section III introduces the proposed approach. Section IV presents the experiments and results. Section V includes a discussion part and finally, Section VI concludes the paper.

Ii Related Work

Ii-a Brief History of Commercial Products

In the past years, several commercial products have been integrated to vehicles to analyze the driver attention state. Already in 2006, Toyota started to use a near-infrared camera installed on the top of steering wheel column to monitor drivers [10]. In 2009, Saab, which was bought by another company in 2012, had integrated the Saab Driver Attention Warning System [11] in their vehicles to detect inattention and drowsy driving using two miniature infrared cameras. Lately, we have seen the emergence of additional systems. FaceLAB is a commercial system of Seeing Machines [2], which uses a passive pair of stereo cameras mounted on the car dashboard to monitor drivers and has been used in several systems [12]. However, stereo-based systems are expensive to be installed in cars and they require periodic re-calibration because vibrations cause the system calibration to drift over time. Similarly, Smart Eye uses a multi-camera system [13]

to generate 3D models of the driver’s head, allowing it to estimate the gaze direction, head pose, and eyelid status. This system is also expensive and depends on specific hardware to be installed.

Today, there are many companies and startups producing driver monitoring systems [2, 3, 4, 5]

. Most of these recent technologies apply deep learning to understand driver’s attention and alertness. The DMS from Valeo

[3] uses a camera built into the dashboard targeting the driver’s face to monitor fatigue and attentiveness. The current DMS solution from Smart Eye, which alerts the driver when drowsiness or distraction is detected, has been used by some German car manufacturers [13]. Since 2018, the DMS from Seeing Machines [2] has been used in the Cadillac CT6 Super Cruise system from General Motors [14]. This technology monitors drivers with an infrared camera on the steering wheel column to determine the driver attention state through the analysis of head orientation and eyelid movements under both daytime and night-time conditions even with sunglasses.

Ii-B Research Studies

There have been a limited number of studies that analyze driver attention state due to the lack of public datasets. In [15], the authors propose a system that estimates both the head pose and gaze direction using a camera installed on the steering wheel and works in real time during day and night. For night time, they use an infrared illuminator installed on the car dashboard to capture face of the driver and claim to achieve accuracy under a variety of illumination conditions, facial expressions and subjects.

In 2016, State Farm announced a challenge on distraction level via Kaggle [16]. In this competition, there were 10 driver postures to be classified which includes safe driving and 9 types of distracted behaviours. This dataset was the first dataset providing many sets of distractions and publicly available. Unfortunately, the use of this dataset is restricted to competition purposes only.

In 2017, Abouelnaga et al. [7]

created a new dataset similar to State Farm’s dataset. The authors apply skin, face and hand segmentation and propose a genetic algorithm based approach using weighted ensemble of five different CNNs. The system provides good classification accuracy (

) but is computationally complex to be real time. In [6], the authors use the same dataset and propose an approach based on applying a modified VGG-16 architecture [17] with various regularization techniques. The authors achieve a classification accuracy of for distraction levels and claim real-time performance. In [18, 19], the authors analyze driver behaviors also using CNN based approaches.

Recently, in [20]

, the performances of traditional hand-crafted features combined with Support Vector Machine classifier (SVM)

[21] are compared to the performances achieved with deep CNNs using a dataset that includes samples for 7 distraction classes. The traditional features used to create Bags of Words [22] are Histogram of Oriented Gradients [23] and Scale-Invariant Feature Transform [24]

descriptors. The deep convolutional methods use transfer learning on AlexNet

[25], VGG-16 [17], and ResNet-152 [26]. Similar to the outcome of State Farm’s competition, in [20], better classification accuracies have been achieved with CNNs compared to the traditional features.

Fig. 1: Flow chart of our approach to classify driver distraction level. An example from the Distracted Driver dataset for ”Drinking” action.

Iii Proposed Approach

The flow chart of our approach is shown in Fig. 1. Initially, frames are selected from each action video ( in Fig. 1

) based on sparse selection of frames. This selection process is explained in Section IV. Next, A CNN, which is pre-trained on a large scale image dataset, is applied to extract features from each selected frame. The extracted features are then concatenated and applied as input for the classification, which is achieved with a softmax layer to predict class-conditional driver action probabilities.

Iii-a Pre-Processing

For the fusion analysis of RGB and optical flow modalities, we first compute the flow frames using the RGB video frames. An optical flow is a set of displacement vector fields between pairs of consecutive frames and . In this study, the estimated horizontal and vertical components of the vector field, and , are used as the image channels of the network.

Flow frames are computed with the Brox algorithm [27] and scaled according to the maximum value appeared in absolute values of horizontal and vertical components. The results are then mapped discretely into the interval [0, 255].

Iii-B Data Level Fusion

Fig. 2 shows an example for the data level fusion applied for optical flow and RGB frames, which is called Motion Fused Frames (MFFs) in [8]. Flow frames are appended after each selected RGB frame. The combination of flow frames with the RGB frame (Fig. 2) provides the information about which part of the image is in motion and from which direction the motion is coming.

The input layer of our CNN model is designed to include three channels of one RGB image. In data level fusion, the weights of the first convolution layer of the CNN model are modified to accommodate MFFs. When we append one flow frame to the RGB frame, it means that in addition to the three channels of the RGB frame, we have an additional channel both for the horizontal and vertical components of the flow frame, which makes 5 channels in total. The weights across the RGB channels are averaged and assigned as initial weights for the appended optical flow channels.

In this paper, we analyzed fusion by appending one flow frame after each selected RGB frame for the experiments with the Distracted Driver dataset and appending three flow frames after each selected RGB frame for the experiments with the Brain4Cars dataset due to the longer duration of the action videos in this dataset.

Iii-C Training Details

In this study, the aim is to evaluate the effectiveness of the applied approach on driver state analysis, for which real-time performance and high accuracy are very critical due to safety reasons.

For feature extraction, Inception with Batch Normalization (BN-Inception)


pre-trained on ImageNet

[29] is applied similar to [30, 8] due to its good balance between accuracy and efficiency. Also, the same training strategies of partial-BN (freezing the parameters of all Batch Normalization layers except the first one) were used. For the fully connected (fc) layer and softmax layer in Fig. 1

, we used one-layer multilayer perceptrons (MLPs) with 512 units and class-number units, respectively. Rectified Linear Units nonlinearity is applied between all convolutional and fc layers.

Fig. 2: Data level fusion of optical flow and color modalities showing an ’Adjusting Radio’ action from the Distracted Driver Dataset.
Fig. 3: Examples from 10 classes of driver postures in the Distracted Driver Dataset.

For data augmentation, random scaling (20%), random spatial rotation (20°), random cropping and temporal augmentation are applied to increase the diversity of training videos. After this step, the input is resized to

for network training. Temporal augmentation is applied differently for the Distracted Driver and Brain4Cars datasets due to their different specifications. For the former, it is applied by randomly selecting one sample at each epoch and using the consecutive

frames as input to our network. While for the latter, it is applied by dividing the video into segments (i.e. clips) and selecting one random frame from each segment of an action at each epoch as input to our network.

Stochastic gradient descent (SGD) is applied to a mini-batch of videos with standard categorical cross-entropy loss. The momentum and weight decay are set to and , respectively. The learning rate is initialized with for all the experiments. For 5-fold cross validation tests, the learning rate is twice divided by , first after iterations and then iterations and optimization is completed after iterations. For the experiment using the predefined train-test split of the Distracted Driver dataset, the learning rate is twice divided by , first after iterations and then iterations and optimization is completed after iterations.

Several regularization techniques are applied to reduce over-fitting. Weight decay is applied on all parameters of the network. A dropout layer is added after the global pooling layer (before fc in Fig. 1) of BN-Inception network. The dropout ratio in this layer is kept at 0.3 throughout the whole training process.

We trained our network using a single NVIDIA Titan Xp GPU. The applied approach was implemented in the Pytorch deep learning framework


Iv Experiments and Results

Most of the studies on this topic evaluate their approach creating their own datasets, which prevents a proper comparison of techniques.

The two publicly available datasets that provide several distracted driver examples are the Distracted Driver Dataset [7] and the dataset that is collected by State Farm for a competition in 2016 to analyze driver distraction levels [16]. The use of State Farm dataset is restricted to competition purpose only. Hence in this paper, for distraction level classification, we report the results with the Distracted Driver Dataset only. For maneuver recognition, we used the Brain4Cars dataset, which is the only public dataset recorded for that purpose to the best of our knowledge.

Distracted Driver Dataset: This dataset consists of 10 classes (Fig. 3) recorded from 31 subjects. 4 cars are used and there are several variations of the drivers and driving conditions such as different lighting like sunlight and shadows. The dataset consists of 17308 frames, which are extracted from videos. The number of frames in the training and test sets are 12977 and 4331, respectively (Table I).

The predefined train-test set split of the dataset contains images of the same drivers in the test and training sets. Almost 25% of extracted frames from each video are assigned to the test set and the rest to the training set. The selection of images for test set is not based on a specific order, which can be considered as random selection.

In this paper, we approach this problem as action recognition using a CNN based spatio-temporal approach to benefit from temporal information in addition to spatial information. However, this dataset has mainly two limitations for our approach.

1.) The predefined train-test set split does not represent the common way of splitting. Generally, subjects appearing in the training set do not appear in the test set.
Solution: Since the state-of-the-art results on this dataset are reported with this train-test split, we also used this split to evaluate our approach for comparison purposes with the existing techniques (Section IV-A). However, in addition to this experiment, we also reported results with 5-fold cross validation (Section IV-B) in order to understand if our model generalizes well to new subjects.

2.) The dataset does not contain video data. It contains still images that were initially extracted from videos but provided in a mixed way in the dataset. Thus, the state-of-the art on this work is based on image classification.
Solution: In order to retrieve temporal information back from this data, for both train and test sets, we initially created action categories for each driver. Then we classified each image under the corresponding action category for both sets separately, and obtained image sequences to represent each action instead of still images.

After classifying the images in their corresponding action categories, in both training and test sets, we initially had 308 action data (in this concept action data refers to image sequence), where each data contains image sequence from 10 actions of 31 drivers (308 instead of 310 due to the missing action of two drivers in the dataset). Each action data contains a different number of frames and in fact does not contain consecutive frames due to the random selection of the test and training set images while initially creating these sets. Our approach for action classification does not depend on consecutive frames since it retrieves temporal information from sparsely selected frames. Thus, after this conversion step, we were able to test the performance of our spatio-temporal approach using this dataset by preserving the predefined train-test set split.

Our aim is to make a comparison with existing techniques, which report their performances for 4331 test images. In our case, in our test set, we have 308 action data, which contain exactly the same test set images. Since our network accepts 4 frames as input (Fig. 1), we generated 4-frame sets from these 308 action data.

4-frame sets are generated by involving each frame together with the next 3 frames in the same action data in one set. For the three last frames, we can’t append more frames than are available so we’re appending the missing frames from the beginning of each test action data, effectively looping the frame selection. This process allows our network to work with the required number of frames and create 4331 test set samples (i.e. 4331 4-frame sets).

Sets Original Dataset After Conversion Final Form
Train 12977 images 308 action data 308 action data
Test 4331 images 308 action data 4331 4-frame sets
TABLE I: Dataset form after conversion steps

Since the original test set images in the Distracted Driver Dataset are based on a random selection from video frames, each of the generated 4-frame sets contains in fact 4 randomly selected chronological frames of an action. After this process, instead of having 4331 single images or 308 action data in the test set, we have 4331 sets, each containing 4 frames of an action video. We use these 4-frame sets to extract spatio-temporal features.

Our network is trained using directly the generated action data in the training set (308 action data). Training is achieved by selecting one sample of action data at each epoch and using the consecutive frames as input to our network.

Table I shows the dataset form after the applied steps to convert the dataset into a form that includes spatio-temporal information by preserving the predefined train-test set split.

Brain4Cars Dataset: This dataset was introduced for anticipating driver maneuvers and contains 594 videos collected with a frontal view camera from 10 drivers to record their face. It is annotated with 5 actions, which are driving straight, changing to left lane and changing to right lane, turning left and turning right.

We evaluated the performance of our approach on this dataset due to two main reasons. First, this dataset contains information about drivers in a real-driving scenario and has annotations for 5 classes. Being an action classification based approach, we were able to test the performance of our approach with this dataset as well to classify drivers’ movement decisions, which is also crucial for driver-related accidents. The second reason is that the Distracted Driver dataset was collected with a side view camera, which targets the driver’s whole body (Fig. 3). Using the Brain4Cars dataset, which was collected with a frontal view camera, we were able to analyze the performance of our approach with data collected from a different viewpoint.

5-fold cross validation is applied to evaluate the performance of our approach on the Brain4Cars dataset.

Method Architecture Source Accuracy
[7] AlexNet Original 93.65
Skin Segmented 93.60
Face 84.28
Hands 89.52
Face+Hands 86.68
[7] Inception V3 Original 95.17
Skin Segmented 94.57
Face 88.82
Hands 91.62
Face+Hands 90.88
GA weighted 95.98
ensemble of all 5
[6] VGG with Original 96.31
Our Method BN-Inception Original 99.10
TABLE II: Comparison of Methods Applied on the Distracted Driver Dataset.

In this section, we evaluate the performance of our approach using the predefined train-test split provided with the Distracted Driver set for comparison purposes with existing techniques [7, 6]. We apply 5-fold cross validation to analyze if our approach generalizes well to new subjects. Finally, we use the Brain4Cars dataset [9] to analyze if our approach performs well on a second dataset and with the data collected from a different viewpoint.

5-fold cross validation tests also involve data level fusion analysis of RGB and flow modalities to evaluate the impact of fusion on drivers’ state analysis. We were not able to apply data level fusion using the predefined train-test set split (Section IV-A) due to the randomly selected frames in each test sample (4-frame set), which prevents an appropriate flow computation for these samples.

Iv-a Test 1: Evaluation using the predefined train-test split

In this test, we evaluated the performance of our approach using the predefined train-test split and achieved accuracy for the classification of 10 distraction levels.

Table II shows the comparison results of methods [7, 6] applied on the Distracted Driver Dataset. In [7], authors preprocessed the images by applying skin, face and hand segmentation and proposed a genetic algorithm based approach using weighted ensemble of five CNNs and reported accuracy. In [6], authors propose an approach based on applying a modified version VGG-16 architecture and reported a classification accuracy of . Both of these approaches are based on still image classification. The results show that we have exceeded the state-of-the art performance with the accuracy of , which proves the impact of temporal information on distraction level classification.

Fig. 4: Confusion matrix using our approach.

According to the confusion matrix shown in Fig. 4, the lowest classification rates are evaluated as 97.95% and 98.58% for talking on the phone using left hand (7 of them classified as texting with left hand) and texting with right hand actions (3 of them classified as safe driving, 3 of them as talking on the phone with right hand and 1 of them classified as texting left hand), respectively. 3 of the actions in this dataset are classified with 100% accuracy.

Iv-A1 Distracted Driver Detection

The detection of distracted drivers is in fact a binary classification problem including two classes, which are safe driving and distracted driving. In our dataset, all classes except safe driving action belong to distracted driving class. Using the predefined train-test set split, we also analyzed the problem as distracted driver detection. Table III shows the number of true and false predictions evaluated after training our approach including these two classes only.

Classes True Prediction False Prediction
Safe Driving 887 35
Distracted Driving 3403 6
TABLE III: Distracted or Not?
# of Segments Modality P1 (%) P2 (%) P3 (%) P4 (%) P5 (%) Average Acc. (%)
4 RGB 93.33 95 91.67 90 93.33 92.67
RGBFlow 95 95 95 91.67 96.67 94.67
8 RGB 90 95 95 93.33 96.67 94
RGBFlow 96.67 95 96.67 93.33 96.67 95.67
12 RGBFlow 96.67 96.67 96.67 95 98.33 96.77
TABLE IV: 5-fold Cross Validation Results with the Distracted Driver Dataset for RGB and RGBFlow Modalities.

According to the results in Table III, distracted drivers can be detected with an accuracy of

. Since the number of samples for safe driving and distracted driving is unbalanced, this accuracy level can be increased by applying class weights to the loss function. However, what we really want to achieve is not to miss distracted driving cases as much as possible. Since the unbalanceness of the sets naturally leads to less false prediction in distracted driving, we did not apply any class weight for the loss function in this experiment, and achieved a recall rate of

, which is very critical for safety related tasks.

Iv-B Test 2: 5-fold cross validation results including fusion analysis for RGB and Flow modalities

In this test, we generated videos by classifying all the images in the Distracted Driver dataset under corresponding action class, which makes 308 action videos of 31 drivers. 5-fold cross validation is applied by assigning the video data of 6 randomly selected subjects out of 31 subjects to test set and assigning the rest to training set at each fold, which makes around 60 videos in the test set according to the selected subjects.

In the real-world, we will most likely encounter drivers never seen before. The 5-fold cross validation analysis helps to analyze if our model generalizes well to new subjects. It is intuitive that it is a much easier task if we have already seen the driver in the training set.

The videos in our test set contain more samples compared to the first experiment. Instead of having 4 random frames in each of 4331 test sets, we have 60 actual action videos of drivers. Therefore, this time, we applied segment analysis as in [30] while selecting the test set frames to extract the features. The action video is split into N segments (N clips). The middle image in each segment is selected as input data to our network, which makes N frames from N segments.

The results in Table IV ( represents each partitioning for ) show that even with the 4 segment analysis, we can achieve an average accuracy of using only the RGB data. By increasing the number of segments from 4 to 8, the average accuracy improves to . Note that for 8-segment analysis, we added an additional MLP layer for dimensionality reduction, which contains 2048 units. Adding this additional layer, the number of features from the 8 frames () is initially reduced to , which are then used for classification with a softmax layer.

According to Table IV, the classification accuracy has been improved by increasing the number of segments for many of the partitionings. These results also show that our approach generalizes well to the new subjects, which are not involved in the training set.

In this test, we also analyze the impact of data level fusion using RGB and flow modalities. Table IV shows that for both 4 and 8 segment analyses, the fusion of RGB and flow improves the classification accuracy for many of the partitionings compared to using only RGB data.

The real-time performance is critical while detecting distracted drivers. Since in our study the flow images are computed offline, we report the computation time using RGB modality only. The computation times are evaluated as and ms/video on a single Titan XP GPU with batch size of 1 (each video represents one individual action) for the 4 and 8 segment analyses, respectively, which are real-time performances. Increasing the number of segments increases the classification accuracy with a slight increase in computation time. The applied algorithm is based on sparse selection of frames. The features are extracted from only a few number of frames representing each action. This is why, the algorithm is very fast in detecting distracted drivers and classifying their distraction levels.

Iv-C Test 3: Performance analyses using the Brain4Cars dataset

The number of samples in 5 action classes from the Brain4Cars dataset is very unbalanced. Therefore, in Table V, we report 5-fold cross validation results in terms of both accuracy and precision. In this test, we appended 3 flow frames instead of 1 flow frame after each selected RGB frame since action videos last longer compared to the case with the Distracted Driver dataset. The results in Table V show that our approach provides considerable accuracies on a second dataset and performs well with data collected from a different viewpoint as well. The impact of fusion for RGB and flow modalities is also evaluated using this dataset. According to the results in Table V, fusion of the two modalities enhances the accuracy for all the partitionings.

There are studies [9, 32] that report precision for anticipating driver maneuvers with this dataset using the information extracted from internal and external sensing, the vehicle’s dynamics, global position coordinates and street maps. Table V shows the classification results of our approach using the data collected from internal sensing only hence a fair comparison is not possible with these techniques.

# of Modality P1 P2 P3 P4 P5 Average
Segments Acc./Prec (%) Acc./Prec (%) Acc./Prec. (%) Acc./Prec (%) Acc./Prec (%) Acc./Prec (%)
8 RGB 81.51/83.38 80.83/81.89 82.35/82.22 78.33/83.11 78.99/80.52 80.40/82.22
RGBFlow 82.35/84.99 81.67/82.89 83.19/83.49 80.83/83.23 80.67/82.61 81.74/83.44
TABLE V: 5-fold Cross Validation Results with the Brain4Cars Dataset for RGB and RGBFlow Modalities.

V Discussion

We are aware that it is not a fair comparison with the other state-of-the-art methods that use only spatial information. However, in this study, we would like to emphasize the importance of temporal information on the accuracy. In Section  IV-A, even though we used the same training data as the other state-of-the-art models, incorporating the temporal information lets us achieve accuracy gain still providing a real-time performance, which is very important for safety-critical applications.

Many appearance based approaches are based on the information collected from standard cameras providing RGB data. Alternatively, depth sensing cameras are used, which are immune to lighting conditions and hence efficient for solving fundamental computer vision problems. Infrared cameras are also another alternative to RGB cameras. In industry, infrared sensors are used for driver monitoring due to their efficiency in poor lighting conditions.

Since our datasets consist of only RGB modality, a fusion analysis was possible only with the information extracted from RGB data, which are flow images in our study. The advantage of using flow modality for fusion is that it avoids the need for enhanced sensors providing several modalities like depth and infrared images. However, in practice, the estimation of flow image has a computational cost and isn’t very applicable for real-time performance. Today, depth, RGB and infrared modalities can be collected even from just one sensor and they do not need extra computation like optical flow. Being robust to illumination changes, these modalities are more appropriate for real-time driver monitoring.

In the next steps, we plan to test the performance of our approach with data level fusion analysis using infrared and depth modalities by collecting a dataset including these modalities. Additionally, in the real world, real-time streams contain transitions from one action to another. We have done some initial tests with continuous data to understand how our algorithm classifies the transition times. We will also analyze how much of a ”reliability gap” there could be during this time and how we could overcome this by implementing a post-classification strategy that would account for this.

Vi Conclusion

This paper presents a spatio-temporal analysis based approach for driver state monitoring, which relies on features extracted from only 4 selected frames of an action using convolutional descriptors for feature extraction.

Experiments conducted on the publicly available Distracted Driver Dataset show that our approach (99.10%) outperforms the state-of-the art techniques (96.31%) that are based on still image classification. This result proves that temporal information provides a considerable improvement in classification accuracy.

Our approach also provides real-time performance (10 ms/video on a single GPU with batch size of 1, where each video represents one individual action) while detecting distracted drivers, which is utmost important in real life.

In this paper, we also analyzed the fusion of RGB and optical flow modalities with a very recent data level fusion strategy [8]. The results on the Distracted Driver and Brain4Cars datasets show that the features extracted from the combination of motion-based and RGB-based inputs provide better accuracy in drivers’ state analysis. Since the two datasets were collected from different viewpoints, we were also able to analyze the performance of our approach from different viewpoints. Our approach performs well using data collected from both side view and frontal view cameras. However, since these datasets are collected for different purposes and under different conditions, from the results, it is not possible to decide the best location for the camera in order to capture more information about drivers.

As future work, our aim is to evaluate the performance of our approach for more complex datasets. Since it is not possible to monitor drivers with an RGB camera during night scenario, we intend to do analysis with infrared and depth data for real world scenario including a fusion analysis. We will improve the performance of our approach by further analyzing temporal information in videos.


We thank Min-An Chao for fruitful discussions, ideas and helping us in preparing the demonstration clip for this work.


  • [1] “National highway traffic safety administration traffic safety facts,”
  • [2] “Seeing machines,”
  • [3] “Valeo driver monitoring,”
  • [4] “Eyesight driver sense & cabin sense,”
  • [5] “Sensedrive driver monitor system,”
  • [6] B. Baheti, S. Gajre, and S. Talbar, “Detection of distracted driver using convolutional neural network,”

    The IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) Workshops

    , June 2018.
  • [7] Y. Abouelnaga, H. M. Eraqi, and M. N. Moustafa, “Real-time distracted driver posture classification,” CoRR, vol. abs/1706.09498, 2017.
  • [8] O. Köpüklü, N. Köse, and G. Rigoll, “Motion fused frames: Data level fusion strategy for hand gesture recognition,” IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) Workshops, pp. 2216–2224, 2018.
  • [9] A. Jain, H. S. Koppula, et al., “Car that knows before you do: Anticipating maneuvers via learning temporal driving models,” IEEE Int. Conf. on Computer Vision (ICCV), pp. 3182–3190, 2015.
  • [10] H. Ishiguro et al., “Development of facial-direction detection sensor,” Proc. 13th ITS World Congr., pp. 1–8, 2006.
  • [11] A. Nabo, “Driver attention dealing with drowsiness and distraction,” Smart Eye Tech. Report, 2009.
  • [12] L. Fletcher and A. Zelinsky, “Driver inattention detection based on eye gaze-road event correlation,” Int. J. Rob. Res., vol. 28, no. 6, pp. 774–801, 2009.
  • [13] “Smart eye,”
  • [14] “General motors,”
  • [15] F. Vicente, Z. Huang, et al., “Driver gaze tracking and eyes off the road detection system,” IEEE Trans. on Intelligent Transportation Systems, vol. 16, no. 4, pp. 2014–2027, 2015.
  • [16] “State farm distracted driver detection,”
  • [17] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” arXiv 1409.1556, 09 2014.
  • [18] S. Yan, Y. Teng, J. Smith, and B. Zhang, “Driver behavior recognition based on deep convolutional neural networks,” pp. 636–641, 08 2016.
  • [19] J. Lemley, S. Bazrafkan, and P. Corcoran, “Transfer learning of temporal information for driver action classification,”

    Modern Artificial Intelligence and Cognitive Science Conference (MAICS)

    , 2017.
  • [20] M. Hssayeni, S. Saxena, et al., “Distracted driver detection: Deep learning vs handcrafted features,” Electronic Imaging, vol. 2017, pp. 20–26, 01 2017.
  • [21] C.-C. Chang and C.-J. Lin, “Libsvm: A library for support vector machines,” ACM Trans. Intell. Syst. Technol., vol. 2, no. 3, pp. 27:1–27:27, 2011.
  • [22] G. Csurka, C. R. Dance, et al., “Visual categorization with bags of keypoints,” In Workshop on Statistical Learning in Computer Vision, ECCV, pp. 1–22, 2004.
  • [23] N. Dalal and B. Triggs, “Histograms of oriented gradients for human detection,” IEEE Computer Society Conf. on Computer Vision and Pattern Recognition (CVPR’05), vol. 1, pp. 886–893, 2005.
  • [24] D. G. Lowe, “Distinctive image features from scale-invariant keypoints,” Int. Journal of Computer Vision, vol. 60, no. 2, pp. 91–110, 2004.
  • [25] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classification with deep convolutional neural networks,” Neural Information Processing Systems, vol. 25, 01 2012.
  • [26] K. He, X. Zhang, et al., “Deep residual learning for image recognition,” IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 770–778, 2016.
  • [27] T. Brox, A. Bruhn, et al., “High accuracy optical flow estimation based on a theory for warping,” ECCV, 2004.
  • [28] S. Ioffe and C. Szegedy, “Batch normalization: Accelerating deep network training by reducing internal covariate shift.”

    Int. Conf. on Machine Learning

    , pp. 448–456, 2015.
  • [29] O. Russakovsky, J. Deng, et al., “Imagenet large scale visual recognition challenge,” Int. J. Comput. Vision, vol. 115, no. 3, pp. 211–252, 2015.
  • [30] L. Wang, Y. Xiong, Z. Wang, et al., “Temporal segment networks: Towards good practices for dep action recognition,” European Conf. on Computer Vision (ECCV), pp. 20–36, 2016.
  • [31] A. Paszke, S. Gross, et al., “Automatic differentiation in pytorch,” NIPS 2017 Workshop Autodiff, 2017.
  • [32] A. Jain, H. S. Koppula, et al., “Brain4cars: Car that knows before you do via sensory-fusion deep learning architecture,” 2016.