计算机视觉/视频分析

通过 MONAI 部署将 AI 带入临床生产

随着广泛的开源加速人工智能框架触手可及,医疗人工智能开发人员和数据科学家正以惊人的速度为临床应用引入新算法。这些模型中的许多都是开创性的,然而 87% 的数据科学项目从未投入生产 。

在大多数数据科学团队中,模型开发人员缺乏一种快速、一致、易于使用和可扩展的方法,无法将经过训练的人工智能模型开发并打包到市场上的医疗人工智能应用程序中。这些应用程序可以帮助临床医生简化成像工作流程,发现隐藏的见解,提高生产力,并连接多模式患者信息以加深患者理解。

MONAI ,人工智能医疗开放网络,正在用 MONAI Deploy 弥补从开发到临床部署的这一差距。 MONAI Deploy 提供了一套用于开发、打包、测试、部署和运行医疗 AI 应用程序的开源工具。它允许开发人员构建 AI 应用程序,协调临床 AI 工作流,并通过 DICOM, FHIR, and HL7 等标准与 PACS (图片存档和通信系统)等医疗成像系统进行互操作。

使用 MONAI 构建的医疗 AI 应用程序

借助 MONAI ,开发人员、研究人员和数据科学家正在为各种医疗 AI 应用构建应用程序,包括:

  • 对疾病或病症的医学影像学研究进行分类
  • 分割器官、病变和其他结构
  • 使用箭头或热图创建标记以突出关注区域
  • 为放射科医生审查提供见解,以纳入医疗报告
  • 在长期存储或 DICOM 迁移期间批量处理医学成像检查
  • 处理实时数据流,以确保患者在图像采集前正确定位
  • 确定采购过程中的 QA 问题,以简化部门工作流程
  • 确定人口健康评估数据的趋势

MONAI Model Zoo 是一个由超过 15 个预训练模型( CT 、 MR 、病理学、内窥镜)组成的精选库,这些模型可以转换为 MONAI AI 应用程序,从而启动 AI 应用程序开发。

MONAI 部署应用程序

MONAI Deploy 的关键组件之一是 MONAI Deploy App SDK ,它可以帮助研究人员和开发人员在 20 分钟内使用一个或多个经过训练的模型,用几行代码构建应用程序。应用程序创建为 MAP ( MONAI 应用程序包)。作为一个可移植的容器化应用程序,它可以在任何有 Docker 引擎的地方部署和运行在临床生产中。

Screenshot of a clinical review user interface of a MAP for segmenting a stroke lesion in a brain scan. Three patient records appear on the left with subsequent scans, segmentations, and metadata in the viewer.
图 1.一个 MONAI 应用程序包( MAP )的示例,该应用程序包用于由 AI Centre for Value Based Healthcare

MONAI Deploy App SDK 提供预定义的运算符,可以在应用程序开发工作流中重用和连接,也可以创建自定义运算符。这些操作员分析 DICOM 研究,使用应用程序定义的规则选择特定系列,并将所选 DICOM 系列转换为所需的图像格式以及表示相关 DICOM 属性的元数据。

然后在预处理阶段对图像进行进一步处理,以标准化间距、方向、强度等,然后使用张量的像素数据进行推断。它还包括 DICOM 编写器,如 DICOM 分割( SEG )、 DICOM 结构化报告( SR )和 DICOM encapsulated Stereolithography ( STL )。

生成的 MAP 包括一个或多个经过训练的模型、相关元数据以及在单个容器中进行临床推断所需的互操作性(预处理和后处理)。

Diagram showing the medical imaging workflow starting with DICOM input and through the Load DICOM data, Segment lung, and Classify steps, and ending with Write DICOM output.
图 2.从 DICOM 输入到 DICOM 输出的典型医学成像 AI 应用程序开发工作流

创建和部署您的 MAP

构建 MAP 的第一步是编写应用程序本身。这包括设计工作流、创建运算符类、实现 application class 以及在本地执行应用程序。应用程序类将工作流图中的任务与可以在 Jupyter notebook 中或通过命令行界面( CLI )进行本地调试的运算符结合在一起。

以下代码显示了应用程序类定义示例:

 from monai.deploy.core import Application, env, resource
 
 
 @resource(cpu=1, gpu=1, memory="2Gi")
 # pip_packages can be a string that is a path(str) to requirements.txt file or a list of packages.
 @env(pip_packages=["scikit-image >= 0.17.2"])
 class App(Application):
     """This is a very basic application.
 
    This showcases the MONAI Deploy application framework.
    """

    # App's name. <class name>('App') if not specified.
    name = "my_app"
    # App's description. <class docstring> if not specified.
    description = "This is a reference application."
    # App's version. <git version tag> or '0.0.0' if not specified.
    version = "0.1.0"

    def compose(self):
        # Execute `self.add_flow()` or `self.add_operator()` methods here.
        pass

if __name__ == "__main__":
    App(do_run=True)

应用程序类的输出是一个应用程序图,它定义了运算符或任务的流程(图 3 )。

Flow diagram showing a series of operators in an application graph from DICOMDataLoader to DICOMSeriesSelector to DICOM SegmentationWriter
图 3.使用 MONAI Deploy App SDK 定义运算符流的应用程序图示例

应用程序经过测试和验证后,将在本地打包和部署应用程序。 MONAI Deploy Application Packager 将应用程序转换为可部署的 Docker 映像,该映像可以根据 MAP 规范在本地执行。

要打包应用程序以创建标记为my_app:latest的 Docker 映像,请使用以下命令:

$ monai-deploy package ./my_app -t my_app:latest --model ./model.pt

Building MONAI Application Package...
Successfully built my_app:latest

MONAI 部署 App SDK 使本地运行和测试 MAP 成为一个简单的过程。命令行 Application Runner 允许用户在执行期间指定本地文件系统到 MAP 输入和输出的输入和输出路径。它不需要了解 MAP 的内部细节。

MAP 可以以多种方式部署,每种方式都具有与托管平台的不同集成级别。在 Deploying and Hosting MONAI App Package 文档中了解有关这些选项的更多信息。您还可以看到 list of platforms supporting MAPs

使用 MONAI Deploy Express 加快 MAP 验证生命周期

对于 MAP 的初始本地测试, MONAI Deploy App SDK 中的 Application Runner 是快速、简单和推荐的。然而,从开发到生产的过程通常需要跨不同环境的多个步骤,由不同的团队操作,并具有不同的要求。

MONAI Deploy Express 旨在促进在该管道(或工作站环境)的早期阶段对 MAP 进行测试和验证,其中易用性和启动时间是最重要的。

使用 Docker 和 Docker Compose 等简单的技术, MONAI Deploy Express 可以在大约 30 分钟内安装完毕。它允许用户快速运行 MAP ,连接到测试 PACS 或他们自己的测试/研究 PACS 进行进一步验证,并自信地采取生产步骤。

在 DICOM I / O 和 AI 工作流编排中重复使用相同的基本核心服务,可在生产环境中使用,提供相同的功能和一致的体验,与应用程序的运行位置和运行方式无关,对最终用户的更改最小。

Diagram showing the MONAI Deploy Express end-to-end clinical data pipeline that includes the MONAI Informatics Gateway, MONAI Workflow Manager, and MONAI App SDK.
图 4. MONAI Deploy Express 通过端到端临床数据管道加速 MAP 验证,该管道包括 MONAI 信息学网关、 MONAI 工作流管理器和 MONAI 1App SDK

缩小从研究创新到临床生产的差距

MONAI 部署旨在缩短 AI 模型的临床时间。有了 SDK ,医疗 AI 应用程序开发人员和翻译研究人员可以构建可以在任何地方运行的 AI 应用程序,并加快这些模型的测试和验证,以便临床部署。

要查看使用 MONAI 部署和探索 SDK 中的临床推理功能来构建 MAP 的真实使用案例,请观看按需实验室 Creating Inference Applications for the Medical AI Project Lifecycle Using MONAI Deploy

要开始使用 MONAI Deploy ,请使用以下命令安装 MONAI Deploy App SDK :

$ pip install monai-deploy-app-sdk

许多 MONAI Deploy tutorials 可用于帮助您创建简单的图像处理应用程序、 MedNIST 分类器应用程序和分割应用程序。探索更多 MONAI Deploy resources ,以支持您从开发到部署的旅程。

要验证 MAP ,请 download the latest release of MONAI Deploy Express 并遵循 README 说明。肺和肝分割的示例工作流和 MAP 可用,包括验证数据集。执行结果可以在 Kibana 上可视化。

审查、采用并帮助进一步改进 MAP specification 。要查看设计和需求或打开问题,请访问 monai-deploy-app-sdk GitHub 存储库。

 

Tags