Skip to content

Repo of awesome works on surface electromyography (sEMG) based hand gesture recognition.

Notifications You must be signed in to change notification settings

increase24/awesome-sEMG-hand-gesture-recognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

awesome-sEMG-hand-gesture-recognition

Python 3.7 PyTorch

This repository provides some unofficial pytorch implementations of awesome works for surface electromyography (sEMG) based hand gesture recognition.

Please star this repo if you find our work is helpful for you.

Environment

The code is developed using python 3.7 on Ubuntu 20.04. NVIDIA GPU is needed.

Data preparing

The experiment are taken on the Ninapro dataset. The first sub-dataset DB1 and second sub-dataset DB2 are ultilized.

  1. Firstly download the Ninapro DB1 and Ninapro DB2 datasets. And then extract data files from the zip files, we provide two jupyter notebooks extractFile_db1 / extractFile_db2 for extracting DB1 / DB2 respectively. Your directory tree should look like this:
${ROOT}/data/ninapro
├── db1
|   |—— s1
|   |—— s2
|   |   ...
|   └── s27
|       |—— S27_A1_E1.mat
|       |—— S27_A1_E2.mat
|       └── S27_A1_E3.mat
└── db2
    |—— DB2_s1
    |—— DB2_s2
    |   ...
    └── DB2_s40
        |—— S40_E1_A1.mat
        |—— S40_E2_A1.mat
        └── S40_E3_A1.mat
  1. We provide two jupyter notebook scripts process_db1 / process_db2 for convert the mat files to txt files. After convertion, your directory tree should look like this:
${ROOT}/data/ninapro
├── db1_processed
|   |—— s1
|   |—— s2
|   |   ...
|   └── s27
|       |—— emg.txt
|       |—— rerepetition.txt
|       └── restimulus.txt
└── db2_processed
    |—— DB2_s1
    |—— DB2_s2
    |   ...
    └── DB2_s40
        |—— emg.txt
        |—— rerepetition.txt
        └── restimulus.txt

Quick Start

Installation

  1. Clone this repo
  2. Install dependencies:
    pip install -r requirements.txt
    

Training

  • Train network multi-stream CNN on Ninapro DB1 dataset:
    sh scripts/train_db1_MSCNN.sh
    

Evaluation

  • validate net
    
    

Results Demonstration

The comparison between reported accurary in paper and reprodecud accuracy are demonstrated as Table.1.

Network architectur Reported accurary in paper Reprodecud accuracy
Multi-stream CNN 0.850
XceptionTime
BiTCN

Contact

If you have any questions, feel free to contact me through [email protected] or Github issues.

About

Repo of awesome works on surface electromyography (sEMG) based hand gesture recognition.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published