杨 坤 徐漫禁 陈月明
(安徽医科大学生物医学工程学院 安徽 合肥 230032)
人体热舒适是一种“心理状态,表现为对热环境的满意度,是一种主观评估”[1]。其既可以通过主观意愿表达,也可以通过生命体征参数反映出来。人体在不同的热舒适状态下,心电、脑电、脉搏、血氧、人体表皮的电阻抗和温度等各项生理指标会发生相应的变化[2-4]。神经系统负责调节人体的体温,其中下丘脑扮演着“控制者”的角色。下丘脑接收到热感受器的输入后便开始温度调节的进程。在寒冷环境下,人会通过颤动、加强肌肉活动来增加产热;在炎热条件下,人会通过血管扩张、排汗等方式降低皮肤温度。在不同热舒适状态下,下丘脑的体温调节机制是不同的。因此,通过监测生理信号变化的方法来实时预测人的热舒适状态是可行的[5-6]。
目前国内针对人体热舒适性的研究还比较少,把人体热舒适状态与环境温度联系到一起是一种普遍的做法,即通过监测室内温度来制定温度调控策略[7-8]。根据此方法制定的温度调控策略往往存在一定的弊端,并不能根据人体真正的热舒适需求来制定温度调控策略。事实上,人在不同季节,每天的不同时刻以及不同情境对于热舒适性的需求都是不同的,并且性别、年龄甚至穿衣方式都会对这种主观感觉产生影响[9-10]。因此这种恒温的调控策略并不能满足人们个性化热舒适需求,并且这种没有根据人体实时的热舒适需求变化制定的普适的温度调控策略极易对人体造成损伤。
国外已经开始研究生命体征参数和人体的热舒适性之间的联系,日本青山学院大学研究分析不同温度条件下心电信号的心率变异性,提取信号的时域、频域、非线性等多个特征,并使用支持向量机等传统的机器学习方法分类,能够识别人体的热舒适状态,进而采取不同的温度调节策略,提高了受试者的热舒适体验[11-13]。新加坡南洋理工大学有研究证明可以通过脑电信号预测人体的实时热舒适状态[14],通过采集不同室内温度下受试者的脑电信号形成数据集,并且比较了不同机器学习方法在脑电信号分类的性能,实验证明了人体不同热舒适状态下的脑电信号存在差异,使用热舒适性设定的时变点来驱动空调设备能显著降低建筑能源消耗。王梦飞等[15]通过采集高温高湿和舒适两种环境下光电容积脉搏波(Photo PlethysmoGraphy,PPG)信号,使用小波降噪结合残差神经网络这种端到端的机器学习方法,成功识别到两种环境下人体PPG信号的差异,获得了较高的分类准确率,进而对人体是否处于高温高湿环境预警,证明了人体PPG信号会随着周边环境温度变化而产生差异,并且这种差异是可以被神经网络识别的。但该研究仅限于极端的环境状况,并不适用于人们日常的生活环境。
尽管心电、脑电都被应用到人体热舒适性检测,并且实验结果都做到了较高的分类准确率,但是信号的采集方式都较为复杂。心电和脑电的采集过程都会严重影响到使用者的日常生活和工作,因此很难在实际中投入使用。除此之外,动态心电监测过程受到干扰较多,滤波计算复杂。脑电信号极易受外界环境干扰,并不适用于日常生活中复杂的使用环境。因此使用PPG信号来分析人体的热舒适性更加具有现实意义,PPG信号采集原理简单、装置紧凑并且适用于日常携带。相比较于心电和脑电的多通道数据,PPG信号是一维数据,信号处理的计算量会大大减少。
工作主要如下:首先设计了一套基于可编程嵌入式片上系统(PSOC)可穿戴式PPG信号采集系统;其次通过低通滤波消除PPG信号的高频干扰,使用经验模态分解对PPG信号重构,完成脉搏波信号的采集和预处理。然后使用门控循环单元(Gated Recurrent Unit,Inception&GRU)并行模型[16]对不同温度条件下的PPG信号建模。最后对基于神经网络的人体热舒适模型进行评估。
为了便于用户日常佩戴使用,必须保证采集装置体积小、低功耗。使用SFH7050反射式脉搏血氧传感器和PSOC5LP单片机恰好能满足本装置设计要求,SFH7050装置体积仅仅为4.7 mm×2.5 mm×0.9 mm,功耗3×3.4 mW。而PSOC5LP片内成了丰富的模拟外设和数字外设,无须添加外设,因此装置体积能够极大地得到减小。
1) SFH7050是一款反射式脉搏血氧传感器,其内部原理图如图1(a)所示,SFH7050拥有红光、近红外光、绿光三个发光二极管和一个光电二极管,具有灵敏度高、体积小、低功耗、响应速度快的特点,适用于可穿戴设备长时间监测。
(a) SFH7050原理图
2) 由于血液对红光的吸收系数范围变化比较大,因此本系统使用红光作为光源。光束发射经过手指中血液和肌肉会吸收而衰减,反射的光束被光电二极管接收产生电流。在一个脉搏周期内,由于动脉的脉动造成血液容量的变化,会导致光吸收量发生变化。光电二极管中电流变化的交流成分能够反映脉搏信号。
3) PSOC5LP是一款可编程嵌入式片上系统,拥有丰富的可配置模拟和数字外设。内部集成了模数转换器、数字滤波器和运算放大器等常用外设。通过参数配置和简单的外部电路与引脚相连便可以实现PPG信号采集。硬件模块设计如图1(b)所示。电流电压转换和信号放大都是由内部可配置的运算放大器实现。通过内部集成的模数转换器和数字滤波器可以完成模数转换和低通滤波。
实验时间2020年8月17日下午14时至17时,天气预报温度为32 ℃,相对湿度52%。实验在配有空调的两个密闭房间中进行,编号为A、B房间。两个房间的初始温度均设置为24 ℃,房间相对湿度均保证在52±5%。空调出风口距离受试者同等距离,确保相近的空气流速。受试对象由8名对象(4男4女)组成,年龄段为23至26岁,衣着均为短袖。确保实验人员在实验前两小时无饮酒、饮食、药物治疗等情况,并且生理状态良好。实验流程主要如下,实验开始前,首先将室内环境设置到指定温度。受试者首先进入A房间,进入房间后静坐在椅子上3 min后开始采集数据,实验开始时缓慢提高室内的温度直至32 ℃,记录受试者的热舒适状态由舒适状态转换为热状态变化的时间点Ts-h。完成数据采集后到室外休息5 min,确保受试者在进入每个房间的初始的热舒适状态是相同的。然后进入B房间,同样静坐在椅子上3 min后开始采集数据,实验开始时缓慢降低室内的温度直至18 ℃,记录受试者的热舒适状态由舒适状态转换为冷状态变化的时间点Ts-c。实验时长为60 min。实验过程如图2所示。
(a) 数据采集
通过PSOC5LP模数转换后得到的PPG信号存在很多噪声,主要是由于运动、呼吸、背景光和工频造成的干扰。因为运动呼吸和脉搏波的频率均属于低频成分,因此使用传统的傅里叶变换无法得到有效去除,高阶滤波器才能够实现较窄的过渡带,计算量比较大。较宽的过渡带会导致部分噪声不能得到很好抑制。为了分离出PPG信号中的不同成分,使用经验模态分解(Empirical Mode Decomposition,EMD)对脉搏波进行平稳化处理,使得真实存在的不同尺度的波动或者趋势从高频到低频逐级分解开来,产生一系列具有不同特征尺度的分量。通过对每个分量的频谱分析,选择合适的分量可以重建降噪后的脉搏波信号。
1) 低通滤波: 脉搏波信号的频率集中在0.4 Hz到10 Hz之间,使用截止频率为10 Hz的2阶零相位巴特沃斯低通滤波器对PPG信号进行滤波,处理后的信号如图3(a)所示。
(a) 低通滤波后的PPG信号
2) 去除基线漂移、运动呼吸干扰: 使用EMD对PPG信号进行分解,设置步长为0.01,连续两次迭代的处理得到结果之间的标准差取0.2到0.3之间为宜,此时可以保证IMF分量的线性和稳定性,使得IMF分量具有物理意义。EMD分解的PPG信号得到的分量如图3(b)所示,通过对IMF分量的Hilbert谱分析,IMF1-3包含脉搏信号。其他分量为呼吸造成的干扰和运动伪迹,使用含有脉搏波的IMF分量重构脉搏波信号,得到如图3(c)所示的脉搏波信号。IMF分量重构脉搏波信号方法如式(1)所示。
(1)
式中:s、m分别代表起始和终止分量序号;x表示EMD分量重建的脉搏信号。
3) 数据归一化:对每一受试者的数据进行单独归一化,能够保留更多的受试者信息。归一化后PPG信号使得数据均服从高斯分布,能够加快神经网络模型收敛,提高模型准确率。使用Z-score方法将脉搏波号归一化,归一化方法如式(2)所示,归一化后的脉搏波信号方差为1,均值为0。归一化后的信号如图3(d)所示。
(2)
式中:μ表示均值;σ表示标准差;x*代表归一化后的脉搏信号。
由于传感器的迟滞和设备初始化的原因,初始采集脉搏波数据和真实数据存在较大差距,因此将每位受试者前3秒脉搏波数据舍弃。Ts-h和Ts-c是热舒适状态转换点,受试者可能对热舒适状态模糊不清,因此,故将其前后1 min数据舍弃。每个样本至少包含两个以上的完整脉搏波形,而脉搏通常为60~100次/min。因此将500个采样点作为一个样本,时间为2.5 s。通过reshape函数将每个样本从一维拓展为(25,20)的二维矩阵。通过滑动窗口的方法可以增加样本数量,设置滑动步长为1 s和2 s。除此之外滑动窗口能够实现数据增强,增加样本中的噪声,同时可以提高模型的鲁棒性和泛化性能。去除滤波器抽头和不合的数据后,得到有效样本的数量为14 904组,将整个数据集打乱后划分为训练集和验证集,其中:训练集数量为11 178组,验证集3 726组。样本标签使用one-hot编码、冷环境、舒适环境、热环境分别编码为[1,0,0]、[0,1,0]、[0,0,1]。
为了避免特征选择的复杂过程,使用一种端到端的监督式机器学习方法,神经网络模型的设计需要结合数据的内在特征,脉搏波的时序特征和局部特征正是神经网络学习的重点。Inception &GRU并行模型的主要作用是主动学习不同热舒适状态下脉搏波信号的特征,进而预测出受试者的热舒适状态。神经网络部分模型主要包含三个部分,Inception网络模型主要用于提取脉搏波信号的局部特征,GRU网络层提取并保留脉搏波信号的时序特征,最后经过全连接层和Softmax得到三个类别的预测概率。通过神经网络模型可以建立脉搏波信号和人体热舒适性之间的映射关系,网络模型如图4所示。
图4 神经网络模型
Inception是一种并行的卷积网络,基本卷积原理如图5所示,使用不同的卷积核提取信号的局部特征,为了提取脉搏信号不同区域的特征,Inception网络设置了多个大小不同的卷积核,一个Inception网络中包括多个并行大小不同卷积核和池化层。如此可以得到多个特征映射,通过拼接方式作为输出特征的映射。为了提高计算的效率和减少参数的数量,Inception模块在卷积之前和池化之后均加入卷积核为1的卷积层来减少特征映射的深度,除此之外还可以减少输入特征映射之间存在的冗余信息。
图5 卷积示意图
脉搏信号的一种有规律的时序信号,模型中引入的GRU网络可以有效地提取和保留脉搏信号的时序特征,GRU神经元内部参数更新原理如图6所示,相比较长短时记忆网络而言,GRU网络更加简单,GRU网络不引入额外的记忆单元,而是增加了一个更新门来控制当前状态需要从历史状态中保留多少信息以及从候选状态中接受多少信息。
图6 GRU神经元
rt=σ(Wrxt+Urht-1+br)
(3)
zt=σ(Wzxt+Uzht-1+bz)
(4)
(5)
(6)
式中:W、U表示可训练的参数向量;b表示偏置向量。
ReLU(x) = max(0,x)
(7)
优化函数:Adam优化函数是一种基于随机估计的一阶矩和二阶矩的随机梯度下降方法,该方法计算效率高,几乎没有存储需求,非常适用于大规模数据训练。
损失函数:使用交叉熵作为损失函数。在给定P的条件下,q和p越接近,H越小,p和q距离越远,H越大。损失函数的计算公式如下:
H(p,q)=-∑p(x)logq(x)
(8)
式中:p为预测值,q为真实值。
神经网络模型的搭建基于TensorFlow 2.4,使用Kaggle提供的免费机器学习服务器训练模型,为了避免过拟合,Inception网络和GRU网络输出之前先经过BatchNormalization层,并且在拼接网络层后加入了一个Dropout层,将丢弃概率设置为0.4。神经网络各模块具体的参数如表1所示。
表1 神经网络模型参数
预先设置神经网络迭代次数为1 000,批大小设置为128。由于神经网络的拟合能力很强,很容易出现过拟合的现象,因此使用提前停止的方法进行训练,即使用一个和训练集合独立的样本集合作为验证集,用验证集的期望错误来替代期望错误,当验证集的错误率不再下降时,就停止迭代,自动保存该模型相关参数为最优模型。
神经网络在训练过程中,迭代次数和训练集、验证集的准确率和交叉熵损失值的变化如图7(a)和图7(b)所示。其中训练集准确率达到99.92%,验证集准确率达到97.26%。并行的Inception&GRU模型在训练集和验证集均表现出较好的分类准确性。神经网络训练过程中,经过约32次迭代模型开始收敛。在训练过程,训练集损失值为0.021 1,验证集损失值为0.156 7。
(a) 训练过程中准确率变化
把原始的数据平均分为8个不重复的子集,每次使用其中的7个子集作为训练集,剩余的一个子集为验证集。设置迭代次数为100,批大小设置为64,经过 8次训练后,可以得到8个模型,分别计算每个模型在验证集、训练集和全部数据集上面的准确率均值和方差,得到如图7(c)所示的箱线图。K折交叉验证在验集上平均准确率96.71%,标准差为0.895 3。模型在训练集、验证集、全部数据集上均表现出较好的准确率和稳定性。
混淆矩阵分析能够分析每个类别的误分类样本数、数量和比重。使用最佳模型对全部样本进行预测,统计得到3个类别的真正例TP、假负例FN、假正例FP和真负例TN的样本数。根据统计结果计算出精准率P、召回率R和F值(β=1)。由表2可知,精准率、召回率和F值都接近于1,因为可以认为神经网络训练的模型可以准确地识别出人体的热舒适状态。P、R、F值的计算方式如式(9)-式(10)所示。计算结果如表2所示。
表2 模型评估参数
(9)
(10)
(11)
由于从数据集中划分样本时并未对样本的起点或者终点有所要求,因此可以使用不同的滑动窗口大小来形成全新的样本。具体方法如下:从数据集中任意选择若干个起点,截取数据长度为500作为一个样本。如此选择10 000个样本组成测试集。分别计算不同模型在测试集上的准确率和预测时间。
比较方法包括传统的机器学习算法和深度学习算法,支持向量机(Support Vector Machine,SVM)和随机森林(Random Forest,RF)是经典的机器学习算法,提取脉搏波信号的心率变异性的时域、频域、非线性特征作为分类器的输入,选择的特征如表3所示。而在深度学习算法中,选择了残差神经网络和双向长短时记忆网络作为对比。将重建后归一化的脉搏波信号输入残差神经网络(Resnet)和长短时记忆网络(Long Short-Term Memory,LSTM)进行分类,比较结果如表4所示。
表3 脉搏波信号的特征
表4 不同模型对比
经过手动提取并选择特征后,随机森林取得了比较好的分类效果。即使不提取特征,依靠神经网络主动学习数据特征,Inception&GRU并行模型也取得了最好的分类效果,比单一的LSTM准确率高4.03百分点,比Resnet准确率高5.01百分点。
为了实时预测热舒适状态,必须评估该模型的复杂程度,由于可穿戴设备低功耗、性能弱的特性,因此使用模型预测测试集的所需的时间来评估模型的复杂程度。
在提取特征后,RF样本预测所需的时间最短,但R点提取和特征提取也需要一定的计算时间。在神经网络模型中,Inception&GRU网络预测时间和LSTM网络预测时间相近。GRU网络参数相对于LSTM更少,而Inception模块相对于Resnet的卷积核数量更少,网络更浅,因此基于Inception&GRU模型所需的时间更少。基于Inception&GRU的热舒适模型既可以避免特征提取的繁琐工作,在准确率和模型复杂程度上也具有一定性能优势。
1) 通过经验模态分解的方法重构有效脉搏波分量能够有效地去除PPG信号中的基线漂移和呼吸干扰,使用预处理后的脉搏波信号作为神经网络输入不仅提高了模型训练的准确率,还加快了模型收敛速度。
2) Inception&GRU并行模型能够有效地提取脉搏波信号中局部特征和时域特征,避免了传统机器学习繁杂的特征提取和特征选择工作。基于神经网络的热舒适模型在训练集达到了99.92%的准确率,在验证集达到了97.26%的准确率。
3) 本文的研究成果能够为集中供热系统和可穿戴降温(升温)设备提供策略支持,实时为人体提供最佳的热舒适环境。目前对人体热舒适的研究尚处于初始阶段,对热舒适状态预测的精度尚不足,模型相对比较复杂,未来我们会进一步提升人体热舒适状态模型的结果精度并降低模型的复杂程度。