NVIDIA 技术博客:借助 AI 代理提供更好的特定于患者的心血管护理

nvdev 2024-02-20 18:07:06

这篇文章最初发表在 NVIDIA 技术博客上。有关此类的更多内容,请参阅最新的 模拟/建模/设计 新闻和教程。

斯坦福大学的一个团队正在利用 AI 的强大功能推动近乎实时的心血管模拟来改变心脏健康。研究人员利用基于物理信息的机器学习替代模型,生成准确的、针对患者特定的血流可视化结果,以打开心脏研究的非侵入性窗口。从评估冠状动脉动脉瘤到开创先天性心脏病的新手术方法以及提高医疗设备的有效性,这项技术具有深远的影响。这项工作在推动心血管医学发展方面具有巨大潜力,可以为消除美国的主要死亡原因提供创新方法。

心血管模拟是针对患者特定治疗多种心脏相关疾病的重要推动因素。使用有限元方法对血液流动进行 3D 计算流体动力学 (CFD) 模拟是一项具有计算挑战性的任务,在临床实践中尤为如此。作为替代方案,我们经常使用基于物理性质的降序模型 (ROM),因为其效率更高。

但是,此类 ROM 依赖于对血管几何形状、复杂性或简化数学模型的简化假设,通常无法对感兴趣的数量进行建模,例如准确的血管接头处压力损失,否则这将需要完整的 3D 模拟。传统的数据驱动的降序方法(例如基于投影的方法)在域几何变化方面缺乏很大的灵活性,而域几何变化对于特定患者的心血管模拟至关重要。

作为替代方案,采用基于深度学习的代理可以对这些复杂的物理过程进行建模。物理信息机器学习 (Physics-ML) 支持通过参数化模型训练既能提高计算效率又能提高灵活性的深度学习模型。最近,有人提议使用基于图形神经网络 (GNN) 的架构来构建 Physics – ML 模型,以模拟基于网格的模拟。这种方法可以泛化不同的网格、边界条件和其他输入参数,因此非常适合特定于患者的心血管模拟。

斯坦福大学的研究团队利用 MeshGraphNet,这是一种基于图形神经网络 (GNN) 的架构,用于设计模拟血液流动的一维归序模型 (1D ROM)。该团队在 NVIDIA Modulus 平台中实施了这种方法,该平台配备了 MeshGraphNet 的优化实现。NVIDIA Modulus 中的 MeshGraphNet 参考实现带来了多项代码优化,例如数据并行、模型并行、梯度检查点、cuGraph 以及多 GPU 和多节点训练。所有这些优化都有助于开发用于心血管模拟的 GNN。

NVIDIA Modulus 是一个致力于开发基于物理信息的机器学习模型的开源框架。它通过支持代理模型的探索和开发,提高了高保真、复杂多物理模拟的效率。该框架支持数据集与第一原理的无缝集成,无论是通过控制偏微分方程,还是通过物理几何和边界条件等其他系统属性来描述。此外,它还提供了对输入空间进行参数化的能力,从而促进了对数字孪生等应用程序至关重要的参数化代理模型的开发。

NVIDIA Modulus 提供了 CFD、热学、结构和电磁模拟等领域的各种参考应用,并可用于气候建模、制造、汽车、医疗健康等领域的众多行业解决方案。这些示例可以作为研究人员工作的基础,例如在本例中为斯坦福大学研究团队提供的涡流。

将心血管模拟建模作为一种 AI 问题

在这项研究中,斯坦福大学团队的目标是开发一个一维 Physics-ML 模型。他们选择 GNN 来开发替代模型,该模型可沿合规容器的中心线推断压力和流速。该团队使用 3D 血管模型中的几何图形,并生成了由沿几何图形中心线的一组节点组成的定向图。

图中的节点和边缘捕捉给定时间内系统的状态。例如,横截面平均压力、流速以及沿容器中心线的容器内腔面积被包含为节点特征。GNN 获取时间 t 时的系统状态,并推断下一个时间步的系统状态。这可以迭代应用于部署,以模拟心血管周期,如图 2 所示。

The dataset preparation includes 3D simulation data from the Finite Element solver, averaged over the cross-section slice for 1D centerline representation, and the generation of a directed graph.图 1.将模拟问题建模为图形表示所涉及的步骤

确定血管内的血液动力学需要入口(红色)和出口(黄色)的边界条件。这些边界条件被建模为图形的特殊边缘,以解释这些边界条件的影响和复杂性。边界条件参数、用于区分节点(分支、结点、入口、出口)的 one-hot 向量编码以及心脏周期中的最小舒张压和最大收缩压也包含在节点特征中。

欲了解物理建模、图形特征映射和边界条件的详细信息,请参考论文使用图形神经网络学习心血管模拟的简化模型

Schematics of MeshGraphNet, rollout phase to update the state of the system and the encoder, processor, and decoder of the MeshGraphnet architecture.图 2.MeshGraphNet 计算的三个步骤 – 以迭代方式执行编码、处理和解码,再到发布以获取模拟结果

AI 代理:数据集、架构和实验

研究人员利用了血管模型数据库,该数据库包含约 252 个心血管模型。他们挑选了 8 个模型,这些模型捕捉了通常具有挑战性的场景。图 3 展示了其中的 3 个模型:一个带有动脉瘤的主动脉股模型(模型 1)、一个健康的肺模型(模型 2)以及一个受到收缩影响的主动脉模型(模型 3)。这些模型中包含了多个连接点(如模型 2)或狭窄(如模型 3)等特征,使用基于一维物理的模型来处理这些特征可能颇具挑战性。

数据是通过对 3D 有限元模拟中不稳定的 Navier-Stokes 流进行生成的。这一过程使用了 SimVascular 软件套件。然后,将模拟数据通过在每个节点上取沿正交截面的感兴趣量的平均值,转换为一维中心线表示。

Model 1 shows aortofemoral model affected by an aneurysm. Model 2 shows a healthy pulmonary model. Model 3 shows an aorta model affected by coarctation.图 3.Vascular Model Repository 中被视为数据集一部分的心血管模型

我们针对每个几何形状在不同的边界条件下进行了模拟。使用了 50 个随机边界条件配置来模拟两个心动周期,以此生成训练数据集。您可以使用NVIDIA Modulus GitHub 库中的脚本来访问训练数据集。

他们选择 MeshGraphNet 架构对系统进行建模,并进行了修改以适应心血管模拟。与基础架构一样,该模型由三个组件组成:编码器、处理器和解码器(图 2)。编码器使用全连接神经网络 (FCNN) 将节点和边缘特征转换为隐表示。

然后,处理器沿边缘执行多轮消息传递,更新节点和边缘嵌入。解码器提取每个节点的节点压力和流速,用于以自动回归的方式更新网格。您可以参考 使用图形网络学习基于网格的模拟 以获取 Meshgraphnet 架构的确切详细信息。

该团队进行了各种实验来分析:

  • 滚动误差作为数据集大小函数的收。
  • 灵敏度分析,用于评估哪些节点和边缘特征对于预测流速和压力的准确性更为重要
  • 与物理驱动的一维模型*进行直接比较后发现,GNN 性能卓越,尤其是在处理复杂几何图形(例如有许多节点的几何图形)时(图 4)。
  • 训练算法的不同方法:训练特定于不同心血管区域的网络,而不是能够处理不同几何图形的单个网络(图 4 中的 GNN-A 与 GNN-Bg 对比)。

The figure plots the pressure and flow rate predicted by two of the GNN models, the 1D physics-based ROM, and how they compare to the ground truth for a complex model with stenosis.图 4.基于物理性质的一维 ROM 与两个 GNN 模型与真值的比较

研究团队正在继续探索与 GNN 泛化到更多几何体相关的进一步工作,并探索用于提高性能的优化功能集。此外,他们希望将这项工作扩展到 3D 模型,但也希望将此类 Physics-ML 模型应用到其 Simvascular 软件套件中,以加速模拟。

使用 NVIDIA Modulus 进行研究

NVIDIA Modulus 是一个基于 Apache 2.0 许可的开源项目,旨在支持不断发展的 Physics-ML 社区。如果您是物理信息机器学习领域的 AI 研究人员,并且想要开始使用 NVIDIA Modulus,请访问 Modulus GitHub 仓库

如果您想为项目贡献自己的工作,请遵循贡献指南,或联系NVIDIA Modulus 团队

NVIDIA 正在庆祝开发者在各种用例中做出的贡献,展示如何使用 NVIDIA Modulus 框架构建和训练 Physics-ML 模型。同样重要的是,我们努力在 Modulus 开源项目中系统地组织此类创新工作,以便社区和生态系统利用这些工作来解决工程和科学代理建模问题。

如需详细了解行业如何使用 Modulus,请参阅 Modulus 资源页面

 

阅读原文

...全文
19 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,207

社区成员

发帖
与我相关
我的任务
社区描述
NVIDIA 开发者技术交流
人工智能 企业社区
社区管理员
  • nvdev
  • 活动通知
  • AI_CUDA_Training
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧