Code Monkey home page Code Monkey logo

daemononcode / hand-gesture-recognition-rock-paper-scissor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from data-science-community-srm/hand-gesture-recognition-rock-paper-scissor

0.0 1.0 0.0 1.02 GB

Hand Gesture Recognition and Modification was based on transfer learning Inception v3 model using Keras with Tensorflow backend trained on 4 classes - rock, paper, scissors, and nothing hand signs. The final trained model resulted in an accuracy of 97.05%. The model was deployed using Streamlit on Heroku Paas.

License: MIT License

Python 1.08% Jupyter Notebook 98.55% HTML 0.34% Shell 0.03%

hand-gesture-recognition-rock-paper-scissor's Introduction

Hand Gesture Recognition and Modification

Image classification of Rock🌍,Paper📜 and Scissors✂ hand symbols

Preview

  • Output:

screen recording of output

  • Browse images from your system and try out the image recognition model!

Web app output #1

Web app output #2

Web app output #3

Web app output #4

Functionalities

  • This model (Model_4_classes.h5) has been trained to detect 4 classes of objects: Paper 📜, Rock 🌍 , Scissors ✂ and Nothing(Case of No hand sign) using transfer learning on the InceptionV3 model till layer ‘mixed7’, followed by a Dense layer with 256 nodes (RelU), and a softmax layer with 4 output nodes using Keras with Tensorflow backend.
  • It was trained using the RMSprop optimizer with a batch size of 32 for 100 epochs. Input size of the images were (150, 150, 3). The images were rescaled and augmented before training. (TrainInception_4classes.ipynb)
  • The h5 weights file of the Inception v3 model has been integrated as a Streamlit app. The Streamlit app has been deployed on Heroku PaaS
  • The final trained model resulted in an accuracy of 97.05% on the test set with 237 images.
  • The model can be visualized using the file Visualize_4_classes.py and Uses OpenCV library and the webcam to do the same. Each frame is flipped, resized to 150x150 and then normalized before feeding into the network to make a prediction.

Plot of training and validation accuracy versus the number of epochs:

Plot of training and validation accuracy versus the number of epochs.

Plot of training and validation loss versus the number of epochs:

Plot of training and validation loss versus the number of epochs.


Instructions to run

  • Pre-requisites:

  • Installation

< mkdir -p ~/.streamlit/

echo "\
[server]\n\
headless = true\n\
port = $PORT\n\
enableCORS = false\n\
\n\
" > ~/.streamlit/config.toml >
< web: sh setup.sh && streamlit run app.py >

Contribute 👨‍👨‍👧‍👦

Thanks for taking the time to contribute!

The following is a set of guidelines for contributing to Hand Gesture Recognition and Modification. Please check out the Contribute.md . These are just guidelines, not rules, so use your best judgement and feel free to propose changes to this document in a pull request. If you have any questions, open an issue.

License

MIT © Data Science Community SRM

This project is licensed under the MIT License - see the License.md file for details

License

Made with ❤️ by DS Community SRM

hand-gesture-recognition-rock-paper-scissor's People

Contributors

aymuos15 avatar imgbotapp avatar jagnani73 avatar shinjinee avatar stagnito avatar stutisehgal avatar vignesh772 avatar

Watchers

 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.