一种基于SVM的异常体温序列检测装置及方法与流程

文档序号:23273867发布日期:2020-12-11 19:20阅读:99来源:国知局
一种基于SVM的异常体温序列检测装置及方法与流程

本发明属于温度检测技术领域,尤其涉及基于支持向量机(svm)分类的异常体温检测技术。



背景技术:

随着我国各行各业复产复工,人群流动加大,新型冠状病毒传播的防控压力也随之增大。存在着核酸检测的覆盖范围有限、无法及时检测潜在患病人员以及反馈缓慢的问题,当前社会迫切需要新的体温检测技术。

体温变化是反映人体健康情况的最直接指标,相比其他检测方法而言,体温监测更易实现且成本更低。当前在人流密集场所设置的体温检测站仅能获取人群中单个个体温度点,不能捕捉到长期的温度变化。而长期的体温变化能够透露更多的生理信息,例如生病个体的体温均值偏高,体温不稳定等,这些信息对于判定个体的体温异常情况具有极佳的参考意义。从而为新冠肺炎患者做进一步检测提供了参考。



技术实现要素:

本发明针对目前数据分析领域并没有使用体温时间序列检测潜在异常人员的技术方法,且在实际体温监测中存在着体温数据缺失、数据精度不高等问题,提出了一种基于支持向量机svm的异常体温检测装置及方法。

本发明提供了一种基于svm的异常体温序列检测装置,包括:

佩戴在人体的温度检测设备,定时测量人体体温并传输给智能设备;

与温度检测设备通过无线通信的智能设备,智能设备上安装有用户体温数据库、体温序列提取单元、温度特征提取单元、支持向量机模型单元以及预警输出单元。

所述用户体温数据库存储所述温度检测设备发送来的随时间测量的人体体温数据。

所述体温序列提取单元,以半小时为一个时间间隔单位,对每个个体一天固定时间段内测量的体温,取每个时间间隔单位内体温均值的方式生成一个初始体温时间序列,再对初始体温时间序列中的缺失值进行补充,得到个体一天完整的体温时间序列。

所述温度特征提取单元对所述体温序列提取单元输出的体温时间序列进行如下操作:计算每个体温值与前一个体温值的差值,获得体温差值序列;计算体温时间序列的高阶特征值,包括均值、方差、偏度以及样本熵;将体温时间序列和计算的均值均减去基础值进行归一化;将新的体温时间序列、高阶特征值以及体温差值序列进行串联合并,生成用户体温特征向量;

所述支持向量机模型单元包含训练好的多分类支持向量机模型;支持向量机模型的输入是用户体温特征向量,训练数据的标签是用户所属类别,包括正常人群、新冠无感人群、新冠肺炎人群、其他发热人群;

所述预警输出单元根据所述支持向量机模型单元的输出结果,当用户被判断属于新冠肺炎患者人群或者新冠无感人群时,将其体温状况上报并预警。

本发明提出的一种基于svm的异常体温序列检测方法,包括如下步骤:

步骤一、对用户通过温度检测设备检测在一天中设定时间段内的体温,按每半小时为一个时间间隔单位,在时间间隔内取体温均值的方法生成初始体温时间序列;初始体温时间序列中的第i个体温是第i个半小时内的体温均值,i为正整数;

步骤二、对初始体温时间序列进行插值,补充缺失值以形成完整的体温时间序列;

寻找距离缺失值时间段前后时间间隔最近的两个有效体温值,且所找有效体温值与缺失时间段的间隔不超过24小时;然后通过下面(1)或(2)中插值方式获取缺失值;

(1)设所找到的4个有效体温值对应的时间段序号集合为c,集合c中序号为k的时间段的体温值为tempk,该体温值的权重wk=exp{-dk/2},其中,dk表示序号为k的时间段距离所述缺失值时间段的时间间隔数;则对有效体温值进行加权平均得到缺失值tempavg如下:

(2)计算每个有效体温值与对应时间段的全体用户体温均值的差值,对差值进行加权平均,得到用户体温与全体用户体温均值的平均差距,再用待补充缺失值对应时间段的全体用户体温均值加上平均差距,得到用户的缺失值;

步骤三、对步骤二输出的体温时间序列挖掘特征值,生成特征向量;

步骤301,对体温时间序列,计算每个体温值与前一个体温值的差值,获得体温差值序列;

步骤302,计算体温时间序列的高阶特征值,包括均值、方差、偏度以及样本熵;

步骤303,将体温时间序列以及体温均值减去基础值35,得到新的体温时间序列和均值;

步骤304,将新的体温时间序列、高阶特征值以及体温差值序列进行串联合并,生成用户体温的特征向量;

步骤四、针对不同人群采集体温时间序列,对每个个体的体温时间序列生成特征向量,并添加用户所属类别标签,组成训练数据集,训练支持向量机,保存训练好的分类模型;

步骤五、将待判断用户由温度检测设备采集的体温数据经过步骤一至三处理,获得相应的特征向量,输入训练好的分类模型,输出待判断用户的分类结果。

本发明与现有技术相比,具有以下优势:

(1)本发明使用基于支持向量机svm的训练模型对体温时间序列进行异常检测,可以增加异常体温检测工作的效率,有助于提升检测工作覆盖率。

(2)本发明提出的体温时间序列自动插值与数据挖掘的方法,可以保持原始体温时间序列的有效性,保存信息的完整性,同时有助于挖掘体温时间序列的高阶特征,从不同角度反映体温时间序列的潜在信息。并且本发明方法可扩展在任意长度的温度序列甚至任意形式的时间序列,具有一定的泛化性,可移植性。

(3)本发明方法简单快捷,利用已训练模型,可实现对异常温度的快速检测并预警,能够省去大量人力工作,兼具准确性,能够提升异常检测效率。

附图说明

图1是本发明基于svm的异常体温序列检测装置的示意图;

图2是本发明基于svm的异常体温序列检测方法的一个整体流程图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明作进一步的详细和深入描述。

本发明在体温数据库中使用svm分类方法、数据挖掘技术检测异常体温序列,从而推测出潜在的异常体温个体。本发明首先针对每个个体,选取当天体温数据库特定时间段,如早6点到晚10点的温度数据,并按每半小时取均值生成温度序列作为个体的初始体温时间序列。由于初始体温时间序列可能存在的体温值缺失的问题,本发明采用插值办法补齐缺失值,综合考虑个人当天缺失值前后时间的体温时间序列与前一天同一时刻的体温值,完成数据的补足,得到预处理后的体温时间序列。在此之后,由于对单个个体基于体温时间序列值,svm很难挖掘深层次的特征,因此本发明在体温时间序列基础上充分挖掘其高阶特征;高阶特征包括体温序列的均值、方差、偏度以及样本熵,包括各时刻与前一时刻的体温差值,实现对体温时间序列的变化情况、变化剧烈情况、整体分布区间等信息进行充分的挖掘。本发明根据挖掘体温时间序列得到的特征向量,以及其来源标签,对多分类支持向量机进行训练,得到可靠的模型并保存。对于任一待判断个体,对其体温时间序列进行预处理以及进行同样的数据挖掘过程,将对应的特征向量送入已训练好的svm中进行判断,根据分类类别判断个体的身体健康状况。

如图1所示,本发明的基于支持向量机svm的异常体温序列检测装置,所使用的硬件设备包括佩戴在人体的温度检测设备,和进行异常体温序列检测的智能设备,智能设备包括计算机、个人笔记本、智能手机、平板电脑等。智能设备与温度检测设备之间通过蓝牙等无线通讯进行数据传输。

温度检测设备上设置有开关按键,当用户按下开关按键,启动温度检测设备后,温度检测设备与智能设备建立无线通信连接。温度检测设备可以随时间实时地采集人体体温传输给智能设备。温度检测设备上还可以设置计时模块,用于发送定时采集信号给温度检测设备,例如每十分钟测量一次体温。本发明实施例采集的个人体温的时间是从6点至22点,每半小时为一个时间间隔单位,因此,还可以设计计时模块检测到当前时刻是一个整点或半点时,通知温度检测设备开始定时测量体温。温度检测设备将测量的人体体温发送给智能设备。

智能设备上安装有用户体温数据库、体温序列提取单元、温度特征提取单元、支持向量机模型单元以及预警输出单元。智能设备接收带有时间标签的人体体温数据,存储在用户体温数据库中。体温序列提取单元从用户体温数据库中读取每个人随时间变化的体温序列,从6点开始,以每半小时为一个时间间隔单位,计算时间间隔单位内的体温平均值作为该时间间隔单位的人体体温值,生成一个初始体温时间序列;然后对初始体温时间序列中的缺失值进行补充,得到完整的体温时间序列。每个人一天采集的体温对应一个体温时间序列。温度特征提取单元对体温序列提取单元输出的体温时间序列进行如下操作:计算每个体温值与前一个体温值的差值,获得体温差值序列;计算体温时间序列的高阶特征值,包括均值、方差、偏度以及样本熵;将体温时间序列和计算的均值均减去基础值进行归一化;将新的体温时间序列、高阶特征值以及体温差值序列进行串联合并,生成用户体温特征向量;用户体温特征向量为68的特征向量。支持向量机模型单元中存储训练好的多分类支持向量机模型。多分类支持向量机模型是针对多个类别人群设置有一个svm分类器。支持向量机模型的输入是68维度的特征向量,训练数据的标签是用户所属类别,包括正常人群、新冠无感人群、新冠肺炎人群、其他发热人群。预警输出单元根据多分类支持向量机模型的输出结果,当用户被判断属于新冠肺炎患者人群或者新冠无感人群时,将其体温状况上报并预警。

如图2所示,本发明的基于svm的异常体温序列检测方法,分为如下六个步骤来说明。

步骤一:生成初始体温时间序列。

个人佩戴温度检测设备,定时测量人体温度存储在用户体温数据库中。对采集的每个个体一天的体温数据生成初始体温时间序列。

具体地,体温时间序列通过以下方法生成:

无论正常人体温度序列还是异常人体温度序列,人体温度序列中在30分钟内的温度波动一般是不剧烈的,因此可以使用每半个小时的体温均值作为该时间段的体温时间序列值,保证体温时间序列的均匀有序。同时考虑到用户需要长时间佩戴温度监测设备的问题,以及不合理佩戴的问题,温度数据提取应选择在有较多有效数据的时间段,经过数据统计,本发明选定早上6时至晚上10时这一时间段。此时间段是人为活动的时间段,个人有意识调整佩戴温度监测设备以及保证长时间佩戴,同时设备传回可靠数据的时间百分之九十九都处于这一时间段内,这会为本发明带来比较准确、完整、有效的体温时间序列。

对每位用户检测一天的体温数据,从6点开始以半小时为时间间隔单位计算平均体温值,获得一个体温时间序列。即,体温时间序列中第一个体温值是6点到6点半之间测量的体温的平均值,第二个体温值是6点半至7点之间测量的体温平均值,依次类推。

在训练数据获取时,对已知用户检测多天的体温,保存在用户体温数据库中,然后对每位个体,生成从早上6时至晚上10时的体温时间序列。

步骤二:对初始体温时间序列进行插值,形成完整体温时间序列数据。

考虑到实际体温监测不能严格保证长期连续性,步骤一生成的初始体温时间序列中会存在着大量的缺失值,因此本步骤采用插值法补齐缺失值。对于这些缺失值,本发明先找到离当前体温缺失值时间段前后时间间隔最近的四个(或更少)体温时间序列有效数据,且满足时间间隔不超过24小时,以保证不会有强烈的体温波动。然后,一方面使用这几个体温时间序列有效数据的加权平均模拟当前时段实际体温数据,另一方面计算这几个有效数据和全体用户在对应时间段体温均值的差值,使用这些差值的加权平均模拟当前时段体温数据和全体用户体温均值的差值。根据这两种方法所得体温数据的均值综合考量了个体体温变化和全体体温变化,最终用于体温时间序列的缺失值补充。

本发明实施例中,首先,找到用户当前体温缺失值时间段之前最近的两个有效体温值和之后最近的两个有效体温值,同时有效体温值的时间段和当前缺失体温时间段的间隔不能超过24小时。这里的有效体温值是指合乎人的体温值,例如人的体温范围在35到42摄氏度之间,由于人为失误操作或环境影响导致温度过低或者过高都不是有效值。对于这四个(或更少)找到的体温值,根据距离当前体温缺失值时间段的时间间隔来计算权重值并做加权平均,得到一个体温值,补充为缺失值,权重计算和平均温度插值计算公式如下:

wk=exp{-dk/2}

其中,本发明实施例中是以半小时为时间间隔单位,时间段的序号一般是从当天初始时间开始按序编号,每半个小时为一个时间段,对应有一个编号;c代表所找到的4个有效体温值对应的时间段序号的集合;对于其中序号为k的时间段,距离当前缺失值时间段的时间间隔数为dk;wk表示序号为k的时间段的体温的权重;tempavg是计算的加权平均体温插值,即当前缺失值;tempk代表序号为k的时间段的体温,即所选的一个有效体温值。

另外,经统计可以发现正常人体温在每天不同时段的均值是不同的,因此,本发明对于找到的四个(或更少)温度数据值,还需计算这四个数值和对应时间段全体用户均值的差值,采用上面提供wk和tempk的公式进行加权平均,从而计算出目标用户体温与大众均值的平均差距,再用待补充缺失值对应时间段的全体用户体温均值加上平均差距,得到用户当前缺失体温值。

本发明最终的缺失值会被补充为上述两种插值方式的均值,至此可以得到完整的体温时间序列数据集。

步骤三:对体温时间序列挖掘其他特征值,与归一化的体温时间序列合并产生新的特征向量序列数据。

支持向量机直接从体温时间序列中很难挖掘深层次的特征,因此需要先从体温时间序列中充分挖掘高阶特征。经上述步骤二生成的体温时间序列能够保存信息的完整性,同时完整的体温时间序列经过步骤三进行特征挖掘。本发明考虑两方面的特征。第一,考虑体温时间序列的变化情况,使用当前体温值减去前一个体温值得到体温差值序列,差值序列可以很好地反映本发明的温度变化情况。对步骤二补充后的体温时间序列,在每一时间段/时间间隔单位的体温值,减去前一时间段的体温值,作为当前时间段的差值,亦即当前时间段与前一时间段的体温变化值。第二,考虑体温的深层特征,例如体温时间序列的均值、方差、偏度和样本熵特征,此类特征可以很好的反映体温时间序列的数据分布状况,同时考虑体温时间序列的样本熵特征,反映其体温变化的剧烈程度与离散状况。考虑到体温数值相比于方差、样本熵等值过大,本发明将体温时间序列以及体温均值减去基础值,基础值取35,得到新的体温时间序列值和新的体温均值。最后,将以上处理的体温值以及特征值进行串联合并,得到最终的特征向量。经过统计可知,体温均值、方差、偏度等特征对于区分发热人群与正常人群有着良好的效果。而样本熵、差值等特征对于人为操作失误造成的体温序列异常具有良好的验证作用。

设包含n个体温值的体温时间序列z(z1,z2,…,zn),其均值m、方差v、偏度sk的计算公式如下:

其中,zi表示体温序列的第i个值。

样本熵en的计算公式如下:

首先,定义两个长度为m的子序列的距离,如下所示:

其中,zi+k和zj+k分别表示体温序列的第i+k、第j+k个值。

然后,对于给定值i和m,其他等长子序列与以i开头的子序列距离小于r的数量记为bi,定义如下:

最终,样本熵en的定义如下:

其中,r和m都是可选值,本发明选取m=4用于计算体温时间序列的样本熵值。

考虑到体温数值相比于方差、样本熵等值过大,本发明将体温时间序列以及体温均值减去基础值,基础值取35,得到新的体温时间序列值和新的体温均值。

本发明将体温时间序列以及体温均值减去基础值35,实现归一化处理,然后以串联的方式将计算的高阶特征值与体温序列进行合并,加上之前的体温差值序列,原始32维体温时间序列则被处理成为68维的特征向量序列。

步骤四:训练支持向量机模型。

经过上述步骤三后,得到大量佩戴温度检测设备用户的体温时间序列相关的68维特征向量,根据这些用户所属类别,例如普通正常人群、新冠肺炎感染人群、新冠肺炎感染无症状人群等,将其对应的体温特征向量赋予标签,组成训练数据集。

本发明首先,针对不同人群将其体温时间序列赋予不同的标签,数据主要来源于大众群体、医院确诊患者、确诊但无外部体现的患者等。因此,标签可定于正常人群、新冠无感人群、新冠肺炎人群、其他发热人群等。提取不同人群的体温时间序列构建数据集,支持向量机分类器采用一对多形式,即其他类别样本均为负样本的形式。

然后,根据挖掘体温时间序列得到的特征向量,以及其来源标签,对多分类支持向量机进行训练,得到可靠的分类模型并保存。多分类支持向量机的输入为68维度的特征向量。本发明参考参考文献1中的支持向量机svm得到训练模型。

参考文献[1]:http://www.mit.edu/~9.520/spring11/slides/class06-svm.pdf。

根据步骤三得到的特征向量序列,本发明固定支持向量机的输入为特征向量维度大小,采用一对多的训练模型,将某类样本作为正样本,其他样本作为负样本与此类样本进行区分。标签将使用体温时间序列来源人员的标签,包括正常人群、新冠肺炎人群、其他发热原因人群、新冠肺炎无感人群等。将训练好的模型进行保存,对新数据进行预测。针对个人,提取其特定时间段的体温数据(如早上6点到晚上10点),经过步骤二预处理过程以及步骤三特征提取的过程,得到个人的体温特征向量,将其输入到已训练好的模型中进行判断,对于判断为新冠肺炎人群或者新冠肺炎无感人群的个体,本方法对其进行标注,并进行预警处理,同时保存其原始体温时间序列值。对于正常人群,不做过多处理。对于其他发热人群,对其进行标注,不做预警处理,做后续观察使用。

步骤五、根据训练好的svm模型对新数据进行分类,判断数据来源者的身体健康状况。

对于任一待判断个体,通过设备获取其特定时间段的体温序列,对其体温时间序列经过步骤二补充处理以及步骤三的特征提取,生成对应的特征向量,送入已训练好的支持向量机模型,输出判别结果,判别结果即个体所属类别,即普通正常人群、新冠肺炎感染人群、或新冠肺炎感染无症状人群等。如果经判断其属于新冠肺炎患者人群,或者新冠无感人群,将其体温状况上报并预警;如果判定属于正常人群,则不做过多处理。

为了避免使本说明书的描述限于冗繁,在本说明书中的描述中,可能对可在上述参考文献或其它现有技术资料中获得的部分技术细节进行了省略、简化、变通等处理,这对于本领域的技术人员来说是可以理解的,并且这不会影响本说明书的公开充分性。在此,将上述参考文献通过引用而全文合并于此。

综上所述,本领域的技术人员能够理解,对本发明的上述实施例能够做出各种修改、变型、以及替换,其均落入如所附权利要求限定的本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1