计算机系统应用  2024, Vol. 33 Issue (10): 115-123   PDF    
基于单通道脑电信号的轻量级睡眠分析系统
李勉鑫, 潘烨, 黄申, 邱镘霏, 汤立仁, 潘家辉     
华南师范大学 软件学院, 佛山528225
摘要:在传统睡眠分期模型中, 由于计算资源要求高, 难以部署到有限计算能力的设备上. 本文开发了一个基于单通道脑电信号的轻量级睡眠分析系统, 该系统部署了GhostNet优化的GhostSleepNet神经网络模型, 实现了睡眠分期和睡眠质量评估的功能, 用户只需要使用脑环并连接至本系统即可在家庭环境下实现准确度高的睡眠分期. 其中, 卷积神经网络(convolutional neural network, CNN)负责提取高阶特征, GhostNet旨在保持 CNN 提取特征的准确性的同时, 减少模型参数以提高模型的计算效率, 门控循环单元(gated recurrent unit, GRU)则专注于捕捉睡眠数据的长期依赖关系与周期性变化. 本文对Sleep-EDF数据集的五分类任务进行验证, GhostSleepNet的睡眠分期准确率达到84.17%, 比传统睡眠分期模型低3%–5%, 但FLOPs仅为5 041 111 040, 计算复杂度下降20%–45%, 有助于移动设备睡眠分期功能的发展.
关键词: 脑电信号    轻量级    卷积神经网络    门控循环单元    睡眠分期    
Lightweight Sleep Analysis System Based on Single-channel EEG Signals
LI Mian-Xin, PAN Ye, HUANG Shen, QIU Man-Fei, TANG Li-Ren, PAN Jia-Hui     
School of Software, South China Normal University, Foshan 528225, China
Abstract: Traditional sleep staging models are difficult to deploy in devices with limited computing power due to high requirements of computational resources. In this study, a lightweight sleep analysis system based on single-channel EEG signals is developed, which deploys a GhostNet-optimized neural network model named GhostSleepNet to assess sleep staging and sleep quality. Users only need to use a brain loop and connect it to this system to achieve sleep staging with high accuracy in a home environment. In this system, convolutional neural networks (CNN) are responsible for extracting higher-order features, GhostNet is designed to maintain the accuracy of CNN extracted features while reducing the parameters of the model to improve the computational efficiency, and gated recurrent unit (GRU) focuses on capturing long-term dependencies and cyclic changes in sleep data. Verification of the five classification tasks on the Sleep-EDF dataset shows that the sleep staging accuracy of GhostSleepNet reaches 84.17%, which is 3%–5% lower than that of traditional sleep staging models. However, the number of FLOPs is only 5 041 111 040, and the computational complexity decreases by 20%–45%, contributing to the development of sleep staging for mobile devices.
Key words: EEG signal     lightweight     convolutional neural network (CNN)     gated recurrent unit (GRU)     sleep staging    

1 背景及现状分析 1.1 研究背景

睡眠是人类最重要的生理活动之一, 拥有良好睡眠是维持大脑稳定和身体健康的关键[1]. 研究表明, 睡眠异常成为当代人们抑郁症、焦虑症、高血压、心脏病等多种疾病的诱因之一, 而睡眠分期作为典型的生理时序分类任务, 对人体健康状况和精神状态的分析起着至关重要的作用.

传统手动睡眠分期方法依赖生物医学领域专业人才, 费用昂贵, 繁琐耗时, 易出现人为错误, 存在分期效率低、准确率低等问题. 传统基于机器学习的睡眠分期方法需要人工选择特征并使用如随机森林[2]、隐马尔可夫[3,4]等模型进行睡眠阶段分类, 这种方法存在较大的主观误差, 且难以处理高维脑电数据, 无法深入挖掘高维脑电信号中的丰富信息.

随着深度学习技术的迅速发展, 基于深度学习的睡眠分期方法显示出其明显优势, 这种方法不依赖于手动特征设计, 通过模仿人脑思考样本数据的规律和表示层次, 能够自动提取并寻找最适合的睡眠特征进行分类, 以实现自动睡眠分期, 其中卷积神经网络(convo-lutional neural network, CNN)[5]在睡眠特征选择及提取方面具有良好的性能. 但深度神经网络模型往往面临着网络层数过多和模型训练参数过多而导致模型训练泛化性低的问题, 目前移动或嵌入式设备的性能也难以支持深度卷积模型的实时运作.

轻量化网络旨在保持模型精度基础上进一步减少模型参数量和复杂度, 以推动深度学习技术在移动端, 嵌入式端的应用落地. Han等人[6]提出了一种实现轻量级神经网络的Ghost模块, 针对深度卷积神经网络提取的特征中存在着许多高度相似的冗余情况, 设计通过一系列廉价的线性操作从常规CNN提取的少量特征中衍生出更多的特征. 该模块在充分保持模型性能的同时显著减少了模型参数和计算成本, 将Ghost模块运用于基于深度学习的自动睡眠分期模型中, 对于神经网络在资源受限的环境中的部署具有重要意义.

本文开发了一个基于单通道脑电信号的轻量级睡眠分析系统. 本系统的核心睡眠分期功能基于GhostSleepNet神经网络模型. 其中, 该模型中的卷积神经网络(CNN)可以自动学习睡眠脑电信号的特征, 而循环神经网络(recurrent neural network, RNN)用于进一步处理这些特征, 以提高睡眠分期的精度. 而传统的卷积神经网络普遍存在计算复杂性高的问题, 因此我们采用了一种基于深度可分离卷积的轻量级策略GhostNet[6]在保持特征提取的有效性的同时减少卷积的参数. 相比于传统循环神经网络如长短期记忆递归神经网络(long short term memory, LSTM), 门控循环单元(gated recurrent unit, GRU)能在保持计算效果的同时显著提升计算效率. 在用户使用过程中, 系统能够通过连接的脑环实时检测用户的脑电信号, 并对采集完的脑电数据进行睡眠分期. 用户在睡眠结束后还需要填写匹兹堡睡眠指数表[7]对当次的睡眠情况进行主观地打分, 再结合其睡眠分期的结果, 生成睡眠得分和详细的睡眠报告, 从而帮助用户了解睡眠状况并及时介入, 排除睡眠障碍.

1.2 睡眠分期算法研究现状

传统的机器学习[8]进行睡眠分期时需要依赖人工选择脑电信号中的睡眠特征并对这些特征进行分类, 这不仅增加睡眠分期的复杂性, 同时还增加了额外的人工成本.

而深度学习可以在多次训练过程中自动识别出数据集中的睡眠特征, 无需人工干预. 除此之外, 深度学习模型还可以自动调节参数, 在训练过程中不断迭代优化模型, 从而实现更为精确和可靠的睡眠分期, 极大地提高了睡眠分期的效率和准确性.

缪竟鸿等人[9]设计了以堆栈式自编码器建立的睡眠分期神经网络模型系统, 在清醒与睡眠分类、非快速眼动与快速眼动分类、浅睡与深睡分类下的平均准确率分别达到了82%、80%和81%. Zhou等人[10]提出一种基于频谱图的快速睡眠阶段分类轻量级模型LightSleepNet, 与现有模型参数相比, 该模型由更少的模型参数组装而成, 其准确率和Cohen’s Kappa在Sleep-EDF数据集上分别为77.42%和0.75, 此外, 该模型在Seep-EDF数据集上的参数数量为200k. Jia等人[11]提出了一种新型深度图神经网络GraphSleepNet, 用于自动睡眠阶段分类, 其F1-score 和准确率在MASS数据集上分别为84.1%和88.9%. 此外, 在轻量级方面, Jia等人[12]还提出了一种用于多模态数据的睡眠阶段分类的SalientSleepNet模型, 与现有的深度神经网络模型相比, 该模型具有较少的参数数量, 其F1-score 和准确率在Sleep-EDF数据集上分别为83.0%和87.5%. Mousavi等人[13]提出了一种用于单通道脑电图(EEG)信号的自动睡眠阶段评分的SleepEEGNet模型, 在Sleep-EDF数据集上的准确率为84.26%, 宏观F1分数为79.66%, Cohen’s Kappa系数为0.79. Supratak等人[14]提出了一种名为TinySleepNet的深度学习模型, 用于基于原始单通道脑电图(EEG)信号的睡眠阶段评分, 旨在解决现有模型参数过多、训练数据量大、计算资源需求大等问题, 该模型包含较少的训练参数, 需要较少的训练数据和计算资源. Phan等人[15]提出了一个名为Seq-SleepNet的分层循环神经网络, 旨在逐个确定单个目标多导睡眠图时期的标签, 该网络在200个受试者的公开数据集上的整体准确率为87.1%, 宏观F1分数为83.3%, Cohen’s Kappa系数为0.815. Zhou等人[16]提出了一种名为SleepNet-Lite的新型轻量级卷积神经网络, 用于基于单通道脑电图(EEG)的睡眠阶段分类, 该模型将标准卷积替换为深度可分离卷积, 以提高表示效率并减少参数数量

在上述的研究中, LightSleepNet、GraphSleepNet、SalientSleepNet展示了轻量级深度学习模型在睡眠分期任务上的高效性和准确性. 它们通过减少模型参数数量、采用高效的网络架构和数据处理方法, 提高了模型的计算效率, 从而使得这些模型能够部署在计算资源有限的设备上. 而SleepEEGNet、TinySleepNet、SeqSleepNet、SleepNet-Lite进一步强调了轻量化神经网络在处理单通道脑电图信号和多模态数据方面的优势. 它们在各种数据集上取得了高准确率和良好的性能指标, 证明了轻量化模型在睡眠分期任务上的适用性和有效性.

因此, 本文在上述研究的基础上, 提出了一种名为GhostSleepNet的轻量化神经网络模型, 首先使用GhostNet来优化CNN, Ghost 模块通过在深度可分离卷积之前插入普通卷积来提取输入特征; 再将 Ghost 模块的输出与深度可分离卷积的结果结合起来, 以保持性能精度的同时显著降低计算成本; 最后使用GRU处理脑电图的睡眠序列数据来提取有用特征, 并构建模型来识别不同的睡眠阶段.

2 基于单通道脑电信号的睡眠分期模型 2.1 模型架构

图1所示, GhostSleepNet主要由CNN、Ghost bottleneck模块、GRU这3个部分组成. 其中, CNN用于自动提取单通道脑电信号中的空间特征. Ghost bottleneck模块旨在在保持或提高模型性能的同时, 减少模型参数从而显著提高计算效率. GRU用于分析CNN提取的特征的时序变化和长期相关性. 本模型的特点是采用CNN和GRU的混合神经网络, 既提取了单通道脑电信号的空间特征, 又捕捉了其时序规律, 保证了提取特征的全面性, 有利于提高模型的性能和泛化能力. 与此同时, 我们采用Ghost bottleneck模块优化CNN和采用单向的GRU, 这不仅减少了模型的参数, 也降低了模型的计算复杂度, 以达到轻量化的目的.

图 1 GhostSleepNet神经网络结构图

(1)卷积神经网络

CNN是模型的首要组成部分, 其主要作用是从原始单通道EEG中自动提取空间的特征. 它由2个卷积层排列而成, 每层之后穿插着一个最大池化层和一个dropout层. 从概念上, 该神经网络从第i个单通道脑电信号片段xi提取第i个特征ai的定义如下:

$ \mathop a\nolimits_i = \mathop {{\mathrm{CNN}}}\nolimits_{\theta_r} (\mathop x\nolimits_i ) $ (1)

其中, ${{\mathrm{CNN}}}_{\theta_r} $代表从脑电信号片段映射为特征向量的CNN, θr为CNN的可训练参数. ai的维度由单通道睡眠脑电信号的采样率决定.

与以往工作[17]不同, 我们只使用CNN的一个分支, 而不是采用分别使用小型和大型过滤器的两个分支. 这是受到VGGNet[17]设计模式的启发, 在VGGNet中, 一系列堆叠的卷积层有着与单个卷积层使用更大过滤器同等的有效感受野. 这意味着, 该模型可以通过在首层, 即邻近输入端, 串联几个卷积层形成大型的过滤器, 达到减少参数数量的效果. 因此, 我们将用两个CNN分支组合成一个CNN, 使用两个小滤波器(即从64到128).

(2) Ghost模块

卷积层产生的输出特征图通常存在大量冗余, 其中可能包含相似的部分. 因此, 无需耗费大量的FLOPs和参数来逐个生成这些多余的特征图. 可以通过一些廉价的转换Φ来从少数内在特征图中产生其他多余的特征图.

通常, 这些内在特征图尺寸较小, 并由普通卷积滤波器生成. 具体来说, m个内在特征图y'使用传统卷积生成. 为得到s个Ghost特征, 我们通过对y'中的每个内在特征图进行一系列简单的线性运算, 进一步计算出n个冗余特征图, 计算公式如下:

$ \mathop y\nolimits_{ij} = \mathop \Phi \nolimits_{i, j} (\mathop y'\nolimits_i ),\; \forall i = 1, \cdots, m, j = 1, \cdots, s $ (2)

其中, y'表示内在特征图的集合, $y_i' $表示第i个内在特征图, Φi,j代表第i个内在特征图生成第j个Ghost特征图对应的线性运算(除了最后一个), 也就是说, $y'_i $可以派生出若干个Ghost特征图$\{ y_{ij} \}_{j=1}^s $. Φi,s用于保存原始内在特征图$y_i' $. 如图2所示. 通过该步骤, 可得到n=m×s个特征图Y=[y11, y12, …, yms], 即Ghost模块的优化结果.

图 2 Ghost模块图

(3)构建

Ghost bottleneck与ResNet[18]中的基本残差块类似, 融合了多个卷积层和快捷链接. Ghost bottleneck神经网络主要由两个堆叠的Ghost模块组成. 如图3所示, 第1个Ghost模块用于增加通道数量的扩展层. 在这个模块中, 对输入的特征进行深度和广度的扩展, 从而提高模型对输入图像的表示能力和泛化能力, 有助于提高模型对图像的理解和处理能力. 第2个Ghost模块用于减少与快速通道相匹配的通道数量. 在这个模块中, 对输入的特征进行压缩和精炼, 从而减少模型的复杂度和计算成本, 同时保持模型的性能和准确度. 接着在这两个Ghost模块的传入和传出之间链接快速通道, 每个Ghost模块后都应用批量归一化(BN)[19]和ReLU非线性, 除了第2个Ghost模块后不使用ReLU.

图 3 Ghost bottleneck结构图

上述Ghost bottleneck是针对步幅为1的情况, 当步幅等于2时, 快捷链接由下采样层实现, 并在两个Ghost模块之间插入步幅为2的深度卷积.

(4) GRU神经网络

本模型的最后一部分为门控循环单元. 它是由一个单层的GRU和一个dropout层构成. 这一部分用于学习输入信号的时间信息, 例如睡眠过渡规则, 睡眠专家依据该规则根据之前的睡眠阶段来判断接下来可能的睡眠阶段. 形式上, 假设从CNN中得到了N个特征向量{a1, …, aN}, 这些向量是按顺序排列的. 这一部分按如下公式处理第i个特征ai:

$ \mathop h\nolimits_i = \mathop {{\mathrm{RNN}}}\nolimits_{\theta _s} (\mathop h\nolimits_{i - 1} , \mathop a\nolimits_i ) $ (3)

其中, ${{\mathrm{RNN}}}_{\theta _s} $代表执行特征序列ai处理的循环神经网络, θs是RNN的可训练参数, hi表示在处理特征ai之后GRU的隐藏状态. 其中, hi–1代表上一个输入的隐藏状态, 而h0代表初始的隐藏状态, 通常初始化为近似0的值.

与之前的工作[17]不同, 我们使用单向的GRU而不是双向, 以消除在向后方向处理一段脑电信号(EEG)片段所需的缓冲. 这一优化显著降低了进行序列分析时的计算负担, 减少约50%.

3 实验和结果 3.1 实验数据

本文选取了MIT-BH生理信息库中的Sleep-EDF数据集, 其中包含了197个整夜的多导睡眠图(polysomnographic, PSG)数据, PSG数据包含EEG (Fpz-Cz和Pz-Oz等通道)数据、EOG数据以及EMG数据, 测试人员均为25–101岁的健康白种人, 并且期间未使用任何睡眠药物, 采集每人连续两晚的数据, 每条数据均有明确的人工睡眠分期标签.

本文根据AASM标准[20], 根据睡眠各阶段不同特征, 将Sleep-EDF中数据的睡眠阶段分为5个时期, 分别为清醒期(Wake)、快速眼动期(REM)、非快速眼动期1期(N1)、非快速眼动期2期(N2)、非快速眼动期3期(N3). 本文提取了Fpz-Cz通道[21]的脑电数据进行研究, 采样率为100 Hz, 划分区间为30 s.

在本文实验中, 我们选择了Sleep-EDF数据集中64%的数据作为训练集, 用于训练深度学习模型; 20%的数据作为测试集, 用于评估模型的准确率; 剩余的16%作为验证集. 本文做了两组实验, 在关于模型准确率实验中, 我们采用Ghost+GRU、Ghost+LSTM和Ghost+Attention这3种方案来训练模型以获得最佳网络模型构架; 在关于模型运算效率实验中, 我们计算了常见的几种睡眠分期模型的FLOPs, 以验证本模型的运算效率.

3.2 实验步骤

(1)数据预处理

① 首先从公开数据集中提取Fpz-Cz通道的EEG数据, 并结合已打上的睡眠分期标签, 构建特征矩阵.

② 统一数据记录的时间跨度, 以30 s作为时间间隔划分睡眠片段, 读取样本标签值并令其符合AASM[20]标准.

③ 读取每夜的睡眠数据标签值, 删除脑电开始记录时段及睡眠结束时段大部分的清醒期(Wake)样本, 删除身体移动期(Move)和未知期(UNK), 将其存储为npz文件.

(2)数据增强

在数据增强过程中, 对于睡眠脑电图(EEG)信号, 我们采用了两种技术来生成更多样化的训练数据.

首先, 针对每个睡眠脑电信号片段, 我们进行了时间轴上的随机位移. 先从睡眠脑电信号片段时长的±Bsig%区间内等概率抽样. 例如, 若睡眠脑电信号片段时长为30 s, 则位移在[−3, 3]内等概率抽样. 由此我们可以在时间上对信号进行随机变换, 从而增强数据的多样性和泛化能力.

其次, 随机挑选每个睡眠脑电信号片段的开始点, 即以等概率的方式从0到最大跳过量之间选取一个数字, 表示跳过的睡眠脑电信号片段数. 若所抽取的数字为0, 则表示不排除任何片段. 该方法有利于创造出更多新的睡眠脑电信号片段序列批次, 以供小批次梯度下降训练.

通过这两种技术, 我们可以提高模型对时间轴上位移的鲁棒性, 同时也可以防止模型记住训练数据中的睡眠阶段序列.

(3)模型训练

我们通过小批量梯度下降[22]端到端的训练模型, 并对数据进行了两种技术的增强. 这种数据增强帮助我们从原始数据中合成新的训练数据, 用于每个训练周期. 由于N1阶段在数据集中与其他阶段相比显著较低, 因此我们还使用加权交叉熵损失来缓解类别不平衡问题, 通过将N1阶段的权重设置为1.5, 其他阶段设置为1, 使模型优先考虑N1阶段.

与以往的工作不同, 这种技术不会使用过采样、类别平衡的数据对网络进行预处理. 在模型训练时使用原始数据, 其中包含了实际睡眠序列.

3.3 实验结果

(1)模型准确率

关于模型的准确性, 本文通过混淆矩阵来评价, 计算模型的准确率(ACC)、召回率(RE)、精确率(PR)、F1分数(F1):

$ ACC = \frac{{TP + TN}}{{TP + TN + FP + FN}} $ (4)
$ RE = \frac{{TP}}{{TP + FN}} $ (5)
$ PR = \frac{{TP}}{{TP + FP}} $ (6)
$ F1 = \frac{{2 \times PR \times RE}}{{PR + RE}} $ (7)

其中, TP为真阳性数据, TP为真阴性数据, FP为假阳性数据, FN为假阴性数据. 最终运算结果与各指标如表1表3所示.

表1所示, Ghost+GRU模型准确率为84.17%, F1分数为0.77; 表2中, Ghost+LSTM模型准确率为83.52%, F1分数为0.76; 表3中, Ghost+Attention模型准确率为79.98%, F1分数为0.70, 以上数据表明Ghost+GRU模型在整体上睡眠分期的准确度较高, 并且在查准率和查全率中保持了不错的平衡, 对于平衡不同类别的性能表现较好.

表 1 Ghost+GRU模型混淆矩阵

表 2 Ghost+LSTM模型混淆矩阵

表 3 Ghost+Attention模型混淆矩阵

(2)模型运算效率

关于模型的计算复杂度, 本文通过计算FLOPs来衡量:

$ \begin{split} & FLOPs=\\ &\left\{\begin{array}{*{20}{l}} {\displaystyle {\sum }_{i}{{\displaystyle o}}_{i}\times Noif\times Noof},& {\text{①}}\;全连接层\\ {\displaystyle {\sum }_{i}{{\displaystyle o}}_{i}\times Ck{{\displaystyle s}}^{2}\times }Noic\times Nooc\times Ofm{{\displaystyle s}}^{2},&{\text{②}}\;卷积层\\ \displaystyle {\sum }_{i}{{\displaystyle o}}_{i}\times Nots\times Noif\times Noof,&{\text{③}}\;{\mathrm{RNN}}层\end{array} \right. \end{split}$ (8)

其中 , oi代表每一层中输出元素的数量, Noif代表输入特征数, Noof代表输出特征数, Cks为卷积核尺寸, Noic输入通道数, Nooc为输出通道数. 本文提出的基于单通道脑电信号的睡眠分期模型计算所得的FLOPs为5 041 111 040, 此外, Jia等人[11]提出基于ST-GCN的GraphSleepNet, 结合时空卷积和时空注意机制, 同时捕获睡眠数据的注意时空特征, FLOPs为17 891 237 000; Jia等人[12]还提出面向睡眠阶段分类的多模态显著性波形检测网络SalientSleepNet, FLOPs为9 763 248 000; Mousavi等人[13]提出SleepEEGNet, 采用CNN+BiRNN的结构, FLOPs为15 979 660 800; Supratak等人[14]提出了一种参考VGGNet的TinySleepNet, 使用单向LSTM, 大大减少了计算所需要的资源, 计算所得FLOPs为8 979 660 800; Phan等人[15]提出基于分层RNN结构的SeqSleepNet, FLOPs为19 862 000 210; Zhou等人[10]提出一种基于频谱图的快速睡眠阶段分类轻量级模型LightSleepNet, FLOPs为4 576 000 000; Zhou等人[16]提出了一种名为SleepNet-Lite的新型轻量级卷积神经网络, FLOPs为5 012 700 000.

表4可得, GraphSleepNet 和SeqSleepNet 在准确率上领先, 但计算成本较高; SalientSleepNet 和 SleepEEGNet 在准确率与计算成本之间保持较好平衡; TinySleepNet 在准确度和运算成本上都表现出色; GhostSleepNet 在保持较高准确率的同时具有相对较低的计算成本; LightSleepNet和SleepNet-Lite的FLOPs相对较低, 但准确率也较低. 因此, 本文模型在保证准确率的同时所需的计算成本更少, 更适合部署于计算资源有限的设备.

表 4 各睡眠分期模型计算效率对比

4 系统设计 4.1 系统功能结构

本系统主要具备以下功能模块: 注册登录模块、讲解模块、睡眠检测和问卷模块、历史记录模块、睡眠质量分析模块. 其中, 轻量化模型(GhostSleepNet)部署在睡眠检测和问卷模块, 在用户结束睡眠监测后, 对采集到的脑电数据进行睡眠分期. 系统总体功能结构图如图4所示.

图 4 系统总体功能结构图

用户在登录系统后, 点击开始检测按钮, 打开脑环, 输入脑环实时生成的IP地址, 连接至系统后, 脑环开始检测脑电信号并记录. 结束睡眠监测后, 用户需要填写PSQI问卷以反映本次睡眠的主观感受, 系统会根据睡眠分期结果和问卷反馈生成睡眠报告, 睡眠报告体现了本次睡眠的综合情况, 包括主客观分数、睡眠分期展示、睡眠质量分析和睡眠建议. 用户可以查询历史记录, 系统会生成近期睡眠评分变化的趋势图, 以此判断个人近期睡眠的情况.

本系统的核心是提供集脑电数据采集、睡眠分期和睡眠质量分析功能于一体的睡眠监测体系. 用户开始睡觉后, 系统会采集脑电数据并记录, 在睡眠结束后对原始脑电数据进行预处理、睡眠分期, 最终系统会结合睡眠分期结果和问卷结果提供综合全面的睡眠报告.

4.2 核心模块介绍

(1)睡眠监测和问卷模块

睡眠监测模块和问卷调查模块如图5图6所示. 在该模块中, 用户可以点击“连接设备”按钮进行脑环设备的连接, 设备连接后, 下方会提示已连接. 历史记录区域显示了近期睡眠监测记录概要, 包括记录起始时间、记录时长和客观得分. 点击“开始检测”按钮后, 系统开始采集用户的脑电数据至用户结束睡眠. 接着用户需要点击“填写问卷”按钮, 系统跳转至PSQI问卷页面. 完成问卷后, 点击“提交问卷”按钮, 系统会结合睡眠分期结果和问卷结果生成睡眠报告.

图 5 睡眠监测模块

图 6 问卷调查模块

轻量化模型在部署到系统上之后, 用于对用户的睡眠数据进行分期. 相较于传统睡眠分期模型, 该模型的计算复杂度下降20%–45%, 使得系统能够在计算资源较低的设备上实现实时睡眠监测和睡眠质量评估.

(2)历史记录模块

在该模块中, 界面左上方显示历史概要, 包括睡眠监测次数等指标, 用户能够得知历史睡眠的总体情况. 系统在右侧以折线图展示了最近7次的睡眠分数变化, 分别为睡眠分期分数和PSQI问卷分数, 用户可以直观了解近期睡眠质量变化, 如图7所示.

图 7 历史记录模块

(3)睡眠质量分析模块

本模块记录了用户单次睡眠的详细情况. 系统使用EChart图表对用户的睡眠分期结果进行展现, 其中自动睡眠分期图按时间段呈现用户的睡眠阶段变化, 而睡眠分期比例图展示了各睡眠阶段所占比例. 睡眠分数区域会给出用户的睡眠分期分数和问卷分数, 并在睡眠质量分析区域给出综合的睡眠评价. 结合用户的睡眠情况和问卷反馈, 系统会生成针对性的睡眠建议供用户参考, 如图8所示.

图 8 睡眠质量分析模块

4.3 睡眠评价指标

本系统的睡眠评价指标[23]主要包括睡眠进程指标、睡眠结构指标和REM测量值. 其中睡眠进程指标包含睡眠效率、睡眠时期比、睡眠总时间、醒觉次数、觉睡比等.

部分关键睡眠指标参数计算如下.

(1) 睡眠效率:

$ E = \frac{{\mathop T\nolimits_{{\mathrm{REM}} + {\mathrm{NREM}}} }}{T} $ (9)

其中, TREM+NREM为REM与RREM时间之和, T为记录数据的时间, TREM+NREM与觉醒时间之和.

(2) 睡眠各期时间比率:

$ {\textit{Stage}} x{\text{%}} = \frac{{\mathop T\nolimits_x }}{T} \times 100{\text{%}} $ (10)

其中, Tx为某个睡眠期x所占的时间总和, T为记录数据的时间, 等于TREM+NREM与觉醒时间之和.

(3) 觉睡比:

$ W|S = \frac{{\mathop T\nolimits_W }}{T} $ (11)

其中, TW为觉醒时间, T为总睡眠时间.

5 结论

本文开发了一个基于单通道脑电信号的轻量级睡眠分析系统, 该系统以GhostSleepNet轻量级睡眠分期模型作为技术核心, 使用Ghost bottleneck取代传统卷积用于特征提取, 在保持较高准确性的同时大幅减少了模型训练的参数, 有助于移动设备睡眠分期功能的发展. 配合脑环设备, 本系统解决了当前睡眠检测产品准确度不高和医院检测费用昂贵、设备复杂的问题. 用户只需佩戴脑环并接入系统, 在睡眠结束后完成匹兹堡睡眠质量指数表, 系统就会给出睡眠质量报告分析, 帮助用户更好地了解自身睡眠状况, 从而针对性地提高睡眠质量.

参考文献
[1]
Irwin MR. Why sleep is important for health: A psychoneuroimmunology perspective. Annual Review of Psychology, 2015, 66: 143-172. DOI:10.1146/annurev-psych-010213-115205
[2]
Liu JB, Wu DP, Wang ZM, et al. Automatic sleep staging algorithm based on random forest and hidden Markov model. Computer Modeling in Engineering & Sciences, 2020, 123(1): 401-426.
[3]
Ghimatgar H, Kazemi K, Helfroush MS, et al. An automatic single-channel EEG-based sleep stage scoring method based on hidden Markov model. Journal of Neuroscience Methods, 2019, 324: 108320. DOI:10.1016/j.jneumeth.2019.108320
[4]
Yang BF, Zhu XL, Liu YT, et al. A single-channel EEG based automatic sleep stage classification method leveraging deep one-dimensional convolutional neural network and hidden Markov model. Biomedical Signal Processing and Control, 2021, 68: 102581. DOI:10.1016/j.bspc.2021.102581
[5]
Zhu TQ, Luo W, Yu F. Convolution- and attention-based neural network for automated sleep stage classification. International Journal of Environmental Research and Public Health, 2020, 17(11): 4152. DOI:10.3390/ijerph17114152
[6]
Han K, Wang YH, Tian Q, et al. GhostNet: More features from cheap operations. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 1577–1586.
[7]
Mollayeva T, Thurairajah P, Burton K, et al. The Pittsburgh sleep quality index as a screening tool for sleep dysfunction in clinical and non-clinical samples: A systematic review and meta-analysis. Sleep Medicine Reviews, 2016, 25: 52-73. DOI:10.1016/j.smrv.2015.01.009
[8]
Sekkal RN, Bereksi-Reguig F, Ruiz-Fernandez D, et al. Automatic sleep stage classification: From classical machine learning methods to deep learning. Biomedical Signal Processing and Control, 2022, 77: 103751. DOI:10.1016/j.bspc.2022.103751
[9]
缪竟鸿, 韩旭, Avouka T, 等. 基于单通道心电信号的家用睡眠分期方法. 天津工业大学学报, 2023, 42(4): 83-88. DOI:10.3969/j.issn.1671-024x.2023.04.013
[10]
Zhou DD, Xu Q, Wang J, et al. LightSleepNet: A lightweight deep model for rapid sleep stage classification with spectrograms. Proceedings of the 43rd Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC). Mexico: IEEE, 2021. 43–46.
[11]
Jia ZY, Lin YF, Wang J, et al. GraphSleepNet: Adaptive spatial-temporal graph convolutional networks for sleep stage classification. Proceedings of the 29th International Joint Conference on Artificial Intelligence. Yokohama: IJCAI, 2020. 1324–1330.
[12]
Jia ZY, Lin YF, Wang J, et al. SalientSleepNet: Multimodal salient wave detection network for sleep staging. Proceedings of the 30th International Joint Conference on Artificial Intelligence. Montreal: IJCAI, 2021. 2614–2620.
[13]
Mousavi S, Afghah F, Acharya UR. SleepEEGNet: Automated sleep stage scoring with sequence to sequence deep learning approach. PLoS One, 2019, 14(5): e0216456. DOI:10.1371/journal.pone.0216456
[14]
Supratak A, Guo YK. TinySleepNet: An efficient deep learning model for sleep stage scoring based on raw single-channel EEG. Proceedings of the 42nd Annual International Conference of the IEEE Engineering in Medicine & Biology Society (EMBC). Montreal: IEEE, 2020. 641–644.
[15]
Phan H, Andreotti F, Cooray N, et al. SeqSleepNet: End-to-end hierarchical recurrent neural network for sequence-to-sequence automatic sleep staging. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 2019, 27(3): 400-410. DOI:10.1109/TNSRE.2019.2896659
[16]
Zhou HH, Liu AP, Cui H, et al. SleepNet-lite: A novel lightweight convolutional neural network for single-channel EEG-based sleep staging. IEEE Sensors Letters, 2023, 7(2): 7000804.
[17]
Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition. Proceedings of the 3rd International Conference on Learning Representations. San Diego: ICLR, 2015.
[18]
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.
[19]
Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift. Proceedings of the 32nd International Conference on Machine Learning. Lille: ICML, 2015. 448–456.
[20]
Berry RB, Brooks R, Gamaldo C, et al. The AASM Manual for the Scoring of Sleep and Associated Events: Rules, Terminology, and Technical Specification. Westchester: American Academy of Sleep Medicine, 2007.
[21]
van Sweden B, Kemp B, Kamphuisen HAC, et al. Alternative electrode placement in (automatic) sleep scoring (Fpz-Cz/Pz-Oz versus C4-A1). Sleep, 1990, 13(3): 279-283. DOI:10.1093/sleep/13.3.279
[22]
Khirirat S, Feyzmahdavian HR, Johansson M. Mini-batch gradient descent: Faster convergence under data sparsity. Proceedings of the 56th IEEE Annual Conference on Decision and Control (CDC). Melbourne: IEEE, 2017. 2880–2887.
[23]
Fabbri M, Beracci A, Martoni M, et al. Measuring subjective sleep quality: A review. International Journal of Environmental Research and Public Health, 2021, 18(3): 1082. DOI:10.3390/ijerph18031082