Science Score: 39.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (2.7%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: IsraelHuentecura
  • License: other
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 1.35 GB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 12 months ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

Clasificacin de Gestos sEMG con Modelos Ligeros de Deep Learning

Este repositorio contiene los modelos .h5, el cdigo y las herramientas desarrolladas para clasificar 12 gestos de la mano a partir de seales de electromiografa de superficie (sEMG), como parte del proyecto de ttulo de Israel Huentecura en el contexto de ProtoAI.

El objetivo es proveer modelos de alto rendimiento y bajo costo computacional, especialmente diseados para ser desplegados en dispositivos de bajo consumo como Raspberry Pi o microcontroladores ms potentes.


Qu Modelo Deberas Usar?

La eleccin del modelo depende del hardware donde se quiera ejecutar:

Para Computadores Monoplaca (Ej. Raspberry Pi, Jetson Nano)

| Modelo | Precisin (Test) | Tamao .h5 | | ------------------- | ----------------- | ------------ | | HyT-Net | 99.83% 0.02 | ~10.4 MB | | DualStream-Original | 99.82% 0.03 | ~36.6 MB | | EMGHandNet-Original | 99.80% 0.02 | ~19.8 MB |

** Recomendado: HyT-Net**, por su precisin mxima con menor tamao que los modelos de referencia.


Para Microprocesadores (ESP32)

| Modelo | Precisin (Test) | Tamao .h5 | | ----------------- | ----------------- | ------------ | | EMGHandNet-2D | 99.78% 0.03 | ~4.2 MB | | DualStream-Lite | 99.41% 0.03 | ~3.4 MB | | CRNN-Attn | 98.55% 0.15 | ~3.6 MB |

** Recomendado: EMGHandNet-2D*, el mejor balance entre precisin, arquitectura simple (end-to-end*) y tamao reducido.

Ten en cuenta que actualmente estos modelos no estn preparados para microcontroladores sin conversin a TFLite o cuantizacin. Este repositorio se centra en desarrollo y evaluacin en entorno de entrenamiento.


Contenido del Repositorio

bash models_h5/ # Modelos pre-entrenados en formato .h5 models_tflite/ # Modelos convertidos a TFLite saved_datasets/ # Dataset de entrenamiento y prueba (debes descargarlo) test_data_sample/ # Dataset de prueba (no debe ser descargado) script_test_h5.py # Evala todos los modelos .h5 con un dataset de muestra ejemplo_finetuning.py # Fine-tuning del modelo HyT-Net notebook_entrenamiento.ipynb # Notebook para construir y entrenar modelos desde cero requirements.txt # Dependencias necesarias


Cmo Empezar

0. Descarga el Dataset Procesado

Debes descargar el dataset preprocesado de elaboracin propia desde el siguiente enlace: Dataset Procesado

Descomprime el archivo y obtendrs la carpeta saved_datasets/ con los datasets de entrenamiento y prueba.

La carpeta debe estar en la raz del repositorio para que los scripts puedan acceder a ella.

1. Instala dependencias

Usa un entorno virtual y ejecuta:

bash pip install -r requirements.txt

Este proyecto est probado en Python 3.9 y usa TensorFlow 2.10.0.


2. Descarga el Dataset Procesado

Debes tener una carpeta saved_datasets/ con los siguientes datasets:

  • train_ds_h/ y test_ds_h/: para entrenamiento y prueba
  • sample_raw_ds/ y sample_hybrid_ds/: para pruebas rpidas

Agrega tu link de descarga aqu para que otros puedan acceder a estos datos.


Opciones de Uso

A. Evaluar Modelos .h5 Rpidamente

bash python script_test_h5.py

Este script evala los modelos preentrenados con un dataset pequeo y muestra un resumen de precisin por modelo.


B. Entrenar Desde Cero

Abre el notebook:

bash jupyter lab

Edita y ejecuta notebook_entrenamiento.ipynb para construir modelos desde cero.


C. Fine-tuning Personalizado

Para adaptar un modelo preentrenado (ej. HyT-Net) a nuevos datos:

bash python ejemplo_finetuning.py

El script:

  1. Carga el modelo preentrenado
  2. Congela las capas base
  3. Reentrena las ltimas capas con una tasa de aprendizaje baja (1e-5) por 10 pocas
  4. Evala el nuevo rendimiento

Puedes modificar ejemplo_finetuning.py para aplicar fine-tuning a otros modelos.


Resultados Tcnicos (Resumen)

| Modelo | Test Accuracy ( ) | Tamao .h5 | Entradas Requeridas | | ------------------- | ------------------- | ------------ | ------------------------- | | HyT-Net | 0.9983 0.0002 | ~10.4 MB | Seales crudas + features | | DualStream-Original | 0.9982 0.0003 | ~36.6 MB | Seales crudas + features | | EMGHandNet-Original | 0.9980 0.0002 | ~19.8 MB | Seales crudas | | EMGHandNet-2D | 0.9978 0.0003 | ~4.2 MB | Seales crudas | | DualStream-Lite | 0.9941 0.0003 | ~3.4 MB | Seales crudas + features | | CRNN-Attn | 0.9855 0.0015 | ~3.6 MB | Seales crudas + features |

Fuente: Evaluacin sobre NinaPro DB1 - Ejercicio A, siguiendo protocolo de validacin cruzada 10-fold.


Referencias


Autora

Desarrollado por Israel Huentecura Rodrguez

Licencia

Este repositorio est licenciado bajo la Licencia Creative Commons Atribucin-NoComercial 4.0 Internacional (CC BY-NC 4.0).

Esto significa que puedes usar, modificar y compartir este trabajo con fines no comerciales, siempre que cites al autor original. Para usos comerciales, por favor contacta a israel.huentecura@mayor.cl.

Owner

  • Login: IsraelHuentecura
  • Kind: user

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1