添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

医疗保健 AI 模型旨在用于研究和模型开发探索。 这些模型并非设计用于或旨在用于按原样部署在临床环境中,也不用于诊断或治疗任何健康或医疗状况,各个模型在这些用途上的性能尚未确定。 对于医疗保健 AI 模型的任何使用,你应承担全部责任和义务,包括验证输出并纳入任何旨在用于医疗目的或为临床决策提供信息的产品或服务、遵守适用的医疗保健法律法规,以及获得任何必要的许可或批准。

本文介绍如何将 MedImageInsight 从模型目录部署为联机终结点进行实时推理。 你还将了解如何发出对 API 的基本调用。 您采取的步骤是:

  • 将模型部署到自承载托管计算。
  • 向终结点授予权限。
  • 将测试数据发送到模型、接收和解释结果。
  • MedImageInsight - 医学成像嵌入模型

    MedImageInsight 健康基础模型是一种强大的模型,可以处理各种医疗影像。 这些影像包括 X 光、CT、MRI、临床摄影、皮肤镜检查、组织病理学检查、超声波检查和乳腺摄影图像。 严格的评估表明,MedImageInsight 能够跨分类、图像到图像搜索和微调任务实现最先进的 (SOTA) 或人类专家级性能。 具体而言,在公共数据集上,MedImageInsight 在胸部 X 射线疾病分类和搜索、皮肤科分类和搜索、光学相干断层扫描 (OCT) 分类和搜索、3D 医疗影像检索方面实现或超过了 SOTA 性能。 该模型还实现了近 SOTA 性能,用于组织病理学检查分类和搜索。

    嵌入模型可以作为许多不同解决方案的基础,从分类到更复杂的方案,如组匹配或离群值检测。 以下动画显示了用于图像相似性搜索和检测离群值的图像的嵌入模型。

  • 具有有效付款方式的 Azure 订阅。 免费或试用 Azure 订阅不起作用。 如果没有 Azure 订阅,请先创建一个 付费的 Azure 帐户

  • 如果没有项目, 请创建一个基于中心的项目

  • Azure 基于角色的访问控制(Azure RBAC)授予访问 Azure AI Foundry 门户的操作权限。 若要执行本文中的步骤,必须为用户帐户分配资源组的“Azure AI 开发人员”角色 。 有关权限详细信息,请参阅 Azure AI Foundry 门户中基于角色的访问控制

    将模型部署到托管计算

    部署到自承载托管推理解决方案后,可以自定义和控制有关模型服务方式的所有详细信息。 可以在 Azure AI Foundry Azure 机器学习工作室 的目录 UI 中从模型卡部署模型,或 以编程方式部署模型

    若要通过 UI 部署模型 ,请执行以下操作:

  • 转到模型目录。

  • 搜索 MedImageInsight 模型并选择其模型卡。

  • 在模型的概述页上,选择“ 使用此模型 ”打开部署窗口。

    若要部署到自承载托管计算,你的订阅中必须有足够的配额。 如果没有足够的可用配额,则可以使用我们的临时配额,方法是选择“我想使用共享配额,并且我确认将在 168 小时内删除此终结点”选项。

  • 选中部署窗口中的复选框以使用临时共享配额。

  • 部署窗口显示包括虚拟机选择、终结点名称和部署名称的设置。 可以修改这些设置。 对它们感到满意后,选择“ 部署 ”。

    若要以编程方式部署模型 ,请参阅 如何使用代码来部署和推理托管计算部署

    使用嵌入模型

    在本部分,我们使用此模型并对其进行基本调用。

    通过 REST API 使用此模型

    将 MedImageInsight 嵌入模型用作 REST API,方法是使用简单的 GET 请求或创建客户端,如下所示:

    from azure.ai.ml import MLClient
    from azure.identity import DefaultAzureCredential
    credential = DefaultAzureCredential()
    ml_client_workspace = MLClient.from_config(credential)
    

    在部署配置中,选择身份验证方法。 此示例使用基于 Azure 机器学习令牌的身份验证。 如需更多身份验证选项,请参阅相应的文档页。 此外,客户端是从为 Azure 机器学习虚拟机(VM)自动创建的配置文件创建的。 请在相应的 API 文档页上了解详细信息。

    对模型进行基本调用

    部署模型后,使用以下代码发送数据并获取嵌入内容。

    import base64
    import json
    import os
    endpoint_name = "medimageinsight"
    deployment_name = "medimageinsight-v1"
    sample_image_xray = os.path.join(image_path)
    def read_image(image_path):
        with open(image_path, "rb") as f:
            return f.read()
    data = {
        "input_data": {
            "columns": ["image", "text"],
            #  IMPORTANT: Modify the index as needed
            "index": [0],
            "data": [
                    base64.encodebytes(read_image(sample_image_xray)).decode("utf-8"),
                    "x-ray chest anteroposterior Pneumonia",
        "params": {"get_scaling_factor": True},
    # Create request json
    request_file_name = "sample_request_data.json"
    with open(request_file_name, "w") as request_file:
        json.dump(data, request_file)
    response = ml_client_workspace.online_endpoints.invoke(
        endpoint_name=endpoint_name,
        deployment_name=deployment_name,
        request_file=request_file_name,
    

    使用 MedImageInsight REST API

    MedImageInsight 模型适用于简单的单轮交互。 一个请求获取一个响应。

    请求有效负载是 JSON 格式的字符串,其中包含以下参数:

    必需/默认 DESCRIPTION "data": [ "iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAAARnQU1BAACx\njwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAAbSURBVBhXY/gUoPS/fhfDfwaGJe///9/J8B8A\nVGwJ5VDvPeYAAAAASUVORK5CYII=\n", "x-ray chest anteroposterior Pleural Effusion" "params": { "get_scaling_factor": "true"

    响应有效负载是 JSON 格式的字符串,其中包含以下字段:

    DESCRIPTION 一个请求嵌入单个字符串的简单推理

    "image_features": [[0.029661938548088074, -0.027228673920035362, ... , -0.0328846238553524]], "text_features": [[0.0028937323950231075, 0.004354152828454971, -0.0227945726364851, ..., 0.002080598147585988]], "scaling_factor": 4.516357

    其他实现注意事项

    输入字符串中处理的最大令牌数为 77。 在将输入传递到模型之前,系统会删除任何超过 77 的标记。 模型使用对比度 Language-Image 预训练(CLIP)标记器,每个标记使用大约三个拉丁字符。

    模型将提交的文本嵌入到图像所在的同一个潜伏空间中。 因此,描述通过某些成像形式获取的某些身体部位的医疗影像的字符串会嵌入到此类影像附近。 此外,在 MedImageInsight 模型的基础上生成系统时,请确保所有嵌入字符串彼此一致(单词顺序和标点符号)。 为了获得基本模型的最佳结果,字符串应遵循模式<image modality> <anatomy> <exam parameters> <condition/pathology>.,例如: x-ray chest anteroposterior Atelectasis.

    如果微调模型,可以更改这些参数,以便更好地满足应用程序需求。

    支持的图像格式

    部署的模型 API 支持以 PNG 格式编码的图像。

    当模型收到图像时,它会通过压缩图像并将其大小调整为 512x512 像素来预处理图像。

    首选压缩格式是无损 PNG,包含 8 位单色或 RGB 图像。 出于优化目的,可以在客户端执行大小调整以减少流量。

    参阅示例,了解详细信息

    MedImageInsight 是一种通用模型,可应用于各种任务和图像处理形式。 有关使用 MedImageInsight 解决各种任务的更具体示例,请参阅以下交互式 Python 笔记本。

    部署和使用 MedImageInsight:了解如何以编程方式部署 MedImageInsight 模型,并向其发出 API 调用。
  • 生成零样本分类器 :了解如何使用 MedImageInsight 创建分类器,而无需训练或大量标注的基本真实数据。

    使用适配器网络增强分类 :通过在 MedImageInsight 上构建小型适配器网络来提高分类性能。

    高级应用程序

    从像素数据推断 MRI 获取参数 :了解如何直接从图像数据中提取 MRI 考试获取参数。

    可缩放的 MedImageInsight 终结点使用情况 :了解如何使用 MedImageInsight API 大规模生成医疗影像的嵌入,同时妥善处理潜在的网络问题。

    用于医疗图像分段的 MedImageParse 模型 使用 CXRReportGen 生成有依据的报告