一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于视频图像的远程心率监测方法及系统与流程

2022-05-18 07:34:59 来源:中国专利 TAG:


1.本发明涉及心率监测技术领域,具体涉及一种基于视频图像的远程心率监测方法及系统。


背景技术:

2.随着社会经济的快速发展,国民生活方式的变化,尤其是人口老龄化及城镇化进程的加速,居民不健康生活方式日益突出,心血管病危险因素对居民健康的影响越加显著,心血管发病率仍持续增高。《中国心血管健康与疾病报告2020》中指出,中国心血管病死亡占城乡居民总死亡原因的首位,心血管病给居民和社会带来的经济负担日渐加重。因为对生理参数的监测,尤其是对反映心血系统机能的关键生理参数变化的监测可以对心血管疾病做到早发现、早治疗。心率是反应人体健康状况的重要体征参数之一,长期心率过快比心率慢的人存在更大的心血管疾病的潜在风险。可见,心率的长期动态监测对于监测一个人的健康状况是有用的措施。
3.当前医院最普遍的检查方法是采用心电图机(ecg)检查患者的心脏功能,心电图的原理是由于呼吸,心跳等生理活动会使得人体胸腔不断起伏,生物雷达通过捕捉该起伏,并将其转换为电压信号,传送到芯片上进行处理,从而分离出与呼吸,心率有关的所有重要生理信息。动脉压力法是使用气泵向动脉加压,通过压力传感器监测脉搏搏动的压力信号,从而得到心率,通常与血压测量连用。但是此种方法需要进行心率监测仪的穿戴,较为复杂。该种方法需要的设备较为复杂,需要专业医护人员操作,测量过程中对被测者的位置、姿势要求严格,不适用于日常监测。
4.近几年基于接触式光电容积脉搏波描记法(ppg)技术进行心率检测的方法有脉搏血氧仪和电子血压脉搏计来测量心率,以上两种方法测得的是每分钟心脏有效搏动产生脉搏的次数,即脉率;一般健康人的脉率与心率在数值上是相等的,但某些特殊情况会导致脉率和心率不一致。这种方法对于新生儿、需长期连续检测、家庭医疗、长期癫痫监测、烧伤或创伤患者监测,尤其是在疫情期间,繁琐的穿戴过程以及过多的暴露接触,会影响患者的治疗过程,以及增大医护人员的工作量以及提高被感染的风险。
5.在医院问诊时,医生通常需要检查患者的4种生命体征:心率、血压、呼吸率和体温。每年仅检测1次或2次是不够的,持续的心率监测可建立预防的第一道防线,通过连续准确的心电监测和分析,及时发现心脏活动异常表现,为患者赢得宝贵的就诊和干预时间。要实现长时间收集和监测健康数据,只能通过一个非侵入性的、非常容易使用的和广泛可用的数据收集过程来实现。
6.由于人体面部散步众多血管,血液对自然光有一定的吸收能力。通过摄像头,将这种微弱的变化提取出来,形成面部血谱。心脏跳动,肺部呼吸,血压高低,血氧含量都会影响到面部血谱的变化,通过对变化的分析,计算出人体重要生理信号。因此,非接触式的心率测量应运而生,非接触式测量可以摆脱由各种接触式传感器带来的负担和不适,更可以实现在对人们正常生活不干扰的情况下进行远程心率监测。研究非接触式的心率监测方法对
于心血管疾病的早期诊断和有效预防具有非常重要的意义。
7.发明专利cn110547783a中,提出了一种非接触式心率检测方法、系统、设备及存储介质,通过获取多帧人脸图像预设面部区域的r、g、b通道的像素值矩阵,然后通过快速傅里叶变换选取一个能量最大的通道作为目标通道,然后通过欧拉影像放大信号,得到心血管脉搏波序列,并分析心血管脉搏波序列的频率波形,选取频率波形中最大波峰所对应的频率作为目标频率。但是脉搏波波形中包含了很多的噪声信号,在该发明中并未提供去噪和盲源提取的方法。
8.发明专利cn110236511a中提出了一种基于视频的无创心率测量方法,采用改进的欧拉影像放大方法对人脸脸部的弱信号进行放大,并采用mtcnn进行人脸检测,结合g信号作为心率计算的输入信号。使用mtcnn提高了人脸检测的准确度,进而提高了心率计算的精度,但是其中没有对噪声处理的详细处理,也没有将该人的历史心率数据关联起来做到长期的监测。
9.发明专利cn113408508b中提出了一种基于transformer的非接触式心率测量方法,通过获取人脸关键点模型获取人脸感兴趣区域图像序列,然后通过训练好transformer模型得到心率序列。但是该方法中并未提出对噪声的处理方法也没有对盲源信号提取的方法,同时精度完全依赖于训练样本,但是由于心率信号的特殊性,一般情况下采集的样本不够,并且未必能辅导到不同年龄阶段,不同心率段的人群,学习的模型容易欠拟合。
10.对慢性疾病的预防性治疗能减少所需药物的总剂量和相关的副作用,并降低了死亡率和发病率。一般情况下,一旦发现最早的临床症状,就应立即开始或加强预防性治疗,以防止临床发作的进展和恶化,并停止和逆转病理生理学过程。因此,准确监测发作前指标的能力提高了慢性疾病预防性治疗的有效性。
11.使用摄像头对人体生理信号进行采样,由于采集的信号中包含了背景信号、心率信号以及干扰噪声,如何去除干扰噪声,从背景信号中提取微弱的心率信号将变得非常困难。
12.因此,亟需一种有效的基于视频图像的心率检测系统及方法。


技术实现要素:

13.为了解决上述现有技术存在的缺陷,本发明提出了一种基于视频图像的远程心率监测方法及系统,加快人脸检测速度,提高系统性能。
14.上述效果通过以下技术方案具体实现:
15.第一,本技术提供一种基于视频图像的远程心率监测方法,所述监测方法包括:
16.s1,获取监测对象的人脸图像,对所述人脸图像进行预处理,得到分析图像;
17.s2,在所述分析图像中提取设定区域,对所述设定区域的图像信息进行均值计算,得到心率计算队列矩阵;
18.s3,根据所述心率计算队列矩阵得到该设定区域的心率数据;
19.s4,选择不同设定区域进行计算,根据各设定区域的权重值计算得到本次监测的心率数据;
20.s5,结合本次监测的心率数据和该被监测对象的历史心率数据,对未来的健康状况进行预测。
21.进一步的,所述心率计算队列矩阵为:
22.x=[x(1),x(2),...,x(t),...x(n2)]
t
,其中x(t),t=1,2,...,n2,为所述设定区域的图像信息进行均值处理后得到数据的mean,n2为两次人脸检测之间的时间间隔,:
[0023][0024]
其中,i

,j

是变量,用i

表示感兴趣区域图像中某点的横坐标位置,j

表示感兴趣区域图像中某点的纵坐标位置,w2为设定区域所属的局部区域的彩色图像的宽度,h2为设定区域所属的局部区域的彩色图像的高度;mask[ ]为某区域掩码图像值,用于标定该区域是否为设定区域,roi2[i',j']为该区域的图像信息。
[0025]
进一步的,所述根据所述心率计算队列矩阵,得到本次监测的心率数据具体为:
[0026]
s3.1,将所述心率计算队列矩阵中的离群值移除;
[0027]
s3.2,将所述心率计算队列矩阵中的数据归一化;
[0028]
s3.3,基于平滑先验分析方法消除所述心率计算队列矩阵中的趋势项;
[0029]
s3.4,基于奇异值分解方法对所述心率计算队列矩阵进行盲源分离处理,得到去噪后的心率信号;
[0030]
s3.5,对步骤s3.4中去噪后的心率信号先进行算数平均值计算,再进行fft变换,最后进行峰值频率计算得到该设定区域的心率数据。
[0031]
作为本技术的一种优选实施方案,所述该设定区域的心率数据公式为:
[0032][0033]
其中,fre为峰值频率,fps为平滑先验分析中的规则化参数。
[0034]
进一步的,所述根据各设定区域的权重值计算得到本次监测的心率数据为:
[0035]
heartrate=τ1*heartrate1 τ2*heartrate2
[0036]
其中,τ1为第一设定区域的权值,τ2为第二设定区域的权值,τ1 τ2=1。
[0037]
作为本技术的一种优选实施方案,所述的设定区域为受光线干扰小的区域。
[0038]
作为本技术的一种优选实施方案,所述检测方法还包括:
[0039]
根据所述步骤s1得到的分析图像提取人脸特征,判断本次监测对象是否存在数据库中,如果不存在则将本次监测对象的人脸图像保存至数据库中。
[0040]
进一步的,所述步骤s5为使用lstm训练心率监测方法,预测未来数据与历史均值差大于设定阈值时,发出预警,提醒监测对象或医护人员采取措施。
[0041]
本技术还提供一种基于视频图像的远程心率监测系统,所述监测系统包含:
[0042]
人脸图像获取单元,所述人脸图像获取单元用于获取监测对象的人脸图像,并对所述人脸图像进行预处理,得到分析图像;
[0043]
心率计算队列矩阵单元,所述心率计算队列矩阵单元用于在所述分析图像中提取设定区域,对所述设定区域的图像信息进行均值计算,得到心率计算队列矩阵;
[0044]
心率数据计算单元,所述心率数据计算单元用于根据所述心率计算队列矩阵得到该设定区域的心率数据;并且选择不同设定区域进行计算,根据各设定区域的权重值计算
得到本次监测的心率数据;
[0045]
心率数据预测单元,所述心率数据预测单元用于结合本次监测的心率数据和该被监测对象的历史心率数据,对未来的健康状况进行预测。
[0046]
进一步的,所述检测系统还包含特征识别单元和数据库,所述特征识别单元分析图像提取人脸特征,判断本次监测对象是否存在数据库中,如果不存在则将本次监测对象的人脸图像保存至数据库中。
[0047]
本发明与现有技术相比,本发明具有如下优点:
[0048]
本发明提出了一种基于视频图像的远程心率监测方法及系统,与现有技术相比,本技术具有以下优点:
[0049]
(1)将灰度图像进行缩放,加快人脸检测速度,提高系统性能;
[0050]
(2)更有效的去除心率信号中背景信号和干扰信号,提高了心率检测的精度;
[0051]
(3)对用户的心率数据进行实时监测,并保留用户历史数据,以便判断用户的心率变化趋势,对于慢性疾病的预防治疗具有指导意义,可以降低药物使用的剂量和药物使用的副作用,并降低死亡率和发病率。
附图说明
[0052]
为了更清楚地说明本发明中的技术方案,下面将对本发明中所需要使用的附图进行简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其它附图。
[0053]
图1是本发明基于视频图像的远程心率监测系统架构示意图;
[0054]
图2是本发明基于视频图像的远程心率监测方法流程图。
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
实施例1
[0057]
本实施例提供了一种基于视频图像的远程心率监测系统,该系统结构框图如图1所示,该监测系统包含:
[0058]
人脸图像获取单元,所述人脸图像获取单元用于获取监测对象的人脸图像,并对所述人脸图像进行预处理,得到分析图像;
[0059]
心率计算队列矩阵单元,所述心率计算队列矩阵单元用于在所述分析图像中提取设定区域,对所述设定区域的图像信息进行均值计算,得到心率计算队列矩阵;
[0060]
心率数据计算单元,所述心率数据计算单元用于根据所述心率计算队列矩阵得到该设定区域的心率数据;并且选择不同设定区域进行计算,根据各设定区域的权重值计算得到本次监测的心率数据;
[0061]
心率数据预测单元,所述心率数据预测单元用于结合本次监测的心率数据和该被监测对象的历史心率数据,对未来的健康状况进行预测。
[0062]
进一步的,所述检测系统还包含特征识别单元和数据库,所述特征识别单元分析图像提取人脸特征,判断本次监测对象是否存在数据库中,如果不存在则将本次监测对象的人脸图像保存至数据库中。
[0063]
实施例2
[0064]
基于上述系统,本技术还涉及一种基于视频图像的远程心率监测方法,如图2所示,包括如下步骤:
[0065]
人脸检测
[0066]
(1)获取当前帧图像;
[0067]
(2)将彩色图像转化为灰度图像;
[0068]
人脸检测和跟踪是在灰度图像上进行的,所以首先将彩色视频图像转换为灰度图像。i,j是变量,用i表示彩色图像中某点的横坐标位置,j表示彩色图像中某点的纵坐标位置,r[i,j]表示水平位置为i,垂直位置为j像素点处的rgb颜色空间的红色(r)分量值,g[i,j]表示水平位置为i,垂直位置为j像素点处的rgb颜色空间的绿色(g)分量值,b[i,j]表示水平位置为i,垂直位置为j像素点处的rgb颜色空间的蓝色(b)分量值,gray[i,j]表示灰度图像水平位置为i,垂直位置为j像素点处的值,彩色空间变换为灰度空间的方法为:
[0069]
gray[i,j]=0.29*r[i,j] 0.587*g[i,j] 0.114*b[i,j],i=1,2,...,w1,j=1,2,...,h1;
[0070]
其中,w1为彩色图像的宽度,h1为彩色图像的高度,g[i,j]∈[0,255]。
[0071]
此处将彩色图像转换为灰度图像是为了提高人脸检测的速度,非必需步骤,对于不转换为灰度图像直接进行人脸检测也在本发明的保护范围内。
[0072]
(3)将灰度图像进行缩放;
[0073]
为了提高检测效率,将灰度图像进行了缩小操作,在本发明实施例中,将图像等比缩小为原图像的1/4。目前图像缩放的方法比较成熟,不在本发明的研究范围内。以下提到的方法均是在缩小后的灰度图像上进行的。当人脸模板为0,或达到固定检测时间阈值n0后,进入步骤(4),否则进入步骤(5);
[0074]
其中,n0表示人脸检测的时间间隔,为了提高检测速度,人脸检测并非每帧都做,而是隔n0帧进行一次。
[0075]
此处将灰度图像进行缩放是为了提高人脸检测的速度,非必需步骤,对于不进行缩放直接进行人脸检测也在本发明的保护范围内。
[0076]
(4)进行人脸检测;
[0077]
1)使用opencv的dnn模块加载caffe模型进行人脸检测得到人脸位置的比例;
[0078]
2)根据步骤1)检测得到的人脸位置的比例得到视频图像中的人脸位置坐标,即采用[xn,yn]的形式表示脸上同的坐标位于人脸的哪个位置,本实施例中,用[x1,y1]表示检测得到的人脸左上角坐标,用[x2,y2]表示检测得到的人脸右下角坐标;右上角、左下角、中间位置等可根据实际计算再另外设定。
[0079]
3)用frame1表示检测得到的人脸帧数,当没检测到人脸时,检测到人脸的帧数frame1置为0,回到步骤(1),否则,获取到人脸模板,检测到人脸的帧数frame1加1,进入步骤(5);
[0080]
(5)进行人脸跟踪
[0081]
1)使用opencv里面的goodfeaturestotrack对人脸模板进行特征点提取,找出光流估计所需要的角点;
[0082]
2)使用opencv里面的calcopticalflowpyrlk实现基于klt特征点跟踪,获得光流检测后的角点位置;
[0083]
3)当跟踪失败时,进入步骤(4),否则,检测到人脸的帧数frame1加1,进入步骤2。当frame1>n1时,进入步骤(4)重新进行人脸检测。
[0084]
其中,0表示每隔多长时间重新做一次人脸检测。在本发明实施例中,n0=1-fps,frame1表示检测到人脸的帧数,fps表示视频的帧率;
[0085]
2.人脸识别
[0086]
(1)人脸特征点提取
[0087]
使用基于opencv的dnn模型加载pytorch模型进行人脸特征提取;
[0088]
(2)特征比对
[0089]
将当前检测到的人脸图像的特征数组与所有人脸数据库中人脸图像的特征数组进行比对,得到多个校验特征距离,其中,特征距离的计算方法为:
[0090][0091]
式中,d(n)为当前人脸图像与人脸数据库中第n个人脸的人脸图像的特征距离,p(k)为当前帧人脸图像的第k维特征值,q(k)为人脸库中人脸图像的第k维特征值,k为变量,表示维度数,本实施例中,采用pytorch模型对人脸特征进行识别,本实施例中,s=128表示其自带的特征维度k的取值范围为[1,2,...,128],也可采用其他特征识别模型或程序对人脸进行比对。d(n)的取值范围为[0,3]的浮点数。
[0092]
(3)相似度计算
[0093]
根据当前帧人脸图像与人脸数据库中人脸图像的特征距离,得到相应的相似度,用sim(n)表示当计算出当前帧人脸图像与人脸数据库中第n个人的人脸图像的相似度,相似度的计算方法为:
[0094][0095]
(4)判定
[0096]
当计算出当前帧人脸图像与所有人脸数据库中人脸图像的相似度后,取最大相似度当最大相似度max_sim大于th1时,判定当前帧人脸图像为当前人脸数据库中的该人,完成人脸识别,否则,表示当前帧人脸为一个新用户,并为该用户建立人脸库。建人脸库的流程不在本发明专利的范围内,所以不做详细说明。
[0097]
其中,n1表示数据库中用户的数量,th1表示人脸相似度阈值,在本发明实施例中,th1=85。
[0098]
该过程是为了给每位用户建立数据存档,以便于对该用户进行心率跟踪监测,增加该用户的数据量之后,能够得到相对更加准确的数据预测,能够更准确的了解该用户的
心率情况(即健康状态);当然,如果某用户之前没有使用本系统,也可以直接导入数据的形式获得其历史数据,作为预测的基础。
[0099]
3.提取感兴趣区域
[0100]
在获取的用户人脸图像数据,并进行预处理后,需要确定“感兴趣的区域”,所谓感兴趣的区域指在表情变化过程中,其明暗关系变化相对不大,体现在图中是以该感兴趣的区域掩码图像置来表现,且明暗关系的变化率在人脸中的区别是相对的,可根据具体情况确定“感兴趣的区域”。本方案是在感兴趣的区域内进行用户的心率计算,本实施例中,我们选取额头区域、脸颊区域两个区域作为感兴趣区,然后将两个区域计算得到的心率值求平均;也可选取其他区域作为感兴趣的区域,并对其分配差异化权重来计算心率,方式不限。
[0101]
(1)选取额头区域、脸颊区域两个区域作为感兴趣区域,根据人脸检测和跟踪的结果获取感兴趣区域的位置。
[0102]
额头区域的左上角坐标用[x3,y3]表示,右上角坐标用[x4,y4]表示,计算方法为:
[0103]
额头区域的左上角坐标用[x3,y3]表示,右上角坐标用[x4,y4]表示,计算方法为:
[0104]
x3=x1 δ1*(x2-x1)
[0105]
y3=y1 δ2*(y2-y1)
[0106]
x4=x1 δ3*(x2-x1)
[0107]
y4=y1 δ4*(y2-y1)
[0108]
提取出的额头区域的宽度w2=x4-x3,h2=y4-y3。
[0109]
其中,δ1,δ2,δ3,δ4是根据人脸五官的比例确定的,在本发明实施例中,δ5=0.3,δ6=0.5,δ7=0.7,δ8=0.65。
[0110]
脸颊区域的左上角坐标用[x5,y5]表示,右上角坐标用[x6,y6]表示,计算方法为:
[0111]
x5=x1 δ5*(x2-x1)
[0112]
y5=y1 δ6*(y2-y1)
[0113]
x6=x1 δ7*(x2-x1)
[0114]
y6=y1 δ8*(y2-y1)
[0115]
提取出的脸颊区域的宽度w3=x6-x5,h3=y6-y5。
[0116]
其中,δ5,δ6,δ7,δ8是根据人脸五官的比例确定的,在本发明实施例中δ5=0.3,δ6=0.5,δ7=0.7,δ8=0.65。
[0117]
下面以额头区域为例,对额头区域的心率计算方法进行说明。
[0118]
(2)检测高光区域,并对高光区域进行去除。
[0119]
将非感兴趣区域的掩码图像置为0,即mask[i,j]=0;
[0120][0121]
其中,i,j为变量,x3≤i≤x4,y3≤j≤y4,th2为高亮检测阈值,i
max
[i,j]=max(r[i,j],g[i,j],b[i,j])表示彩色图像中横坐标为i纵坐标为j的像素点rgb三通道的最大值,i
min
[i,j]=min(r[i,j],g[i,j],b[i,j])表示彩色图像中横坐标为i纵坐标为j的像素
点rgb三通道的最小值。感兴趣区域中,当时,则当前像素点为高亮像素点,th2为高亮像素点的阈值,mask[i,j]=0,从感兴趣区域中去除,否则mask[i,j]=1。
[0122]
(3)提取感兴趣区域的信息;
[0123]
提取的感兴趣区域的信息可以表示如下:
[0124]
roi1[i

,j

]=s[x4 i

,y4 j

],1≤i

≤w2,1≤j

≤h2
[0125]
其中,i

,j

是变量,用i

表示感兴趣区域图像中某点的横坐标位置,j

表示感兴趣区域图像中某点的纵坐标位置。趣区域图像中某点的纵坐标位置。σ(
·
)表示计算标准差。
[0126]
(4)对信号进行欧拉放大,得到放大后的感兴趣区域roi2[i

,j

];
[0127]
欧拉视频放大的计算,目前有比较成熟的技术实现,不在本专利的研究范围。
[0128]
(5)求感兴趣区域均值mean。
[0129][0130]
(6)当framel<n2时,将mean存入心率计算队列,叫做心率时域脉冲信号,重复步骤1-3;当flamel=n2时,进入步骤4;当frame1>n2时,进入步骤(7);其中,n2为统计多长时间的数据用于心率计算。在本发明实施例中,n2=10*fps,这个阈值和帧率有关。
[0131]
(7)将心率计算队列首位的数据删除,然后将当前计算得到的感兴趣区域均值压入心率计算队列的队尾,更新心率统计时间frame2加1,重复步骤1-3,当frame2=n3时,进入步骤4。其中,frame2为更新心率统计时间,n3为心率更新时间。
[0132]
4.心率计算
[0133]
进入心率计算时,将更新心率统计时间frame2置为0。心率计算队列矩阵用x表示,为1行n2列的矩阵,x=[x(1),x(2),...,x(t),...x(n2)]
t
。其中,t为变量,x(t)表示心率计算队列中第t个元素的值。
[0134]
(1)离群值移除
[0135]
在上一步中提取的特征,可能会出现一些异常值。删除这种不一致的数据有助于达到更好性能。
[0136]
(2)将心率计算队列中的数据归一化
[0137]
采用基于原始数据的均值和方差的归一化方法,归一化后为0-1的值,归一化公式为:
[0138]
其中,μ是均值,,σ是标准差,x

(t)为归一化后新建计算队列中第t个元素的值。则归一化后的心率计算队列矩阵用x

表示,[x

(1),x

(2),...,x

(t),...,x

(n2)]
t
[0139]
(3)基于平滑先验分析的心率趋势项消除
[0140]
心率时域脉冲信号不可避免的混入噪声和各种趋势,消除这些趋势的干扰,有助
于分析的准确性。趋势项指的是偏离基线随时间变化的整个过程,趋势项消除是分析数据分析的重要步骤。当心电信号中有明显的趋势项而未消除时,进行相关性分析和功率谱密度分析时会出现畸变,造成低频成分上翘甚至淹没主频成分,从而严重地影响处理精度。因此,为了改善数据质量或者将数据加工成便于数据处理的形式,需要提取或剔除趋势项。
[0141]
在本发明实施例中,采用的基于平滑先验分析的趋势项消除。
[0142]
基于平滑先验分析的趋势项消除后的心率计算队列矩阵用x

表示,x

=[x

(1),x

(2),...,x

(t),...,x

(n2)]
t
,公式可以表示为:
[0143]
其中,e为宽为n2,高为n2的单位矩阵,β称为规则化参数,在本发明实施例中,β=fps,dd为离散化的d阶微分算子矩阵,因此d2表示离散化的2阶微分算子矩阵,对于矩阵dd,当其阶数为2时可以很好地估计信号中的非周期趋势项,因此这里dd的阶数取2。由于x的一阶趋势以离散方式表示为x的二阶趋势以离散方式表示为[x(3)-x(2)-(x(2)-x(1)),x(4)-x(3)-(x(3)-x(2)),...,x(n2)-x(n
2-1)-(x(n
2-1)-x(n
2-2))]
t
[0144]
在本发明实施例中,用x的2阶微分算子矩阵d2,表示如下:
[0145][0146]
(4)基于奇异值分解的心率信号盲源分离
[0147]
假设含噪信号x=s v,s=[s(2),s(2),...,s(n2)],表示原始信号,v=[v(1),v(2),...,v(n2)]表示噪声信号,n2表示信号的长度。将步骤(3)中的含噪信号x

构造成m
×
n(m≤n)的hankel矩阵:
[0148][0149]
其中1<n<n2,m为嵌入维数,并且满足m n-1=n2。
[0150]
1)对h进行奇异值分解h=u∑v
t
,得到奇异值矩阵∧=diag(σ1,σ2,..,σl,...,σr),分别执行只保留其中一个奇异值,并将其余的奇异值都置为0的操作,得到r个奇异值。其中,第l个奇异值为∧(l)=diag(0,...,σl,0,...)。
[0151]
2)根据得到的每一个奇异值σl计算所对应的通过反演得到每一个奇异值对应的信号x

的分量信号x

(l);
[0152]
3)将步骤2)中得到的r个分量信号x

(l)分别做fft变换;
[0153]
4)归一化;
[0154]
5)带通滤波;
[0155]
6)通过极大值极小值计算,得到每个信号分量x”(l)变换后振幅最大所对应的频
率值f,共得到r个频率值,依次为f(1),f(2),...,f(r)。
[0156]
7)对r个频率值f(1),f(2),...,f(r)进行一阶滞后差分,得到差分谱:
[0157]
δf(l)=f(l)-f(l 1)
[0158]
其中,l为变量,1≤l≤r-1。
[0159]
当差分谱δf(l)>th3,此时的l记为g,作为奇异值分解降噪的有效阶次,g<r。其中,th3为差分谱的阈值。
[0160]
8)根据得到的有效阶次g,取矩阵∧的前g个有效奇异值,并将剩余奇异值置为0,降噪后的奇异值diag(ρ1,p2,...,ρg,0,...,0),再根据奇异值分解的逆过程求出重构矩阵h

,反演得到去噪后的心率信号x
″′

[0161]
(5)移动平均滤波器
[0162]
将得到的心率信号x
″′
,按顺序取一定个数做算术平均值,得到x
″″

[0163]
(6)fft变换
[0164]
1)对x
″″
做fft变换到频域;
[0165]
2)通过0.6-4hz带通滤波器滤波;
[0166]
3)通过极大极小值运算得到峰值频率fre;
[0167]
(7)计算心率
[0168]
根据峰值频率计算心率,额头区域的心率计算公式为:
[0169][0170]
按照步骤3和4,依次得到面颊区域的心率计算值heartrate2,然后加权计算:
[0171]
heartrate=τ1*heartrate1 τ2*heartrate2
[0172]
其中,τ1为额头区域的权值,τ2为面部区域的权值,τ1 τ2=1。因为额头区域所受的干扰最小,权值取大点,在本发明实施例中,τ1=0.6,τ2=0.4。
[0173]
(8)保存心率数据
[0174]
将计算得到的心率与该人历史最后一个心率值进行比较,当相差超过某个比较大的阈值时,可能是噪声的影响,此时删除该心率数据,否则存入该人的心率数据中,进而去除伪影。
[0175]
5.根据保存的历史心率数据,对未来的健康状况进行预测
[0176]
当保存的历史心率数据达到一定量后,各个时间段的心率数据构成一个时间序列,使用lstm训练心率预测算法,并验证测试,最后使用训练好的lstm预测心率模型对未来的心率数据进行预测。预测未来数据与历史均值差大于一定阈值时,发出预警,提醒该人或医护人员注意。
[0177]
本发明采用的方法处理速度更快,计算精度更高,同时能够更加用户历史数据,对用户未来健康状况进行预测,当某个时间的预测心率数据和历史数据差大于某个阈值时,对用户进行预警,能够预先发现心脏相关的疾病,对于疾病预防具有很高的指导意义。
[0178]
本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。
[0179]
上述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则
之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献