SleePyCo: Automatic Sleep Scoring with Feature Pyramid and Contrastive Learning
SleePyCo: Automatic Sleep Scoring with Feature Pyramid and Contrastive Learning
Seongju Lee Yeonguk Yu Seunghyeok Back Hogeon Seo Kyoobin Lee

Abstract
Automatic sleep scoring is essential for the diagnosis and treatment of sleep disorders and enables longitudinal sleep tracking in home environments. Conventionally, learning-based automatic sleep scoring on single-channel electroencephalogram (EEG) is actively studied because obtaining multi-channel signals during sleep is difficult. However, learning representation from raw EEG signals is challenging owing to the following issues: 1) sleep-related EEG patterns occur on different temporal and frequency scales and 2) sleep stages share similar EEG patterns. To address these issues, we propose a deep learning framework named SleePyCo that incorporates 1) a feature pyramid and 2) supervised contrastive learning for automatic sleep scoring. For the feature pyramid, we propose a backbone network named SleePyCo-backbone to consider multiple feature sequences on different temporal and frequency scales. Supervised contrastive learning allows the network to extract class discriminative features by minimizing the distance between intra-class features and simultaneously maximizing that between inter-class features. Comparative analyses on four public datasets demonstrate that SleePyCo consistently outperforms existing frameworks based on single-channel EEG. Extensive ablation experiments show that SleePyCo exhibits enhanced overall performance, with significant improvements in discrimination between the N1 and rapid eye movement (REM) stages.
Code Repositories
Benchmarks
| Benchmark | Methodology | Metrics |
|---|---|---|
| sleep-stage-detection-on-mass-single-channel | SleePyCo (C4-A1 only) | Accuracy: 86.8% Cohen's Kappa: 0.811 Macro-F1: 0.825 |
| sleep-stage-detection-on-montreal-archive-of | SleePyCo (C4-A1 only) | Accuracy: 86.8% Cohen's kappa: 0.811 Macro-F1: 0.825 |
| sleep-stage-detection-on-physionet-challenge | SleePyCo (C3-A2 only) | Accuracy: 80.9% Cohen's Kappa: 0.737 Macro-F1: 0.789 |
| sleep-stage-detection-on-physionet-challenge-1 | SleePyCo (C3-A2 only) | Accuracy: 80.9% Cohen's Kappa: 0.737 Macro-F1: 0.789 |
| sleep-stage-detection-on-shhs-single-channel | SleePyCo (C4-A1 only) | Accuracy: 87.9% Cohen's Kappa: 0.830 Macro-F1: 0.807 |
| sleep-stage-detection-on-sleep-edf | SleePyCo (Fpz-Cz only) | Accuracy: 86.8% Cohen's kappa: 0.820 Macro-F1: 0.812 |
| sleep-stage-detection-on-sleep-edf-single | SleePyCo (Fpz-Cz only) | Accuracy: 86.8% |
| sleep-stage-detection-on-sleep-edfx | SleePyCo (Fpz-Cz only) | Accuracy: 84.6% Cohen's Kappa: 0.787 Macro-F1: 0.790 |
| sleep-stage-detection-on-sleep-edfx-single | SleePyCo (Fpz-Cz only) | Accuracy: 84.6% Cohen's Kappa: 0.787 Macro-F1: 0.790 |
Build AI with AI
From idea to launch — accelerate your AI development with free AI co-coding, out-of-the-box environment and best price of GPUs.