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

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

时间:2024-05-10 13:11:18浏览次数:12  
标签:PPG 提供者 模型 低功耗 网络 开源 信号 MultiResUNet Net

具体的软硬件实现点击 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信号之间存在相位滞后,需要进一步处理来对齐它们。然而,在我们的预测输出中,我们可以观察到我们的基于深度学习的模型已经能够显着克服相位滞后的问题。事实上,这可能会非常有益, 因为信号采集协议在实际应用中两个信号之间也可能存在相位滞后。

标签:PPG,提供者,模型,低功耗,网络,开源,信号,MultiResUNet,Net
From: https://www.cnblogs.com/mcu-ai-QH/p/18184100

相关文章

  • 一种新的基于机器学习的示波法血压估计方法,开源、低功耗、低成本的人工智能软硬件提供
    具体的软硬件实现点击http://mcu-ai.com/MCU-AI技术网页_MCU-AI人工智能血压的测量和预测是心脏病患者和有心脏问题的人的一个重要条件,应该保持持续的控制。在这项研究中,基于从使用袖带的个体获得的振荡波形,振荡波形分为三个周期。第一个周期是从起点到收缩压(SBP),第二个周期是......
  • 表单设计器开源:助力提质增效的办公利器
    在激烈的市场竞争之下,拥有过硬的技术和本领的企业,就能在市场中提升市场竞争力,斩获更多市场份额。作为提质增效的办公利器,低代码技术平台、表单设计器开源拥有理想的优势特点,如操作灵活、易维护、可视化界面等,都深受客户朋友的喜爱。想要更好地利用数据,提高办公效率,可以随时来了解......
  • 盘点10个.Net比较流行的开源的ORM框架
    https://gitee.com/BookerLiu/GeekDesk编程乐趣2022-09-10对于我们而言选择ORM框架的目的,其实都是为了让我们的程序更好的操作数据库,提高开发编程效率和程序的维护拓展性。所以我们选择ORM需要从项目实际业务出发,选择最合适自己团队的框架。下面推荐10个主流比较流行的ORM框架,都......
  • 5个.Net版本 Redis 客户端开源库
    Redis作为一个高性能(NOSQL)的key-value数据库,在实际项目开发中运用非常广泛,也适用于很多业务场景。下面介绍5个.Net版本Redis客户端开源库,方便开发和提升效率。1、StackExchange.Redis简介:由StackExchange团队开发。它提供了丰富的功能和选项,如连接池、管道、事务、发布/订阅......
  • 一个开源的基于Asp.Net Mvc开发的个人博客系统项目
    项目简介这是一个基于Mvc5构建的简单、代码层级分明的开源个人博客系统。前端美观大气、后台采用RightControl.NET通用角色权限系统,开发简单、效率高。网站配置采用XML配置,灵活可以根据自己是需求进行个性化配置。系统功能完备,完全可以满足需求,基本不用二次开发,非常使用程序......
  • MediatR是一个在.NET应用程序中实现“中介者模式”的开源库
    MediatR是一个在.NET应用程序中实现“中介者模式”的开源库。该库通过一种进程内消息传递机制(无其他外部依赖),进行请求/响应、命令、查询、通知和事件的消息传递,并通过泛型来支持消息的智能调度。中介者模式是一种行为设计模式,它允许对象之间通过一个中介者对象进行交互,而不是直接......
  • Seal-Report是一个基于.NET框架的开源报表项目
    01项目简介Seal-Report是一个基于.NET框架的开源项目,提供了简单、直观的报表和报告功能,具有报表设计器,可减少复杂的配置,无需编程知识也可以使用。采用该项目,就可以为企业快速提供高质量的报表,从而提升工作效率和决策速度。 https://github.com/ariacom/Seal-Report02项目功......
  • ExcelDataReader:一个.Net高性能Excel开源读取器
    ExcelDataReader:一个.Net高性能Excel开源读取器来自:编程乐趣推荐一个用于读取MicrosoftExcel文件的高性能开源库。 01项目简介ExcelDataReader是一个功能强大且易于使用的开源项目,提供了丰富的读取API,专门读取Excel文件的数据,特别是处理大数据量的情况。ExcelDataReader......
  • websocket-sharp:.NET平台上的WebSocket客户端与服务器开源库
    1.简介:websocket-sharp提供WebSocket客户端和服务器库,基于C#开发的,并遵循WebSocket协议规范,使得开发人员能够轻松地在.NET应用程序中实现WebSocket通信。https://github.com/sta/websocket-sharpwebsocket-sharp特色功能有:1、简洁易用的API:提供清晰且直观的API接......
  • .Net开源项目推荐:12 篇热文汇总
    今天盘点下4月份分享的12篇热文,其中包含10个开源项目、2个VisualStudio插件(点击标题查看详情)。1、ImageSharp:高性能跨平台.NET开源图形库一款完全托管的代码库,高性能、跨平台的图形库。它支持在任何支持.NET6+的环境中安装和使用,可以运用在各种场景:设备端,云端以及嵌入式和物......