Giter VIP home page Giter VIP logo

awesome-semg-hand-gesture-recognition's Introduction

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.

awesome-semg-hand-gesture-recognition's People

Contributors

increase24 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

3kevin5

awesome-semg-hand-gesture-recognition's Issues

XceptionTime

@@@hello, I have some questions .Have you used XceptionTime network for gesture recognition of db1 and db2 ?When using the MSCNN network model, which code should be run for the validation network of db1 and db2 ?I hope you can answer my @question.Thanks!

Feature extraction

I have tried to extract the EMG characteristics of different channels, but how can they be normalized and reassembled into multidimensional inputs

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.