Skip to content

ECG Segmentation Task

Overview

The objective of ECG segmentation is to delineate key segments of the cardiac cycle, including the P-wave, QRS complex, and T-wave. These segments are used to compute a number of clinically relevant metrics, including heart rate, PR interval, QRS duration, QT interval, and QTc interval. They are also useful for a variety of downstream tasks, including rhythm classification and beat classification.


Characteristics

  • P-Wave: Reflects atrial depolarization
  • QRS Complex: Reflects ventricular depolarization
  • T-Wave: Reflects ventricular repolarization
  • U-Wave: Reflects papillary muscle repolarization

Annotated ECG Signal

Annotated ECG Signal

Pre-Trained Models

The following table provides the latest performance and accuracy results for ECG segmentation models. Additional result details can be found in Model Zoo → Segmentation.

NAME DATASET FS DURATION # CLASSES MODEL PARAMS FLOPS METRIC
SEG-2-TCN-SM Icentia11K, PTB-XL 100Hz 2.5s 2 TCN 4K 1.2M 96.9% IoU
SEG-4-TCN-SM LUDB, Synthetic 100Hz 2.5s 4 TCN 7K 2.1M 78.7% IoU
SEG-4-TCN-LG LUDB, Synthetic 100Hz 2.5s 4 TCN 10K 3.9M 80.2% IoU

Target Classes

Below outlines the classes available for ECG segmentation. When training a model, the number of classes, mapping, and names must be provided. This allows for the most flexibility in the segmentation task.

CLASS LABELS
0 None
1 P-wave
2 QRS
3 T-wave
4 U-wave
5 Noise

Class Mapping Example

Below is an example of a class mapping for a 3-class segmentation model. The class map keys are the original class labels, and the values are the new class labels. Any class not included will be skipped.

{
    "num_classes": 3,
    "class_names": ["None", "QRS", "Noise"],
    "class_map": {
        "0": 0,  // Map None to None
        "1": 0,  // Map P-wave to None
        "2": 1,  // Map QRS to QRS
        "3": 0,  // Map T-wave to None
        "4": 0,  // Map U-wave to None
        "5": 2   // Map Noise to Noise
    }
}