优质的睡眠,是人们在日常工作和生活保持精力充沛的前提和保证。提出一种依托APP和云端服务器的智能终端。设计了一种基于深度学习方法的全新睡眠阶段自动分析方法。该方法基于单通道脑电信号(EEG),使用临床多导睡眠监测(PSG)得到的大规模数据集对网络进行建模,并将模型部署到云端服务器,利用其运算资源进行睡眠阶段自动分析。对比实验的结果显示,使用小规模数据集时,该方法整体准确度达到77.1%,kappa系数为0.68,性能优于同类型基于人工神经网络的睡眠分期方法。依靠精准的睡眠分期结果,智能终端能为用户提供实时脑电波形绘制、睡眠质量评估报告以及闹钟轻柔唤醒等功能。 Adequate quality sleep is the premise and guarantee for people to keep energetic during daily life. In the paper, an intelligent terminal based on APP and cloud server is proposed. Also a new sleep stages automatic analysis method based on deep learning is discussed in the paper. Based on single channel EEG, the method uses the large dataset obtained by clinical polysomnography (PSG) to model the network and is deployed on the cloud server, which can be used for automatic sleep stages analysis. The results of the comparative experiment showed that the overall accuracy of this method reached 77.1% and the kappa coefficient was 0.68 when using small datasets, which is better than the similar sleep staging method based on other artificial neural networks. With the accurate sleep staging results, the intelligent terminal can provide users with real-time brain wave drawing, sleep quality assessment report, smart wake-up services and other functions.
陈振东,杨飞帆
华南师范大学物理与电信工程学院,广东 广州
收稿日期:2019年6月7日;录用日期:2019年6月21日;发布日期:2019年6月28日
优质的睡眠,是人们在日常工作和生活保持精力充沛的前提和保证。提出一种依托APP和云端服务器的智能终端。设计了一种基于深度学习方法的全新睡眠阶段自动分析方法。该方法基于单通道脑电信号(EEG),使用临床多导睡眠监测(PSG)得到的大规模数据集对网络进行建模,并将模型部署到云端服务器,利用其运算资源进行睡眠阶段自动分析。对比实验的结果显示,使用小规模数据集时,该方法整体准确度达到77.1%,kappa系数为0.68,性能优于同类型基于人工神经网络的睡眠分期方法。依靠精准的睡眠分期结果,智能终端能为用户提供实时脑电波形绘制、睡眠质量评估报告以及闹钟轻柔唤醒等功能。
关键词 :单通道脑电信号,睡眠分期,智能终端,LSTM,云端服务器
Copyright © 2019 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
本睡眠是生命体一种正常的生理现象,同时也是人类最重要的活动之一,长期的睡眠不足会使人体免疫力下降,并诱发心血管、脑血管等疾病。便携式睡眠监测方法一般分为两种:基于脑电信号(EEG)和基于其余各种生理信号的方法 [
小米手环的睡眠分期准确率不高,很大程度上是由于手环只能采集心率、翻身等信号,无法采集对睡眠分期十分有用的脑电等生理电信号。传统基于脑电信号的睡眠阶段分析方法为睡眠研究专家人工根据多导睡眠监测(Polysomnography, PSG)的数据,按照美国睡眠医学学会(American Academy of Sleep Medicine, AASM)的睡眠分期准则进行睡眠阶段分析。但多导睡眠监测方法采集过程繁琐,降低睡眠环境的舒适度,对使用者造成不必要的影响 [
为了在尽可能减少产品对使用者睡眠舒适度影响的同时,保证睡眠分期的准确率,本文在前端脑电采集眼罩的基础上,提出了一种基于LSTM深度学习模型的睡眠分期系统。该系统依托手机APP和云端服务器,实现精准的用户睡眠分期,实现睡眠质量监控和智能唤醒的功能。本系统既能辅助睡眠专家诊断睡眠障碍疾病,减轻人工睡眠分期的工作负担,又能为使用者提供睡眠质量监测和智能唤醒功能,具有良好的应用前景,对促进可穿戴睡眠监测设备的发展具有重要意义。
本文方法的两个关键问题是:
1) 为提高系统的可靠程度,应如何提升睡眠自动分期的准确率。
针对这个问题,本文提出了一种适用于自动睡眠分期的LSTM模型。该方法基于单通道脑电(EEG)信号,创新性地使用临床多导睡眠监测(PSG)得到的大规模数据集对LSTM神经网络进行建模,并利用该模型进行睡眠阶段自动分析。
2) 如何能在保证运算速度和模型精度的同时,使算法模型所需的手机资源尽可能的少。
在实现实时睡眠监测和智能唤醒功能时,需多次计算用户实时睡眠阶段,对数据的处理速度和模型的运算速度有较高要求。针对这个问题,本文采用将模型部署在云端服务器的方法,通过智能手机的远程通讯,将用户的脑电数据送达云端服务器进行处理,减轻智能手机端的负担,同时也保证了睡眠分期的实时性。
本文设计的双层系统如图1所示。第一层的作用是采集用户的前端脑电信号,并进行FFT-IFFT等预处理。第二层的作用是对采集到的EEG信号进行自动睡眠分期,采用LSTM模型对上一层处理结果的脑电特征进行多分类。第二层算法处理的结果,可以用于对用户睡眠阶段的监测和质量分析,以及实现APP的智能唤醒功能。
整体流程如下:
1) 系统第一层包括:导电纤维、ADS1299芯片、降噪滤波电路以及NRF52832蓝牙及处理器芯片。ADS1299芯片利用SPI接口将数据传输至位于眼罩的主控单元,随后通过蓝牙BLE协议和智能手机终端进行通信。
2) 第二层依托于智能手机和云端服务器平台。将上一层提取出的EEG特征信号作为输入量,利用部署在云端服务器上预训练好的LSTM模型,对其进行睡眠分期,分期结果作为智能终端的提供服务的依据。
3) 智能终端APP对用户开放两个接口服务。分别是:睡眠质量监测和智能轻柔唤醒服务。睡眠质量监测包括实时脑电信号波形绘制和质量评估报告,评估报告通过分析用户完整的睡眠过程,利用“SQ”评估模型对用户的睡眠情况进行评分;智能唤醒服务则通过分析用户的睡眠阶段,寻找适合唤醒用户的最佳时期,尽可能达成在较浅睡眠阶段唤醒用户的目标。
图1. 系统架构
人的睡眠一般可以划分为几个相对稳定的阶段,为方便清楚地表示睡眠的这一过程,Rechtschaffen等以EEG、眼电图(Electro-oculogram, EOG)、肌电图(Electromyogram, EMG)为依据,把睡眠划分为6个时期,这种分期方法被称为R&K准则,这6个时期分别是:清醒期(Wake, W)、快速眼动睡眠期(Rapid Eye Movement, REM)和非快速眼动睡眠期(Non-Rapid Eye Movement, NREM) [
图2. 睡眠分期准则结构图
人体在睡眠过程中的状态是交叉处于NREM期和REM期的,这种循环称为NREM-REM循环,大约形成4~6次循环,每次维持的时间为90~120 min左右。人体正常的睡眠,各个时期的产生都是有规律的,即从W-N1-N2-N3-N4-REM,接着再循环N2-N3-N2-REM,如图3所示。在其整个夜晚睡眠中,REM期占20%~25%;NREM期占75%~80%。在NREM睡眠中,NREM1期占整个睡眠时间的5%~10%,第二阶段占50%,第三阶段与第四阶段共占25%,其中第三阶段约占12%,第四阶段约占13%。
图3. 睡眠周期循环示意图
睡眠专家主要根据单个通道EEG信号对睡眠分期进行分析。EEG信号由不同的节律波组成,各种节律波在人体睡眠过程中呈现出一定的规律变化,随着人体进入不同的睡眠阶段而出现不同的特点 [
睡眠阶段 | 节律波成分 |
---|---|
W | 主要以α波(8~12 Hz)为主,每一帧EEG信号比例超过50%以上;β波(14~35 Hz) |
N1 | α波所占比例小于50%,并逐渐下降;θ波(4~8 Hz)的比例逐渐增加 |
N2 | 出现一个或多个spindle波(12~14 Hz),k复合波(0.5~2 Hz);EEG信号振幅增加 |
N3 | 以δ波(0.5~4 Hz)为主,所占的比例慢慢上升最后50%,以慢波活动为主,人进入深睡期 |
REM | 以α波和β波为主,夹杂着部分θ波,还会出现锯齿波(2~6 Hz) |
表1. 睡眠阶段与节律波的对应关系
人体的睡眠是一个时间连续的过程,睡眠阶段在整晚的时间上是循环的,故睡眠过程产生的生理数
图4. 基于LSTM神经网络的睡眠阶段分析模型
据是一个时间序列信号,且这些生理信号在睡眠阶段循环过程中是具有相关性的。LSTM (Long Short-Term Memory)长短期记忆网络是一种由LSTM单元构成的RNN,它是为了克服RNN无法很好处理远距离依赖而提出的 [
本节给出基于LSTM神经网络的睡眠阶段自动分析模型,该模型由EEG数据处理模块与LSTM神经网络模型两个部分组成,如图4所示。其中EEG数据处理模块负责对原始EEG数据进行处理,将其转换为适合LSTM神经网络模型的矩阵数据,LSTM神经网络模型对输入的EEG数据进行分析得出睡眠分期结果。
本文中的LSTM神经网络模型由数据输入层、包含神经单元的记忆单元层以及分类器构成。输入层在每一个时刻 输入经过处理的EEG数据矩阵,矩阵包括100个EEG信号特征数据点,在180个时刻内将18,000个EEG信号特征数据点全部输入到记忆单元层。LSTM记忆单元层由两层LSTM网络构成,每层LSTM网络由180个记忆单元组成。分类器由全连接层与输出层组成,全连接层将记忆单元输出的128个权重向量转换成5个概率分布向量,通过输出层输出最终的分类结果。
本文中使用2018年PhysioNet心脏病学计算挑战赛(You Snooze, You Win: the Physio-Net/Computing in Cardiology Challenge 2018)的数据集,它是由马萨诸塞州总医院计算临床神经生理学实验室(Computational Clinical Neurophysiology Laboratory, CCNL)和临床数据动画实验室(the Clinical Data Animation Laboratory, CDAC)提供的,可以公开使用的数据集(https://www.physionet.org/physiobank/database/ challenge/2018/#files)。该数据集包含1985个样本,包括以200 Hz进行采样的脑电信号(EEG)等6种生理信号。每个样本的睡眠阶段由MGH的临床工作人员进行标注,分为6个阶段:W,N1,N2,N3,REM和未定义阶段(Undefined)。本文选用上述数据集的训练集中的500个睡眠个体的F4-M1脑电信号作为样本,其中前400个样本作为LSTM深度神经网络的训练集,后100个作为测试集。数据集不同睡眠阶段占比情况如表2所示。
睡眠阶段 | 数据集(n = 500) |
---|---|
W | 28% |
N1 | 19.6% |
N2 | 51% |
N3 | 14% |
REM | 15.5% |
表2. 数据集不同睡眠阶段占比情况
本文按照AASM的修正准则,将原数据集中六个睡眠阶段的Undefined阶段并入NREM3,调整为五个睡眠阶段。同时我们对单通道EEG信号数据进行重采样到100 Hz,每30秒数据(包含3000个采样点数据)分为一个片段(Epoch)。然后对3000个EEG数据采样点数据进行快速傅里叶变换(Fast Fourier Transform, FFT),将信号从时域转换到频域,截取6种EEG节律波对应频率,这6种节律波分别为α波,β波,θ波,spindle波,k复合波以及δ波 [
A = [ a 1 , 1 ⋯ a 1 , 100 ⋮ ⋱ ⋮ a 180 , 1 ⋯ a 180 , 100 ] (1)
本文使用测试集整体准确度、睡眠阶段标签准确度以及测试集的kappa系数来衡量模型的性能。其中kappa系数是一种衡量分类精度的指标,计算方式如公式(2)、(3)所示,在 [ − 1 , 1 ] 范围内,kappa系数越大,表明预测与实际的吻合度越好,分类精度越高 [
k = p 0 − p e 1 − p e (2)
p e = ∑ a i ⋅ b i n 2 (3)
公式(2)中, p 0 为总体分类精度,公式(3)中 a i 为第i个实际样本个数, b i 为第i个预测样本个数,n为总的样本个数。
本文分别实现了基于RNN以及基于CNN的使用单通道EEG的睡眠分期模型,作为本文提出的模型性能的参照。在相同实验环境下,使用相同的临床数据集及相同的数据量,对上述睡眠分期模型使用训练集进行预训练后,采用测试集进行测试验证。在交叉验证实验中,同样采用8/2准则将所选数据随机集划分为训练集与测试集,即将所选数据集的80%设置为训练集,20%设置为测试集。
1) 大规模数据集(包含500个睡眠个体样本)时,对比不同睡眠分期模型的整体准确度、睡眠阶段标签准确度以及测试集的kappa系数。
2) 使用不同规模数据集,对比不同睡眠分期模型的性能变化趋势以及变化程度。
随机选择上述测试集中一个睡眠个体的完整睡眠数据,分别让睡眠专家与本文提出的睡眠分期模型对所选的数据进行睡眠阶段分析,比较前后两者的睡眠阶段分析结果。
使用小规模数据集(20个睡眠个体样本)的对比实验结果如表3所示。本文提出的睡眠分期方法整体平均准确度为77.1%,kappa系数为0.68,达到高度一致性的等级,性能优于同类型基于人工神经网络的睡眠分期模型。
模型 | 整体准确度 | kappa系数 |
---|---|---|
LSTM | 77.1% | 0.68 |
CNN | 73.9% | 0.65 |
RNN | 76.6% | 0.68 |
表3. 小规模数据集下(20个睡眠个体样本)不同睡眠分期模型性能对比结果
使用大规模数据集时,不同睡眠分期模型的性能对比实验结果如表4所示。从模型整体性能方面看,本文提出的自动睡眠分期模型的整体准确度达到73.2%,比CNN睡眠分期模型高出5.2%,比RNN睡眠分期模型高出11.4%;kappa系数达到0.64,达到高度一致性的等级,优于CNN睡眠分期模型与RNN睡眠分期模型。从睡眠阶段标签的准确度看,本文提出的睡眠分期方法对N3与REM的辨别能力明显强于其他两种睡眠分期模型。本文提出的睡眠分期方法使用F4-M1脑电电极EEG特征数据进行交叉校验产生的混淆矩阵,如表4所示,W、N2以及N3的准确度高,其中N2达到84%,同时我们发现本文提出的自动睡眠分期模型对N1的辨别能力较弱。
模型 | 睡眠阶段准确度 | 整体准确度 | kappa系数 | ||||
---|---|---|---|---|---|---|---|
N3 | N2 | N1 | REM | W | |||
LSTM | 74% | 84% | 39% | 68% | 83% | 73.2% | 0.64 |
CNN | 59% | 82% | 40% | 38% | 80% | 68.0% | 0.56 |
RNN | 60% | 80% | 10% | 15% | 80% | 61.8% | 0.49 |
表4. 大规模数据集下(500个睡眠个体样本)不同睡眠分期模型性能对比结果
实际类别标签 | ||||||
---|---|---|---|---|---|---|
N3 | N2 | N1 | REM | W | ||
预测类别标签 | N3 | 7261 (74%) | 2512 (5%) | 2 (0%) | 19 (0%) | 59 (0%) |
N2 | 2105 (25%) | 32097 (84%) | 1551 (25%) | 1737 (16%) | 857 (3%) | |
N1 | 16 (0%) | 3487 (4%) | 533 (39%) | 2046 (11%) | 2793 (11%) | |
REM | 22 (0%) | 1866 (5%) | 1356 (15%) | 7820 (68%) | 387 (2%) | |
W | 29 (1%) | 518 (2%) | 1858 (20%) | 323 (3%) | 13741 (83%) |
表5. 使用F4-M1脑电电极的EEG数据进行交叉校验产生的混淆矩阵
不同睡眠分期模型使用不同规模数据集的准确度变化趋势,如图5所示。从图中可以明显地看出,三种睡眠分期模型随着数据集规模的增大,整体准确度下降,但是本文提出的方法的准确度下降的幅度最小,速度最慢。使用最小规模的数据集时,三种睡眠分期模型的整体平均准确度相差无几,但是随着数据集的规模增大,RNN睡眠分期模型的整体准确度下降得最快,CNN睡眠分期模型次之,本文提出的LSTM睡眠分期模型下降的最慢,在500个睡眠个体样本时,本文提出的LSTM睡眠分期模型整体准确度最高。
从上述对图5以及表5的分析可知,在使用大规模数据集的情况下,本文提出的自动睡眠分期模型的整体准确度达到73.2%,kappa系数达到0.64,均优于其他两种人工神经网络睡眠分期模型的68%,0.56与61.8%,0.49。随着数据集规模的增大,本文提出的LSTM睡眠分期模型的准确度下降的幅度最小,速度最慢。由此可知同类型模型的泛化能力不强,睡眠阶段分析结果没有具有很好的普适性。相比之下,本文提出的自动睡眠分期模型具有更好的泛化效果,分期结果具有更好的普适性。
图6展示了本文提出的睡眠分期模型与人工睡眠分期的对比结果,从对比结果,可以看到本文提出的基于LSTM的睡眠分期模型对一整晚的睡眠阶段分析结果与人工的分析结果相近。
图5. 不同规模数据集睡眠分期模型性能对比
图6. 人工睡眠分期结果与算法预测睡眠分期结果对比
智能眼罩APP主要功能如下:
1) 通过BLE与硬件设备连接并进行数据通信,并将硬件设备的数据进行可视化处理,此功能给专业医务人员提供初步的分析依据。
2) 通过socket与服务器通信,并将服务器返回的分析结果进行可视化处理,此功能直观可视的将睡眠分析结果呈现给用户。
3) 设置使用密码账号登录远端服务器,提供账号注册密码修改、找回的功能,此功能可以有效的对用户的信息进行保护。
4) 睡眠质量监测包括实时脑电信号监测(可以为医生提供丰富的诊断材料),以及整晚睡眠质量的评估报告,该数据可存储在云端个人数据库中。
5) 此外,本系统APP终端还提供智能轻柔唤醒的服务。
APP主要功能实现如图7所示。
图7. APP功能实现图
本文将训练好的LSTM睡眠分期模型部署在云端服务器。云端服务器有24小时不间断工作、运算性能高、能实现云存储功能的特点,符合本文系统的实际需求。
硬件平台将采集到的脑电生理信息经过简单的处理后,以智能手机APP平台作为媒介,通过socket接口实现与云端服务器的数据通信。手机端将生理数据传送到云端服务器进行下一步的信息化分析处理。云端服务器经过一系列预处理算法和LSTM算法模型处理采集到的生理数据,进行睡眠分期分析,并得出睡眠质量分析的结果。当用户请求生理信息分析结果时,云端服务器将睡眠质量分析报告发送至智能手机终端,终端再将可视化的结果呈现给用户。
睡眠质量监测包括实时脑电信号波形图绘制和睡眠质量分析评估报告。其中实时脑电信号监测如图8左侧所示,所记录的结果可以供专业睡眠医师进行进一步分析,进而排查可能存在的睡眠疾病;同时,也作为个人睡眠的原始档案,记录在云端服务器个人账户中。
睡眠质量的评估,取决于使用者当晚不同睡眠阶段占比的情况,因此本系统能在获取到使用者一整晚睡眠数据的同时,进行睡眠质量评估,如图8右侧所示。本文使用了Gu W等人的评估方法“SQ” [
图8. 实时波形绘制和睡眠质量评估报告
其中REM为快速眼动期的持续时间(以分钟为单位),Light和Deep分别是浅睡眠和深睡眠持续的分钟数。SQ指数的范围从50到100,分数越高,说明该用户的睡眠质量越好。
有研究表明,在时间恰当的时候起床,对于人保持精神充沛有积极的作用;相反,人在深睡眠时期被叫醒,会产生头晕头疼等症状,对人们的工作和生活有负面影响 [
本文提出了一种基于单通道脑电信号自动睡眠分期算法的智能终端。分期方法使用包含大量睡眠个体的大规模数据集对LSTM神经网络进行建模,使模型的泛化能力优于其他基于深度神经网络睡眠分期模型。智能终端APP利用前端采集装置传送的脑电数据,依托云端服务器的高性能资源实现LSTM自动睡眠分期,最终实现用户睡眠质量监测和智能唤醒功能。嵌入式设计提高了系统的便携性,人工智能算法则提高了分期的准确率,能有效地扩展方法的应用领域。
图9. 设定智能唤醒区间和闹钟唤醒实例
全国大学生创新创业训练计划(201710574053)、发明专利:一种睡眠监测系统(201910343058.9)。
陈振东,杨飞帆. 单通道脑电信号LSTM睡眠分期智能终端Intelligent Terminal Based on Single Channel EEG Signal LSTM Sleep Staging[J]. 计算机科学与应用, 2019, 09(06): 1156-1168. https://doi.org/10.12677/CSA.2019.96131