GithubHelp home page GithubHelp logo

projectmanin's Introduction

Reconocimiento de gestos usando mediapipe

El proyecto consiste en la predicción de los gestos que se puede realizar con las manos
En este programa de ejemplo se reconoce los gestos de la mano con machine learning usando la detección la detección de los puntos clave(key_points).

Entrenamiento del modelo, pruebalo en collab-> Open In Colab

mqlrf-s6x16

El repositorio contiene lo siguiente:

  • Programa de ejemplo
  • Modelo de reconocimientos de gestos de las manos(TFLite)
  • Aprendizaje de datos para el reconocimiento de gestos y notebooks para el aprendizaje

Requerimientos

  • mediapipe
  • OpenCV 3.4.2 or Later
  • Tensorflow 2.3.0 or Later
  • scikit-learn 0.23.2 or Later (Solo si va a mostrar la matriz de confusión)
  • matplotlib 3.3.2 or Later

Demo

Para corre la aplicación de prueba utilice dentro de la carpeta del proyecto

python app.py

Se pueden configurar las siguientes opciones para ejecutar la demo.

  • --device
    Especificar el dispotivo de la cámara (Default:0)
  • --width
    Anho de la ventana(Default:960)
  • --height
    Alto de la ventana (Default:540)
  • --use_static_image_mode
    Whether to use static_image_mode option for MediaPipe inference (Default:Unspecified)
  • --min_detection_confidence
    Detection confidence threshold (Default:0.5)
  • --min_tracking_confidence
    Tracking confidence threshold (Default:0.5)

Directorio (funcional)

│  app.py
│  detectorDeGestosv5.ipynb 
│  
├─model
│  ├─keypoint_classifier
│    │  datasetDeGestos_v4.1.csv
│    │  datasetDeGestos_v4.1.hdf5
│    │  keypoint_classifier.py
│    │  keypoint_classifier.tflite
│    └─ keypoint_classifier_label.csv
│                 
└─utils
    └─cvfpscalc.py

app.py

Es el programa de prueba

detectorDeGestosv5.ipynb

Este es script para el modelo de entrenamiento para el reconocimiento de gestos.

model/keypoint_classifier

This directory stores files related to hand sign recognition.
The following files are stored.

  • Training data(keypoint.csv)
  • Trained model(keypoint_classifier.tflite)
  • Label data(keypoint_classifier_label.csv)
  • Inference module(keypoint_classifier.py)

utils/cvfpscalc.py

Modulo para calcular los fps.

Entrenamiento

Agregar y cambiar data de entrenamiento para el reconocimiento de gestos de manos.

Entrenamiento del reconocimiento de gestos de manos

1.Aprendiendo de colección de datos

Presionamos para para guardar los puntos clave(Se muestra como 「MODE:Logging Key Point」)
mqlrf-s6x16

Si se presiona 0 hasta el 9, los puntos clave se agregaran al archivo csv "model/keypoint_classifier/keypoint.csv"
1st columna: Numero presionado (usado como clase ID), 2nd y siguientes columnas: Coordenadas de puntos clave.


Los puntos clave coordinados Las coordenadas del punto clave son las que han sido sometidas al siguiente preprocesamiento hasta 5.


Como estado inicial, hay tres 5 tipos de datos de aprendizaje los cuales inclue:mano abierto(Clase ID:0), mano cerrada(Clase ID:1), apuntando (Class ID: 2),Me gusta (Class Id:3) y U pose (Class ID:4).
  

2.Modelo de entrenamiento

Abrir "detectorDeGestosv5.ipynb" en Jupyter Notebook y ejecutar todas las fuciones
Para cambiar el numero de clases de entramiento cambie el valor de la variable "NUM_CLASSES = 4"
y modifique el label "model/keypoint_classifier/keypoint_classifier_label.csv" al que corresponde.

X.Estructura de Modelo

La imagen del modelo "detectorDeGestosv5.ipynb" es la siguiente:
mqlrf-s6x16

Referencia

Licencia

Este proyecto está bajo Apache v2 license.

projectmanin's People

Contributors

jcaramantin avatar

Stargazers

 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.