Personal tools

Difference between revisions of "Real-Time ECG Contractions Classification"

From iis-projects

Jump to: navigation, search
(Introduction)
 
(21 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category:Biomedical System on Chips]]
 
[[File:ecg_task.png|thumb|ECG Task]]
 
[[File:ecg_task.png|thumb|ECG Task]]
  
Line 5: Line 6:
 
A well defined sequence of atrial and ventricles contractions allow the blood to be pumped in the circulatory systems, essential to enable many physiological functions as well as life. Such recorded electrical activity reflects the underlying contractions of the heart and have well defined taxonomy (according to shapes, peaks, timing, etc), allowing to detect and label heart diseases.
 
A well defined sequence of atrial and ventricles contractions allow the blood to be pumped in the circulatory systems, essential to enable many physiological functions as well as life. Such recorded electrical activity reflects the underlying contractions of the heart and have well defined taxonomy (according to shapes, peaks, timing, etc), allowing to detect and label heart diseases.
  
Nowadays, ECG interpretation relies on eye inspection by trained medical doctors, with expensive and time-consuming manual analysis. Patient-to-patoent variability, different recording conditions and patient clinical conditions makes automation of this task challenging.  
+
Nowadays, ECG interpretation relies on eye inspection by trained medical doctors, with expensive and time-consuming manual analysis. Patient-to-patient variability, different recording conditions and settings and patient clinical conditions makes the automation of this task very challenging.  
For this reason, ECG monitoring is currently limited to short-time scales (minutes to hours) in well controlled environments and setups.  
+
For this reason the ECG monitoring is currently limited to short-time scales (minutes to hours) in well controlled environments and setups (clinics, expensive devices).  
However, this prevents to detect outliers in the ECG, i.e., abnormal contractions that rarely happens and the chances to observe them under clinical ECG are very low.  
+
 
Similarly, drifting over time of ECG parameters may not be notices with normal ECG acquistitions, as the time scale is very short.
+
Even though current ECG exams works well if there is already the suspect of a heart disease going on, this prevents to detect outliers in the ECG, i.e., abnormal contractions that rarely happens and the chances to observe them under clinical ECG are very low.  
As a result, many potential diseases can't be early-detected due to these limitations.
+
Similarly, drifting over time of ECG parameters may not be noticed with normal ECG acquisitions, as the time scale is very short.
 +
As a result, many potential diseases can't be early-detected due to these limitations. Technology advancement in hardware design and in data-driven algorithms give a hope providing tools to change ECG detection, from expensive non-routine exams, to cheap daily monitoring.
  
 
==Short Description==
 
==Short Description==
  
Your mission, should you choose to accept it, is to join our research into such near-memory computing either from the hardware or software side. The NeuroStream co-processor has been verified to perform the correct operations on a very small scale. However, to be a convincing solution to the problems it tries to tackle, and to further verify that it actually works and is up to the task, a larger scale implementation is needed. The IIS has access to a small number of interconnected FPGA computing nodes [4] through a joint research project with Microsoft. This thesis offers the opportunity to either adapt the existing NeuroStream/NeruoCluster HDL code to the FPGAs and develop a communication scheme among them, then squeeze as many NeuroClusters onto one FPGA as possible. Or you can dig into the software side, leveraging the compute capabilities of NeuroStream to implement the layers of common Deep Neural Networks (e.g. GoogLeNet [5]) or Recurrent Neural Networks [6,7]. The project is very flexible and we can tailor it to your personal preferences and skills!
+
Your mission, should you choose to accept it, is to join our active research into biomedical system design. The approach is to used state-of-the-art machine learning algorithms to classify different ECG contractions. Particular emphasis will be devoted to detect outliers in the ECG, which usually are not even noticed by the patient, but by which are known to anticipated important disease if not timely cured [1]. Given the constrained conditions under which we operate, i.e, wearable devices, energy-efficiency is of paramount importance.  
  
===Status: Available ===
+
The starting point is the VivoSoC platform, a system on chip capable to acquire and process ECG signals. An open-source labelled ECG dataset is available online ready to be used [2][3].
: Looking for interested master students (Semester or Master Project)
+
 
: Supervision: [[:User:Fschuiki | Fabian Schuiki]], [[:User:Zarubaf|Florian Zaruba]]
+
The task includes the following main sub-points:
 +
<ul><li> Understand the ECG basics and interpret the dataset.</li>
 +
<li>  Develop (high-level Phython or Matlab) a supervised-learning classification algorithm to classify the ECG contractions. </li>
 +
<li>  Map the algorithm in the VivoSoC hardware (C-programming PULP).</li>
 +
<li>  Conduct in-vivo experiments to validate the method with a realistic setting.</li></ul>
 +
 
 +
The task is anyway flexible and it will be adapted the student skills and will.
 +
 
 +
 
 +
===Status: Completed ===
 +
: Semester Project in Fall 2018 (Sumu Zhao, sem18h16)
 +
: Supervised by: [[:User:Glaserf | Florian Glaser]], [[:User:xiaywang|Xiaying Wang]]
 
<!--
 
<!--
 
===Status: Completed ===
 
===Status: Completed ===
Line 30: Line 43:
  
 
===Character===
 
===Character===
: 20% Theory and Algorithms
+
: 40% Theory and Algorithms
: 50% Implementation (HDL or C/C++ coding)
+
: 40% Implementation (C coding)
: 30% Verification and Testing
+
: 20% Verification and Testing
  
 
===Prerequisites===
 
===Prerequisites===
If the focus shall be on hardware:
+
: Knowledge in Machine Learning, from  preprocessing, feature extraction, classifier, supervised-learning
: VLSI I
+
: Embedded system programming
: VLSI II (''recommended'')
+
: Basic analog / ADC / sampling theory hands-on knowledge.
: VHDL/SystemVerilog
 
 
 
If the focus shall be on software:
 
: Knowledge in Machine Learning, or willingness to acquire such (DNN, LSTM/GRU)
 
 
: C/C++
 
: C/C++
  
 
===Professor===
 
===Professor===
 
: [http://www.iis.ee.ethz.ch/people/person-detail.html?persid=194234 Luca Benini]
 
: [http://www.iis.ee.ethz.ch/people/person-detail.html?persid=194234 Luca Benini]
 
 
===References===
 
===References===
: [1] http://iis-projects.ee.ethz.ch/index.php/PULP
+
: [1] B.A.Koplanand et al, “Ventricular Tachycardia and Sudden Cardiac Death,” Elsevier Mayo Clinic Proceedings, vol. 84, no. 3, pp. 289–297, 2009.
: [2] http://www.hybridmemorycube.org/
+
: [2] https://www.physionet.org/physiobank/database/mitdb/
: [3] https://www.amd.com/Documents/High-Bandwidth-Memory-HBM.pdf
+
: [3] https://physionet.org/lightwave/
: [4] https://www.microsoft.com/en-us/research/project/project-catapult/
 
: [5] http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Szegedy_Going_Deeper_With_2015_CVPR_paper.pdf
 
: [6] http://colah.github.io/posts/2015-08-Understanding-LSTMs/
 
: [7] http://www.wildml.com/2015/10/recurrent-neural-network-tutorial-part-4-implementing-a-grulstm-rnn-with-python-and-theano/
 
  
 
[[#top|↑ top]]
 
[[#top|↑ top]]
[[Category:Acceleration and Transprecision]]
+
 
 
[[Category:Digital]]
 
[[Category:Digital]]
[[Category:Hot]]
+
[[Category:Analog]]
[[Category:Available]]
 
 
[[Category:Semester Thesis]]
 
[[Category:Semester Thesis]]
 
[[Category:Master Thesis]]
 
[[Category:Master Thesis]]
 +
[[Category:Completed]]
 +
[[Category:Glaserf]]
 +
[[Category:Xiaywang]]
 +
[[Category:Rovereg]]
 
[[Category:PULP]]
 
[[Category:PULP]]
[[Category:Fschuiki]]
 
[[Category:Zarubaf]]
 
[[Category:FPGA]]
 
 
[[Category:Software]]
 
[[Category:Software]]
 +
[[Category:Processor]]
 +
[[Category:Biomedical System on Chips]]

Latest revision as of 19:15, 9 March 2020

ECG Task

Introduction

ECG (electrocardiography) is the process of recording the heart-generated electrical activity over a period of time using skin-placed electrodes. A well defined sequence of atrial and ventricles contractions allow the blood to be pumped in the circulatory systems, essential to enable many physiological functions as well as life. Such recorded electrical activity reflects the underlying contractions of the heart and have well defined taxonomy (according to shapes, peaks, timing, etc), allowing to detect and label heart diseases.

Nowadays, ECG interpretation relies on eye inspection by trained medical doctors, with expensive and time-consuming manual analysis. Patient-to-patient variability, different recording conditions and settings and patient clinical conditions makes the automation of this task very challenging. For this reason the ECG monitoring is currently limited to short-time scales (minutes to hours) in well controlled environments and setups (clinics, expensive devices).

Even though current ECG exams works well if there is already the suspect of a heart disease going on, this prevents to detect outliers in the ECG, i.e., abnormal contractions that rarely happens and the chances to observe them under clinical ECG are very low. Similarly, drifting over time of ECG parameters may not be noticed with normal ECG acquisitions, as the time scale is very short. As a result, many potential diseases can't be early-detected due to these limitations. Technology advancement in hardware design and in data-driven algorithms give a hope providing tools to change ECG detection, from expensive non-routine exams, to cheap daily monitoring.

Short Description

Your mission, should you choose to accept it, is to join our active research into biomedical system design. The approach is to used state-of-the-art machine learning algorithms to classify different ECG contractions. Particular emphasis will be devoted to detect outliers in the ECG, which usually are not even noticed by the patient, but by which are known to anticipated important disease if not timely cured [1]. Given the constrained conditions under which we operate, i.e, wearable devices, energy-efficiency is of paramount importance.

The starting point is the VivoSoC platform, a system on chip capable to acquire and process ECG signals. An open-source labelled ECG dataset is available online ready to be used [2][3].

The task includes the following main sub-points:

  • Understand the ECG basics and interpret the dataset.
  • Develop (high-level Phython or Matlab) a supervised-learning classification algorithm to classify the ECG contractions.
  • Map the algorithm in the VivoSoC hardware (C-programming PULP).
  • Conduct in-vivo experiments to validate the method with a realistic setting.

The task is anyway flexible and it will be adapted the student skills and will.


Status: Completed

Semester Project in Fall 2018 (Sumu Zhao, sem18h16)
Supervised by: Florian Glaser, Xiaying Wang

Character

40% Theory and Algorithms
40% Implementation (C coding)
20% Verification and Testing

Prerequisites

Knowledge in Machine Learning, from preprocessing, feature extraction, classifier, supervised-learning
Embedded system programming
Basic analog / ADC / sampling theory hands-on knowledge.
C/C++

Professor

Luca Benini

References

[1] B.A.Koplanand et al, “Ventricular Tachycardia and Sudden Cardiac Death,” Elsevier Mayo Clinic Proceedings, vol. 84, no. 3, pp. 289–297, 2009.
[2] https://www.physionet.org/physiobank/database/mitdb/
[3] https://physionet.org/lightwave/

↑ top