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
-
Database
-
Libraries
Install the necessary libraries:
conda env create -n deepecg --file environment.yml
Activate environment:
conda activate deepecg
-
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:
-
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}
-
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