本发明涉及温度测量技术领域,特别涉及对人体温度的测量和监控。
背景技术:
肿瘤是危害人类健康的一种常见疾病,其常规的检查方法主要有X射线和超声检查。以乳腺癌为例,主要是根据乳腺组织病变时发生的结构性变化进行影像分析,病理检查是当前确诊乳腺疾病的普遍接受的标准。然而,现有的检查方式必须依赖专业的设备,如果要进行X射线或者超声检查,则必须到医疗机构进行专门的检查,而用户不会频繁地进行体检,这导致很多癌变到中晚期才被发现,延误了宝贵的治疗时机。此外,检查过程也是对人体有害的,X射线照射就是诱发癌变的原因之一。
人体的多种疾病都会影响患病部位的代谢热以及其温度,当出现肿瘤病变部位时,其会出现温度的异常。但是人体的体温不是恒定不变的,在一个时间周期内,体温是不断变化的,在一天时间内早晚体温存在差异,人体因运动和周围环境也表现出不同的温度变化,代谢热和温度变化信息往往会淹没在人体的温度变化内,无法被察觉。这也是很多患者甚至在病症的中晚期才发觉身体异常的原因。
可见,人体的体温是能够反映病变的重要中间参数,如果能够提早获得代谢温度的信息,并加以提取和识别,就可以预知可能出现的危险情况,提醒用户到医疗机构进行诊断,赢得宝贵的治疗时间。然而,截止到目前为止,现有技术中并没有有效的手段来提取上述温度信息。
技术实现要素:
针对上述问题,本发明实施例公开了一种温度监控方法装置,确保目标对象的温度能够被有效的监控。
为达到上述目的,本发明的实施例公开了一种温度监控方法,其特征在于,所述方法包括:
获取目标对象的第一温度采样序列,其对应时长大于第一时间阈值;挖掘所述第一温度采样序列的凸升高模式;挖掘温度采样序列包括但不限于典型的序列模式挖掘,例如基于AprioriAll,ApriorSome,GSP算法,以及上述算法的改型算法;如果所述第一温度采样序列具有凹升高模式,则确定所述目标对象的温度异常状态。
可选地,从最初未患病,到癌症早期的体温方面的症状异常,需要一段时间,该段时长对应癌症的窗口期,在这段时间中,体温始终以凹升高的方式缓慢增长。对应可能发生病变的窗口期,所述第一时间阈值设定为2个月。
可选地,在温度异常状态确定步骤之前还包括获取目标对象的第二温度采样序列,该第二温度采样序列在时域中接续于所述第一温度采样序列;计算所述第二温度采样序列的离散度;以及所述温度异常状态确定步骤还包括,如果所述第一温度采样序列具有凹升高模式,以及所述离散度小于第二阈值,此时目标用户体温数据的波动幅度比较小,离散程度较低,采样值比较集中地分布在较窄的区间之内,则确定所述目标对象的温度异常状态。
可选地,所述温度异常状态确定步骤之前还包括:计算所述第二温度采样序列的平均值;所述温度异常状态确定步骤还包括,如果所述第一温度采样序列具有凹升高模式,以及所述离散度小于所述第二阈值,且所述平均值高于37.1℃,低于38.5℃,则确定所述目标对象的温度异常状态。
可选地,所述离散度为方差、标准差、极差或平均差。
可选地,执行温度采集传感器的异常采样值,因此对所述第一温度采样序列和/或所述第二温度采样序列去噪。
本发明另一实施例公开了一种温度监控方法,其特征在于,所述方法包括:
获取目标对象的第二温度采样序列,该第二温度采样序列在时域中接续于所述第一温度采样序列;
计算目标对象的第二温度采样序列的平均值和离散度;如果所述离散度小于第二阈值,体现体温数据的波动幅度比较小,离散程度较低,采样值比较集中地分布在较窄的区间之内,且所述平均值属于第二区间,则确定所述目标对象的温度异常状态。
可选地,所述第二区间为[37.1℃,38.5℃]。
可选地,获取目标对象的第一温度采样序列,从最初未患病,到癌症早期的体温方面的症状异常,需要一段时间,该段时长对应癌症的窗口期,在这段时间中,体温始终以凹升高的方式缓慢增长。对应可能发生病变的窗口期,其对应时长大于第一时间阈值;且在时域中被所述第二温度采样序列所接续。
可选地,挖掘所述第一温度采样序列的凹升高模式;以及所述温度异常状态确定步骤还包括:如果所述第一温度采样序列具有凹升高模式,以及所述离散度小于所述第二阈值,且所述平均值高于37.1℃,低于38.5℃,则确定所述目标对象的温度异常状态。
可选地,所述第一时间阈值为2个月。
可选地,所述离散度为方差,标准差,极差或平均差。
可选地,对所述第一温度采样序列和/或所述第二温度采样序列去噪。
由以上可见,本发明实施例提供的方案中,获取目标对象在预设时间段内的温度采样序列,基于所述温度采样序列的变化趋势是否具有预设特性,判断所述目标对象是否处于异常。通过从长期和局部来整体看待目标对象的温度变化,从暂态、稳态两个状态都可以独立地判断目标对象的温度变化情况。
附图说明
为了更加清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;
图1为本发明实施例提供的一种温度监控方法的流程示意图;
图2为本发明实施例提供的一种可穿戴温度采集装置;
图3为本发明实施例提供的因肿瘤代谢热而引起的温度变化曲线;
图4为本发明实施例提供的感冒发热和在窗口期的肿瘤代谢热引起的温度变化曲线对比;
图5为本发明实施例提供的感冒发射和进入稳态期的肿瘤代谢热引起的温度变化曲线对比;
图6为本发明实施例提供的另一种温度监控方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图1-6,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种温度监控方法。
以常发的乳腺病变作为示意性的研究对象,使用图2所示装置的可穿戴温度采集装置采集乳房温度。所述温度采集装置呈十字展开形状,孔径105位于十字展开形状中部,用于套接乳头;十字展开形状的四个边呈条带状,每个所述条带上设置至少一个温度传感器102,用于采集乳房体表温度;印刷导线106用于传输各温度传感器102获取得到的信号,所获取的温度信号最终传递到处理装置(未示出)。通过上述设置方式,在一个时间段内采集乳房温度,形成温度采样序列。
如图3所示,根据肿瘤代谢热的特点,从最初未患病,到癌症早期的体温方面的症状异常,需要一段时间,该段时长对应癌症的窗口期,在这段时间中,体温始终缓慢增长,对应可能发生病变的窗口期。根据该窗口期,将所述第一时间阈值设定为2个月。而在渡过了窗口期之后体现体温数据的波动幅度比较小,离散程度较低,采样值比较集中地分布在较窄的区间之内,例如,相对于该温度序列的平均值位于【-0.3℃,+0.5℃】的区间中,这个体温在这个区间中相对集中地分布。如果用反映采样值集中程度的参数,比如离散度来衡量温度序列参数,可以发现该时期内的温度采样序列离散度是比较比较小的。如果使用方差、标准差、极差或平均差作为量化标准,会发现该段时期内的离散度不会大于一个较小的阈值,将这个阈值设定为第二阈值。
癌变代谢热所导致的温度变化,在经过窗口期的升高过程,到达其上限附近之后,该癌变局部的温度波动不会很大,因为该局部的温度已经非常高了,不可能再因为人体的运动发热等而出现剧烈的温度震荡。如图5中的“非正常”曲线所示,癌变的局部温度会在升高到38-38.5摄氏度之后,在高位窄幅震荡。如图5中的“正常”曲线所示,普通的发热,比如忽冷忽热型的感冒发烧,则是在37-39度中的某一个温度点附近做宽幅震荡。
用户使用可穿戴式温度采集装置在一个较长的时间段内测量获得第一温度采样序列:
第一采样序列:{T1,T2,T3,...,Tn}。
获得这n个采用序列点的采样时间不小于至少60天的窗口阈值。
接续第一采样序列,获得第二采样序列:
第二采样序列:{Tn+1,Tn+1,Tn+3,...,Tn+m}。
计算第二采样序列的离散度,离散度可以使用方差、标准差、极差或平均差作为量化标准:
记第二采样序列的平均值为T:
方差:
标准差:
Tmax={Tn+1,Tn+1,Tn+3,...,Tn+m}max
Tmin={Tn+1,Tn+1,Tn+3,...,Tn+m}min
极差:X=Tmax-Tmin
平均差:
根据上述一个或几个离散度表征值进行评估,如果离散度低,亦即小于一个预定的第二阈值,则可以证明被研究对象的体温围绕体温平均值进行窄幅波动。
如果,此时第二采样序列的平均值为T在一个较高的温度区间内,例如:[37.1℃,38.5℃]这样的温度区间,则此时用户的温度是存在异常的,建议到医疗机构进行诊查。
如图4所示,肿瘤代谢热与普通发烧呈现不同温度变化趋势。如图4左图所示,普通的发烧,在短期内上窜到一个较高的温度,这个温度很难有一个确定的上限数值,甚至可以达到40摄氏度以上,并且有可能上蹿下跳,忽冷忽热。癌变所导致的体温温度变化,是局部的体温升高,温度也是逐步上升并且有上限的,且上限一般不会超过38.5-39摄氏度这个温度区间。通过长期佩戴上述温度采集装置之后,所采集的数据才能显示出该温度的逐渐上升,而非突变。如图4右图所示,从温度的变化趋势来看,癌变带来的局部体温上升,较为缓慢,其温度采样值一般呈现上凸,数学表现为一阶导数大于零,二阶导数小于零的形式;感冒发烧则来势迅猛,温度采样值一般呈现下凸,数学表现为一阶导数大于零,二阶导数大于零的形式。
由于上凹下凹、上凸下凸为本领公知的数学定义,在此不再赘述。如果满足以下情况之一:(1)采样点温度值以上凸方式升高;(2)温度升高具有上限,且升高至所述上限的周期大于第一阈值则建议到医疗机构进行诊查。温度上限在38.5-39摄氏度的温度区间,而所述第一阈值不小于2个月。
实际上,由于生理周期、运动、环境变化等因素,在短时间周期内,体温是不断波动的,较长周期的代谢热变化信息往往会淹没在人体的段周期温度变化中,而不易被察觉。这导致很多患者甚至在病症的中晚期才发觉身体异常的原因。
为了在体温监控过程中识别出由代谢热导致的体温升高模式,需要采用一定的信息处理方法。序列模式挖掘(sequencepatternmining),是指挖掘相对时间或其他模式出现频率高的模式,典型的应用集中在离散型的序列。在本申请中,结合监控过程中可能出现的上凸升高模式,我们使用序列模式挖掘来进行信号挖掘。
针对第一采样序列:{T1,T2,T3,...,Tn},采取GSP、PrefixSpan或者其改进算法进行数据挖掘,下面的实施例中进行算法举例:
一、GSP算法
步骤1:扫描序列数据库,得到长度为1的序列模式L1,作为初始的种子集。
步骤2:根据长度为i的种子集Li,通过连接操作和修剪操作生成长度为i+1的候选序列模式Ci+1;然后扫描序列数据库,计算每个候选序列模式的支持度,产生长度为i+1的序列模式Li+1,并将Li+1作为新的种子集。
步骤3:重复步骤2,直到没有新的序列模式或新的候选序列模式产生为止。
产生候选序列模式主要分两步:
连接阶段:如果去掉序列模式s1的第一个项目与去掉序列模式s2的最后一个项目所得到的序列相同,则可以将s1与s2进行连接,即将s2的最后一个项目添加到s1中。
修切阶段:若某候选序列模式的某个子序列不是序列模式,则此候选序列模式不可能是序列模式,将它从候选序列模式中删除。
候选序列模式的支持度计算:对于给定的候选序列模式集合C,扫描序列数据库,对于其中的每一条序列s,找出集合C中被s所包含的所有候选序列模式,并增加其支持度计数。
候选序列模式的支持度计算:对于给定的候选序列模式集合C,扫描序列数据库,对于其中的每一条序列d,找出集合C中被d所包含的所有候选序列模式,并增加其支持度计数。
二、改进型6SP算法
将原序列数据库平均划分为n个不相交的子序列数据库。为了在每次对候选序列模式计数时不用扫描原序列数据库,减少I/O开销,应使每个子序列数据库都能放入内存。由Master节点将n个子序列数据库分派给不同的Map工作节点,每个节点执行传统GSP算法,按照设定的最小支持度,扫描存放在Map工作节点内存中的子序列数据库,计算出局部序列模式。将Map过程得到的局部序列模式传递给Reduce工作节点,归并处理得到全局候选序列模式,再一次扫描原序列数据库找出满足不小于系统设定的最小支持度的序列模式。
创设子序列函数:
输入:子序列数据库Di中的序列及最小支持度min_sup。
输出:<key,value>对,key是局部序列模式,value是对应的的支持度计数。
Lk=find_1-partialsequencepatterns(Di);
//计算出Di中所有局部1-序列模式
for(k=2;Lk非空;k++)
{
Ck=genCandidate(Lk-1);//调用子程序
genCandidate(),由Lk-1产生候选k-序列模式Ck
foreachsequenceSinthedatablockDi//扫描Di,得到满足最小支持度的局部序列模式
incrementthecountofallcandidatesinCkthatarecontainedinS;
Lk=candidatesinCkwithmin_sup;
generate(Lk,Lk.support);//产生键值对
}
return(Lk,Lk.support);
创设全局函数:
输入:<key,value>对及最小支持度min_sup,key是局部序列模式,value是对应的支持度计数
输出:<key,value>对,key是全局序列模式,value是对应的支持度计数
foreachLkinvalues
{
foreachsequeneeSintheoriginalsequence
database
incrementthecountofLkthatiscontainedinS;
if(Lk.support>=min_sup)
generate(Lk,Lk.support);
}
return(Lk,Lk.support)。
三、PrefixSpan算法
(1)扫描序列数据库,生成所有长度为L的序列模式。
(2)根据长度为L的序列模式,生成相应的投影数据库。
(3)在相应的投影数据库上重复上述步骤,直到在相应的投影数据库上不能产生长度为L的序列模式为止。
输入:序列数据库S及最小支持度阈值min_sup。
输出:所有的序列模式。
方法:调用子程序PrefixSpan(<>,0,S)。
其中子程序PrefixSpan(α,L,S|α)的描述如下:
(1)扫描S|α,找到满足下述要求的长度为L的序列模式b;
1)b可以添加到α的最后一个元素中并为序列模式;
2)<b>中可以作为α的最后一个元素中并为序列模式;
(2)对每个生成的序列模式b,将b添加到α′形成序列模式α′,并输出α′;
(3)对每个α′,构造α′的投影数据库S|α,并调用子程序PrefixSpan(α′,L+1,S|α′)。子程序参数说明:α′为一个序列模式,S|α′,L为序列模式的长度,S|α为投影数据库。
根据序列模式挖掘能够识别出序列模式具有上凸升高、下凸升高还是处于正常的平稳模式。这些温度模式的识别能够反映出在一个较长周期内人体的发射情况。
对第一采样序列的处理过程中,如果挖掘出(A)温度的上凸升高模式,则根据该中间结果判断,用户可能存在局部发热的情况。
对第二采样序列的处理过程中,如果(B)表征离散度指标的方差、标准差、极差或平均差小于一个设定阈值,则用户可能存在局部发热的情况;如果在上述(B)条件满足的同时,(C)第二采样序列的均值还在一个比较高的温度范围,做高位窄幅震荡,则用户可能存在局部发热的情况。
必须指出的是,当上述条件(A)满足、或(B)满足、或(B)(C)满足、或(A)(B)、或(A)(B)(C)满足时均说明用户可能存在局部发热的情况,建议用户到医疗机构进行诊断。
如图6所示,可以通过获得第二温度采样序列进而对条件(B)或条件(B)、(C)进行判断,进而获得
在进行序列模式挖掘之前,会发现第一采样序列存在异常温度的情况。截取第一和/或第二采样序列的片段可以知道:
{36.5,36.5,36.5,...,36.6,36.6,36.5,...,36.6,36.5,...36.5,36.5,36.5,...,36.6,36.6,36.5,...,36.6,36.5,...36.5,36.5,36.5,...,26.5,26.5,26.5,...,36.6,36.5,...36.5,36.5,36.5,...,36.6,36.6,36.5,...,36.6,36.5,.........
26.1,26.1,26.1,...,37.0,37.0,37.1,...,37.0,37.0,.........
36.5,36.5,36.5,...,36.6,36.6,36.5,...,36.6,36.5,...……}
在采样序列中出现了测量值为26.1、26.5摄氏度的连续片段,而这个测量片段是偏离了正常温度范围的异常低数值,如果将采样序列中的这些异常数值加入到数据挖掘过程以及离散度求解过程,会引起整体数据处理结果的异常。
为了克服上述异常测量值,需要对采样序列进行预处理。预处理可以使用硬件实现或者软件实现。硬件利用诸如带通滤波或者高通滤波的方式对采样获得的温度序列进行物理滤波,这样能够去除正常测量温度范围之外的“异常值“。软件滤波结合采样序列的数据特点使用经典的滤波算法或者经过改进的经典滤波算法,下面的实施例中进行算法举例:
一、中位值滤波
为了克服因偶然因素引起的波动干扰采取中值滤波法:包括调用取值函数GetAD(),来取得当前值;延时函数Delay()来实现基本延时函数。ArrDataBuffer[N]:用来存放一次性采集的N组数据;Temp:完成冒泡法试用的临时寄存器;最终返回值value_buf[(N-1)/2]为滤波结果。
INPUT{T1,T2,T3,...,Tn}
#defineN
unsignedcharMiddlevalueFilter()
{unsignedcharvalue_buf[N];
unsignedchari,j,k,temp;
for(i=0;i<N;i++)
{value_buf[i]=get_ad();
delay();}
for(j=0;j<N-1;j++)
{for(k=0;k<N-j;k++)
{if(value_buf[k]>value_buf[k+1]){
temp=value_buf[k];
value_buf[k]=value_buf[k+1];
value_buf[k+1]=temp;}}}
returnvalue_buf[(N-1)/2];}
二、滑动平均滤波
把连续N个采样值看成一个队列,队列长度固定为N。每次采样到一个新数据放入队尾,并扔掉队首的一次数据。把队列中的N各数据进行平均运算,既获得新的滤波结果。对周期性干扰有良好的抑制作用,平滑度高。
#defineN
unsignedcharvalue_buf[N];
unsignedcharfilter()
{unsignedchari;
unsignedcharvalue;
intsum=0;
value_buf[i++]=get_ad();//采集到的数据放入最高位
for(i=0;i<N;i++)
{value_buf[i]=value_buf[i+1];//所有数据左移,低位扔掉
sum+=value_buf[i];}
value=sum/N;
return(value);}
三、递推中位值滤波
对于偶然出现的脉冲性干扰,可消除由其引起的采样值偏差。对周期性干扰有良好的抑制作用,平滑度高;试用于高频振荡的系统。
charfilter(charnew_data,charqueue[],charn)
{charmax,min;
charsum;
chari;
queue[0]=new_data;
max=queue[0];
min=queue[0];
sum=queue[0];
for(i=n-1;i>0;i--)
{if(queue[i]>max)
max=queue[i];
elseif(queue[i]<min)
min=queue[i];
sum=sum+queue[i];
queue[i]=queue[i-1];}
i=n-2;
sum=sum-max-min+i/2;
sum=sum/i;
return(sum);}
四、比值滤波
将采样序列中的离散数值与预设比值范围进行比较,如果不在预设比值范围内,则丢弃采样序列中的数值,使用序列中的前一个数值替代。如果丢弃的采样序列数值超过预设的值,则输出一个采样序列异常的返回值。
五、其他滤波
根据预设的情况,还可以采取一阶滞后滤波、加权递推平均滤波、消抖滤波等滤波方法。
上述滤波方法的使用,能够有效地消除或减少在测量过程中所引入的温度异常值。
在下面一个实施例中,第一温度采样序列如下:
{36.5,36.5,36.5,...,36.6,36.6,36.5,...,36.6,36.5,...
36.5,36.5,36.5,...,26.5,26.5,26.5,...,36.6,36.5,.........
36.5,36.5,36.5,...,36.6,36.6,36.5,...,36.6,36.5,.........
37.0,37.0,37.1,...,37.0,37.0,37.1,...,37.0,37.0,.........
37.5,37.5,37.5,...,37.6,37.6,37.5,...,37.8,37.8,.........
38.5,38.5,38.5,...,38.3,38.3,38.3,...,38.8,38.8,...}
用户使用可穿戴式温度采集装置在一个较长的时间段内测量获得第一温度采样序列,根据挖掘结果其规律是:经过长周期缓慢升高,最后稳定在38.5度附近的一个高位上,做窄幅震荡,不会因为一些日常运动,或者叠加的其他的可以引起温度变化的疾病的发作而引起癌变局部体温的宽幅震荡。并且整个上升过程是一个缓慢地凸上升的过程。
在下面一个实施例中,第一温度采样序列如下:
{36.2,36.2,36.2,...,36.1,36.1,36.1,...,36.2,36.2,...36.2,36.2,36.2,...,36.2,36.2,36.2...,36.2,36.2,...
(用户深度睡眠过程中的基础体温)......
36.5,36.5,36.5,...,36.6,36.6,36.5,...,36.6,36.5,.........
37.0,37.0,37.0,...,37.0,37.0,37.0,...,37.0,37.0,...37.1,37.1,37.1,...,37.1,37.1,37.1,...,37.1,37.1,...37.0,37.0,37.0,...,37.0,37.0,37.0,...,37.0,37.0,.........
37.0,37.0,37.1,...,37.0,37.0,37.1,...,37.0,37.0,...
(周一至周五日间的采样结果)......
36.8,36.8,36.8,...,36.9,36.9,36.9,...,36.7,36.7,...
(周末采样结果)}
在上述实施方式中,用户在白天的各种活动会影响体温采样的准确,尤其是影响上升期(暂态)对体温的判断——比如周一-周五都有剧烈运动,周六周日休息,这种状态,反而呈现周六周日温度低于此前的周一到周五。实际上,该用户可能已经是乳腺癌的前期了,其乳房某部位的基础体温一直处于上升状态。对于此类情况,可将用户深度睡眠过程中的基础体温作为上述体温采样的对象。
如图5所示,癌变所导致的温度变化,在经过上述升高,到达其上限附近之后,该癌变局部的温度,的波动不会很大,因为该局部的温度已经非常高了,不可能再因为人体的运动发热等而出现剧烈的温度震荡。就如图5中的“非正常”曲线所示的一样,癌变的局部温度会在升高到38-38.5摄氏度之后,在高位窄幅震荡。而普通的疾病,比如忽冷忽热型的感冒发烧,则是在37-39度中的某一个温度点附近做宽幅震荡。
通过本申请的方案,能够从长期和局部来整体看待癌变所导致的温度变化,其整个规律是:经过长周期缓慢升高,最后稳定在38.6度附近的一个高位上,做窄幅震荡,不会因为一些日常运动,或者叠加的其他的可以引起温度变化的疾病的发作而引起癌变局部体温的宽幅震荡。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。