Deep Learning for ECG Interpretation

Source: Deep Learning on Medium

Our convolutional neural network for ECG interpretation

Doctors use the systematic approach for ECG interpretation rather than just jumping to a conclusive diagnosis. We have followed the same method. As most of the parameters can be calculated from the three distinct waves of an ECG recording, we started by developing an algorithm for the detection of the beginnings and ends of P-waves, QRS-complexes and T-waves.

For the development of this algorithm we used the INCART-DB (one of the publicly available databases provided by MIT) together with a database sample provided by our partner Atrys Health, which was priorly digitized using our state-of-the-art digitization system.

But first… We needed some training data — a simple python-built GUI should suffice!

Annotation of P-waves (blue); QRS-complexes (red); T-waves (green).

Using the custom-built python GUI we managed to quickly label data from our two datasets and assign five classes to all the segments of our available ECG signals:

  • None: Marking the segment of a signal where there is no distinct wave present.
  • P-wave: Marking the beginning and the end of a P-wave.
  • QRS-complex: Marking the beginning and the end of a QRS-complex.
  • T-wave: Marking the beginning and the end of a T-wave.
  • Extrasystole: Marking the beginning and the end of premature heart beats.

After annotating roughly 50 samples, we trained our first model to accelerate the annotation process!

ECG waves annotation version 2.0!

As seen in the picture above, the version 2.0 of our ECG annotation GUI already actively provided predictions from our AI-model. This allowed us to annotate ECG samples 3x faster.

Several days later and exactly 399 unique ECG leads in, it was time for a hyperparameter search!

Insert some text about hyperparameter testing.

No this is not a Jackson Pollock. This is what it looks like when you train many models on a GPU cluster.