一种基于光电容积波的血压测量神经网络算法,开源、低功耗、低成本的人工智能软硬件提供者

news/2024/9/30 19:41:09

具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI人工智能
心血管疾病是最严重的死亡原因之一,每年在全世界造成严重的生命损失。持续监测血压似乎是最可行的选择,但这需要一个侵入性的过程,带来了几层复杂性。这促使我们开发一种方法,通过使用光体积描记图(PPG)信号的非侵入性方法来预测连续动脉血压(ABP)波形。此外,我们还探索了深度学习的优势,因为它可以使手工制作的特征计算变得不相关,从而使我们摆脱仅坚持理想形状的PPG信号的束缚,这是现有方法的一个缺点。因此,我们提出了PPG2ABP,这是一种基于深度学习的方法,它能够根据输入PPG信号预测连续的ABP波形,平均绝对误差为4.604mmHg,同时保持形状、幅度和相位。然而,PPG2ABP更令人震惊的成功是,根据预测的ABP波形计算的DBP、MAP和SBP的值在几个指标下优于现有的工作,尽管PPG2ABP没有被明确训练为这样做。

为了开发和评估我们提出的算法,使用了 Physionet 的 MIMIC II 数 据集(重症监护中的多参数智能监测)[29, 30]。幸运的是,该数据库不仅提供 PPG 信号,还连续包含同步动脉血压 (ABP) 信号,这是我们算法的关键部分。两个信号的采样率为 125 Hz,并以 8 位精度记录。 在这项工作中,我们实际上利用了 Kachuee 等人从 MIMIC II 编译的数据。 [25, 26]。其背后的主要原因是,不仅数据以方便分析的形式呈现,而且原始信号已经经过算法预处理。

为方便 起见,Kachuee 等人。忽略了血压值太小或太大的信号事件。他们仅考虑 60 mmHg ≤ DBP ≤ 130 mmHg 和 80 mmHg ≤ SBP ≤ 180 mmHg 的 信号。然而,我们没有遵循这种方便的方案,首先是因为我们希望在更广泛的信号范围内测试我们的算法,其次,现实世界的应用场景很可能会表现出如此小而高的血压值。因此,我们甚至考虑了 DBP ≈ 50 mmHg 和 SBP ≈ 200 mmHg 的信号。数据集的统计结果如表1所示。可以看出, SBP具有较大的标准差值;当预测 Kachuee 等人的假设的 SBP 值时,这 个广泛的范围可能会造成严重的困难 [26]。 2.2.1 Preprocessing5基于输入 PPG 信号近似 ABP 波形。 ABP 的初步粗略估计通过细化网络进一步细化。最后,除了预测的 ABP 波形之外,还可以直接计算 SBP、DBP 和 MAP 的值。

在我们的分析中,我们考虑了 8.192 秒长的信号片段,即,我们根据 8.192 秒长的 PPG 信号预测了 8.192 秒长的动脉血压 (ABP) 波形。选择 8.192 秒的剧集长度(相当于 1024 个样本),使我们能够训练足够深的神 经网络,而不会因大量的计算复杂性而陷入瘫痪。然而,在下载的数据库 中,我们的信号总持续时间为 741.53 小时。为了减轻计算要求,我们对数 据进行了欠采样。遵循以下方案。首先,根据 SBP 和 DBP 值将 8.192 秒 长的信号排列在 bin 中。接下来,从所有 bin 中随机选择 25% 的数据。 这样,总共获得了127260个随机片段,计算时长为353.5小时。从这 100000个样本中随机选取作为训练数据(约占78.58%),其余27260个样 本保留作为独立测试数据。

我们首先简要描述 PPG2ABP 的步骤,然后详细讨论这些步骤。所提出的 算法 PPG2ABP 采用 T e 秒长的 PPG 信号,执行一些最小的预处理操作以衰减不规则性和噪声。接下来,使用近似网络处理滤波后的信号,即基于输入 PPG 信号近似 ABP 波形。 ABP 的初步粗略估计通过细化网络进 一步细化。最后,除了预测的 ABP 波形之外,还可以直接计算 SBP、DBP 和 MAP 的值。 PPG2ABP的整体流程如图

如前所述,我们使用了已经由 Kachuee 等人提出的方法预处理过的信号。因此,我们的预处理步骤与他们的相同。预处理阶段主要涉及小波去噪,以获得理想的结果,例如优越的相位响应、计算效率、信噪比方面的适应性等。小波变换执行 10 个分解级别,以 Daubechiesδ (dbδ) 作为 母小波 。然后,通过将分解系数设置为零来消除极低频率(0-0.25 Hz)和极高频率(250-500 Hz)分量。接下来,使用软 Rigrsure 阈值进行小波去噪。最后通过重构分解来恢复信号。在此阶段需要注意的是,为了便于深度学习模型的训练,对PPG信号进行均值归一化。

然后,滤波后的信号通过近似网络进行处理,该网络根据输入 PPG 信号近 似 ABP 信号。近似网络实际上是一个一维深度监督 U-Net 模型。U-Net 包含一个仅使用卷积层构建的网络来执行语义分割任务。网络结构是使 用一对对称的编码器网络和解码器网络构建的。编码器网络从输入中提取空 间特征,解码器网络利用这些特征来生成分割图。 U-Net 背后最具创新性 的想法是使用跳跃连接,它保留了在池化操作期间可能丢失的空间特征图。 虽然原始 U-Net 被设计用于对图像进行语义分割,但出于我们的目的,我 们利用它来基于一维信号执行回归。因此,二维卷积、池化和上采样操作被 一维对应操作取代。此外,除了最后一个卷积层之外的所有卷积层都使用 ReLU(整流线性单元)激活函数并进行批量归一化。为了产生回 归输出,最终的卷积层使用线性激活函数。此外,我们在 U-Net 网络中使用深度监督。深度监督是一种被证明可 以通过指导隐藏层的学习过程来减少总体错误的技术。在我们深度监督的 1D U-Net 中,我们在每次上采样操作之前计算一个中间输出,它是实际输 出信号的子采样版本。随着我们深入模型,损失函数的权重因子逐渐下降。 这种额外的辅助损失驱动了隐藏层的训练,并使最终的输出更加优异。
近似网络的输出有时与实际输出偏差很大。因此,我们使用一个额外的网络来细化近似网络的输出。我们称这个网络为 Reΐnement Network 即一维 MultiResUNet 模型 。MultiResUNet 模型[39]是  U-Net 模型 的改 进版 本。 两者 之间 的主 要区 别在 于包 含 MultiRes  模  块和 Res  路径 。Multires  模块 涉及 使用 因式 分解 卷积 的紧 凑形 式的 多分 辨率 分析 。另 一方 面,Res 路径 沿着 捷径 连接 施加 额外 的卷 积操 作, 以减 少相 应级 别的 编码 器和 解码 器网络的特征图之 间的 差异 。  与近 似网 络类 似, 该网 络也 由一 维版 本的 卷积 、池 化和 上采 样操 作。 激活 函数 也相 同, 即除 了最 后一 层之 外的 所有 层都 使用 ReLU ,  后者 使用 线性 激活 。这 些层 也被 批量 归一 化, 但没 有深 度监 督。 使用 ReΐnementNetwork  构建 血压 信号 的精 细波 形后 ,可 以通 过分 别取 信号 的最 大值 、最 小值 和平 均值 来计 算感 兴趣 的值 ,即 SBP 、 DBP  和 MAP 。我们使用Python编程语言来实现我们的算法并进行实验。神经网络模型是使用 Keras和 Tensorflow 开发的。此外, 我们已将代码公开,可以在以下 github 存储库中找到:  https://github.com/nibtehaz/PPG2ABP实验在配备 intel core i7-7700 处理器(3.6 GHz,8 MB 缓存)CPU、16 GB RAM 和 NVIDIA TITAN XP(12GB,1582 MHz)的台式计算机上进行 GPU。除了考虑U-Net和MultiResUNet之外,我们还使用SegNet和 FCNN等其他深度学习模型进行了一些初步实验。然而,U-Net 和 MultiResUNet 产生了相对更好的结果。我们还结合 U-Net 和 MultiResUNet 进行了近似和细化网络的实验。分析结果发现,当使用U-Net 作为细化网络时,它未能达到 MultiResUNet 的性能水平。相反, 当使用 MultiResUNet 作为近似网络时,它确实比经典的 U-Net 表现更好。然而,当另一个 MultiResUNet 模型用作细化网络时,整体性能仍然完全相同。我们假设,尽管 MultiResUNet 优于 U-Net 并且能够获得更好的波形,但细化网络最终会达到稳定状态。尽管如此,由于 U-Net 的计算量比 MultiResUNet 轻,因此我们使用 U-Net 作为近似网络,使用 MultiResUNet 作为细化网络。我们还探索了使用两个网络的更广泛变体的功效,包括增加数量的卷积滤波器。对于 U-Net 模型,我们将卷积滤波器的数量从 32 的倍数更改为 48、64、96 和 128。同样,对于 MultiResUNet,我们调整了 alpha = [1.67, 2, 2.5, 3],它控制整个模型中卷积层中使用的滤波器数量。据观察,具有更多过滤器的模型表现更好,这是显而易见的,因为包含额外的过滤器将使模型能够学习和捕获额外的形状和特征。然而,随着滤波器数量的增加,模型的计算成本变得越来越高,并且在达到一定水平之后,通过添加新滤波器获得的改进不值得不断增加的计算需求。因此,由于这种权衡,我们使用了滤波器数量为 64 倍数的 U-Net 模型,即 [64,128,256,512,1024],对于 MultiResUNet,我们将 α 的值限制为 2.5。此外,我们还尝试了深度监督的概念,并采用辅助损失来促进训练。对于 U-Net 和 MultiResUNet 模型,我们在转置卷积操作之前对卷积层的输出施加了额外的损失函数。此外,损失的权重选择为 [1,0.9,0.8,0.7,0.6],即全部权重都放在实际输出上,而对过早输出的权重逐渐减小。对于 U-Net 模型,观察到了显着的改进,但对于 MultiResUNet 模型,改进并不显着。因此,为了在计算量和准确性之间建立权衡,仅在 U-Net 模型中采用了深度监督;它尚未在 MultiResUNet 模型中使用。这项工作的主要且独特的目标是将 PPG 信号转换为相应的血压波形。尽管从以前的研究中发现两者之间存在一些相关性,但当我们考虑这两个波形时,它们彼此之间有很大不同。尽管如此,所提出的 PPG2ABP 模型仅以 PPG 信号作为输入即可预测血压波形。近似网络的输出给出了总体粗略估计,并通过细化模型进一步细化。下图说明了这样一个例子。可以看出,预测波形紧密遵循动脉血压的真实波形。因此,从实验结果来看,PPG2ABP 可以将 PPG 信号转换为相应的血压波形,同时保持形状、幅度和相位一致。从定量角度来看,整个测试数据集上血压波形构建的平均绝对误差为 4.604 ± 5.043 mmHg。此外,DBP、MAP和SBP预测的平均绝对误差分别为 3.449±6.147mmHg、2.310±4.437mmHg和 5.727±9.162mmHg。此外,之前的研究指出MIMIC数据库[47]的 PPG和ABP信号之间存在相位滞后,需要进一步处理来对齐它们。然而,在我们的预测输出中,我们可以观察到我们的基于深度学习的模型已经能够显着克服相位滞后的问题。事实上,这可能会非常有益, 因为信号采集协议在实际应用中两个信号之间也可能存在相位滞后。

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

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

相关文章

使用PyTorch实现L1, L2和Elastic Net正则化

在机器学习中,L1正则化、L2正则化和Elastic Net正则化是用来避免过拟合的技术,它们通过在损失函数中添加一个惩罚项来实现。 https://avoid.overfit.cn/post/c99ec105e41c4a71a0a1a29735245944

Selenium4自动化测试4--元素定位By.XPATH,元素定位最佳顺序

7-通过xpath定位,By.XPATHxpath是什么?XPath 是一门在 XML 文档中查找信息的语言xml是什么?XML(可扩展标记语言),主要用于传输数据为什么可以使用xpath定位html? XPath(XML路径语言)是一种用于在XML文档中定位元素的语言,它可以用于定位HTML文档中的元素。尽管XML和H…

基于pinctrl和GPIO子系统的按键驱动程序

嵌入式驱动开发中pinctrl和GPIO子系统使用频率非常高,其中pinctrl子系统主要用于复用和配置引脚,GPIO子系统用于设置GPIO的输入/输出,向引脚写入数据或者从引脚读取数据。一个引脚可以复用为多种不同的功能,因此要使用GPIO子系统首先要先把引脚配置为GPIO功能。下面将分为两…

从零开始写 Docker(十四)---重构:实现容器间 rootfs 隔离

本文为从零开始写 Docker 系列第十四篇,实现容器间的 rootfs 隔离,使得多个容器间互不影响。完整代码见:https://github.com/lixd/mydocker 欢迎 Star推荐阅读以下文章对 docker 基本实现有一个大致认识:核心原理:深入理解 Docker 核心原理:Namespace、Cgroups 和 Rootfs…

PCI-Express-Technology(三)

3.1 总线/设备/功能/的定义(Definition of Bus,Device and Function)正如PCI一样,每个PCIe功能(Function)的标识在其所在的设备内,以及这个设备所连接的总线内,都是唯一的。其标识符一般被称为“BDF”。对于任意一个 PCIe 拓扑结构,配置软件负责检测出拓扑中的每个Bus、…

一键自动化博客发布工具,用过的人都说好(infoq篇)

使用一键自动化博客发布工具blog-auto-publishing-tools把博客发布到infoq上。infoq的博客发布界面也是非常简洁的。首页就只有基本的标题,内容和封面图片,所以infoq的实现也相对比较简单。 一起来看看吧。 前提条件 前提条件当然是先下载 blog-auto-publishing-tools这个博客…

莫队(板子)

莫队 参考博客 玄学暴力区间操作算法PPT解释的很清楚啦~, 导致我没什么可写的 \(qwq\) 把所有询问离线下来后排序(左端点按块,右端点升序),然后从一个小区间通过左右端点的移动扩大区间,更新答案。 复杂度主要在区间扩展,也就是左右指针的移动,对于莫队所有的优化几乎都是…