Driver Gaze Region Estimation Without Using Eye Movement

by   Lex Fridman, et al.

Automated estimation of the allocation of a driver's visual attention may be a critical component of future Advanced Driver Assistance Systems. In theory, vision-based tracking of the eye can provide a good estimate of gaze location. In practice, eye tracking from video is challenging because of sunglasses, eyeglass reflections, lighting conditions, occlusions, motion blur, and other factors. Estimation of head pose, on the other hand, is robust to many of these effects, but cannot provide as fine-grained of a resolution in localizing the gaze. However, for the purpose of keeping the driver safe, it is sufficient to partition gaze into regions. In this effort, we propose a system that extracts facial features and classifies their spatial configuration into six regions in real-time. Our proposed method achieves an average accuracy of 91.4 average decision rate of 11 Hz on a dataset of 50 drivers from an on-road study.



page 4

page 5


Driver Gaze Estimation in the Real World: Overcoming the Eyeglass Challenge

A driver's gaze is critical for determining the driver's attention level...

Investigating Drivers' Head and Glance Correspondence

The relationship between a driver's glance pattern and corresponding hea...

Estimation of Driver's Gaze Region from Head Position and Orientation using Probabilistic Confidence Regions

A smart vehicle should be able to understand human behavior and predict ...

Region Tracking in an Image Sequence: Preventing Driver Inattention

Driver inattention is a large problem on the roads around the world. The...

Heatmap-Based Method for Estimating Drivers' Cognitive Distraction

In order to increase road safety, among the visual and manual distractio...

Eye Contact Between Pedestrians and Drivers

When asked, a majority of people believe that, as pedestrians, they make...

A Self Validation Network for Object-Level Human Attention Estimation

Due to the foveated nature of the human vision system, people can focus ...
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

Naturalistic driving studies have shown that a driver’s allocation of visual attention away from the road is a critical indicator of accident risk [1]. Such work would suggest that a real-time estimation of driver’s gaze could be coupled with an alerting system to enhance safety when the driver is overly distracted or inattentive [2]. High precision eye tracking that includes an estimate of pupil orientation in the vehicle is costly and difficult. From an image processing perspective alone, difficulties involve the unpredictability of the environment, presence of sunglasses occluding the eye, rapid changes in ambient lighting including situations of extreme glare resulting from reflection, partial occlusion of the pupil due to squinting, vehicle vibration, image blur, poor video resolution etc. For example, in [3], a state-of-the-art algorithm for detecting pupils in the presence of specular reflection achieves only an 83% accuracy. In [4]

, an accuracy of 87% is achieved for a camera that is positioned off-axis, as it likely may need to be located inside a vehicle. Costs of high resolution recording equipment and other computational requirements further enhance the difficulty of developing practical, deployable solutions. Since pupil detection for eye tracking is often unreliable in real-world conditions, the natural question we ask is: how well can we do without it? This is the question that motivated our efforts and makes this work distinct from a large body of literature on gaze estimation. We do not assume that the head pose vector is the same as the gaze vector (i.e., eye pose plus head pose). This assumption is especially invalid in the driving context because off-axis orientation of the eyes contribute significantly to a driver’s gaze position. To answer this question, we draw upon 1,689,947 manually annotated images of drivers’ faces. In this dataset, human annotators use eye and head orientation to label where the driver is looking. Our proposed system uses only positions of the head derived directly from facial video to predict the annotated labels. The large annotated dataset allows us to characterize how well a system is able to answer the following question: to what degree can the head pose vector be used to predict the gaze region under variable orientation of the eye? Put another way, this paper is a machine learning inquiry into the prediction of ocular movements and whether these movements can be linked to head pose in the design of a driver gaze classification system.

We propose a method for exploiting the correspondence between drivers’ eye and head movement. These two variables have been shown to be correlated but in complex ways that vary by operational mode (parked vs moving), location of focus and other extrinsic and individual characteristics [5]. In terms of utilizing head pose data as part of a gross distraction detection system, [6] showed that the farther off-axis the focus point is (a conceptual overlap with reduced likelihood of adverse event detection), the more likely that a glance will be accompanied by a head movement. We show that even small shifts in facial configuration is sufficiently distinct for a classifier to accurately disambiguate head pose into one of six gaze regions.

Ii Related Work

This work is related to three established areas of computer vision: facial feature extraction, head pose estimation, and gaze tracking. This paper integrates cutting-edge algorithms and ideas borrowed and modified from each of these fields in order to demonstrate effective eyes-free gaze classification in the wild (a large on-road driving dataset).

The algorithm in [7] uses an ensemble of regression trees for super-real-time face alignment. Our face feature extraction algorithm drawn upon this method as it is built on a decade of progress on the face alignment problem (see [7] for a survey of this literature). The key contribution of the algorithm is an iterative transform of the image to a normalized coordinate system based on the current estimate of the face shape. Also, to avoid the non-convex problem of initially matching a model of the shape to the image data, the assumption is made that the initial estimate of the shape can be found in a linear subspace.

Head pose estimation has a long history in computer vision. Murphy-Chutorian and Trivedi [8] describe 74 published and tested systems from the last two decades. Generally, each approach makes one of several assumptions that limit the general applicability of the system in driver state detection. These assumptions include: (1) the video is continuous, (2) initial pose of the subject is known, (3) there is a stereo vision system available, (4) the camera has frontal view of the face, (5) the head can only rotate on one axis, (6) the system only has to work for one person. While the development of a set of assumptions is often necessary for the classification of a large number of possible poses, our approach skips the head pose estimation step (i.e., the computation of a vector in 3D space modeling the orientation of the head) and goes straight from the detection of a facial features to a classification of gaze to one of six glance regions. We believe that such a classification set is sufficient for the in-vehicle environment where the overarching goal is to assess if the driver is distracted or inattentive to the driving context.

Video-based pupil detection and eye tracking approaches have been extensively studied. The main pattern recognition approaches combine one or more features (corneal reflection, distinct pupil shape in combination with edge-detection, characteristic light intensity of the pupil, and a 3D model of the eye) to derive an estimate of an individual’s pupil, iris, or eye position

[9]. In practice, for many of the reasons discussed earlier, eye tracking in the vehicle context even for the experimental assessment of driver behavior is often inaccurate. Our approach focuses on the head as the proxy for classifying broad regions of eye movement to provide a mechanism for real-time driver state estimation while facilitating a more economical method of assessing driver behavior in experimental setting during design assessment and safety validation.

Iii Dataset

Training and evaluation is carried out on a dataset of 50 subjects drawn from a larger field driving study of 80 subjects that took place on a local interstate highway (see [10] for detailed experimental methods). For each subject, the collection of data was carried out in one of two vehicles: 2013 Chevrolet Equinox or Volvo XC60 (randomly assigned). For the subset of 50 subjects considered: 26 drove the Chevrolet and 24 drove the Volvo. The drivers performed a number of secondary tasks of varying difficulty including using the voice interface in the vehicle to enter addresses into the navigation system and using the voice interface as well as manual controls to select phone numbers from a stored phone list.

Both vehicles were instrumented with an array of sensors for assessing driver behavior. The sensor set included a camera positioned on the dashboard of each vehicle that was intended to capture the driver’s face for annotation of glance behavior. The cameras were positioned off-axis to the driver and in slightly different locations in the two vehicles (based upon features of the dashboard, etc.). As each driver positioned the seat (electronic in both vehicles) differently the relative position of the driver in relation to the camera varied somewhat by subject and across each driver over time (i.e., drivers move continuously in the seat, etc.). The camera was an Allied Vision Tech Guppy Pro F-125 B/C, capturing grayscale images at a resolution of 800x600 and speed of 30fps. An initial analysis of the data was conducted that included a double manual coding of driver glances transitions during secondary task periods (at a resolution of sub-200ms) into one of 10 classes (road, center stack, instrument cluster, rearview mirror, left, right, left blind spot, right blind spot, uncodable, and other). As detailed in [10], any discrepancies between the two coders were meditated by an arbitrator.

Code Name
Total Frames
Frames With
Face Detected
Road 1,689,947 1,316,644 77.9%
lightHyoInstrument Cluster 50,991 41,090 80.6%
lightHyoLeft 38,743 18,265 47.1%
lightHyoRearview Mirror 37,668 29,354 77.9%
lightHyoCenter Stack 28,339 24,835 87.6%
lightHyoRight 15,073 11,071 73.4%
blackTotal 1,860,761 1,441,259 77.5%
TABLE I: Dataset statistics for each class and in total. For each class, the table lists the total number of video frames and of those the number of frames where a single face was successfully detected.

In this paper, a broad random subset of data was drawn from the initial experiment and the “left” and “left blind spot” classes / “right” and “right blind spot” classes were collapsed respectively in to “left” and “right”. This merger was performed because the left/right blind spot regions (1) did not contain enough data and (2) overlapped with the left/right regions respectively.

Moreover, the selection of regions was made such that a human annotator can accurately label each gaze region by looking at the video frames. Such accurate robust annotation is central to our supervised learning approach since, by definition, standard classification requires non-overlapping classes.

Periods that were labeled “uncodable” and “other” were excluded. Subject pruning was completed to ensure that every subject under consideration has sufficient training data for each of the six glance regions (road, center stack, instrument cluster, rearview mirror, left, and right).

As shown in Table I, the resulting dataset contains 1,860,761 images each annotated as belonging to one of six glance regions. Approximately 90% of those images belonged to the “road” class, with the fewest images (15,073) belonging to the “right” class. The algorithm described in §IV

is used for face detection. The gaze region classification approach requires at least part of the face to be detected in the image. Therefore, in the evaluation we include only the images where a face is detected. As the table shows, on average, a face is detected in 77.5% of images.

Iv Features Extraction and Classification

Fig. 1: Representative examples for which the system predicted the glance region correctly (first row) and incorrectly (second row) for each of the six regions (six columns). Each image is labeled with 56 detected facial landmarks (red dots) and the Delaunay triangulation of a locally-optimal 19 landmark selection (blue lines). The images were light-corrected manually for presentation in this paper.

The steps in the gaze region classification pipeline are: (1) face detection, (2) face alignment, (3) feature extraction, (4) feature normalization, (4) feature selection, (5) classification, (6) decision pruning. If the system passes the first step (face detection) it will lead to a gaze region classification decision for every image fed into the pipeline. In step 6, that decision may be dropped if it falls below a confidence threshold.

Iv-a Face Detection

The face detector uses a Histogram of Oriented Gradients (HOG) combined with a linear SVM classifier, an image pyramid, and sliding window detection scheme implemented in the DLIB C++ library [11]. The performance of this detector has much lower false alarms rates than the widely-used default face detector available in OpenCV. For our application, a false alarm is costly in both the case of a single face and multiple faces. In the former case, the error ripples down to an almost certainly incorrect gaze region prediction. In the latter case, the video frame is dropped from consideration, reducing the rate at which the system is able to make a decision.

Iv-B Estimation of Face Landmark Position

Face alignment in our pipeline is performed on a 56-point subset from the 68-point Multi-PIE facial landmark mark-up used in the iBUG 300-W dataset [12]. These landmarks include parts of the nose, upper edge of the eyebrows, outer and inner lips, jawline, and exclude all parts in and around the eye. The selected landmarks are shown as red dots in Fig. 1. The algorithm for aligning the 56-point shape to the image data uses a cascade of regressors as described in [7] and implemented in [11]. The two characteristics of this algorithm most important to driver gaze localization is: (1) it is robust to partial occlusion and self-occlusion and (2) its running-time is significantly faster than the 30 fps rate of incoming images.

Iv-C Feature Extraction, Normalization, and Selection

The fact that a driver spends more than 90% of their time looking at the road is used to normalize the spatial position and orientation of facial landmarks such that they can be used to infer relative head movement across subjects. The first 120 seconds (3,600 frames) of the video data for a subject are used to compute the average bounding box for the face. All elements of the feature vector for a subject are normalized in relation to this bounding box. The first 112 elements in the feature vector are the positions of the 56 facial landmarks. Of those 56 points, 19 are selected through recursive feature elimination. Based on the face modeling approach in [13], a Delaunay triangulation is computed over these 19 points and the three angles of each of the resulting triangles are added to the feature vector. The triangulation is kept the same for all images, so for most of them the Delaunay property is not maintained.

Iv-D Classification and Decision Pruning

Scikit-learn implementation of a random forest classifier


is used to generate a set of probabilities for each class from a single feature vector. The probabilities are computed as the mean predicted class probabilities of the trees in the forest. The class probability of a single tree is the fraction of samples of the same class in a leaf. A random forest classifier of depth 30 with an ensemble of 1,000 trees is used for all experiments in §

V. The class with the highest probability is the one that the system assigns to the image as the “decision”. The ratio of the highest probability to the second highest probability is termed the “confidence” of the decision. A confidence of 1 is the minimum. There is no maximum. A confidence of “infinity” is assigned when all but one of the classes have zero probability. The system only produces a decision when it is above a pre-specified confidence threshold. The effect of this threshold is explored in §V-C.

V Results

V-a Gaze Region Classes

The evaluation of the gaze classification method is carried out over a 50 driver dataset described in §III. One decision is made for every image where a face is detected without regard for temporal information. We consider two ways to partition the driver gaze space. First, we consider the full six regions of (1) road, (2) center stack, (3) instrument cluster, (4) rearview mirror, (5) left, and (6) right. Second, we combine regions 1, 3, 4, 5, and 6 together into a “driving-related” class, which results in a binary classification problem of “driving-related” versus center stack. The justification for this partitioning is that the “driving-related” regions could be viewed as those not distracting to the driving task since they help the driver gain more information about the driving environment. This is in line with the Alliance of Automobile Manufactures proposal [15] for distraction evaluations based on glances to task-related areas such as displays (i.e., center stack). The left column and right column of Fig. 2 show the confusion matrices and accuracies for the six-region and the two-region gaze classification problem, respectively. The classes in both cases are unbalanced since the “road” class accounts for 90% of the images. In order to evaluate the gaze classification system fairly, the size of the testing set for each class is made equal.

Fig. 1 shows representative examples of where the system classifies gaze correctly and incorrectly for each of the six gaze regions. The figure shows that the features used for classification do not capture any information about eye or eyelid movement. Therefore, the system is robust to the driver wearing glasses or sunglasses. The main takeaway from this figure is that the system correctly identifies gaze when the shift in attention is accompanied with a movement of the head. It also highlights the fact that gaze region classification is a different problem than head pose estimation because the movement of the head associated with a glance to a particular region is small, but sufficiently distinct for the classifier to pick up, especially when given subject-specific training examples.

V-B Global and User-Based Models

(a) Global model, all predictions. Accuracy: 44.1%
(b) Global model, all predictions. Accuracy: 61.8%
(c) User-based model, all predictions. Accuracy: 65.0%
(d) User-based model, all predictions. Accuracy: 79.9%
(e) User-based model, confident predictions. Accuracy: 91.4%
(f) User-based model, confident predictions. Accuracy: 92.5%
Fig. 2: Confusion matrices and accuracy for the six-region (left column) and two-region (right column) gaze classification problems. The first row shows the global model. The second and third rows show the user based model with and without the confidence-based decision pruning, respectively.
Fig. 3:

The variation in average classification accuracy for the two-class problem using the user-based model. The confusion matrix for this case is shown in Fig. 


. The errorbars show the standard deviation of accuracy for 100 random selections of training and testing sets for each of the 50 users.

We consider two approaches for splitting the data into training and testing. The first method is an open world global model that is trained on 40 subjects and tested on 10 subjects. The second method is a user-based model that is trained for each subject on 90 consecutive images (corresponding to 3 seconds of video data) for each class. When the training and testing data is drawn from the same user, we ensure that the 90 images used for training come before the testing images and that there is at least a 30 second separation between the last training image and the first testing image. The global model evaluates how well the proposed approach works without any training, calibration, or prior knowledge of the user. A system based on this model could be placed inside the car and work almost right away without any input needed from the driver. The user-based model requires an enrollment period which collects 3 seconds of video data per class.

The first row of Fig. 2 shows the performance of the system using the global model. An accuracy of 44.1% is achieved for the six class problem, and an accuracy of 61.8% is achieved for the two class problem. Accuracy is computed as the sum of correct decisions divided by the total number of decisions produced by the system over during the evaluation. The testing set for both models is constructed to contain the same amount of continuous samples from each class. The second row of Fig. 2 shows the improved performance of the system using the user-based model. An accuracy of 65.0% is achieved for the six class problem, and an accuracy of 79.9% is achieved for the two class problem. The evaluation of the global model and user based model is repeated 100 and 1,000 times over a random training-testing split of the data to produce the mean and standard deviation seen in all the plots in this paper.

The performance of the user-based model is significantly better than the global model even though the amount of data used for training in the former case is much smaller. This suggests that there is large variation between drivers in terms of the relationship between their head movement and eye movement. This is confirmed by the plot in Fig. 3 that shows the variation in classification accuracy of the two-class user-based model. The confusion matrix for this case is shown in Fig. 1(d).

V-C Confidence-Based Decision Pruning

Fig. 4: Six-class classification accuracy of the user-based model as the confidence threshold (and time between decisions) increases. The errorbars show the standard deviation of accuracy for 100 random selections of training and testing sets for each of the 50 subjects.

The main insight of this paper is that if we only use decisions that the system has high confidence in (see §IV-D), the performance of the algorithm improves from 65.0% to 91.4% for the six class problem and from 79.9% to 92.5% for the two-class problem as shown in the last row of Fig. 2. This is most likely due to the nature of the relationship between head movement and eye movement. There appears to be a threshold in the spatial configuration of facial features that delineates each of the six regions of driver attention from each other. Our approach exploits this separability of confident decisions.

Fig. 4 shows that as we increase the confidence threshold the accuracy of the system goes up. The x-axis of this plot is the average time between confident decisions. As the confidence threshold increases, the system does not produce classification decisions for some of the frames. However, the increase in the average decision period is much slower than the increase in accuracy. Therefore, the cost of decreased decision rate is worth the big increase in accuracy.

The steps in the gaze classification pipeline that have non-trivial running time are: face detection, face alignment, Delaunay triangulation, and random forest classifier evaluation. Each of these steps runs under 10ms on a single core of an Intel Core i5 2.4 GHz processor, suggesting the end-to-end gaze region classification pipeline can run in real-time inside the car using only inexpensive consumer hardware.

Vi Conclusion

This paper shows that spatial configuration of facial landmarks provides sufficient discriminating information to accurately classify driver gaze into six gaze regions. The proposed system achieves an average accuracy of 91.4% at an average decision rate of 11 Hz for an on-road dataset of 50 subjects. Four observations are made about this problem. First, building a subject-specific model (using 3 seconds of training data per class) improves classification accuracy from 44.1% to 65%. Second, considering only confident classification decisions improves accuracy from 65% to 91%. Third, the problem of two region gaze classification (“driving-related” versus center stack) that is especially relevant to driver safety results in higher accuracy than the more general six-region classification problem. Fourth, the classification accuracy varies significantly between subjects and within subjects. Our future work will explore and exploit this inter-person and intra-person variation as it relates to the relationship between eye and head movement.


Support for this work was provided by the Santos Family Foundation, the New England University Transportation Center, and the Toyota Class Action Settlement Safety Research and Education Program. The views and conclusions being expressed are those of the authors, and have not been sponsored, approved, or endorsed by Toyota or plaintiffs’ class counsel. Data was drawn from studies supported by the Insurance Institute for Highway Safety (IIHS).


  • [1] S. G. Klauer, T. A. Dingus, V. L. Neale, J. D. Sudweeks, and D. J. Ramsey, “The impact of driver inattention on near-crash/crash risk: An analysis using the 100-car naturalistic driving study data,” Tech. Rep., 2006.
  • [2] J. F. Coughlin, B. Reimer, and B. Mehler, “Monitoring, managing, and motivating driver safety and well-being.” IEEE Pervasive Computing, vol. 10, no. 3, 2011.
  • [3] T. Yoshioka, S. Nakashima, J. Odagiri, H. Tomimori, and T. Fukui, “Pupil detection in the presence of specular reflection,” in Proceedings of the Symposium on Eye Tracking Research and Applications.   ACM, 2014, pp. 363–364.
  • [4] L. Świrski, A. Bulling, and N. Dodgson, “Robust real-time pupil tracking in highly off-axis images,” in Proceedings of the Symposium on Eye Tracking Research and Applications.   ACM, 2012, pp. 173–176.
  • [5] M. Muñoz, J. Lee, B. Reimer, B. Mehler, and T. Victor, “Analysis of drivers’ head and eye movement correspondence: Predicting drivers’ glance location using head rotation data,” in Proceedings of the 8th International Driving Symposium on Human Factors in Driver Assessment, Training, and Vehicle Design, Snowbird, UT, 2015, to Appear.
  • [6] W. J. Talamonti, W. Huang, L. Tijerina, and D. Kochhar, “Eye glance and head turn correspondence during secondary task performance in simulator driving,” in Proceedings of the Human Factors and Ergonomics Society Annual Meeting, vol. 57, no. 1.   SAGE Publications, 2013, pp. 1968–1972.
  • [7] V. Kazemi and J. Sullivan, “One millisecond face alignment with an ensemble of regression trees,” in Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on.   IEEE, 2014, pp. 1867–1874.
  • [8] E. Murphy-Chutorian and M. M. Trivedi, “Head pose estimation in computer vision: A survey,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol. 31, no. 4, pp. 607–626, 2009.
  • [9] A. Al-Rahayfeh and M. Faezipour, “Eye tracking and head movement detection: A state-of-art survey,” Translational Engineering in Health and Medicine, IEEE Journal of, vol. 1, pp. 2 100 212–2 100 212, 2013.
  • [10] B. Mehler, D. Kidd, B. Reimer, I. Reagan, J. Dobres, and A. McCartt, “Multi-modal assessment of on-road demand of voice and manual phone calling and voice navigation entry across two embedded vehicle systems,” Ergonomics, 2015.
  • [11] D. E. King, “Dlib-ml: A machine learning toolkit,” Journal of Machine Learning Research, vol. 10, pp. 1755–1758, 2009.
  • [12] C. Sagonas, G. Tzimiropoulos, S. Zafeiriou, and M. Pantic, “300 faces in-the-wild challenge: The first facial landmark localization challenge,” in Computer Vision Workshops (ICCVW), 2013 IEEE International Conference on.   IEEE, 2013, pp. 397–403.
  • [13] R. Hassanpour and V. Atalay, “Delaunay triangulation based 3d human face modeling from uncalibrated images,” in Computer Vision and Pattern Recognition Workshop, 2004. CVPRW’04. Conference on.   IEEE, 2004, pp. 75–75.
  • [14] F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay, “Scikit-learn: Machine learning in Python,” Journal of Machine Learning Research, vol. 12, pp. 2825–2830, 2011.
  • [15] D. F.-T. W. Group et al., “Statement of principles, criteria and verification procedures on driver interactions with advanced in-vehicle information and communication systems,” Alliance of Automotive Manufacturers, 2006.