一种快速响应的红外实时体温监测系统
2023-02-08顾俊俊陈向东
顾俊俊,陈向东,丁 星,马 静
(1.西南交通大学 信息科学与技术学院,四川 成都 611756;2.西南交通大学 设计艺术学院,四川 成都 611756)
0 引 言
在近年来严峻的疫情形势下,体温作为评判患者病情状况的因素之一,可通过将可穿戴便携式测温终端设备置于患者的合适部位来形成稳定的测温腔室进行实时监测。这样不仅能够降低医疗监护的成本,还能减少患者与医护人员的直接接触,大大降低交叉传染的可能[1-2]。文献[3]应用四片DS18B20组成的测温阵列采集用户腋下的体温并实现实时的体温检测,但作为接触式传感器,它对温度反应速度较为缓慢,如果要采集到较为稳定的体温数据需要10 min左右。因此,本系统将MLX90614_DCC作为核心模块设计了一种快速响应的体温监测系统。
1 系统总体框架设计
本文设计出快速响应的红外体温实时监测系统,主要应用于术后病人或疗养院老人这类行动不方便的人群,应用红外传感器对温度做出快速响应,及时获取病人体温数据信息。系统的整体架构如图1所示,总共分为四个模块:温度采集终端、网关、数据服务器和PC监控端。
图1 系统整体架构
在温度采集端应用了两片MLX90614_DCC医疗级红外温度传感器作为核心模块,两片传感器之间相距3.2 cm,形成测温阵列,达到两点测温的效果,使体温数据更加精准,以其红外温度和内部包含的环境温度作为参考可以更快达到稳定。此外,作为穿戴设备,为了穿戴舒适且防止佩戴时汗液浸湿终端,系统利用3Dmax技术设计出封装外壳方便佩戴,如图2所示。
图2 红外测温终端设备
设备整体的大小为长6.12 cm,宽3.32 cm,高2.63 cm。整体封装分为上下两个部分,上层为传感器层,下层为锂电池层。为了不遮挡红外传感器接收信号,上层封装进行了开孔处理,使红外温度读数更加精准。
文献[4]进行了腰腹部和腋下测温效果的对比,实验表明腋下和腰腹的温度差异无统计学意义。考虑到穿戴舒适,将设备佩戴于腰腹部形成测温腔室进行测温,如图3所示。数据采集后经ZigBee+GPRS网关模块发送至数据服务器处理,应用服务器内嵌的KNN算法进行干扰数据滤除,运用ARIMA预测模型算法预测后续温度变化趋势并保存至数据库,管理员可通过给定的网址查看用户的实时体温及变化趋势。
图3 测温终端佩戴方式
2 整体系统的硬件模块
2.1 红外温度监测终端设计
本系统设计的体温监测终端需要满足方便、快速、稳定、长时间的测量要求,因此采用了2片高精度、快响应的MLX90614红外温度传感器[5-6]组成测温阵列作为系统的核心测温模块,两片传感器互为参考,经后续算法处理,使温度读数更加精准。为满足系统低功耗、高精度的要求,所以选择该传感器下的DCC系列,其工作环境温度范围为-40~125 ℃,被测物体温度范围为-70~380 ℃,精度能达到±0.1 ℃,拥有17位A/D转换器和数字信号处理单元。
MLX90614_DCC红外温度传感器反应速度极快,在正常测量温度即测量端口距离被测物体2~5 cm时,测量反应时间可达到2 s。在本系统中,测量时要求贴紧皮肤表面,并需要一定的稳定时间。对此,系统进行可穿戴测温设备反应时间测试,分别对电子体温计、DS18B20和MLX90614测温终端设备进行测试,待温度稳定后记下所需要的时间。表1是10次的反应速度测试对比结果。从表中可以看出,MLX90614红外式温度传感器相对于传统的电子温度计和接触式温度计反应速度快2~3倍,比较符合本系统快速响应的需求。
表1 反应速度测试对比
可穿戴式红外测温终端电路使用AD 18软件进行电路原理图和PCB的绘制。如图4所示为测温终端的整体构成和框架,共包含三个模块:两片MLX90614红外温度传感器、3.0 V稳压电路模块和E18-MS1-IPX通信模块。其中温度传感器模块的温度数组由传感器的红外读数和环境读数构成,一组数组有4个温度数据。
图4 测温终端整体框架
2.2 ZigBee+GPRS网关模块
如图5所示是网关连接的整体框架。本系统主要应用于医院、疗养院这类患者用户小范围活动的场合,为了降低功耗和成本,网关模块选用了由ZigBee协调器和GPRS无线通信模块[7-8]组成的异构网络,两个网络模块通过电源线和RX、TX信号线进行连接,给GPRS模块插入有效的移动SIM卡。接入电源模块给整个网关模块进行供电,ZigBee协调器进行初始化设置并且和测温终端模块组建网络,同时向GPRS发送AT指令初始化GPRS网络[9]。
图5 网关连接整体框架
3 后台服务器设计
本系统的后台服务器[10]主要分成两个部分:数据服务器和Web客户端,它们为数据的处理和体温查询提供了平台。
3.1 数据服务器
数据服务器应用了TCP Socket协议,接收SIM900A传输的数据并实时处理。一方面,由于接收到的数据会受到测温终端本身或传输的影响产生一些干扰项,通常对干扰数据利用卡尔曼滤波、最小二乘法等方式滤除,针对体温数据随机且平稳的特点,利用服务器内嵌的KNN算法滤除干扰数据。另一方面,考虑到人体温度在时间上具有连续特点,应用时间序列预测模型ARIMA算法进行训练学习,从而对人体温度进行变化趋势预测。
3.2 Web客户端设计
本系统的后台管理系统为Web客户端,它主要以Tomcat服务器作为容器,运行于设计开发的平台。将后台应用管理系统部署到Tomcat上,通过花生壳进行内网穿透至外网,管理员通过任意外网浏览器登录固定网址查看监测平台。
4 算法模型设计与实现
4.1 算法实现的整体框架
本系统首先对采集到的数据进行判别和预处理,如图6所示,对采集的受测量误差或传输干扰的数据进行算法修正,并为后续的体温预测算法提供数据;应用时间序列预测模型ARIMA算法对人体温度变化趋势进行预测,可为患者病情判断提供参考[11]。
图6 算法实现整体框架
4.2 KNN分类算法滤除干扰数据
本系统中温度采集终端采集到的数据是一组由两个红外温度和两个环境温度构成的数组,但如果存在某个时刻体温发生异常的波动,则需要对干扰数据进行滤除,所以系统在数据服务器端内嵌KNN滤除算法,对接收到的数据进行干扰判别并滤除;如果发现数组中存在严重偏差,就滤除当前的数组中偏差大的数据,并用其余温度进行算法补全,之后再把得到的数据保存到数据库中。图7是KNN算法上位机实时处理界面。
图7 KNN上位机实时处理
4.3 时间序列预测模型
4.3.1 ARIMA模型介绍
文献[12]应用时间序列ARIMA模型对奶牛温度数据进行训练分析,由此可以预测奶牛生理健康状况。ARIMA模型[13-14]全称为差分整合滑动平均自回归模型,由三个部分组成:AR(p)自回归模型,I(d)差分,MA(q)滑动平均模型。整体的模型公式为:
在此模型中,需要确定的三个参数分别是p、q、d。p和q指的是ARIMA模型自回归和滑动的阶数,d是时间序列的差分阶数。
4.3.2 ARIMA模型建立步骤
(1)时间序列的平稳性判断
本系统的温度序列满足时间序列平稳性的特点,可用ADF的方法检验序列平稳性,在MATLAB中调用adftest(data)可以查看序列是否平稳。若结果返回1,表明序列平稳,可进行后面的步骤;若返回的结果是0,表明序列不平稳,需要进行差分处理,差分的阶数需要根据返回的结果确定,保证方差较小。
平稳性的最终目标是更准确地预测体温的趋势变化。非平稳时间序列太过杂乱无章,有的甚至完全无规律可循,而平稳时间序列本身存在某种分布规律,前后具有一定自相关性且能够延续下去,进而可以利用这些信息帮助预测体温变化。
通过序列平稳性特点,邻近时间序列分布存在数据关联,可以缓解由于样本容量少导致的估计精度低的问题。如果连单个随机变量的分布都难以求出,就更不用说求解由一堆随机变量组成的多维随机向量的联合分布有多困难了。严平稳过于理想化,实际上很难检验一个时间序列的严平稳性。因此就放松部分条件限制,不局限于严平稳,主要着眼于宽平稳,条件为:①均值E(Xt)=μ是与时间t无关的常数;②方差Var(Xt)=σ2是与时间无关的常数;③协方差Cov(Xt,Xt+k)=γk是与时间间隔k有关、与当下时刻t无关的常数。
至此可以使用差分法,一方面可以让ARIMA模型里面的μ=0,另一方面确定合适阶数的差分可以增强序列的平稳度。
(2)确定p、q的值
根据本系统时间序列只有体温数据这一变量的特点选用了自相关函数和偏相关函数联合确定p、q值的方法。其中偏相关函数公式如下:
其中ρ(k)的取值范围是[-1,1]。
值得注意的是ACF并不是绝对的两个变量之间的相关性,在实际的序列中,yt还会受到中间k-1个随机变量yt-1,yt-2,...,yt-k+1的影响,然而这k-1个随机变量和yt-k具有相关关系,所以对于这种情况,需要引入PACF的概念。如图8和图9所示为经过一阶差分数据处理后的序列自相关和偏自相关情况。
图8 平稳信号自相关情况
图9 平稳信号偏自相关情况
在得到数据自相关函数和偏相关函数后,根据表2可预估模型的类型并确定相应p、q的值。
表2 ACF、PACF对照表
(3)数据训练
在本次数据序列训练中,共导入了243个数据序列进行训练,同时设置了模型的参数范围、模型置信区间和预测数据所占比例。本次训练中,训练数据占70%,预测数据占30%。如图10所示,灰色曲线为训练数据,黑色曲线为实际温度变化曲线,深灰色曲线为体温预测曲线,黑色和深灰色在整体变化上相差不大,表明在一定程度上可以应用该算法对温度变化进行预测。
图10 模型训练预测
(4)ARIMA模型预测
重复步骤(2)和(3)训练得到合适的预测之后,最终确定的模型是 ARIMA(2,1,3),对应的 ARMA(p,q)模型函数为:
上式仅适用于当前训练的数据,实时数据变化时,参数和模型也会相应地变化。
在确定使用该函数模型后,可对体温进行预测分析,同时加入了需要预测的时间步长和置信区间。如图11所示,可直观看到在已设步长内的温度预测及温度变化置信区间。本系统预测设置的步长是30,置信区间为95%。
图11 ARIMA(2,1,3)模型预测
(5)Durbin-Watson检验
通过Durbin-Watson统计量检验残差分布是否为正态分布。如果残差不服从正态分布,那么模型是偏移的,对序列模型的预测解释能力欠缺。同时Durbin-Watson统计量在2左右说明残差服从正态分布,如果偏离太远还需要重新选择模型。本系统中训练Durbin-Watson结果为1.943 8,符合要求。
5 系统测试
本文对整体系统进行测试,主要包括:测温终端反应速度、后台服务平台体温监测效果及预测温度展示。
(1)在用户穿戴上红外体温监测终端设备前,用酒精对腰腹部进行消毒擦拭,测温终端封装用棉絮填充防止汗液渗入。绑紧设备于腰腹部,使设备与皮肤形成稳定的测温腔室。
(2)打开网关和服务器设备,对传感器采得的体温数据先经过初步的筛选处理并打包,通过网关传送到服务器上。
(3)服务器端进行KNN干扰数据滤除和ARIMA体温预测模型处理,再把数据保存到数据库。
(4)打开Web服务端,登录管理员账号,对用户进行实时体温、历史温度、预测温度、人员信息等查询。
如图12所示为红外温度传感器反应速度测试,测试时间从14点56分开始到14点57分39秒结束,反应时间为1分40秒左右,满足快速反应要求。
图12 终端设备反应速度测试
如图13所示,在后台实时监控界面上可以实时查看用户的体温变化和预测体温,实时监测曲线的更新周期为5 s,预测温度是对体温的趋势进行预测,预测温度更新时间为5 min,经实验证明误差不超过0.4 ℃。
图13 温度实时监测界面
6 结 语
本文设计了一种快速响应的体温实时监测系统,利用红外温度传感器佩戴至腰腹位置实现了连续温度监测的快速响应,一定程度上减少了医生获取病人体温数据的时间。在数据服务器内嵌套KNN干扰数据滤除算法和ARIMA预测模型算法,在一定程度上实现了体温的精准测量和体温趋势变化预测。