一种基于光电容积波的血压测量神经网络算法,开源、低功耗、低成本的人工智能软硬件提供者
具体的软硬件实现点击 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信号之间存在相位滞后,需要进一步处理来对齐它们。然而,在我们的预测输出中,我们可以观察到我们的基于深度学习的模型已经能够显着克服相位滞后的问题。事实上,这可能会非常有益, 因为信号采集协议在实际应用中两个信号之间也可能存在相位滞后。