一种基于温度直方图的心率检测方法

文档序号:33704567发布日期:2023-03-31 21:02阅读:179来源:国知局
一种基于温度直方图的心率检测方法

1.本发明涉及生物体征研究技术领域的一种心率检测方法,尤其涉及一种基于温度直方图的心率检测方法。


背景技术:

2.心血管疾病是人类健康面临的威胁之一,心率变化与心脏疾病密切相关,是反映人身体健康状况、预防治疗和临床诊断的重要判断因素之一。随着人们疾病防御的意识不断增强,心率参数的日常检测越来越受到重视。
3.传统的检测方法如压力法,电阻法和心电图法,大多需要直接接触被测对象,对被测者有很大的束缚性,不适用于日常心率监测。
4.非接触式心率检测方法由于是非侵入式的,不需要与被测者皮肤产生直接接触而受到研究者的青睐。而机器视觉检测方法相比于多普勒检测方法,具有成本低、可长期检测等优点,已成为当前研究的热点。
5.基于成像式光电容积描记术原理发展起来的机器视觉检测方法,最开始使用穿透力较强的特殊光源,比如红外或者近红外光。2008年verkruysse首次提出使用可见光源在普通光学摄像头下检测人体心率的可行性。现有的可见光检测方法主要有基于盲源分离技术的方法和基于欧拉视频放大算法的方法,但这些方法往往易受环境光变化和检测对象运动等因素的影响,测量结果并不鲁棒。
6.热像测量法通过红外装置分析血管中血液流动对温度场的调制来检测心率,现已有学者采用热像技术对人脸图像进行心率检测(hamedani k,et al.spatio-temporal filtering of thermal video sequences for heart rate estimation[j].expert systems with applications,2016,54:88-94.)。但这类方法采用人脸图像特定尺寸的子图像来进行心率检测,当被测对象的距离发生变化时,子图像所对应的部位发生变化,实际取样部位不能保持不变,导致检测失效。


技术实现要素:

[0007]
为了解决背景技术中存在的问题,本发明的目的在于提供一种基于温度直方图的非接触式心率检测方法。
[0008]
本发明解决其技术问题所采用的技术方案是:
[0009]
1)受试者手掌掌心正对热像仪,采集并获得手掌热成像视频,记为原始手掌视频,原始手掌视频由n帧原始手掌图像f1,f2,

,fn组成;
[0010]
2)对手掌热成像视频进行欧拉视频颜色放大,得到放大后的手掌图像序列;
[0011]
3)对放大后的图像序列中的各帧放大后的手掌图像分别阈值分割和直方图生成后,获得对应的百分比形式的灰度直方图,由各帧百分比形式的灰度直方图组成直方图序列;
[0012]
4)根据直方图序列构建维数为n
×
256的初始手掌矩阵n,按列寻找首次出现非零
元素的列号col,由初始手掌矩阵n的第col至256列的所有元素组成第一手掌矩阵x1,矩阵大小为n
×
(256-col+1);
[0013]
5)对第一手掌矩阵x1进行主成分分析后获得多个第一主成分,分别提取多个第一主成分中载荷绝对值降序排列靠前的多个灰度值并一起组成第一灰度值集合b;
[0014]
6)提取第一灰度值集合b中所有灰度值在第一手掌矩阵x1中所对应的列并组成第二手掌矩阵x2,矩阵大小为n
×
card(b),对第二手掌矩阵x2进行主成分分析后获得多个第二主成分,分别提取多个第二主成分中载荷绝对值降序排列靠前的多个灰度值并一起组成第二灰度值集合c;
[0015]
7)提取第二灰度值集合c中所有灰度值在第二手掌矩阵x2中所对应的列并组成第三手掌矩阵x3,接着将第三手掌矩阵x3每行求平均后获得平均序列a,再对平均序列a进行信号滤波去噪,得到滤波后的信号s;
[0016]
8)对滤波后的信号s进行时频分析,计算得到心率值,完成基于温度直方图的心率检测。
[0017]
所述步骤2)具体为:
[0018]
2.1)对手掌热成像视频进行视频解码后,获得原始视频序列;
[0019]
2.2)利用高斯金字塔分解法对原始视频序列进行空间分解,获得空间分解的多尺度视频子序列;
[0020]
2.3)利用理想带通滤波器对空间分解后的多尺度子序列进行时域滤波,获得滤波后的视频子序列;
[0021]
2.4)对滤波后的视频子序列进行信号放大,获得放大后的多尺度视频子序列,然后将放大后的多尺度视频子序列合成变换后,获得合成的视频图像序列,再将合成的视频图像序列与原始视频序列相叠加,获得放大后的手掌图像序列。
[0022]
所述3)中,对于放大后的手掌图像序列中的第x帧放大后的手掌图像m
x
,x∈[1,n],n为总帧数,利用ostu算法自适应阈值去除第x帧放大后的手掌图像m
x
中的背景,获得对应的无背景-手掌图像,再计算无背景-手掌图像的百分比形式的灰度直方图h
x

[0023]
所述7)中,采用基于最小二乘原理的多项式平滑算法对平均序列a
x
进行信号滤波去噪。
[0024]
所述8)具体为:
[0025]
8.1)检测滤波后的信号s的峰值点,确定滤波后的信号s的所有峰值点;对于滤波后的信号s中的第i点si,i∈[2,n-1],若si》s
i-1
且si》s
i+1
,则第i点si记为候选峰值点,接着判断候选峰值点是否为峰值点;如果候选峰值点si所对应的横坐标与上一峰值点p
i-1
所对应的横坐标的绝对值之差小于l,则候选峰值点si不为峰值点;反之,则候选峰值点si为峰值点;
[0026]
8.2)根据滤波后的信号s的所有峰值点,采用滑动窗口方法计算滤波后的信号s的实时心率,计算公式如下:
[0027][0028]
其中,hr为每一窗口内的心率,w为窗口大小,f为帧率,peaks为窗口内检测出的峰值点个数。
[0029]
本发明的有益效果为:
[0030]
本发明利用两次主成分分析对视频序列图像的百分比形式的温度直方图进行灰度值特征选取,优化了心率信号的波形特征,不受检测距离的影响,克服了以往固定尺寸取样部位法的局限。
附图说明
[0031]
图1是本发明的心率检测方法流程图。
[0032]
图2是本发明实例的原始视频图像。
[0033]
图3是本发明实例经过ostu阈值分割后的视频图像。
[0034]
图4是本发明实例的百分比形式的灰度直方图。
[0035]
图5是本发明实例经过主成分分析优化的平均序列幅值图。
[0036]
图6是本发明实例经过滤波去噪和峰值点检测后的平均序列幅值图。
[0037]
图7为本发明实例30s内测得的心率值与指夹式血氧仪测得的心率值的比较示意图。
具体实施方式
[0038]
下面结合附图和实施例对本发明做进一步说明。
[0039]
如图1所示步骤,本发明实施例具体过程如下:
[0040]
1)受试者手掌掌心正对热像仪,以帧率f=25帧/s采集并获得手掌热成像视频,如图2所示,记为原始手掌视频,原始手掌视频由n帧原始手掌图像f1,f2,

,fn组成;
[0041]
2)对手掌热成像视频进行欧拉视频颜色放大,得到放大后的手掌图像序列{m1,m2,

,mn};
[0042]
步骤2)具体为:
[0043]
2.1)对手掌热成像视频进行视频解码后,获得原始视频序列;
[0044]
2.2)利用高斯金字塔分解法对原始视频序列进行空间分解,获得空间分解的多尺度视频子序列;
[0045]
2.3)利用理想带通滤波器对空间分解后的多尺度子序列进行时域滤波,带通滤波器的频率范围为[0.9-1.66]hz,所对应的心率范围为[54-100]bpm,获得滤波后的视频子序列;
[0046]
2.4)对滤波后的视频子序列进行信号放大,其中,放大因子α=50,获得放大后的多尺度视频子序列,然后将放大后的多尺度视频子序列合成变换后,获得合成的视频图像序列,再将合成的视频图像序列与原始视频序列相叠加,获得放大后的手掌图像序列,完成受试者手掌区域的欧拉视频颜色放大。
[0047]
3)对放大后的图像序列{m1,m2,

,mn}中的各帧放大后的手掌图像分别阈值分割和直方图生成后,获得对应的百分比形式的灰度直方图,由各帧放大后的手掌图像对应的百分比形式的灰度直方图组成直方图序列{h1,h2,

,hn};
[0048]
3)中,对于放大后的手掌图像序列{m1,m2,

,mn}中的第x帧放大后的手掌图像m
x
,x∈[1,n],n为总帧数,利用ostu算法自适应阈值去除第x帧放大后的手掌图像m
x
中的背景,仅保留手掌部分,如图3所示,获得对应的无背景-手掌图像,再计算无背景-手掌图像的百
分比形式的灰度直方图h
x
,如图4所示。
[0049]
4)根据直方图序列{h1,h2,

,hn}构建维数为n
×
256的初始手掌矩阵n,按列寻找首次出现非零元素的列号col,由初始手掌矩阵n的第col至256列的所有元素组成第一手掌矩阵x1,矩阵大小为n
×
(256-col+1);
[0050]
5)对第一手掌矩阵x1进行主成分分析后获得多个第一主成分,分别提取多个第一主成分中载荷绝对值降序排列靠前的多个灰度值并一起组成第一灰度值集合b,具体实施中,提取前3个第一主成分pc1、pc2、pc3中载荷绝对值最大的前10个灰度值,由于3个第一主成分pc1、pc2、pc3取出来的灰度值会存在重合部分,因此第一灰度值集合b内元素个数card(b)∈[10,30];
[0051]
6)提取第一灰度值集合b中所有灰度值在第一手掌矩阵x1中所对应的列并组成第二手掌矩阵x2,矩阵大小为n
×
card(b),对第二手掌矩阵x2进行主成分分析后获得多个第二主成分,分别提取多个第二主成分中载荷绝对值降序排列靠前的多个灰度值并一起组成第二灰度值集合c,具体实施中,分别提取前2个第二主成分中载荷绝对值最大的前5个灰度值,组成第二灰度值集合c,第二灰度值集合c内元素个数card(c)∈[5,10];
[0052]
7)提取第二灰度值集合c中所有灰度值在第二手掌矩阵x2中所对应的列并组成第三手掌矩阵x3,接着将第三手掌矩阵x3每行求平均后获得平均序列a,如图5所示,再对平均序列a进行信号滤波去噪,得到滤波后的信号s,其中s的信号长度为n;
[0053]
7)中,采用基于最小二乘原理的多项式平滑算法savitzky-golay平滑对平均序列a
x
进行信号滤波去噪。具体实施中,多项式阶数为3,窗口大小为15。
[0054]
8)对滤波后的信号s进行时频分析,计算得到心率值,完成基于温度直方图的心率检测。
[0055]
8)具体为:
[0056]
8.1)检测滤波后的信号s的峰值点,确定滤波后的信号s的所有峰值点,如图6所示;对于滤波后的信号s中的第i点si,i∈[2,n-1],若si》s
i-1
且si》s
i+1
,则第i点si记为候选峰值点,接着判断候选峰值点是否为峰值点;为了避免噪声干扰引起的误判,设置容错区间l,即如果候选峰值点si所对应的横坐标与上一峰值点p
i-1
所对应的横坐标的绝对值之差小于l,则候选峰值点si不为峰值点;反之,则候选峰值点si为峰值点;
[0057]
8.2)根据滤波后的信号s的所有峰值点,采用滑动窗口方法计算滤波后的信号s的实时心率,计算公式如下:
[0058][0059]
其中,hr为每一窗口内的心率,w为窗口大小,f为帧率,peaks为窗口内检测出的峰值点个数。具体实施中,窗口大小w=200,步长p=25,帧率f=25。
[0060]
图7为本发明实例30s内测得的心率值与指夹式血氧仪测得的心率值的比较示意图。图中实线表示的是本发明检测的心率值变化情况,步长为25,即一秒测得一次心率值,虚线表示的是利用指夹式血氧仪测得的参考心率值变化情况。可以看出,本发明的检测结果与指夹式血氧仪测得的心率值基本一致,误差范围在
±
2bpm以内,表明本发明的检测准确性较高。
[0061]
以上所述仅为本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是未
脱离本发明技术方案的内容,依据本发明的技术实质所作的任何修改、等同替换、等效变化等,均应包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1