Skip to content

CNN for ECG Authentication, Low Complexity Exploration.

License

Notifications You must be signed in to change notification settings

PriceWang/DeepECG

Repository files navigation

Deep ECG

Introduction

Build a deep neural network for ECG authentication

Low Complexity ECG Biometric Authentication for IoT Edge Devices

The whole project contains three different methods to rebuild the model and execute ECG authentication:

  • Original CNN

    This rebuilds the model from a pre-trained CNN model and uses its original weights. The best performance is 99.63%.

  • Binary Neural Network

    This rebuilds the model from a pre-trained CNN model and uses binary weights. The weights are in this format:

    The best performance is 88.85%

  • Exponentiation Neural Network

    This rebuilds the model from a pre-trained CNN model and uses exponent weights. The weights are in this format:

    The performance increases with a larger 'n' value

Requirements and Installation

  • Database

    PTB Diagnostic ECG Database

  • Libraries

    Install the necessary libraries:

    conda env create -n deepecg --file environment.yml

    Activate environment:

    conda activate deepecg

Usage

  • Step 1: Data Processing

    To process data from the original dataset manually, run the following:

    python DataGeneration.py \
        --data_path ${data_path} \
        --prefix ${prefix} \
        --output_path ${output_path}

    Or you can download the pre-processed dataset from the link:

    PTB Processed Dataset

  • Step 2: CNN Modelling

    To build the CNN model for human recognition, run:

    python ModelCreation.py \
        --save_path ${save_path} \
        --data_path ${data_path}
  • Step 3: Authentication

    To execute the authentication section, run the following:

    python Authentication.py \
        --model_path ${model_path} \
        --data_path ${data_path}

Update

  • 2021/01/20

    optimize structure, improve performance, test generalization ability

  • 2021/02/05

    optimize path search

  • 2021/03/16 *

    update path structure

  • 2021/05/10

    pruning

About

CNN for ECG Authentication, Low Complexity Exploration.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages