Driver distraction is one of the top reasons for road crashes and fatality. In this work we used large scale naturalistic data, SKRP2 NDS, to predict driver gaze from a single image. Contrary to traditional systems, this project focuses on naturalistic images with no color information, high spatial noise, and high compression.
This work was presented at TRB 2022, and currently under review at TRR.
C. Winkowski, A. Sarkar, J. Hickman, A. L. Abbott, “Residual Network-Based Driver Gaze Classification In1naturalistic Driving Studies”, Transportation Research Record (2021, under review) – presented at TRB Annual meeting 2021
This is a fine-tuned model based on ResNet18 and trained on the SHRP2 Baseline and Crash dataset to estimate head pose by category. It can identify six categories "Center stack, Cup holder - console", "Forward, Instrument cluster, Left windshield", "Left window / mirror", "Rearview mirror", "Right window / mirror", "Right windshield".
The dependencies are
- python3
- pytorch
- torchvision
- Pillow
I suggest using a python virtualenv to run the code.
virtualenv vpy
. vpy/bin/activate
pip install -r requirements.txt
Download the model with curl
curl -JLO https://mirror.vtti.vt.edu/vtti/ctbs/eyeglance/ResNet18_batchsize-96_trainlayers-all_fctype-linear_int_fcint-300_learningrate-0.0001_lrdecay-0.1_lrdecaystep-7_epochs-15_optimizer-sgd_model-resnet18_cropping-true_balanced-true_rebalanced-true.pth
You can run the model on a cropped face image using the run_image.py
command.
python run_image.py ResNet18_batchsize-96_trainlayers-all_fctype-linear_int_fcint-300_learningrate-0.0001_lrdecay-0.1_lrdecaystep-7_epochs-15_optimizer-sgd_model-resnet18_cropping-true_balanced-true_rebalanced-true.pth examples/3792_06-25_Console.png
Retinaface was used for cropping faces from images.
There are a few example images in the examples
directory taken from the SHRP2 Safety Pilot Study