1. 引言
睡眠质量与日常生活中的基本活动,如学习、记忆、生产力和注意力息息相关,长期睡眠不良可增加高血压、心血管疾病、糖尿病的风险,并降低免疫力。《中国睡眠研究报告2024》显示,相比2021年和2022年,2023年被调查者的主观睡眠质量更差[1]。正常的睡眠周期包括多个NREM阶段和REM阶段,每个阶段有其特定的生理功能,理想的睡眠应该是这些阶段的自然交替和循环。通过科学地划分睡眠阶段,能够更加全面地了解一个人的睡眠模式,从而为改善整体健康提供依据。
评估睡眠行为最广泛使用的方法是多导睡眠图(polysomnography, PSG),但是PSG需要将多个粘贴电极和电缆连接到患者身上,以采集睡眠期间的不同的生理信号,舒适度欠佳的同时,还需专家进行睡眠标注,过程复杂且成本高。因此,近年来人们一直在研究便携、舒适,适合在家中使用的睡眠监测设备。Advanced Brain Monitoring公司的睡眠分析仪提供了与PSG兼容的接口,且具有较高的准确性,但它没有集成分析功能,只能通过在线诊断提供间接的解决方案[2]。一项使用头戴式干电极的可穿戴设备研究提供了家庭睡眠监测接口,但它不具备睡眠分析的功能[3]。
在利用脑电信号睡眠分期的算法方面,大致可分为两个方向。一是采用传统机器学习的方法,先提取出睡眠脑电信号中的各种特征,然后使用机器学习分类器来实现自动睡眠分期。郭艳平等提取单通道EEG信号的线性和非线性动力学特征,使用极端梯度提升算法实现睡眠5期分类,在SHHS数据集上准确率为79.7% [4]。二是采用深度学习技术。Sors等提出一种基于单通道脑电信号的CNN模型实现睡眠5期分类,在SHHS数据集上准确率达到87% [5]。传统的机器学习算法通常具有较好的可解释性,但在处理复杂的非线性关系时不如深度学习算法。而深度学习算法虽然能够取得较高的准确性,但需大量数据支撑,且计算复杂度高,对硬件设备的要求较高,难以在运算资源和内存资源有限的嵌入式设备中实现。
针对上述问题,本文提出了一种用于实时睡眠分期的智能设备,该设备不仅具备传统的信号采集功能,还能基于内部的人工智能算法进行实时的睡眠阶段分类。
2. 总体设计
2.1. 系统设计的目标
本文方法的目标主要有:
1) 能够准确地采集双通道脑电信号。
2) 在设备端集成准确性高且实时性好的睡眠分期方法。
3) 将采集的数据和处理后的睡眠分析结果通过无线的方式传输至外部设备。
2.2. 系统架构
基于2.1中所述的三个目标,本文设计的系统架构如图1所示。模拟前端部分负责对信号放大和滤波。处理单元接收模拟前端传输的数据,对信号进行分割、特征提取和加载机器学习算法进行睡眠阶段分类,传输单元通过蓝牙将数据传输到外部设备或存储在板载SD卡中。
Figure 1. System architecture
图1. 系统架构
3. 硬件设计和软件流程
3.1. 模拟前端电路
模拟前端电路原理图如图2所示。模拟前端核心采用TI公司的高性能模数转换芯片ADS1299,它支持高精度的脑电信号采集,具备低噪声、24位高精度等优点[6]。能够显著提升信号采集质量并降低系统功耗。与传统的放大电路及模数转换电路相比,ADS1299简化了电路设计,有效减小了传感器体积。通过其内置的模拟滤波和模数转换功能可将脑电信号转化为数字信号,并通过SPI接口传输至处理单元。在模拟前端的设计中,对于每个模拟输入通道,设计了一个RC低通滤波器电路来抑制高频干扰。此外,为每个通道添加了防静电组件,以避免对电路造成静电损坏。为避免数字电路对模拟电路产生干扰,对模拟地和数字地进行了隔离。
Figure 2. Schematic diagram of the analog front-end circuit
图2. 模拟前端电路原理图
3.2. 处理单元电路
处理单元电路模块图如图3所示,核心使用STM32L476RCT6微控制单元(MCU),该MCU使用Cortex-M4内核,工作频率高达100MHz,具有320K的RAM、512K的Flash以及丰富的外设。Cortex-M4内核具有一个单精度浮点运算单元,支持所有的ARM单精度数据处理指令。该MCU在外设关闭时,系统运行的功耗低至112 µA/MHz,兼顾了能耗和性能。其使用SPI对ADS1299进行读写,通过串口与低功耗蓝牙模块交换数据,使用SDIO对SD卡执行读、写和擦除等操作。
Figure 3. Circuit module diagram of the processing unit
图3. 处理单元电路模块图
3.3. 传输单元电路
传输单元原理图如图4和图5所示。传输单元具备无线传输功能和本地存储功能,无线传输使用低功耗蓝牙模块WH-BLE106,该模块兼容蓝牙5.0协议,具备体积小,功耗低等优点。本地存储使用板载SD卡进行存储。
Figure 4. Circuit module diagram of the processing unit
图4. 处理单元电路模块图
Figure 5. Schematic diagram of the transmission unit
图5. 传输单元原理图
3.4. 软件流程
本文的软件基于FreeRTOS系统设计,软件流程图如图6所示。系统上电后进行硬件初始化和配置ADS1299的参数,开始采集后,采用双缓存机制缓存ADS1299传输的数据,建立三个任务分别进行信号预处理、睡眠阶段识别和数据通信。
Figure 6. Software flowchart
图6. 软件流程图
4. 实时睡眠分期方法
4.1. 睡眠分期流程
研究中采用美国睡眠医学会(American Academy of Sleep Medicine, AASM)修正过的睡眠划分标准,将睡眠划分为5期:W (觉醒期)、N1 (浅睡1期)、N2 (浅睡2期)、N3 (深睡期)、REM (快速眼动睡眠期) [7]。具体流程如下:
1) 先将设备采集到的30 s的EEG信号进行小波变换和重构,将原始信号分解为各特征波的时间序列。
2) 提取各特征波的功率谱密度(Power Spectral Density, PSD)值以及Hjorth参数作为特征。
3) 通过加载训练好的支持向量机(Support Vector Machine, SVM)进行五类睡眠阶段的识别。
4) 将结果存放入SD卡或者通过蓝牙将结果传输至外部设备进行显示。
4.2. 信号预处理
4.2.1. 小波变换和重构
小波变换作为一种时频分析方法,能够同时获取信号的时间和频率信息,非常适合处理非平稳和时变信号。通过小波变换的多尺度分解与重构方法,可以提取信号在特定频率范围内的成分[8]。将本文采集的双通道脑电信号
和
,进行小波变换和重构后,得到6种特征波,分别为K复合波(0.5~2 Hz)、δ波(2~4 Hz)、θ波(4~8 Hz)、α波(8~12 Hz)、纺锤波(12~14 Hz)以及高频段的β波(14~30 Hz) [9]。
4.2.2. EEG信号的PSD特征
在频域分析中,PSD描述了信号在不同频率上的功率分布,利用Welch算法可计算出EEG信号不同频率段的PSD值[10]。随机选取DOD-H数据集中一个记录的两个通道脑电信号,不同睡眠阶段的PSD值随频率的变化情况如图7所示。可观察到不同睡眠阶段EEG信号具有不同的PSD值,且在不同的脑电通道具有相似性,可见PSD能很好地反映睡眠各阶段之间的差异,由此可提取EEG特定频带中的PSD特征来进行睡眠阶段分类。
Figure 7. Graph of PSD changes in different sleep stages
图7. 不同睡眠阶段PSD的变化曲线图
4.2.3. EEG信号的Hjorth参数特征
Hjorth参数特征是脑电信号中比较有区分性的时域特征,包含活动性(
)、移动性(
)和复杂性(
)三个参数,分别从振幅、斜率与斜率变化率的角度描述了EEG信号在时域上的特点[11]。本文提取不同通道的Hjorth参数特征进行睡眠阶段识别。设离散脑电信号为
,则Hjorth参数特征的计算公式如式(1)、(2)、(3),其中
是
的均值,
是
的一阶导数,
表示信号
的一阶导数的标准差。
(1)
(2)
(3)
本文提取每个30 s脑电信号片段中,两个通道的6个特征波PSD和3个Hjorth参数,共18个特征用于睡眠分期。
4.3. 分类器选择
4.3.1. 数据集
本文采用了Dream开放数据集(Dream Open Dataset, DOD)进行验证[12],其中包含了健康群体睡眠数据DOD-H (Dream Open Dataset Healthy),该数据集包括6个EEG电极位置(FP1, FP2, F3、F4, O1和O2)、脉搏血氧计和加速度计等,其中EEG信号的采样率为250 Hz。每条记录由来自3个不同睡眠诊所的5位专家进行评分。使用健康群体的25例数据,以4:1的比例分配训练集和测试集,即20例数据用于训练,5例数据用与测试。
4.3.2. 睡眠分期评价指标
睡眠分期属于分类问题,本文将睡眠分为5期,用总体准确率(Accuracy, ACC)、Kappa系数、宏观平均F1值(Micro-F1, MF1)来评估分类器性能。此外增加模型占用RAM、Flash以及推理速度等指标进行综合评估。
4.3.3. 分类器效果对比
由于传感器的微处理器性能较低,为了能够在微处理器上实现实时睡眠阶段识别,只能选择传统的分类算法,SVM、多层感知机(Multilayer Perceptron MLP)、极限梯度提升(eXtreme Gradient Boosting, XGB)和随机森林(Random forest, RF)是常见的分类器,执行分类任务时消耗的资源较少,可以在微处理上运行。首先在PC端使用这4个分类器对前面提取的特征进行分类识别,然后将训练好的模型移植到微处理器中。分类效果、模型占用资源以及推理速度如表1所示。从表中的对比结果可见,基于4.2中选择的特征在使用SVM时分类准确率优于XGB和RF,略低于MLP。但是在加载到微处理器中的资源占用和推理时间要优于MLP。综合所有指标来看,SVM分类器在微处理器中的性能优于其它分类器。因此本文使用SVM分类器进行实时睡眠阶段分类。
Table 1. Comparison results of the effects of different classifiers
表1. 不同分类器效果对比结果
评价指标 |
SVM |
MLP |
XGB |
RF |
ACC (%) |
88.23 |
89.45 |
85.29 |
87.11 |
Kappa系数 |
0.814 |
0.832 |
0.718 |
0.785 |
MF1 (%) |
70.86 |
71.8 |
65.4 |
68.4 |
RAM (KB) |
12.4 |
16.9 |
23.8 |
16.7 |
Flash (KB) |
19.7 |
32.4 |
50.4 |
31.3 |
推理时间(ms) |
17.5 |
24.5 |
23.3 |
28.6 |
5. 实际测试
5.1. 实物制作
本文采集额区双通道脑电信号,采用脑电国际10~20系统标准中,额极中点(Fpz)为参考电极,采集左额极(Fp1)、右额极(Fp2)两个位置的脑电信号。电极由FPC软板设计,结合弹性绑带,可以很好地贴合皮肤,减少了对睡眠的负担以及对信号的干扰,方便患者佩戴和使用。电极位置分布和设备佩戴示意图如图8所示。
5.2. 脑电信号采集测试
为了证明本文设计的传感器采集的是脑电波信号而不是噪声,进行了睁眼和闭眼脑电信号采集实验。该实验的重点是分析脑电信号中的α节律,频率在8 Hz~13 Hz之间。α节律在闭上眼睛进入放松状态时会出现,且可以在头部的任何位置检测到[13]。有效的脑电信号频率范围在0~30 Hz,本实验采样率设置
Figure 8. Schematic diagram of the distribution of electrode positions and the wearing of the device
图8. 电极位置分布和设备佩戴示意图
为250 Hz,满足奈奎斯特采样定理,能够完整记录本实验中出现的脑电信号。该实验采集同一受试者睁眼状态和闭眼状态下的Fp2电极位置的两段各10秒的脑电信号。睁眼状态下和闭眼状态下的时域波形分别如图9和图10所示。睁眼时和闭眼时的脑电信号PSD对比如图11所示,可以明显地看出闭眼时α节律相对于睁眼时功率谱密度增加,证明本文设计的传感器可以有效地测量脑电信号。
Figure 9. Waveform of the open eyes state
图9. 睁眼状态下的波形
5.3. 实时睡眠分期测试
在PC端中,使用DOD-H中20条数据构建4.2节中的特征向量进行训练,线性核SVM模型的系数表示每个特征对分类决策边界的影响程度,取系数的绝对值得到特征重要性大小。结果如图12所示,不同脑电通道及特征对睡眠分期结果的重要性存在差异。在PSD特征中,FP2_F4通道的纺锤波PSD和α波 PSD,以及F3_F4通道的θ波PSD对睡眠分期结果影响显著,其重要性数值相对较高。这表明这些频段的脑电信号能量分布,在区分睡眠阶段时发挥着关键作用。在Hjorth参数特征里,两个通道的activity、mobility和complexity重要性普遍偏低,但仍是睡眠分期特征体系的组成部分,对睡眠分期有一定辅助作用。
Figure 10. Waveform of the close eyes state
图10. 闭眼状态下的波形
Figure 11. Power spectral density of the signals in the eyes-open state and the eyes-closed state
图11. 睁眼状态和闭眼状态信号的功率谱密度
Figure 12. The importance of each feature for the SVM classification model
图12. 各个特征对于SVM分类模型的重要性
将训练好的SVM模型加载至MCU。从DOD-H数据集中选取剩余5条睡眠记录中的一条睡眠记录,把其中两通道的脑电信号导入信号发生器。将信号发生器的两个输出接口连接到设备的两个采集电极,以此模拟脑电信号采集。最终,通过蓝牙接收实时睡眠分期结果。根据结果绘制的分类结果混淆矩阵如图13所示,可以看出,N1阶段的分类效果明显低于W等其他睡眠阶段。造成这一现象的原因主要有两个方面。一方面,在整个睡眠周期中,N1阶段出现的频次相对较少,数据量不足使得模型对该阶段特征的学习不够充分。另一方面,在临床上,N1阶段是从清醒到入睡的过渡状态,这使得其生理信号所蕴含的信息及表层特征,与其他睡眠阶段的差异并不显著。这种特征的模糊性,在混淆矩阵中表现为N1阶段被大量错误分类为W或N2阶段。相比之下,W和N2阶段的内在特征更为清晰,模型更容易准确识别,因此分类准确率显著高于N1阶段。结合如图14所示的整晚睡眠阶梯图,整体睡眠状态预测的准确率约为86.45%。
Figure 13. Confusion matrix for the classification results
图13. 分类结果混淆矩阵
Figure 14. Comparison between original records and device-predicted results
图14. 原始记录与设备预测结果对比
6. 结论
本文设计了一款用于实时睡眠分期的智能设备,采用高精度模数转换芯片,实现了高精度双通道脑电信号采集。依据AASM睡眠划分标准,结合小波变换、PSD特征、Hjorth参数特征以及SVM分类器,实现了较高准确度的实时睡眠阶段分类。脑电信号采集测试证明了设备能够有效测量脑电信号,实时睡眠分期测试中整体睡眠状态预测准确率达到86.45%。这表明该设备在睡眠监测应用中具备较高的准确性和实用性,具备一定的应用价值。
基金项目
国家科技部项目(No.G2021013008)。
NOTES
*通讯作者。