Predicting the likelihood of what the driver is doing in each of the pictures in the dataset.
Try it with your own image!The objective of this work is to successfully predict the likelihood of what a driver is doing in each of the pictures in the dataset1.
The data consists on a set of images, each taken in a car where the driver is doing some action (e.g. texting, talking on the phone, doing their makeup). These are some examples:
The images are labeled following a set of 10 categories:
Class | Description |
---|---|
c0 |
Safe driving. |
c1 |
Texting (right hand). |
c2 |
Talking on the phone (right hand). |
c3 |
Texting (left hand). |
c4 |
Talking on the phone (left hand). |
c5 |
Operating the radio. |
c6 |
Drinking. |
c7 |
Reaching behind. |
c8 |
Hair and makeup. |
c9 |
Talking to passenger(s). |
Python 3.6.1
Tensorflow 1.3.0
Keras 2.1.2
matplotlib 2.0.2
numpy 1.12.1
Simple CNN in Keras
Directory Path: /src/keras/base
Train the model: python train.py [-h] [--bsize BSIZE]
Optional arguments:
-h , --help |
show help message and exit |
--bsize BSIZE |
provide batch size for training (default: 40) |
Test the model: python test.py [-h]
Predict from an image: predict.py [-h] [--image IMAGE] [--hide_img]
Optional arguments:
-h , --help |
show help message and exit |
--image IMAGE |
path to image |
--hide_img |
do NOT display image on prediction termination |
CNN with VGG16 Transfered Learning
Directory Path: /src/keras/vgg
Extract VGG16 deep features: python extract_vgg16_features.py [-h]
Train the model: python train_top.py [-h]
Test the model: python test.py [-h] [--acc] [--cm] [--roc]
Optional arguments:
-h , --help |
show help message and exit |
--acc |
will calculate loss and accuracy |
--cm |
will plot confusion matrix |
--roc |
will plot roc curve |
Predict from an image: predict.py [-h] [--image IMAGE] [--hide_img]
Optional arguments:
-h , --help |
show help message and exit |
--image IMAGE |
path to image |
--hide_img |
do NOT display image on prediction termination |
Note: Since the notebooks may not all be fully updated yet, the best way to run these programs is using the python scripts.
1: This dataset is available on Kaggle, under the State Farm competition Distracted Driver Detection.