Skip to content
heartKIT
Tasks
HELIA

Signal Segmentation Task

The objective of segmentation is to delineate key segments of the signal. In the context of ECG signals, this involves identifying the different components 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. For PPG, the task involves segmenting the systolic and diastolic phases of the cardiac cycle. Segmentation models are useful for detecting arrhythmias, heart rate variability, and other cardiac abnormalities.


  • Annotated ECG Signal

    Annotated ECG Signal
  • ECG Segments/Fiducials

    • P-Wave: Reflects atrial depolarization
    • QRS Complex: Reflects ventricular depolarization
    • T-Wave: Reflects ventricular repolarization
    • U-Wave: Reflects papillary muscle repolarization
    • PR Interval: Time from atrial depolarization to ventricular depolarization
    • QT Interval: Time from ventricular depolarization to repolarization
    • QTc Interval: Corrected QT interval
    • ST Segment: Time between ventricular depolarization and repolarization
    • J-Point: Junction between QRS complex and ST segment

  • Systolic Phase: Reflects the contraction of the heart
  • Diastolic Phase: Reflects the relaxation of the heart
  • Dicrotic Notch: Reflects the closure of the aortic valve

Dataloaders are available for the following datasets:


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

NAMEDATASETFSDURATION# CLASSESMODELPARAMSFLOPSMETRIC
SEG-2-TCN-SMLUDB, Synthetic100Hz2.5s2TCN2K0.42M96.6% F1
SEG-4-TCN-SMLUDB, Synthetic100Hz2.5s4TCN7K2.1M86.3% F1
SEG-4-TCN-LGLUDB, Synthetic100Hz2.5s4TCN10K3.9M89.4% F1
SEG-PPG-2-TCN-SMSynthetic100Hz2.5s2TCN4K1.43M98.6% F1

Below outlines the classes available for 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.

CLASSLABELS
0None
1P-wave
2QRS
3T-wave
4U-wave
5Noise
6Systolic
7Diastolic

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.

JSONC example
{
"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
}
}