Building a model to detect cardiac excitation (hereinafter activation) using neural networks.
Biosense Webster catheters produce heterogenous information, including electrocardiogram signals.
Electrocardiogram signals ECGs help cardiologists to observe specific (reference) points that correspond to some physiological events, for example, the heart muscle contraction moment.
The customer provided a labelled dataset of unipolar and bipolar ECG signals
RAR files containing
~ 400 000
ECG fragments each in .csv format
+ 1 secret
RAR file with ~ 400 000 ECG fragment
Ecg fragments were collected from different devices at different stages of technology development. Signals came from different patients –healthy and with pathologies
The task is to detect the activation (the moment of heart muscle contraction)
Each ECG fragment contains 2,5 seconds ( 2500 milliseconds). The Windows of Interest and the activation are labelled in each ECG fragment
Defining the problem in 2 stages
;Stage 1;Stage 2
GOAL;Develop a model of detecting the activation in an ECG fragment using the deep learning technology (for example, convolutional neural network);Prepare a successful model, created at the Stage 1 to the integration with medical equipment
QUESTIONS;Is the acceptable accuracy reachable at all? How many ECG fragments are sufficient in order to reach the acceptable accuracy?;How long will it take for the model to detect an activation in a fragment (in milliseconds)?
TECHNICAL REQUIREMENTS;Python app Generating additional attributes is prohibited;App written in C language Using the network topology prepared at the Stage 1
SUCCESS CRITERIA;The model should correctly detect activation for 95 % ECG fragments from the secret dataset;The execution time (predicting the activation in a single ECG fragment) should not take more than 20 ms
Success criteria for stage 1
We solved the problem of detecting an activation in the ECG fragment as a classification task with 2500 classes (the number of classes equals the length of an ECG fragment 2500 milliseconds), where 0 is no activation, 1 is activation. The task was to predict the probability of activation in each millisecond and choose a point with the maximum probability. The loss function is categorical cross entropy.
How the model was validated
At the first stage of the project, several validation strategies were applied iteratively, depending on the objectives. The strategy presented below allows to evaluate the influence of the size of the training dataset on the model accuracy.