Giter Site home page Giter Site logo

ramonssouza / deep-learning-cnn-based-hand-gesture-recognition Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shikhinmehrotra/deep-learning-cnn-based-hand-gesture-recognition

0.0 0.0 0.0 9 KB

This project involves building a 3D Convolutional Neural Network (CNN) to correctly recognize hand gestures by a user to control a smart TV.

Jupyter Notebook 100.00%

deep-learning-cnn-based-hand-gesture-recognition's Introduction

Deep-Learning-CNN-based-hand-gesture-recognition

This project involves building a 3D Convolutional Neural Network (CNN) to correctly recognize hand gestures by a user to control a smart TV.

The objective of this projects is to build a hand gesture recognition model that can be hosted on a camera installed in a smart TV that can understand 5 gestures. Namely, leftwards hand movement to go to previous channel, rightward hand movement to go to next channel, upward hand movement to increase the volume, downward hand movement to decrease the volume and a palm gesture to pause playing the video.

Data set

The data set consists of training and test folders. Each of these folders contains sub-folders for each video which is of a few seconds' duration. Each sub-folder for a video consists of 30 frames of the video as images.

Data pre-processing

A custom data pre-processing fucntion is built to generate the data in which the set of 30 images representing a single video or data point is pre-processed by normalisation, standard scaling etc. Further, a custom number of images from the set of 30 images is selected for training purposes. Further, a batch of images is created in this custom function to be fed into the 3D CNN model as a signle data point.

Model building

A 3D CNN architecture is built with 4 convolutional layers, each followed by bacth-normalisation, max-pooling layers and dropout layers. In the end, the output of the convolutional layers is flattened and fed into a softmax layer with 5 outputs.

Model parameters

The model so built is found to have about 9.5 million trainable parameters which is fair enough for a small model that can be hosted on a webcam.

Model evaluation

The model is trained for 30 epochs and results in accuracy of 76%. This accuracy figure can be significantly improved if training is done for more number of epochs. The number of training epochs was limited to 30 in this implementation due to computational limitations.

deep-learning-cnn-based-hand-gesture-recognition's People

Contributors

shikhinmehrotra avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.