于光电容积波PPG和心电图ECG的连续血压估计深度学习模型

news/2024/10/5 3:29:27

具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI人工智能
血压监测是监测人们健康状况的途径之一。早期发现血压异常可以帮助患者得到早期治疗并降低与心血管疾病相关的死亡率。因此,有一种机制来实时监测患者的血压变化是非常有价值的。在本文中,我们提出了使用心电图(ECG)和光电体积描记图(PPG)的深度学习回归模型,用于实时估计收缩压(SBP)和舒张压(DBP)。我们使用长短期双向记忆神经网络(LSTM)作为第一层,并在 LSTM 的后续层中添加一个残差连接。我们还使用 Physionet 的重症监护多参数 (MIMIC II) 数据集作为 ECG 和 PPG 信号源,进行了实验来比较传统机器学习方法、另一种现有的深度学习模型和所提出的深度学习模型之间的性能。结果表明,所提出的模型优于现有方法,并且能够实现准确的估计,有望有效应用于临床实践。

传统的基于袖带的血压测量装置具有重复测量操作,本质上是不连续的, 操作间隔至少大于一分钟。因此,利用相关生物医学信号的无袖血压测量变得炙手可热,而准确有效的血压估计在临床实践中发挥着至关重要的作用。近年来,一些BP检测和评估方法被提出。特征工程方法,特别是基于动脉波传播理论和光电体积描记图(PPG)形态学理论的方法,是研究最多的方法。 前一种方法通过测量脉搏传导时间 (PTT) 来预测血压水平。这种方法通常需要两种生理信号,例如心电图(ECG)和PPG信号。过去的几项研究已经探索了这种方法,验证了该解决方案的可行性。还提出了另一种通过建立 PPG 形态特征模型来评估血压水平的方法 。该方法需要高质量的PPG信号,如高采样率和采样精度,并且对多种噪声非常敏感。由于ECG和PPG信号的采集在临床环境中很流行,并且可以为回归模型提供更多信息,因此本研究同时采用ECG和PPG来估计血压值。目前已经建立的回归方法有很多,例如支持向量机(SVM)、线性回归、回归树、模型树、树集成和随机森林。大多数研究人员应用深度神经网络,因为它们允许他们拥有大量标记的输入数据,并且能够对输入和输出之间极其复杂和非线性的关系进行建模。对于血压估计,网络的输出层通常由两个神经元组成,一个用于收缩压,另一个用于舒张压。用于模型性能评估的指标是平均绝对误差(MAE)。ECG 和PPG是可用于检索血压估计重要信息的信号。 ECG、PPG 和动脉血压 (ABP) 信号模式之间的时间依赖性如图所示:

ECG 信号由五个波段 P、Q、R、S 和 T 组成,而 PPG 的波形信号描述心动周期的收缩期和舒张期。使用这些信号, 我们可以通过测量从 ECG 信号的 R 峰值到 PPG 信号的最大斜率的时间差来得出 PTT 值。除此之外,还可以导出其他参数,例如 ECG 中的 R 到 R 峰值间隔、收缩期峰值、重搏切迹和第二峰值的幅度以及 PPG 中心跳之间的时间间隔,以便可以提取更多参数特征。在这项工作中,我们提出了深度长短期记忆(LSTM)网络,利用从ECG和PPG信号中提取的特征来执行实时BP估计。

血压P和PTT之间存在非线性关系。意味着可以根据PTT来估计BP值,PTT在以前的研究中通常被用作间接估计BP的指标。除了定义为动脉脉冲从心脏传播到外周部位所花费的时间外,PTT还可以计算为心电图峰值与PPG最大斜率点(一阶导数)之间的时间间隔。然而,由于存在几个高度依赖于个人动脉特征的参数,如上方程所示,这也意味着基于PTT的BP估计是一项具有挑战性的任务。此外,基于PTT的BP估计技术尚未被广泛接受用于无袖带和连续BP监测,因为其估计精度在临床应用中受到限制。原因可以从以上方程中间接得出,其中可以观察到BP和PTT之间的关系不仅是非线性的,而且一些参数与个人动脉特征密切相关。这些问题使得基于PTT的BP估计不能满足临床需求。为了涵盖有关个人动脉特征的信息,本研究还包括一些其他参数。

下图显示了从 PPG 信号生成特征的一些参数。

首先对ECG和PPG进行预处理,预处理的主要作用是滤除干扰。接着将 ECG 和 PPG 信号的幅度标准化到范围 [0, 1],以简化和增强比较和分析过程。 ECG 和 PPG 信号幅度的单位是任意的,从中提取的特征可以取决于各个记录的放大/ 缩放。因此,进行归一化以确保提取的值是有意义的。

有七个特征可用作深度学习模型的输入。为了提取这些特征,首先我们使用 Pan-Tompkins 算法对整个 ECG 信号进行 R 峰值检测。基于基准 R 峰值,还可以在整个 PPG 信号上检测到其他四个参数,包括脚、 收缩峰值、重搏切迹和第二峰值。之后,我们指定周期的窗口大小。 在这里,我们将"周期"定义为始终从 R 峰值开始,然后是收缩峰值、下一个 R 峰 值,并以下一个 R 峰值结束的时间窗口。在执行滑动窗口方法时,窗口大小小于或等于200个数据点,我们提取每个窗口的七个特征。因此,每个不符合标准的周期都会被跳过,因为我们认为它是异常的。特征号1(PTT)是通过计算半个周期内ECG R峰值和PPG最大斜率之间的距离获得的。特征编号 2 (HR) 是从一个周期中的两个 R 峰值获得的,而其余特征 (RI、ST、 UT、SV、DV) 是在一个周期的第一脚到第二脚的范围内获得的。

LSTM是一种特殊的递归神经网络(RNN),它是通过解决消失梯度问题来处理长期依赖关系的一个突破。RNN的架构和标准LSTM之间的一个细微差别是隐藏层或所谓的单元。LSTM成功背后的核心点是可以随着时间的推移保持其状态的存储单元及其彻底调节信息流的非线性门控单元,如图所示。

双向LSTM(BiLSTM)将LSTM的两个隐藏层连接到输出层。在应用程序中将两个LSTM作为一个层,可以增强学习的长期依赖性,并将随之提高模型性能。先前的一项研究证明,双向网络在许多领域都明显优于标准网络,包括BP估计情况。


该方法的总体流程图如图所示

  1. 提取ECG、PPG 和ABP 信号。

  2. 对ECG和PPG信号进行预处理,主要包括去除基线漂移和运动伪影。

  3. 从预处理的 ECG 和 PPG 信号的周期以及 ABP 信号的参考血压(SBP 和 DBP)中导出波形特征。

  4. 使用机器学习、深度学习和所提出的模型训练 BP 估计模型。

5.评估 SBP 和 DBP 的估计准确性。

模型的训练效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/28811.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

ReSharper 显示使用的颜色

在代码里面输入类似于 Colors.Red 的代码,将会自动在代码后面显示一个对应颜色的小方块。本文将告诉大家这个功能的开关在哪里如 ReSharper 的官方文档描述,此功能的效果如下或如下此功能名叫 “Highlight color usages” 可以对代码里面的颜色进行颜色标识,比如在代码提示或…

[转帖]Oracle Linux 9.3 正式版发布 - Oracle 提供支持 RHEL 兼容发行版

sysin2023-11-21 上海 阅读 5 分钟 Oracle Linux 9.3 正式版发布 - Oracle 提供支持 RHEL 兼容发行版 Oracle Linux with Unbreakable Enterprise Kernel (UEK) & Red Hat compatible kernel (RHCK) 请访问原文链接:https://sysin.org/blog/oracle-linux-9/,查看最新版。…

OpenVX技术图例(一)

OpenVX技术图例(一) 参考文献链接 https://registry.khronos.org/OpenVX/specs/1.1/html/index.html人工智能芯片与自动驾驶

C++ 数据输入cin (解决CLoin输入中文程序出错)

数据输入cin语法:cin >> 变量 解决 CLoin 使用cin输入中文程序无法正常运行按住Ctrl+alt+shift+/键 弹出对话框选择注册表取消勾选run.process.with.pty

C++数据类型

整型C++除了int类型 还有其他类型的数据,所占空间也不一样 sizeof() 函数——得到数据所占的字节#include "iostream" using namespace std;int main() {system("chcp 65001");long long num = 20;cout << "long long 类型占" << s…

C++ cout打印输出 (解决输出乱码)

cout打印输出输出单份内容// 输出单份内容cout << "Hello World!" << endl;cout << 10 << endl;输出多份内容// 输出多份内容cout << "I am " << 18 << "years old" << endl;可以自由组合多个&…

学习笔记480—Obsidian中如何实现思维导图功能-mindmap插件

Obsidian中如何实现思维导图功能-mindmap插件 思维导图插件 思维导图是大家耳熟能详的一类软件,以xmind为代表。那么在obsidian中如何实现思维导图效果呢,本文介绍思维导图插件Enhancing mindmap的安装与使用过程。 效果图插件下载 Github地址: https://github.com/MarkMind…

初识Fink

概述 Fink用于处理计算的,如下图所示,将交易、日志、物联网、点击流的数据输入到Flink中进行处理计算,处理完成之后输出到应用、日志、数据库中。Flink是以流的方式对数据进行处理的,所谓流就是源源不断,每时每刻都在有序的产生,例如设备仪器运行数据就属于数据流,因为设…