Giter Club home page Giter Club logo

acc-gan's Introduction

What is EMG-GAN?

EMG-GAN is a custom implementation of a Deep Convolutional Generative Adversarial Network (DCGAN), focusing on generating synthetic electromyography (EMG) signals.

See also: Keras-GAN

Table of Contents

Installation

We strongly recommend the usage of Anaconda for managing python environments. This set-up was tested under Windows 10, Ubuntu and Raspbian.

  $ conda create --name emg_gan python=3.6
	$ conda activate emg_gan
	$ git clone https://github.com/larocs/EMG-GAN
  $ cd EMG-GAN/
  $ pip install -r requirements.txt
	

Usage

You can simply run the DCGAN pre-trained model already available inside ./saved_models to generate a batch of emg signals or you can train a new model based on your desired EMG signal.

The model is currently configured for receiving as input a 400-point window of floating-point values, and as output an EMG signal with 2,000 values.

You can change the configurations for the Generator and Discriminator on configuration.json file

Use one of the following, depending on your use case

python generate.py
python train.py

Training Results

Some metrics are also available for evaluating the generated signal vs the reference signal. You can check below how the generator evolves over 5,000 epochs, and how is the Generator vs Discriminator losses and metrics.

Results


Datasets

This work uses 2 datasets. One is a private dataset from Parkinson's Disease patients, and the other is NinaPro. NinaPro is an open-source dataset that can be downloaded on: http://ninapro.hevs.ch/ Inside folder "data" you can find an extract from NinaPro DB2 already pre-processed for this work.

NinaPro dataset source (DB2):

@Article{atzori_data,
author={Atzori, Manfredo
and Gijsberts, Arjan
and Castellini, Claudio
and Caputo, Barbara
and Hager, Anne-Gabrielle Mittaz
and Elsig, Simone
and Giatsidis, Giorgio
and Bassetto, Franco
and M{\"u}ller, Henning},
title={Electromyography data for non-invasive naturally-controlled robotic hand prostheses},
journal={Scientific Data},
year={2014},
volume={1},
number={1},
pages={140053},
issn={2052-4463},
doi={10.1038/sdata.2014.53},
url={https://doi.org/10.1038/sdata.2014.53}
}

ย 

Paper

Paper under review. Will be soon available.

Interested in contributing to EMG-GAN?

Thanks for the interest and please read the Contributing recommendations.

Authors

Esther Luna Colombini & Rafael Anicet Zanini

acc-gan's People

Contributors

rzanini 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.