Personal tools

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

From iis-projects

Jump to: navigation, search
(Introduction)
(Short Description)
Line 14: Line 14:
 
==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. 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 [1][2].
 +
 
 +
The task is to:
 +
1) Understand the ECG basics and interpret the dataset,
 +
2) Develop (high-level Phython or Matlab) a supervised-learning classification algorithm to classify the ECG contractions.  
 +
3) Map the algorithm in the VivoSoC hardware (c-programming PULP).
 +
4) Conduct in-vivo experiments to validate the method with a realistic setting.
 +
 
 +
The task is flexible and can be tailored to your experience and will.
 +
 
 +
 
 +
 
  
 
===Status: Available ===
 
===Status: Available ===
 
: Looking for interested master students (Semester or Master Project)
 
: Looking for interested master students (Semester or Master Project)
: Supervision: [[:User:Fschuiki | Fabian Schuiki]], [[:User:Zarubaf|Florian Zaruba]]
+
: Supervision: [[:User:Rovereg |Giovanni Rovere]]
 
<!--
 
<!--
 
===Status: Completed ===
 
===Status: Completed ===
Line 47: Line 60:
 
===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] https://www.physionet.org/physiobank/database/mitdb/
: [2] http://www.hybridmemorycube.org/
+
: [2] https://physionet.org/lightwave/
: [3] https://www.amd.com/Documents/High-Bandwidth-Memory-HBM.pdf
 
: [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]]

Revision as of 09:59, 23 February 2018

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. 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 [1][2].

The task is to: 1) Understand the ECG basics and interpret the dataset, 2) Develop (high-level Phython or Matlab) a supervised-learning classification algorithm to classify the ECG contractions. 3) Map the algorithm in the VivoSoC hardware (c-programming PULP). 4) Conduct in-vivo experiments to validate the method with a realistic setting.

The task is flexible and can be tailored to your experience and will. 



Status: Available

Looking for interested master students (Semester or Master Project)
Supervision: Giovanni Rovere

Character

20% Theory and Algorithms
50% Implementation (HDL or C/C++ coding)
30% Verification and Testing

Prerequisites

If the focus shall be on hardware:

VLSI I
VLSI II (recommended)
VHDL/SystemVerilog

If the focus shall be on software:

Knowledge in Machine Learning, or willingness to acquire such (DNN, LSTM/GRU)
C/C++

Professor

Luca Benini

References

[1] https://www.physionet.org/physiobank/database/mitdb/
[2] https://physionet.org/lightwave/

↑ top