本发明属于医疗领域,特别是涉及一种连续血压监测方法,更具体设计一种利用心电和压力脉搏波的信号,提取多特征混合,利用lstm神经网络对收缩压和舒张压进行连续监测的方法。
背景技术:
血压是血液对血管壁侧面的压力,其由心脏收缩时流过血管的血液产生,是对循环血量、心输出量及动脉血管壁弹性等血流动力学因素的综合性反映。收缩压和舒张压是可以反应人体心脏、血管功能状况的重要生理指标,同时,也是人体健康四大检测基本特征之一。
目前常规的血压测量方法为,听诊法和示波法,但这两种方法都无法进行实时连续监测,且设备的体积大,不便捷。而可进行连续测量的血压监测方法主要是基于脉搏波信号进行检测。基于脉搏波信号测量血压的方法主要有三种,分别是基于脉搏波传导速度(pwv)的测量方法,基于脉搏波传导时间(ptt)的测量方法以及基于脉搏波特征参数(pwp)的测量方法。
光电容积脉搏波(ppg)波形的形状因为不同的人有很大差异,对于存在心血管问题的对象,其ppg的重博波波形很难提取,因此仅通过提取ppg波形特征具有很大的范围局限,精度也会比较低。利用ptt来计算血压检测和拟合方便,但也存在如下问题:(1)人体的脉搏波容易受到多个因素的干扰,包括呼吸、阻抗、测量姿势等,仅仅利用ptt一个参数进行血压计算准确度较低。(2)ptt与收缩压的相关性较高,与舒张压的相关性较低。
通过压电传感器检测的压力脉搏波(ppw),由于其灵敏度高,直接反应血管压力变化,故相比较于光电容积脉搏波能够更准确地反应血管压力的变化,用于测量血压更为准确。但传统的基于压力脉搏波的测量方法,从波形中提取的特征过多,该特征易受干扰,导致测量精度受到影响,适用范围较窄。
循环神经网络(recurrentneuralnetwork,rnn)是一种用于处理序列数据的神经网络,它的每一层不仅输出给下一层,同时还输出一个隐状态。长短时记忆网络(longshorttermmemorynetwork,lstm),是一种改进后的循环神经网络,解决了rnn长序列训练过程中的梯度消失和梯度爆炸问题。其在长时间序列中有较好表现,减少随时间特征变化带来的影响。
技术实现要素:
针对背景技术中血压对健康的重要性,以及目前血压监测方法存在的问题,本发明的目的在于提供一种利用心电和压力脉搏波的多特征混合信号的,基于lstm神经网络的机器学习监测血压的方法。
为此,本发明采用的技术方案是这样的:基于lstm神经网络的机器学习监测血压的方法,其特征在于:包括以下步骤:
1)通过信号采集装置获取监测对象的心电脉搏波信号和压力脉搏波信号数据的;
2)对步骤1)取得的信号进行去除噪声和基线漂移的预处理,滤波后得到心电波和ppw波形;
3)对心电波形和ppw信号波形信号数据进行分割,识别出心电图的r波波峰,根据相邻r-r波峰,将ecg划分为一个心动周期;识别出ppw波的波峰,根据相邻波峰将ppw划分为一个心动周期,然后对其进行归一化处理;
4)将上述分割好的数据进行特征提取,包括以下特征:
a)ptt,ptt为脉搏波传输时间,同时识别ppw脉搏波的波峰和心电波的r波,计算r波和ppw波波峰之间的时间差可获得脉搏波传输时间;
b)起始点到上升的波峰之间的距离,即为上升时间t1;
c)起始点到重搏波之间的距离,即为第二上升时间t2;
d)反射指数(ri),收缩峰值与重博峰的比值,即h1/h2;
e)心率hr,识别出心电波形的r波,计算心电波形临近r波之间的时间差,然后根据其时间推算心率值;
5)将步骤4)所得的特征序列记为特征向量序列
6)lstm神经网络的输出信息即为监测对象的血压信息,包括收缩压sbp和舒张压dbp。
以上第一部分,原始信号数据包括,心电脉搏波信号和压力脉搏波数据。
两个电极可传输人体表面的电信号,该信号经过afe心电模拟前端进行滤波放大,再经过高分辨率adc进行转换,转换为数字信号,可获得单导联心电图。
压力脉搏波信号的获取,利用高灵敏度压力传感器,放置该传感器与动脉处,可以是压阻式传感器也可以是压电式传感器,但两个类型的传感器的电路略有不同,压阻式传感器随着压力变化的是电阻率,需要将电阻的变化转化为电压的变化,检测电压信号的变化从而获得压力脉搏波信号。压电式压力传感器变化的是电荷,因此可通过放大器和滤波器直接检测其电势的变化从而得到压力脉搏波信号。
以上第二部分,信号的预处理包括,去除噪声和基线漂移。在信号采集过程中,由于人体呼吸和运动,人体阻抗等因素,所获得的信号包含各种噪声,所以通过预处理去除噪声和基线漂移等干扰。由于脉搏波信号的有效频率一般处于0.3-30hz之间,所以利用巴特沃兹5阶带通滤波,对原始数据进行过滤,截止频率分别为0.3hz和30hz。针对信号中的基线漂移,主要是由于被测对象的呼吸和传感器移动等低频干扰引起的。本身脉搏波和心电信号含有丰富的低频成分,基线漂移会掩盖有用信息。形态滤波广泛应用于信号处理和图像分析领域,可以极大保留信号的形态特征。本发明为滤除基线漂移,使用较大的结构分别对原始信号进行先开后闭的运算合先闭后开的运算,然后取平均值进行滤波。
进一步地,将特征向量序列x作为输入至lstm神经网络模型,神经网络模型的计算步骤如下所示:
i)将特征向量序列x首先输入卷积层提取特征层;
ii)输入批标准化bn层将各层特征进行标准化处理;
iii)以m为时间步输入双向lstm网络;
iv)之后加入dropout层防止网络出现过拟合;
v)最后由全连接dense层输出y=[sbp,dbp],sbp为收缩压、dbp为舒张压。
lstm长短时记忆神经网络常用于语义分析、机器翻译等,可将lstm应用于血压的检测,降低特征随时间改变造成的精度降低。lstm使用当前输入xt和上一状态传递下来的ht-1训练得到4个状态,分别为三个状态门和一个记忆单元。其中,xt表示当前层,输入数据集,ht-1表示前一单元的输出。三个控制门分别为输入门、忘记门和输出门。分别通过把上个节点的输出装在入长时记忆单元,对上个节点的输入进行选择性忘记,对重点进行选择性记忆并选择合适的记忆进行输出。
进一步,神经网络的损失函数为均方误差(mse),公式如下:
梯度优化采用adam优化,能够自动适应计算每个参数的自适应学习率,该方法不仅存储了先前平方梯度指数衰减平均值还保持了先前梯度的指数衰减平均值。在正则化中,要合理设置l2范数以防止过拟合。mse用来检测模型的预测值和真实值之间的偏差。m指测试样本总数,m表示具体样本索引,ym表示第m个样本的真实值,
神经网络的输出yt即包含了测量的收缩压sbp,舒张压dbp。yt为神经网络输出血压结果数据集的转置。
本发明与现有技术的有益效果是:本发明是基于心电和压力脉搏波信号的血压计算方法,计算得到与血压相关的关键参数ptt,混合从光电脉搏波和压力脉搏波提取到的必要特征,并通过lstm神经网络减小特征的时间变化对测量结果的影响。该方法能够有效利用ptt这一关键参数,并针对部分人群的脉搏波很多特征难以识别,通过只识别必要特征,提高了血压监测的普适性。本发明可进行连续血压检测,检测方便,舒适性高。
附图说明
下面结合附图对本发明作进一步描述。
图1为本发明基于脉搏波多特征的获取方法的流程图;
图2为压力脉搏波形图及其特征划分;图中t1起始点到上升的波峰之间的距离,即为上升时间;t2为起始点到重搏波之间的距离,即为第二上升时间;h1为收缩峰值,h2为重博峰值;
图3为lstm结构图;
图4为信号获取单元结构图;
图5为形态滤波结构图;
图6为血压预测神经网络模型结构图。
具体实施方式
下面结合具体实施方式并对照附图对本发明进一步详细说明。
如附图1所示,本发明首先要获取到光电容积脉搏波、心电波和压力脉搏波信号。
上述信号的获取主要包括以下几个单元:光电传感器单元,心电单元和压力脉搏波单元。
光电信号的获取可由光电传感器得到,其原理为利用发光二极管照射人体血管,光为波长为530nm的绿光,绿光相比于红光和红外光来说穿透力更强,人体组织光的反射干扰更小,获得的光电容积波波形更好。可将光电传感器置于手腕、手指等处。当绿光反射至光电二极管处,会引起光电二极管内阻发生变化,从而光电二极管两端电压发生变化。
在心脏搏动的过程中,随着心室的收缩舒张,血管上的电位会发生极化和去极化的过程,从而在人体会引起微小的点位变化,通过检测该电位的变化可得到心电图。由于获取ptt信号,只需定位心电r波的位置,所以为了设备和测试的方便考虑,采用单导联心电。
将两个电极贴于人体两个部分,为了方便采集,推荐分别放置于手指和手腕部位。通过该两个电极可传输电位变化给后级处理单元。
采集压力脉搏波信号需要通过压力传感器,常用的用于检测脉搏波的压力传感器有压阻式传感器和压电式传感器。压阻式传感器的原理时,当压力发生变化时,压力传感器的电阻与被测压力成正比变化,然后通过电路设计即可获得相应的电压输出信号。压电式压力传感器是利用了正压电效应,当传感器受到压力时,传感器产生电荷,电荷量的大小与压力大小相关,通过检测电荷量的大小即可测得动脉压力的变化,得到压力脉搏波。压力传感器可置于手腕的桡动脉或颈动脉处。
由于获得的脉搏波信号都比较微弱,且包含很多噪声。所以需要通过滤波放大单元进行滤波和放大。由于人体的有效信号处于0.3hz到30hz之间,故带通滤波的截止频率分别为0.3hz和30hz。其中包括了50hz的工频干扰等。同时利用放大器进行差分放大的方法,对获取的信号进行方法。
经过上一步滤波放大单元的处理,可得到初步处理的模拟信号。然后将信号送入ad转换单元。
通过ad转换单元,将模拟信号转化为数字信号,供处理器进行处理。
据附图1所示,基于上一步骤得到的脉搏波信号,进一步进行滤波的处理,主要包括了带通滤波和形态滤波。带通滤波为软件滤波,软件带通滤波采用巴特沃兹滤波,阶数为5阶,截止频率同样为0.3hz至30hz。
同时针对信号中的基线漂移,主要是由于被测对象的呼吸和传感器移动等低频干扰引起的。本身脉搏波和心电信号含有丰富的低频成分,基线漂移会掩盖有用信息。形态滤波广泛应用于信号处理和图像分析领域,可以极大保留信号的形态特征。本实施例为滤除基线漂移,使用较大的结构分别对原始信号进行先开后闭的运算合先闭后开的运算,然后取平均值进行滤波。其结构如附图5所示。
在输入神经网络之前,对心电波形和ppw信号波形信号数据进行分割,因为每个人的信号频率不同,故如果单纯的使用同样的采样数量,会影响模型的准确性。所以首先识别出心电图的r波波峰,根据相邻r-r波峰,将ecg划分为一个心动周期。同理,识别出ppw波的波峰,根据相邻波峰将ppw划分为一个心动周期,然后对其进行归一化处理。
将上述分割好的数据进行特征提取,主要提取以下特征:
1)ptt,ptt为脉搏波传输时间,同时识别ppw脉搏波的波峰和心电波的r波,计算r波和ppw波波峰之间的时间差可获得脉搏波传输时间。
2)起始点到上升的波峰之间的距离,即为上升时间,t1;
3)起始点到重搏波之间的距离,即为第二上升时间,t2;
4)反射指数(ri),收缩峰值(h1)与重博峰(h2)的比值,即h1/h2;
5)心率hr,识别出心电波形的r波,计算心电波形临近r波之间的时间差,然后根据其时间推算心率值。
据上述所述,共有5个特征。从连续的心动周期中分别提取上述特征,组成了
上述特征的序列分别为特征向量序列
a)将特征矩阵x首先输入卷积层提取特征层;
b)输入批标准化bn层将各层特征进行标准化处理;
c)以m为时间步输入双向lstm网络;
d)之后加入dropout层防止网络出现过拟合;
e)最后由全连接dense层输出y=[sbp,dbp],sbp为收缩压、dbp为舒张压,y是指神经网络的输出标量,即预测的血压结果数据集输出。
lstm长短时记忆神经网络常用于语义分析、机器翻译等,可将lstm应用于血压的检测,降低特征随时间改变造成的精度降低。lstm使用当前输入xt和上一状态传递下来的ht-1训练得到4个状态,分别为三个状态门和一个记忆单元。其中,xt表示当前层,输入数据集,ht-1表示前一单元的输出。三个控制门分别为输入门、忘记门和输出门。分别通过把上个节点的输出装在入长时记忆单元,对上个节点的输入进行选择性忘记,对重点进行选择性记忆并选择合适的记忆进行输出。
神经网络的损失函数为均方误差(mse),公式如下:
梯度优化采用adam优化,能够自动适应计算每个参数的自适应学习率,该方法不仅存储了先前平方梯度指数衰减平均值还保持了先前梯度的指数衰减平均值。在正则化中,要合理设置l2范数以防止过拟合。mse用来检测模型的预测值和真实值之间的偏差。m指测试样本总数,m表示具体样本索引,ym表示第m个样本的真实值,
神经网络的输出yt即包含了测量的收缩压sbp,舒张压dbp。yt为神经网络输出血压结果数据集的转置。