Skip to content

This project is the Graduation Project / Final Year Project (FYP) of Department of Computer and Information Science, Faculty of Science and Technology, University of Macau. The project title is: "The electrocardiogram (ECG) based biometric identification".

Notifications You must be signed in to change notification settings

sunshinekuan/umac-fyp-ecg-personal-iden

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The electrocardiogram (ECG) based biometric identification

基於心電圖 (ECG) 的個人身份識別

  • This project is the Graduation Project / Final Year Project (FYP) of Department of Computer and Information Science, Faculty of Science and Technology, University of Macau.

Abstract

  • Biometric identification mainly uses the inherent physiological and behavioural characteristics of the human body to identify individuals. It includes fingerprint, face, iris, handwriting, sound, gait etc. In this case, we build a low-cost biometrics identification method to give a new choice to the identification technical area. We introduce the ECG biometric identification because it is new, low-cost and keep the tester is alive when it is testing.
  • 個人生物及身份特徵識別主要是利用人體固有的生理和行為特徵來識別個體。它包括指紋,面部,虹膜,筆跡,聲音,步態等。在這種情況下,我們正在構建一種低成本的生物特徵識別方法,以便為識別技術領域提供新的選擇。我們會選擇使用用心電圖 (ECG) 生物識別技術,因為它是一種新穎的低成本技術,而且可在測試時保證測試者在存活的狀態。

Dataset used for model testing training

Environment Requirement

  • OS: Windows / Linux / Mac OS (This project developed in macOS Catalina 10.15.3 & Ubuntu 18.04 LTS)
  • Python Version: Python 3 (Python 3.7.4 is recommanded)
  • Others:
    • Arduino IDE (Version 1.8.12 is recommanded)

Hardware Requirement

  • Computer with required environment
  • Arduino UNO R3 (with USB cable)
  • AD8232 Heart Beat / ECG Collecting Shield (with sensors/electrodes)

Python 3 library installation

  • Library using pip to install:
    • jupyter
    • wfdb
    • pandas
    • numpy
    • glob2
    • tensorflow
    • matplotlib
    • math3
    • scikit-learn
    • joblib
    • pyserial
    • tkinter
  • Windows command: py -m pip install [library]
  • Linux & Mac OS command: pip install [library]

For problem of tkinter installation problem in Linux:

sudo apt-get install python3-tk

For problem of serial port connection in Linux:

sudo chmod 666 [port]

Open ipynb file

  • Windows: py -m jupyter notebook
  • Linux & Mac OS: jupyter notebook

Stop running Jupyter notebook

  • Windows: py -m jupyter notebook stop
  • Linux & Mac OS: jupyter notebook stop

Open Program

  • Arduino (Open with Arduino IDE):
    • /src/arduino/ECG_arduino/ECG_arduino.ino
  • Python (Open with Jupyter Notebook or Google Colaboratory)
    • Training Model: /src/python/ECG_Prediction_SVM.ipynb
    • GUI Identification Application: /src/python/ECG_GUI_App.ipynb

Start and Running Program

  • Collecting ECG Signal (Arduino):

    • Connect Arduino UNO R3 with AD8232 Heart Beat / ECG Collecting Shield to Computer with Arduino IDE
    • Check the USB port is available
    • Paste the sensors/electrodes on user's body
    • Check the Serial Monitor and Serial Plotter in Arduino IDE to see the signal value and graph respectively
    • Collect the signal in Serial Potter and do the further process
  • Training Model and GUI application (Python):

    • Open the program with Jupyter Notebook or Google Colaboratory
    • Check the paths in program
    • If everything is fine, click "Kernel -> Restart and Run All"
    • For GUI identification application, change and check the port of Arduino UNO everytime.

Contact

About

This project is the Graduation Project / Final Year Project (FYP) of Department of Computer and Information Science, Faculty of Science and Technology, University of Macau. The project title is: "The electrocardiogram (ECG) based biometric identification".

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •