Skip to content

Signal Segmentation Task

Overview

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.


ECG Characteristics

  • 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

PPG Characteristics

  • 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

Dataloaders are available for the following datasets:


Pre-Trained Models

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


Target Classes

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.

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

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
    }
}