无线健康监护系统设计及状态识别算法
2020-08-10杨雷王志武姜萍萍颜国正刘大生韩玎赵凯
杨雷,王志武,姜萍萍,颜国正,刘大生,韩玎,赵凯
上海交通大学 电子信息与电气工程学院,上海市,200240
0 引言
毒品滥用会严重阻碍社会的良性发展,长期吸食毒品会损害吸食者的神经系统、消化系统、呼吸系统以及心血管系统,进而导致死亡。为了解决吸毒成瘾引发的健康问题,帮助成瘾者早日戒除毒瘾,中国已在全国范围内推行并实施强制隔离戒毒。针对强制戒毒所内的戒毒人员,除了定期诊疗之外,还需要对其生理参数进行实时监测,根据生理参数的变化预判其生理状态。当生理参数出现异常时发出警报,提醒监护人员及时检查戒毒人员的身体状态。
相对于传统的监护设备,穿戴式无线健康监护系统(wearable wireless health monitoring system,WWHMS)以多生理参数集成测量、灵活便携、非侵入、智能高效、低成本等诸多优势被应用于老年人、慢性病患者、术后康复患者等群体[1-3]。MALHI等[4]开发了一套针对老年人的WWHMS,在测量皮肤温度和心率的同时,系统内集成的加速度传感器检测跌倒行为,当摔倒事件发生时向接收单元发送警报以寻求帮助。KLINGEBERG等[5]设计了一种移动可穿戴设备,该设备对佩戴者的心电图、血压、体温和三轴加速度等生理参数进行长期的监测和记录,并开发了多传感器数据融合算法用于评估穿戴者的身体状态。LI等[6]提出了一种普适性心脏病健康监测系统,该系统基于提出的分析算法和与心电有关的生理参数对病人的健康状态进行评估。
近几年来,深度学习取得了巨大的发展,CNN是该领域最热门的研究方向之一,已被应用于图像识别、语音识别、情绪识别以及行为识别等领域[7]。此外,CNN在多模态的生理参数处理中有着广泛应用[8],利用生理参数进行模式识别任务时,传统的模式识别方法需要特定领域的专业知识进行特征设计和提取,因此不能泛化到其他领域,而且这些方法只能学到浅层特征。CNN可以自动地提取高级特征[9],已被广泛应用到基于传感器数据的行为识别任务中。一些研究结果表明,与传统方法相比,CNN能够在基于传感器数据的模式识别任务中取得最高的识别精度[8,10-11]。
本研究提出了一种基于ZigBee的穿戴式无线健康监护系统,通过对戒毒人员的生理参数进行长期实时的监测,在戒毒人员生理参数出现异常时发出警报,方便监护人员进行及时救治。此外,提出了一种CNN模型,通过采集到的生理参数对身体状态进行评估,起到实时监测戒毒人员健康状态的作用。
1 系统架构
本研究提出的系统主要由手环测量终端、无线传感器网络、服务器与监护中心组成。其中,手环终端采集戒毒人员的生理参数,然后通过无线传感器网络将数据传输至服务器,服务器对生理参数数据进行处理后通过监护中心进行实时显示。系统总体设计框图如图1所示。
1.1 手环测量终端
如图1所示,手环测量终端内部集成了多个生物传感器,可对戒毒人员的血压、血氧饱和度、体温以及心率等生理参数实时采集。此外,手环内部集成了高性能的微处理器CC2530,该芯片支持TI公司开源的ZigBee协议栈Z-Stack。芯片内置的A/D转换器可将各传感器采集的生理参数转换成数字信号,然后打包成数据帧,经过射频模块实现与无线传感器网络的无线通讯,手环终端的测量原理图和实物图分别如图2(a)、图2(b)所示。
图1 穿戴式无线健康监护系统总体设计框图Fig.1 Overall design block diagram of wearable wireless health monitoring system
图2 手环测量终端Fig.2 Wristband measuring terminal
1.2 无线传感器网络
无线传感器网络是基于无线通信协议ZigBee进行构建的,其由多个中继路由器和唯一的协调器组成。协调器负责网络的建立以及维护,路由器主要完成数据帧在无线传感器网络内部的路由和中转。根据路径搜索算法,手环终端节点连接至最近的路由器或协调器,终端节点采集的数据被路由器中转至下一个路由器或协调器。最后,无线传感器网络中所有终端节点采集的数据都被传输至协调器,通过以太网上传至服务器。路由器和协调器的主控芯片均为TI公司生产的LM3S9B96,该芯片支持Z-Stack协议栈,路由器与协调器硬件上的唯一区别在于是否具备支持以太网通信的网口。协调器的组成模块、电路板以及无线传感器网络的树形网络拓扑结构分别如图3(a)、图3(b)、图3(c)所示。
图3 无线传感器网络Fig.3 Wireless sensor network
1.3 服务器与监护中心
服务器从协调器接收数据帧,解码后得到戒毒人员的各项生理参数,生理参数保存到服务器数据库中并通过监护中心实时显示。监护中心的软件功能包括戒毒人员的信息录入、设备绑定以及生理参数的实时监控和可视化,当某项生理参数超过设定的阈值,监护界面显示预警信息,方便监护人员及时了解戒毒人员的生理状态和健康状况。监护中心还可以监测手环终端的运行状态,当电量过低或测量过程异常时显示预警信息,监护人员根据预警信息做进一步的处理。此外,监护中心可以可视化ZigBee无线网络的拓扑结构(图3(c)),通过网络拓扑结构的动态变化可以监测手环终端、路由器以及协调器的连接状态。监护中心实物图、生理参数的监控界面和动态变化曲线分别如图4(a)、图4(b)、图4(c)所示。
图4 服务器与监护中心Fig.4 Server and monitoring center
2 数据集与预处理方法
2.1 数据集
本研究使用公开的生理参数数据集对提出的CNN模型进行验证,接下来介绍该数据集以及数据预处理方法。实验中使用的生理参数数据集由BIRJANDTALAB等[12]收集,数据集包括了实验对象的体温、心率、皮电反应、血氧饱和度等生理参数和三轴加速度等运动参数。20名实验对象参与了此数据集的生理参数采集实验,实验设置了4个不同的实验环境:放松(relaxation)、身体压力(physical stress)、认知压力(cognitive stress)、情绪压力(emotional stress),并在每个环境下对实验对象同一时刻的生理参数进行采集。其中,温度、皮电反应的采集频率为8 Hz,心率和血氧饱和度的采集频率为1 Hz,整个采集过程持续了41 min,图5可视化了第一个实验对象的各项生理参数。横轴代表了实验对象所处的身体状态,纵轴分别对应了三轴加速度、温度、皮电反应、血氧饱和度以及心率的动态变化曲线。从图5中可以看出,实验对象处于不同的身体状态时,其对应的生理参数的波动趋势具有特异性,因此可以根据其组合特征来评估当前的身体状态。
图5 第一个实验对象的生理参数Fig.5 Physiological parameters of the first subject
2.2 数据预处理
由于各项生理参数的采集频率不同,因此产生了不同数量的数据记录。以第一个实验对象的数据记录为例,温度、皮电反应和三轴加速度有18 344条记录,而心率和血氧饱和度仅有2 300条记录。为了使得各项生理参数具有相同数量的数据记录,将同一时刻的心率和血氧饱和度记录复制8次后扩增至温度和皮电反应的数据量,保证了各项生理参数均为在同一时刻的数据记录。
现以血氧饱和度扩增至温度的数据量为例说明数据的扩增过程,假设将按时间采集到的血氧饱和度数据记录表示为:
SpO2,ti表示ti时刻采集到的血氧饱和度,由于采样频率为1 Hz,则在ti时刻,血氧饱和度只有一个数据记录。
由于温度的采样频率为8 Hz,则温度的数据记录表示为:
即ti时刻的温度数据记录有8个,为了将血氧饱和度扩充至温度的数据量,将ti时刻的血氧饱和度数据复制8次得到如下的数据记录:
如图5所示,数据集中“放松”类别由四个阶段的采样数据组成,其数据量远远超过其余3个类别。“放松”类别的数据量过多会导致类别之间数据量不平衡,使得模型倾向于将每条数据记录归为“放松”类别,因此实验时仅适用“放松”类别第一阶段的数据记录,之后按通道对数据集进行Z-score标准化,其数学形式如下所示:
其中,xij表示数据集j通道的第i个数据记录,μj和σj分别表示j通道的均值和方差。
处理时间序列数据时,使用滑动窗口法将原始数据分割成新的数据结构是一种很有效的预处理方式,实验中使用了窗口大小为40,重叠率为50%的滑窗,每个窗口包含了5 s的原始数据流。窗口的每一次滑动将覆盖20个新的数据记录,新数据结构的类别(label)将由滑窗中出现次数最多的类别决定,类别最后被转换成one-hot编码。
3 实验设计和结果分析
3.1 卷积神经网络模型
本研究提出的CNN模型,利用采集到的戒毒人员的多项生理参数,可以对戒毒人员的身体状态进行评估并分类。接下来将通过实验,对提出的模型进行可行性验证和性能测试。由于实验中使用的数据集的数据量很小,使用了4层的网络结构(仅计算卷积层和全连接层),其网络结构如图6所示。网络包含了两层一维深度可分离卷积(1D depthwise convolution),深度可分离卷积执行的运算是:将输入按通道进行卷积,每个通道与多个1D时间滤波器进行卷积,将所有通道的卷积输出堆叠到一起作为下一层的输入。单通道的1D depthwise convolution数学形式如下所示:
其中,relu是max(0,x)非线性激活函数,表示卷积神经网络的l层第i个特征映射的第j个值,表示网络(l-1)层第i个特征映射的偏置,表示网络的(l-1)层第i个卷积核的第p个值,N表示滑窗的大小,实验中设置为40。
最大池化层(max pooling)被添加在深度可分离卷积层之后,其作用是减少网络的参数和计算量,通过池化层将得到更加抽象的特征表示,在一定程度上可以避免网络的过拟合。此外,批量归一化层(batch normalization)和Dropout层被添加至卷积层和全连接层之后,在防止网络过拟合的同时加速网络的训练和收敛速度。网络的最后两层是全连接层,输出层使用了Softmax激活函数。
3.2 实验设置
将预处理后的生理参数输入到CNN模型,进行了以下两个实验:第一个实验将CNN模型应用到单个实验对象的数据记录上,目的是观察模型在多生理参数数据上的表现;第二个实验将20个实验对象的生理参数数据输入模型,从而测试模型遇到更多数据时的识别准确率以及在未见到的生理参数数据上的泛化性能。对于单个实验对象,使用80%的数据作为训练集,20%的数据作为测试集。模型开始训练之前,初始学习率设为0.001,使用带Adam更新规则的小批量梯度下降法,通过最小化交叉熵损失函数从而优化网络参数。针对第二个实验,使用了学习率衰减(learning rate decay)和早期停止(early stopping)两个额外的训练技巧,一旦模型的学习停滞长达50个epoch,学习率衰减至原来的0.9,当模型在测试集上的精度指标在100个epoch之内未曾改进时,模型将停止训练。
图6 提出的CNN模型Fig.6 The proposed CNN model
3.3 实验结果
第一个实验的实验结果如图7所示,对于大多数实验对象,提出的模型在其测试集上达到99%甚至100%的识别准确率,仅有4名实验对象的精度低于99%。表1给出了提出的CNN模型与另外两种机器学习方法在整个数据集上的性能比较,值得注意的是,两种机器学习方法在使用时依赖于手工设计的特征[13],CNN模型能够从数据中自动提取特征,从而去掉特征筛选这一繁琐的过程。尽管如此,提出的CNN模型在精度指标上仍然高于这两种方法在此数据集上得到的最优结果。
图7 提出的模型在单个实验对象数据集上的识别准确率Fig.7 Recognition accuracy of the proposed model on single experimental object dataset
表1 CNN模型与两种机器学习方法的性能比较(%)Tab.1 Performance comparison between the proposed CNN model and two machine learning methods
4 结论
本研究首先提出了一种基于ZigBee的面向强制戒毒所戒毒人员的穿戴式无线健康监护系统,可以连续实时地监测戒毒人员的生理参数,从而预知戒毒人员的生理状况。当戒毒人员的生理参数出现异常时发出预警信息,方便监护人员及时了解其健康状态,起到及时行医的作用。此外,提出了一种卷积神经网络模型,该模型根据实验对象的多项生理参数识别实验对象的身体状态,在公开的生理参数数据集上取得了最高的识别准确率,超越了其他两种需要进行手工设计特征的机器学习方法,验证了该模型的优越性。接下来的研究是将该模型移植到提出的穿戴式无线健康监护系统上,并利用戒毒人员的生理参数进行模型的训练,进而对戒毒人员的健康状态进行评估。