APP下载

基于心冲击图和BP神经网络的心率异常分类研究

2021-06-22张加宏谢丽君冒晓莉周炳宇

数据采集与处理 2021年3期
关键词:神经元心率神经网络

张加宏,孟 辉,谢丽君,冒晓莉,周炳宇

(1.南京信息工程大学电子与信息工程学院,南京210044;2.南京信息工程大学江苏省大气环境与装备技术协同创新中心,南京210044)

引 言

早期理论推断人在安静状态下心脏的跳动呈现有规律且连续的特点,类似一个节拍器,然而科学家如今发现,事实并非如此。心脏跳动即便在安静情况下也没有规律可循,相反它是不规则的,相邻心跳间隔的差值也不固定。科学家把这种逐次心跳间隔的自然变化赋予了一个专有名词—心率变异性(Heart rate variability,HRV),在医学分析上表示每个人不同的心率变化。国内外研究发现,HRV信号可作为冠心病[1⁃3]、心力衰竭[4⁃6]、高血压[7⁃9]和睡眠呼吸暂停综合症[10⁃12]等疾病的预测因子,通过对HRV信号的提取可以帮助医疗人员对患者的相关疾病问题进行更好的分析与诊断。

HRV信号的研究一般以心电图(Electrocardiogram,ECG)和光电容积图(Photoplethysmography,PPG)、远程光电容积图(Remote PPG,RPPG)为主。在ECG方面,针对心律失常中心室房颤(Ventric⁃ularfibrillation,VF)需提前预测的问题,Javid等[13]在VF发生之前,使用t检验提取心电图中的HRV特征参数,并通过遗传算法(Genetic algorithm,GA)和人工神经网络(Artificial neural network,ANN)结合实现了对VF的有效预测;针对日常情绪影响人类健康的问题,Han等[14]设计了一种影片剪辑方法来诱发不同情绪状态并同时提取心电图中的HRV参数,借助主成分分析(Principal component analysis,PCA)来减少特征数量,使用支持向量机(Support vector machine,SVM)作为HRV信号的分类器,取得了不错的效果。在PPG方面,Xu等[15]利用基于双向长短期记忆(Biodirectional long⁃short term memo⁃ry,BILSTM)网络的深度递归神经网络(Recursive neural network,RNN)算法,解决了PPG对运动伪影极度脆弱、剧烈运动中难以准确提取HRV的问题;Chun等[16]基于低成本数字信号处理(Digital sig⁃nal processing,DSP)实现了一种利用改进LOMB算法进行HRV计算的算法。在RPPG方面,Li等[17]运用斜率和函数(Slope sum function,SSF)来改善心跳间隔(Inter⁃beat interval,IBI)检测,从而提高了HRV测量的准确性;Gao等[18]提出了时间差间隔像素(Time difference interval pix,TDIP)测量HRV信号,结果表明该方法显著减少了HRV计算量,提高了实时性能。

上述HRV分析方法解决了人体健康研究中存在的诸多问题,然而所用方法进行长期HRV分析本身却存在以下不足:(1)ECG检测的前提是需裸露体表,并在皮肤上涂抹耦合剂后附加电极,耦合剂对皮肤有刺激作用,不适合长期检测[19⁃20],另外具备HRV分析的心电设备造价相对昂贵;(2)PPG和RP⁃PG测量时主要的挑战来自周围光线的影响和肤色的差异,光线的影响包括阳光产生的直流误差与由不同灯发出的光线带来的交流误差的频率分量,肤色的差异包括黑皮肤、黄皮肤、白皮肤,纹身和伤疤等;(3)ECG和PPG检测属于接触式,容易带给患者不适感,从而增大测量误差。因此,本文提出了一种基于非接触心冲击图(Ballistocardiogram,BCG)进行HRV分析的方法,该方法利用压电传感器来采集人体心脏泵血和大动脉血液循环期间在体表产生的微弱振动信号,提取BCG中HRV参数并带入逆传播(Back propagation,BP)神经网络进行心率异常诊断。整套实验设备成本低于现有心电设备,非接触检测方式降低了患者测量时的不适感,更适用于长期的疾病监测。文中通过探讨BCG和ECG在HRV信号中的一致性关系,证明了BCG可用于进行HRV分析;在缺乏大量标准BCG心率异常样本的情况下,提取了ECG中的HRV参数并构建与训练了基于BP神经网络的心率异常分类模型,最后从本实验采集BCG样本数据中提取相应HRV参数,代入分类模型进行心率异常预测,验证了该方法进行心率异常诊断的可靠性。

1 相关理论

1.1 HRV的分析指标

实际上,线性和非线性是HRV分析的最主要方法。线性分析方法包括时域、频域及时频分析,时域分析的指标有总体均值、总体标准差、均值标准差、标准差均值和差值均方根等,分别以MEAN、SDNN、SDANN、SDNNI和RMSSD表示;频域分析的指标有超低频段(0~0.003 Hz)、极低频段(0.003~0.04 Hz)、低频段(0.04~0.15 Hz)和高频段(0.15~0.4 Hz),分别以ULF、VLF、LF和HF表示[21]。非线性分析方法主要有复杂度、庞加莱散点图等,以最热门的庞加莱散点图为例,图像的横纵坐标分别选取了连续靠近的两个RR间期或JJ间期,而图像中的点表示所有的心动周期。研究表明,散点图呈现的不同分布状态与患者的生理和病理信息密切相关,若呈现彗星状代表人体无异常,若呈现不规则的形状则代表人体可能患有心血管疾病。

1.2 BCG信号进行HRV分析的可行性

利用ECG进行HRV分析是最普遍的方法之一。大量文献资料的研究结果表明,从BCG和ECG中提取的HRV参数无显著差异性,从而可证明BCG可以进行HRV分析。王敏[22]在探究BCG在心血管健康评估的应用研究中,通过ECG与BCG的HRV时域参数、频域参数以及非线性参数的数据对比,验证了ECG中的RR间隔和通过BCG的JJ间隔得到的HRV参数具有很强的相关性且差异是无统计学意义的;王昆[23]通过BCG⁃ECG联合采集设备收集了临床慢性心力衰竭患者BCG的JJ间隔数据和ECG的RR间隔数据样本,通过相关计算得到BCG和ECG的HRV线性与非线性相关指标的测定值,对比两者之间的相关性,并用配对t检验方法分析两组测定值之间的差异,最后得到两者无显著统计学差异;曹欣荣等[24]通过t检验方法验证了同一时间收集的20名测试者在平静、瓦氏动作后和运动后,ECG和BCG的HRV时域、频域以及非线性域的相关指标的测量值无显著差异。

另外相关研究表明,在相对较短的检测时间内利用BCG进行HRV分析和ECG相比误差较大,长度足够的数据能够将这两种方法的计算误差消除,因此利用BCG进行HRV分析的时间要足够长,而本文进行的心率异常分类是基于长时间的检测,因此本文设计的用于BCG的HRV分析系统是可行的。

2 分类器的设计

2.1 数据来源

本文采用的心率异常数据来源于PhysioBank数据库,选择其中的Mitdb库,库中包含了47名不同性别和年龄段的研究对象的48条心电记录[25],每条记录的时间30 min,由两位心脏病专家独立完成节拍标签的添加。该库中直接提供了带有标签的RR间期数据,可以下载此数据作为神经网络的训练样本进行分析。另外,库中共包含了15种不同类型的心跳类型,分别用不同的标签进行了注释,根据ANSI/AAMI标准,将这15种心跳类型共分成了5大类,即N、S、V、F、Q类。其中N(Normal beat)表示窦性心律,S(Premature or ectopic supraventricular beat)表示室上性异位搏动,V(Premature ventricular contraction)表示心室异位搏动,F(Fusion of ventricular and normal beat)表示心跳融合和VEB的节拍,Q(Unclassifiable beat)表示未知心跳类型。

2.2 数据划分

本文中主要对N、A、V、F、R进行分类,后期处理信号时,排除了质量较差的102、104、107和217这4条记录。首先选取30条记录RR间隔数据作为数据集,对这30条数据按照每段2 min进行切割,最终共得到了408组长度为2 min的有效心电数据,然后利用统计学方法对这408组数据进行HRV特征提取并根据心脏病专家对这些心电数据添加的节拍类别标签,完成了不同心率类型的分组,得到图1不同心跳类别的RR间隔的数值范围。

对ECG数据样本中HRV的时域分析参数RR、NN50、PNN50、SDNN、RMSSD进行提取作为数据样本,其中表示正常N的样本数为100组,判断房性早搏A的样本总数为96组,用于判断室性早搏V的样本总数为54组,判断右束支传导阻滞R的样本数为93组,判断心跳融合F的样本数为65组。这些数据用来训练得到最优的神经网络模型,为后续BCG信号中进行HRV心率异常分类奠定基础,具体划分结果见表1。

图1 不同心跳类别RR间隔的数值范围Fig.1 Numerical range of RR interval for differ⁃ent heart rate categories

表1 样本数据划分Table 1 Sample data division

2.3 分类方法

本文主要采用误差BP神经网络算法进行分类。为了验证本文采用的BP神经网络分类模型的准确性,同时选取随机森林(Random forest,RF)分类模型进行对比,实验中采用同一个数据样本即表1中的数据样本进行两种分类模型的训练与评估。

2.3.1 随机森林算法

RF算法包含了众多决策树且相互之间没有关联,提高泛化精度的方法主要采用了构建和使用多棵树:当新样本被输入其中,每棵决策树会立即作出判断。randomforest为第三方工具箱,Matlab通过该工具箱可以实现随机森林模型的训练。

具体操作:Matlab中RF分类器的核心代码为:model=classRF_train(Train,Train_lable),其中训练数据以Train表示,训练数据的标签以Train_lable表示,将表1训练集样本中提取的[RR,NN50,PNN50,SDNN,RMSDD]特征向量作为训练数据,利用训练集数据样本对模型进行训练后,从表1测试集样本中提取[RR,NN50,PNN50,SDNN,RMSDD]特征向量送入模型,事先已知的测试集样本真实心跳类别标签定义为Test_lable,最后将模型对测试集样本预测后输出的标签定义为Predict_lable,并与Test_lable进行对比,得到RF分类模型对每个心跳类别的预测类别结果图。

图2中1~5分别表示N、A、V、R、F类心跳类型,横坐标表示测试集样本数量。“。”表示样本的真实类别标签Test_lable,“•”表示样本的预测类别标签Predict_lable,Predict_lable和Test_lable重合数量越多说明模型的分类效果越好。

图2 RF模型分类结果Fig.2 RF model classification result

2.3.2 BP神经网络算法

BP神经网络在人工神经网络的范围内,主要由3层或者3层以上的网络结构构成,主要利用梯度下降法和误差反向传播解决多层神经网络的隐含层连接权学习的问题,是目前应用最广泛的神经网络之一,BP神经网络的构建、训练和分类共同构成了BP神经网络的HRV信号分类算法[26]。

(1)BP神经网络构建

选择合适的神经元数目以及隐含层的层数直接影响着分类模型的质量,但是目前来说,对于选择上述两个参数还没有标准的规则。总体而言,输入层的神经元个数要低于隐含层的神经元个数,另外神经网络隐含层的层数一般大于1。本文主要根据经验以及多次试验选择不同的学习参数、隐含层数和神经元个数,列出了具有代表性的识别正确率,结果如图3所示,其中横坐标表示迭代次数,纵坐标表示收敛精度。

最终生成的BP神经网络的拓扑结构如图4所示,隐含层层数确定为3,每层隐含层神经元的数量分别为16、32和16,学习率设置为0.1,迭代次数设置为300,权值和阈值在初始化神经网络时随机赋予[-1,1]范围内的任意值。

图3 BP训练模型ACC对比Fig.3 ACC comparison of BP training model

图4 BP神经网络的拓扑结构Fig.4 Topological structure of BP neural network

本文设计的BP分类模型输入层包括5个神经元,用向量X表示,X=[X1,X2,X3,X4,X5]T,分别代表5种特征向量即RR、NN50、PNN50、SDNN和RMSSD;中间隐含层有3层,以W ij表示输入层与隐含层的连接权值;最后输出层神经元的个数为5,用向量Y表示,Y=[Y1,Y2,Y3,Y4,Y5]T,分别表示心率异常中的N、A、V、R、F类,以W jk表示隐含层与输出层的连接权值,隐含层各神经元阈值为aj(j=1,2,…,l),输出层各神经元的阈值为bk(k=1,2,…,m)。

(2)BP神经网络训练

BP算法流程如图5所示,具体传播过程如下:式(1)描述了神经元输入与输出关系,其中x i表示第i个输入信号,y表示神经元输出信号,w i表示第i个输入信号链接权重,f(·)表示激活函数。

采用ReLU函数作为激活函数来描述输入与输出的关系,ReLU函数如式(2)所示。

图5 BP算法流程图Fig.5 Flow chart of BP algorithm

输入层中的每个神经元分别代表不同的HRV特征参数,除了输入层,每层的神经元都利用式(1)得到新的信号作为输出信号。式(3)定义了第k层链接权重矩阵W k,其元素w kn,m表示从第k-1层的第n个神经元指向第k层的第m个神经元的链接权重。

神经网络的信号传播过程可以通过式(5)表示。

研究中重点关注了误差函数的斜率方向,因此常系数忽略。权重的增量随着误差函数梯度的增大而增大,两者成正比关系,且权重的增量需乘以学习率。权重增量Δw j,k可表示为

值得注意的是,权重增量可用于调整权重。

具体实现过程为:首先用标签1~5几个数字分别表示N、A、V、R、F几种心跳类型,然后提取表1中训练集样本数据的[RR,NN50,PNN50,SDNN,RMSDD]作为神经网络的输入来训练,得到最优网络分类模型,提取测试集中的[RR,NN50,PNN50,SDNN,RMS⁃DD]特征向量送入分类模型,模型对这些样本作出预测分类,输出结果为样本的预测类别标签Predict_lable,测试集样本的心跳真实类别定义为Test_lable,通过Predict_lable与Test_lable对比,得到BP神经网络预测模型的分类效果如图6所示。

2.3.3 模型评估

引入混淆矩阵对BP分类模型与RF分类模型进行评估。混淆矩阵中统计的是个数,难以判断模型的好坏程度,基于这情况又引申了基于真阳性TP、真阴性TN、假阳性FP和假阴性FN的4项指标:精确度(Precision)、灵敏度(Sensitivi⁃ty)、特异性(Specificity)和正确率(Accuracy)。

图6 BP分类模型预测结果Fig.6 Prediction results of BP clas⁃sification model

图7 RF与BP分类模型混淆矩阵Fig.7 Confusion matrices of RF and BP classification models

通过Matlab中第三方工具箱实现了RF和BP分类模型的搭建,提取表1中的测试数据样本进行验证,分别得到了BP神经网络分类模型与RF分类模型的混淆矩阵,模型评估结果如图7所示。其中横、纵坐标分别表示样本的真实值和预测值,数字1到5分别代表心跳类型N、A、V、R和F,表中的数值表示每类样本被分类到每类标签的数量。

从图7可以直观地看出5类心率类型的分类情况。表格中对角线上的数值代表模型正确分类的样本个数,其余的数值表示模型分类错误的个数。BP网络模型分类正确的样本数量最多,其次是RF分类模型,另外,N类型的心跳识别率都较高,而F类型的心率识别率都较低,经分析这种情况与样本的数量有关。为了进一步对两种分类模型进行对比,对以上两个模型输出结果中不同类别的心跳分类情况的敏感度、精确度、特异性以及正确率进行了统计,结果如表2所示。

表2 BP与RF分类模型的相关评估指标结果Table 2 Related evaluation index results of BP and RF classification models

从表2可以看出这两种模型的性能评估值情况,初步分析可以看出BP分类模型相对于RF分类模型的评估值较高。另外对于同一种分类模型不同的心率类别的分类得分也不同,综合来看分类模型对N类的分类效果较好,而对于F、V类的分类效果较差。

F1⁃score是衡量分类问题的最终测评方法,它是精确率和灵敏度的调和平均数,范围在0到1之间。

式中:P表示精确度,R表示灵敏度。为了更直观地呈现出这两种模型的分类效果,对两种模型的平均F1⁃score进行计算并绘制折线图进行对比,结果如图8所示。图中观察得到,BP网络分类模型的F1⁃score为94.218%,RF分类模型的F1⁃score为87.991%,相较之下,BP模型分数更高,因此选用BP神经网络进行心率异常的分类。

图8 BP与RF模型F 1-score对比模型Fig.8 Comparison of F 1-score between BP and RF models

3 实验及其数据分析

基于BP神经网络的心率异常分类已完成了网络的构建和网络的训练,对于网络的分类,通过采集到的BCG信号提取HRV特征参数[RR,NN50,PNN50,SDNN,RMSDD]作为网络输入,送入训练好的神经网络模型进行心率异常预测分类,并统计准确率。

3.1 实验平台搭建

系统的现场测试平台如图9所示,该实验系统由医疗床、压电传感器、下位机和上位机组成。采用压电传感器定制成的床垫平铺在测试者胸口,压电床垫内部采用了S形结构增大了与人体的接触面积,提高了信号强度;下位机由信号调理电路和STM 32构成,其中信号调理电路由电荷放大器、电压抬升器和电压比较器构成,电荷放大器负责将微弱电荷转换成电压1,1.65 V电压抬升器负责将电压1抬升至电压2来满足ADC转换范围,1.65 V电压比较器将所得信号输出成占空比不同的矩形波即电压信号3,STM 32内部ADC精度配置为12位且采样频率为1 k Hz,转换后的数字信号通过串口传送至上位机;上位机主要负责下位机无线的通信功能,包括接收下位机发送的BCG数据并将数据保存至本地,后台对数据进行分析,实现心率异常预测诊断。

图9 系统测试平台Fig.9 System test platform

3.2 BCG数据采集

为验证BP神经网络模型对心率异常的分类效果,招募了10名健康成年人(男性4名,女性6名)和10名室性早搏患者(男性5名,女性5名)进行BCG信号采集。采集时,测试者需平躺在床垫之上保持静止,待单片机稳定之后进行测试。

3.3 HRV参数提取

选取的HRV参数都依赖于特征参数RR,在心冲击图中RR表示相邻J峰的时间间隔,因此需有效定位出J峰位置。BCG信号具有周期性,波形中最显著的是IJK波群,例如患有室性早搏PVC的人群单个周期波形较为平缓且J波幅度不明显。传统提取算法容易造成漏检,因此采用改进差分阈值算法来突出IJK波群。由于原始BCG信号中存在部分高频噪声和低频呼吸噪声,需提前滤除,具体提取流程如下:

(1)截取10 s长度的信号,借用Fdatool设计矩形窗带通滤波器:滤波类型函数为Fir2,阶数20,通带频率0.9~50 Hz,去除噪声干扰;

(2)利用Mapmaxmin函数进行归一化处理,将信号幅值限定在[-1,1]之间;

(3)进行一阶差分运算y'(n)和二阶差分运算y''(n),并计算差分平方和;

(4)利用峰值检测算法对J峰进行检测,标记出J峰位置并计算相邻J峰时间间隔记为RR;

(5)根据RR计算相应特征值NN50、SDNN、RMSSD和PNN50。

图10显示了10 s内1名健康男性与1名室性早搏患者的HRV参数提取流程。图中采用差分阈值算法和峰值检测算法相结合来提取J峰。横坐标数值0到10 000代表10 s波段内的BCG信号采样个数,纵坐标代表ADC转换值;a行表示由PVDF压电电缆采集、经过信号调理电路处理,再由ADC模数转换后的原始信号,b行为带通滤波处理后归一化的波形,其中室性早搏患者在5 000左右出现早搏现象,BCG波形幅度有了显著的降低,而在之后阶段幅度恢复;c行为差分处理后的信号波形;d行为峰值检测算法提取J峰后的信号波形,红色“+”标记点表示获得有效的J峰点,RR表示相邻两段J峰,依照此流程,截取2 min为一个波形段并提取特征参数RR,从而计算NN50、SDNN、RMSSD和PNN50。

图10 HRV参数提取流程图Fig.10 Flow chart of HRV parameter extraction

3.4 实验数据分析

按照上述方法从这10名正常健康成年人的BCG数据中分别提取5组共50组特征向量作为样本A,从这10名室性早搏患者的BCG数据中分别提取5组共50组特征向量作为样本B。本文主要对正常心跳和室性早搏的BCG心跳类型进行识别分类,提取的数据样本结果如表3所示。

表3 BCG信号HRV指标数据样本Table 3 HRV indicator data samples based on BCG signal

得到数据样本A和B后,将数据送入本文设计的BP神经网络模型中,通过模型输出的Predict_lable与事先已知的样本中的Test_lable对比,得到模型用于BCG心率异常诊断的准确性。测试结果如表4所示,其中数字代表模型预测为不同心跳类别的数量。

根据表4中的实验结果数据,可以得到50组室性早搏样本中模型预测为室性早搏的有40组,因此该模型对心率异常的识别准确率为80%。经过试验验证,该模型用于实际的BCG信号心率异常诊断和模型预测的识别效果有一些差别,推测这主要和采集的BCG样本量以及样本类别比例有关。但是对于本文心率异常诊断研究的目标来说,该模型对于BCG信号的异常分类效果能够在家庭日常生活生理健康监护中起到较好的心率异常疾病的预防作用,因此具有一定的参考价值。该研究为以后基于BCG信号的心率异常分类研究奠定了基础。另外本文进行心率异常分类研究的目的是利用BCG信号对心率异常状况进行预测,实现在家庭健康监护中对人体的心率异常状况早发现、早治疗,因此基本达到了预期功能。

表4 BP分类模型对BCG心率异常预测结果Table 4 Abnormal beart rate prediction of BCGbased on BP classification model

4 结束语

本文主要进行了BCG中HRV参数应用于心率异常分类的研究,分析了当前ECG、PPG和RPPG存在的不足,提出了一种非接触式BCG进行心率异常分类的方法。实验结果表明,从BCG信号提取的HRV参数进行心率异常分类具有可靠性和参考价值。本文研究的BCG心率异常分类只是在日常生活中起到对人体生理健康监测的参考以及对心率失常的一个提醒作用,在医学辅助方面发挥了一定的价值,但并不能真正取代医疗诊断方法。该相关研究为进行心率异常诊断提供了一种新方式,为后续研究BCG信号心率异常分类提供了分类理论模型参考。

猜你喜欢

神经元心率神经网络
基于递归模糊神经网络的风电平滑控制策略
心率多少才健康
离心率
离心率相关问题
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
跃动的神经元——波兰Brain Embassy联合办公
探索圆锥曲线离心率的求解
ERK1/2介导姜黄素抑制STS诱导神经元毒性损伤的作用
毫米波导引头预定回路改进单神经元控制