Fusion of Convolutional Neural Network and Conventional Machine Learning for Classification of 12-Lead ECGs

Reza Firoozabadi, Richard Gregg, Saeed Babaeizadeh
Philips Healthcare


Abstract

Method:

The PhysioNet/CinC Challenge 2020 aims to diagnose a variety of cardiac abnormalities in 12-lead ECG recordings. In this context, we developed an algorithm which is a combination of convolutional neural networks (CNN) and conventional machine learning classifiers. We developed three rhythm classifiers using ensembles of tree-baggers with 100 learners to score AFib, PAC, and PVC. These classifiers used a series of rhythm features based on the inter-beat intervals and morphology features based on the P-wave and QRS of the dominant average beat. Two CNNs were designed for classifying the morphology of the average beat. A single-class CNN was designed to score first degree AV block (I-AVB) records based on the T-QRS average beat. A 4-class CNN was designed to score left and right bundle branch blocks (LBBB/RBBB), and abnormal ST-segment elevation and depression (STE/STD) based on the QT average beat. The challenge training database with 6877 12-lead records at 500 Hz sampling rate was split into 10-fold training/validation partitions on all recordings. Using Tensorflow-Keras in Python, CNN classifiers were originally trained on a large publicly available database. Hyperparameter tuning was used to optimize the model structures including the number of layers and initial coefficients, then transfer learning was applied to train the models on 10-fold partitions. The CNN models were imported to MATLABĀ®. The ensemble rhythm classifiers were realized in MATLABĀ® and trained on the 10-fold dataset where the feature selection was performed on a large publicly available database. All scores were combined to identify the abnormalities or normal sinus rhythm.

Results:

The average F2 and G2 scores were 0.803 and 0.555 for 10-fold cross-validation, respectively. Our team (TotalRecall) submitted five unofficial entries. The highest performance scores we achieved on the hidden dataset were F2=0.758 and G2=0.515.