• Stars
    star
    113
  • Rank 303,672 (Top 7 %)
  • Language
    Python
  • Created over 6 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This is a project implementing Computer Vision and Deep Learning concepts to detect drowsiness of a driver and sound an alarm if drowsy.

DrowsyDriverDetection

This is a project implementing Computer Vision and Deep Learning concepts to detect drowsiness of a driver and sound an alarm if drowsy.

Youtube Demo : https://youtu.be/3uMlNuXfNfc

• Built a model for drowsiness detection of a driver by real-time Eye-Tracking in videos using Haar Cascades and CamShift algorithm.

• Used the significant features for each video frame extracted by CNN from the final pooling layer to stitch as a sequence of feature vectors for consecutive frames.

• This sequence (2048-D) is given as an input to Long Short-Term Memory (LSTM) Recurrent Neural Networks (RNN), which predicts the drowsiness of the driver given the video sequence and sounds an alarm in such a case.

• Optimized network weights by Adam Optimization algorithm.

Technologies used: Python 2.7, OpenCV 3.3.0, Tensorflow, Keras, CNN, RNN, LSTM.

Steps to run this project:

  1. Run the run_extract_eyes.sh program to track the eyes for different videos(training data) and to store the patches of the eyes in a folder for every video. (Alert and Drowsy)
  2. Use this training data to retrain the CNN model(Inception V3 model).
  3. Run extract_features.py to extract the features from the second last layer of the CNN model which is a 2048-d vector and to create a sequence of frames as a single vector to be given as an input to the LSTM which is a part of Recurrent Neural Networks(RNN)
  4. Run data.py and models.py
  5. Finally run train.py to get the final predictions for the test sequence of data and the alarm will sound if the model predicts the sequence to be in a drowsy state.

More Repositories

1

OpenPose_PythonOpenCV

A simple code demonstrating real-time Pose Estimation in webcam using OpenPose Python and OpenCV
Python
53
star
2

Face-Detection-and-Tracking

Computer Vision model to detect face in the first frame of a video and to continue tracking it in the rest of the video. This is implemented in OpenCV 3.3.0 and Python 2.7
Python
29
star
3

detect_those_corners

Detecting important corners in images and real-time video using Harris Corner Detector. and Shi-tomasi corner Detector
Python
12
star
4

Binary-Segmentation

An interactive semi-automatic binary segmentation model. Implemented in OpenCV 3.3.0 and Python 2.7
Python
10
star
5

Panoramas-and-Image-Alignment

Computer Vision Project, stitching different perspective images into a single smooth panorama using Laplacian Blending.
Python
10
star
6

Histogram-Filters-Blending

This project implements histogram equalization, low-pass and high-pass filter, and laplacian blending of images.
Python
6
star
7

MachineLearning

MATLAB
1
star
8

The-Searching-Pacman

In this project, the Pac-Man agent finds paths through its maze world, both to reach a particular location and to collect food efficiently. Search algorithms such as Depth First Search, Bread First Search, Uniform Cost Search and A-star search are applied to Pac-Man scenarios.
Python
1
star
9

Golomb-Ruler

This project implements Constraint Satisfaction Problem (CSPs). Plain Backtracking, Backtracking + Forward Checking are used to solve CSPs.
Python
1
star
10

MultiAgent-Pacman

In this project, agents are designed for the classic version of Pacman, including ghosts. Mini-max, Alpha-Beta pruning, Expectimax techniques were used to implement multi-agent pacman adversarial search.
Python
1
star