王一飞,刘光浚,刘轩吉,陈占春,2,张英栋
1.太原理工大学机械与运载工程学院,山西太原 030024;2.山西省塑料机械工程虚拟仿真实验教学中心,山西太原 030024;3.山西省中西医结合医院中医内科,山西太原 030013
脉搏波是心脏周期性的搏动沿动脉血管和血流向外周传播形成的一种压力波,脉搏的变化是动脉内血压、血管弹性与血液粘性的反映,通常可采用光电容积脉搏波描记法(Photoplethysmography,PPG)采集脉搏波信号[1-3]。由于脉搏波特征参数与人体血管外周阻力和血容量存在相关关系[4-6],因此可通过分析其特征参数进行血压检测。如图1所示,常用的脉搏波特征参数有:主波高度(h1)、潮波高度(h3)、降中峡高度(h4)、重搏波高度(h5)、左心室快速射血期(t1)、左心室收缩期时间(t4)、左心室舒张期时间(t5)、脉搏波周期(t)等[7-8]。赵德康等[9]、李顶立[10]、孟祥平[11]运用线性回归模型结合脉搏波特征参数进行血压检测并取得了一定的成果,但血压易受到心率、外周阻力及血管壁弹性等因素的影响。因此仅使用线性模型无法准确地建立出脉搏波各个特征参数与血压包括收缩压和舒张压之间的数学关系,导致血压与脉搏波特征参数不呈线性关系,使得计算出的血压值不准确[12-14]。
图1 脉搏波特征参数Figure 1 Pulse wave characteristic parameters
为了使血压预测模型更符合实际情况,引入了可以充分逼近任意复杂的非线性关系的神经网络,并将其应用于脉搏波血压提取算法中[15-18]。本研究主要介绍了基于反向传播(Back Propagation, BP)神经网络(Back Propagation Neural Network)和循环神经网络(Recurrent Neural Network,RNN)的脉搏波信号血压检测算法[19-21],并比较其优缺点,介绍目前关于脉搏波血压检测的研究成果,最后对采用神经网络预测血压测量的前景进行展望。
BP神经网络是由非线性变换单元构成的前馈型神经网络,它可以接受多输入返回多输出,具有很好的非线性关系表征能力[22-24]。经典的3 层BP 神经网络如图2所示,包括输入层、隐藏层和输出层,层内节点相互之间无连接,层间节点之间全连接,数据的回归预测主要分为正向传播过程和误差反向传播过程[25-27]。正向传播过程是将输入层接受的输入信息通过隐藏层传递至输出层;误差反向传播过程是根据输出层接受到的信息与原始信息之间的误差修正网络节点之间的连接权重,逐渐使BP 神经网络模型能反映输入与输出之间的复杂映射关系[28-30]。
图2 BP神经网络结构示意图Figure 2 Schematic diagram of BP neural network structure
成刚等[31]通过微分法分别筛选出6个收缩压特征参数(波峰幅值、重搏波幅值等)和8个舒张压特征参数(波谷幅值、波峰幅值、上升支斜率、基波频率等),分别建立BP神经网络模型。通过实验发现在100个验证样本中,收缩压仿真值和测得值的均方根误差(Root Mean Square Error,RMSE)为5.92 mmHg,71个样本点的残差值在±5 mmHg以内;舒张压仿真值和测得值的RMSE为6.11 mmHg,71个样本点的残差值在±5 mmHg以内。其收缩压神经网络模型血压计算误差满足美国医疗仪器促进协会(AAMI)的国际标准(平均误差小于5 mmHg,误差的标准差小于8 mmHg)的比例为77%,舒张压为71%。刘少阳[32]选取以高血压患者的门诊随访记录(包括患者的脉搏、心率、运动状况等)作为输入信息建立不同节点数的BP神经网络收缩压与舒张压的计算模型。实验结果如图3所示,当BP神经网络模型的隐藏层节点数目为13时,收缩压的最高预测准确率为70.41%,舒张压为79.49%。淳新益等[33]使用遗传算法优化BP神经网络模型(GA-BP),通过脉搏波幅度等特征参数预测血压。实验结果表明收缩压估计平均绝对误差为(4.184±3.465)mmHg,而舒张压估计平均绝对误差为(3.599±3.042)mmHg;相较于传统的BP神经网络训练误差,梯度下降较大,收敛速度较快(图4)。
图3 BP神经网络模型血压预测结果Figure 3 Blood pressure prediction results of BP neural network model
图4 网络训练误差曲线Figure 4 Network training error curve
BP 神经网络因其优秀的非线性映射能力、自学习和自适应能力,可用来实现脉搏波特征参数的无创连续血压测量,其仿真值对临床上血压连续测量具有一定的参考意义。但由于其局部极小化和收敛速度慢的缺陷,BP 神经网络的血压测量精度及准确性较差,其舒张压和收缩压预测准确率最高均不足80%,不能有效控制血压的计算精度,此外,不同的节点数也会影响预测结果的精度。
RNN 是一种对序列数据建模的神经网络,具有短期记忆能力,可以在时间序列上找到输入数据的序列相关性(图5)[34-36]。长短期记忆(Long Short-Term Memory,LSTM)网络是一种特殊的RNN,可以对一个节点的输入信息进行筛选,相比普通的RNN,LSTM 能够在长时间序列中表现出更好的分析效果[37-39]。LSTM 网络结构包括一个记忆单元和输入门it、输出门σt和遗忘门ft(图6)。
图5 RNN模型结构示意图Figure 5 Schematic diagram of RNN model structure
图6 LSTM模型结构示意图Figure 6 Schematic diagram of LSTM model structure
刘艳萍等[40]将由光电容积描记法采集的3 000个脉搏波数据点中挑选完整脉搏波数据的128 个点的文本数据用作预测模型的输入,设计一种基于RNN的脉搏波血压计。实验表明,在用8 000 组数据使模型充分训练后,其收缩压的RMSE为2.51 mmHg,舒张压的RMSE为3.68 mmHg,血压预测误差均在±5 mmHg之内,符合国际血压计测量的误差范围。Şentürk等[41]将心电和光容积描记信号的22 个时域属性与RNN相结合连续估计血压,并与脉冲传递时间(Pulse Trasit Time,PTT)、支持向量回归(Support Vector Regression,SVR)、决策树(Decision Tree,DT)和多层感知机(Multi Layer Perceptron,MLP)进行对比。结果如表1 所示,相较于其它4 种模型,RNN 模型估计的收缩压与实测收缩压之间的RMSE 为3.63 mmHg,舒张压与实测舒张压之间的RMSE为1.48 mmHg,均为最小,说明RNN模型在血压预测上有着更高的准确度和更好的稳定性。李帆等[42]选用采样时间为10 s 的脉搏波信号的动脉血压参数作为输入,并将其作为判断个人健康状况的依据,搭建并训练LSTM 网络与传统RNN 血压预测模型。实验结果表明,训练后的LSTM 模型对血压的预测比传统RNN 模型更准确,通过与实际测得的血压值进行对比,LSTM 所预测得到的血压值的平均绝对误差(Mean Absolute Error,MAE)、均方根误差(Root Mean Square Error, RMSE)、标准差(Standard Deviation,STD)和R方值(R2_score)分别为4.05 mmHg、8.78 mmHg、7.42 mmHg 和0.89,而传统RNN模型则为11.58 mmHg、17.03 mmHg、14.54 mmHg 和0.73,说明LSTM模型有着更好的处理长时间序列数据的能力。闻博[43]使用LSTM 与ResNet 网络构建模型对血压进行预测,以平均625 个点的波形片段作为LSTM 与ResNet的输入,舒张压和收缩压为输出建立网络模型。实验结果如表2 所示,LSTM 网络模型的舒张压MAE为6.9 mmHg,收缩压MAE 为12.0 mmHg,由于模型输入数据为人工提取的信号波形特征,并未考虑脉搏信号的时序性,未能发挥LSTM 的长处,所以ResNet 的预测结果要优于LSTM。
表1 收缩压与舒张压预测比较(mmHg)Table 1 Comparison of predictive values of systolic and diastolic blood pressures(mmHg)
表2 建模结果Table 2 Modeling results
由此可见,RNN 模型因其处理序列数据的能力而备受研究者的关注,如表1 所示,其表现出的性能也要优于传统的SVR、DT、MLP 等,而LSTM 网络有效弥补了传统RNN在处理长时间序列时出现梯度消失和梯度爆炸的问题,所以其在处理长时间序列数据时的表现要优于传统网络,但在处理脉搏波波形特征时,ResNet的表现要优于LSTM 网络与RNN,可见LSTM 网络等RNN 善于处理序列数据,而ResNet等卷积神经网络善于处理维度数据。
相比传统的线性回归算法,神经网络可以从输入信息中学习到更加抽象的特征,对于更为复杂的非线性系统具有更优秀的建模能力。同时输入数据的形式、神经网络模型及神经网络相关参数的设置的选择对血压的预测精度息息相关,如RNN 善于处理序列数据,而ResNet善于处理维度数据,并且在使用相同的训练集时,ResNet18 的表现要优于ResNet34 和ResNet50。因此,在使用神经网络预测血压时,应根据数据集选择合适的神经网络及神经网络相关参数以得到更好的预测结果。
基于神经网络的血压测量方法作为可以描述脉搏波与血压之间非线性关系的血压检测算法,选择合适的脉搏波特征参数作为输入,并建立合适的神经网络模型可以有效提高血压计算模型准确率。随着神经网络脉搏波信号血压检测算法的研究逐渐深入,研究的重点一方面在探究脉搏波特征参数与血压之间的非线性关系的同时需要充分考虑脉搏波信号的时序连续性与波形特征,如使用将卷积神经网络与RNN 相结合的CRNN,该网络兼具卷积神经网络提取维度特征的优点与RNN 提取时序特征的优点,可以有效地提取脉搏波的波形特征与时序特征;另一方面在考虑脉搏波特征参数与血压之间的相关性的同时考虑不同的测量者群体(如性别、年龄及是否患有相关疾病等)对血压计算模型准确率的影响,使基于神经网络的脉搏波血压检测算法具备更好的普适性与鲁棒性。