MONAILabel

GitHub
833 263 中等 1 次阅读 3天前Apache-2.0开发框架其他图像插件
AI 解读 由 AI 自动生成,仅供参考

MONAI Label 是一款智能开源的医学图像标注与学习工具,旨在帮助研究人员和开发者高效创建带注释的数据集,并构建用于临床评估的 AI 标注模型。它主要解决了传统医学图像标注耗时费力、门槛高且难以持续优化的痛点,通过引入“人在回路”的交互机制,让 AI 在用户标注过程中不断自我学习,从而显著减少人工工作量并提升标注质量。

这款工具特别适合医学影像领域的研究人员、AI 应用开发者以及临床医生使用。其独特的技术亮点在于采用了服务器 - 客户端架构,支持无服务器化开发模式:开发者可以将自定义标注应用作为服务部署在 MONAI Label 服务器上,而用户只需通过兼容的查看器即可进行交互式标注。系统既能在单张或多张 GPU 的本地机器上轻松运行,也支持服务端与客户端分离部署,灵活适应不同算力环境。作为 MONAI 生态的重要组成部分,MONAI Label 不仅提供了丰富的示例应用和详细的教程文档,还允许用户像普通使用者一样与应用程序互动,从而持续改进模型表现,实现从数据准备到模型迭代的闭环工作流。

使用场景

某三甲医院放射科团队正急需构建一个针对脑部 MRI 肿瘤的专用 AI 分割模型,以辅助医生进行术前规划,但面临海量历史影像数据缺乏标注的困境。

没有 MONAILabel 时

  • 放射科医生需手动逐层勾画肿瘤轮廓,标注一张三维 MRI 耗时超过 45 分钟,人力成本极高且难以持续。
  • 初始训练数据严重不足,导致早期训练的模型精度低下,无法在实际临床中提供有效参考。
  • 算法工程师与医生协作割裂,模型迭代周期长,医生无法实时反馈修正意见,只能等待下一版本发布。
  • 标注标准难以统一,不同年资医生的勾画习惯差异大,导致数据集噪声高,影响模型泛化能力。

使用 MONAILabel 后

  • 医生只需在 3D Slicer 等客户端点击几下提供稀疏提示,MONAILabel 服务端即刻返回高精度自动分割结果,单例标注时间缩短至 3 分钟内。
  • 系统具备“人在回路”的主动学习能力,随着医生对自动结果的微调修正,后台模型实时在线更新,越用越准。
  • 实现了医工无缝协作,医生在标注过程中直接验证模型效果,即时纠正错误,模型当即可学习新特征并优化。
  • 通过智能预标注大幅降低了人为操作差异,确保了大规模数据集的一致性与高质量,加速了模型收敛。

MONAILabel 通过将被动的人工标注转变为高效的人机交互式学习,让医疗 AI 模型的冷启动与持续进化变得触手可及。

运行环境要求

操作系统
  • Linux (Ubuntu)
  • Windows
GPU
  • 可选但推荐用于加速
  • 支持单卡或多卡 GPU
  • 需安装 CUDA Toolkit
  • 具体显存大小和型号未说明,但支持 SAM2 等大模型通常建议较高显存
内存

未说明

依赖
notes1. 这是一个服务器 - 客户端系统,服务端可本地运行(支持单/多 GPU),客户端可通过 3DSlicer、OHIF、QuPath 或 CVAT 等工具连接。 2. 若使用 pip 安装且 Python 版本大于等于 3.10,默认集成 SAM2 模型;若需使用更新的 SAM2.1,建议使用 Docker、开发模式或手动重新安装 sam2 包。 3. 支持多种医学影像模态(CT, MRI, 病理切片,内窥镜视频等)及格式(NIfTI, NRRD, DICOM, TIFF, SVS 等)。 4. 可通过 Docker 一键部署(projectmonai/monailabel),Docker 镜像默认已启用 GPU 加速相关依赖。
python>=3.10 (为了默认包含 SAM2 模型)
monailabel
MONAI
CUCIM (可选)
CuPy (可选)
CUDA Toolkit
sam2 (Python >=3.10 时默认包含)
3DSlicer (客户端插件)
OHIF (客户端插件)
QuPath (客户端插件)
CVAT (客户端插件)
MONAILabel hero image

快速开始

MONAI Label

许可证 CI 构建 文档状态 PyPI 版本 Azure DevOps 测试(紧凑版) Azure DevOps 覆盖率 Codecov

MONAI Label 是一款智能的开源医学影像标注与学习工具,使用户能够创建带标注的数据集,并构建用于临床评估的 AI 标注模型。MONAI Label 允许应用开发者以无服务器的方式构建标注应用,自定义标注应用可通过 MONAI Label Server 作为服务对外提供。

MONAI Label 是一个基于服务器-客户端架构的系统,利用 AI 技术促进交互式的医学影像标注。它是一个开源且易于安装的生态系统,可在本地单 GPU 或多 GPU 的机器上运行。服务器端和客户端可以运行在同一台或不同的机器上。其设计原则与 MONAI 保持一致。

如需了解更多详细信息,请参阅完整的 MONAI Label 文档,或观看我们的 MONAI Label 深度解析视频系列

关于不同医学影像任务的应用和查看器工作流,请参考 MONAI Label 教程 系列。这些教程以笔记本形式呈现,提供详细的指导说明。

目录

概述

MONAI Label 通过持续从用户交互和数据中学习,减少了标注新数据集所需的时间和精力,并使 AI 能够适应当前的任务。MONAI Label 允许研究人员和开发者像普通用户一样与他们的应用进行交互,从而不断改进应用。最终用户(如临床医生、技术人员和标注人员)则受益于 AI 的持续学习能力,使其能够更好地理解用户想要标注的内容。

MONAI Label 的目标是弥合开发人员创建新的标注应用程序与希望从这些创新中获益的最终用户之间的差距。

亮点与功能

  • 用于开发和部署 MONAI Label 应用程序以训练和推理 AI 模型的框架
  • 组合式且可移植的 API,便于集成到现有工作流中
  • 可根据用户的专业水平自定义标注应用设计
  • 支持通过 3DSlicerOHIF 进行放射学标注
  • 支持通过 QuPathDigital Slide ArchiveCVAT 进行病理学标注
  • 支持通过 CVAT 进行内窥镜检查标注
  • 通过 DICOMWeb 实现 PACS 连接
  • 针对内窥镜检查的自动化主动学习工作流,使用 CVAT

支持矩阵

MONAI Label 支持 Model-Zoo 中的许多最先进(SOTA)模型,并将其与查看器和 monaibundle 应用程序集成。请参阅 monaibundle 应用页面,了解支持的模型,包括全身分割、全脑分割、肺结节检测、肿瘤分割等众多任务。

此外,您还可以找到一个表格,列出基本支持的领域、模态、查看器和通用数据类型。然而,这些只是我们明确测试过的选项,并不意味着您的数据集或文件类型无法与 MONAI Label 配合使用。请尝试将 MONAI 用于您的特定任务;如果遇到问题,请通过 GitHub Issues 与我们联系。

领域 模型 查看器 数据类型 影像模态/目标
放射学
  • 分割
  • DeepGrow
  • DeepEdit
  • SAM2 (2D/3D)
  • 3DSlicer
  • MITK
  • OHIF
  • NIfTI
  • NRRD
  • DICOM
  • CT
  • MRI
病理学
  • DeepEdit
  • NuClick
  • 分割
  • 分类
  • SAM2 (2D)
  • Digital Slide Archive
  • QuPath
  • CVAT
  • TIFF
  • SVS
  • 细胞核分割
  • 细胞核分类
视频
  • DeepEdit
  • 工具追踪
  • 体内/体外
  • SAM2 (2D)
  • CVAT
  • JPG
  • 3通道视频帧
  • 内窥镜检查

开始使用 MONAI Label

使用 MONAI Label 开始需要几个步骤:

步骤 1 安装

当前稳定版本

GitHub release (latest SemVer)

pip install -U monailabel

MONAI Label 支持以下启用了 GPU/CUDA 的操作系统。有关详细说明,请参阅安装指南。

GPU 加速(可选依赖项)

以下是可选的依赖项,可以帮助您加速 MONAI 中的一些基于 GPU 的变换。如果您使用 projectmonai/monailabel Docker 镜像,则这些依赖项默认已启用。

开发版本

要安装 最新功能,您可以选择以下方式之一:

Git 检出(开发者模式) GitHub tag (latest SemVer)
  git clone https://github.com/Project-MONAI/MONAILabel
  pip install -r MONAILabel/requirements.txt
  export PATH=$PATH:`pwd`/MONAILabel/monailabel/scripts

如果您使用 DICOM-Web + OHIF,则需要单独构建 OHIF 包。请参阅 [此处](https://github.com/Project-MONAI/MONAILabel/tree/main/plugins/ohif#development-setup)。

Docker Docker Image Version (latest semver)
docker run --gpus all --rm -ti --ipc=host --net=host projectmonai/monailabel:latest bash

SAM-2

默认情况下,当 python >= 3.10 时,所有应用都会包含 SAM2 模型。

  • sam_2d:适用于给定切片/2D图像上的任何器官或组织等。
  • sam_3d:支持在多个切片上进行 SAM2 传播(放射科/MONAI-Bundle)。

如果您使用 pip install monailabel,默认会使用 SAM-2 模型。
要使用 SAM-2.1,请采用以下任一方式:

  • 使用 MONAI Label 的 Docker 而不是 pip 包
  • 在开发模式下运行 MONAI Label(通过 git checkout)
  • 如果您已通过 pip 安装了 MONAI Label,请先卸载 sam2pip uninstall sam2,然后运行 pip install -r requirements.txt,或者从其 GitHub 上安装最新的 SAM-2

第2步 MONAI Label 示例应用

放射科

此应用提供了用于对放射科(3D)图像进行交互式和自动化分割的示例模型。其中包括使用最新深度学习模型(如 UNet、UNETR)对多个腹部器官进行自动分割的功能。交互式工具包括 DeepEdit 和 Deepgrow,可用于主动改进训练好的模型并进行部署。

  • Deepedit
  • Deepgrow
  • 分割
  • 脾脏分割
  • 多阶段椎体分割

病理学

此应用提供了用于对病理学(WSI)图像进行交互式和自动化分割的示例模型。其中包括针对肿瘤细胞、炎症细胞、结缔组织/软组织细胞、死亡细胞和上皮细胞的多标签核分割。该应用还提供交互式工具,如用于交互式核分割的 DeepEdits。

  • Deepedit
  • Deepgrow
  • 分割
  • 脾脏分割
  • 多阶段椎体分割

视频

内窥镜应用使用户能够对内窥镜用途的 2D 图像使用交互式、自动化分割和分类模型。结合 CVAT,它将演示一个完全自动化的主动学习工作流,用于训练和微调模型。

  • Deepedit
  • 工具跟踪
  • 体内/体外

捆绑包

捆绑包应用允许用户为任何目标解剖结构使用自定义模型进行推理、训练或前后处理。MONAI Label 集成捆绑包应用的规范链接到归档的模型库,用于自定义标注(例如,第三方转换器模型用于标注肾皮质、髓质和肾盂肾盏系统)。还包括交互式工具,如 DeepEdits。

有关支持的全部捆绑包列表,请参阅 MONAI Label 捆绑包 README

第3步 MONAI Label 支持的查看器

放射科

3D Slicer

3D Slicer 是一个免费且开源的平台,用于分析、可视化和理解医学影像数据。在 MONAI Label 中,3D Slicer 已被广泛测试用于放射科研究和算法、开发及集成。

3D Slicer 设置

MITK

医学影像交互工具包(MITK)是一个开源、独立的医学影像平台。MONAI Label 已部分集成到 MITK Workbench 中,这是一款功能强大且免费的应用程序,可用于查看、处理和分割医学影像。MONAI Label 工具在 MITK 中主要针对放射科和捆绑包应用进行推理测试,支持自动和基于点击的交互式模型。

MITK 设置

OHIF

开放健康影像基金会(OHIF)查看器是一个开源、基于 Web 的医学影像平台。其目标是提供构建复杂影像应用程序的核心框架。

OHIF 设置

病理学

QuPath

定量病理学与生物图像分析(QuPath)是一个开放、强大、灵活且可扩展的软件平台,用于生物图像分析。

QuPath 设置

数字玻片档案

数字玻片档案(DSA)是一个平台,提供存储、管理、可视化和标注大型影像数据集的能力。 数字玻片档案设置

视频

CVAT

CVAT 是一款用于计算机视觉的交互式视频和图像标注工具。 CVAT 设置

第4步 数据准备

在数据准备方面,您有两种选择:可以使用本地数据存储,也可以使用任何支持 DICOMWeb 的影像存档工具。

放射科应用中单模态图像的本地数据存储

对于本地文件存档中的数据存储,MONAI Label 使用一套固定的文件夹结构。请将您的图像数据放入文件夹中,如果有分割文件,则创建名为 labels/final 的子文件夹并将它们放入其中。示例如下:

dataset
│-- spleen_10.nii.gz
│-- spleen_11.nii.gz
│   ...
└───labels
    └─── final
        │-- spleen_10.nii.gz
        │-- spleen_11.nii.gz
        │   ...

如果您没有标签,只需将图像/体积放置在 dataset 文件夹中即可。

DICOMWeb 支持

如果您使用的查看器支持 DICOMweb 标准,您可以使用它代替本地数据存储来向 MONAI Label 提供图像。启动 MONAI Label 服务器时,我们需要在 studies 参数中指定 DICOMweb 服务的 URL(以及可选的需要身份验证的 DICOM 服务器的用户名和密码)。以下是使用 DICOMweb URL 启动 MONAI Label 服务器的示例:

monailabel start_server --app apps/radiology --studies http://127.0.0.1:8042/dicom-web --conf models segmentation

第5步 启动 MONAI Label 服务器并开始标注

现在您已经准备好使用 MONAI Label 了。配置好查看器、应用和数据存储后,您可以使用相关参数启动 MONAI Label 服务器。为了简单起见,下面是一个下载放射科示例应用和数据集,然后启动 MONAI Label 服务器的示例:

monailabel apps --download --name radiology --output apps
monailabel datasets --download --name Task09_Spleen --output datasets
monailabel start_server --app apps/radiology --studies datasets/Task09_Spleen/imagesTr --conf models segmentation

注意: 如果您想处理不同于默认建议的标签,请按照此处的说明更改配置文件:https://youtu.be/KtPE8m0LvcQ?t=622

MONAI Label 教程

内容

引用

如果您在研究中使用了 MONAI Label,请使用以下引用:

@article{DiazPinto2022monailabel,
   author = {Diaz-Pinto, Andres and Alle, Sachidanand and Ihsani, Alvin and Asad, Muhammad and
            Nath, Vishwesh and P{\'e}rez-Garc{\'\i}a, Fernando and Mehta, Pritesh and
            Li, Wenqi and Roth, Holger R. and Vercauteren, Tom and Xu, Daguang and
            Dogra, Prerna and Ourselin, Sebastien and Feng, Andrew and Cardoso, M. Jorge},
    title = {{MONAI Label: 用于 3D 医学图像 AI 辅助交互式标注的框架}},
  journal = {arXiv e-prints},
     year = 2022,
     url  = {https://arxiv.org/pdf/2203.12362.pdf}
}

@inproceedings{DiazPinto2022DeepEdit,
      title={{DeepEdit:用于 3D 医学图像交互式分割的深度可编辑学习}},
      author={Diaz-Pinto, Andres and Mehta, Pritesh and Alle, Sachidanand and Asad, Muhammad and Brown, Richard and Nath, Vishwesh and Ihsani, Alvin and Antonelli, Michela and Palkovics, Daniel and Pinter, Csaba and others},
      booktitle={MICCAI 关于数据增强、标注和缺陷的研讨会},
      pages={11--21},
      year={2022},
      organization={Springer}
}

可选引用:如果您使用了 MONAI Label 中的主动学习功能,请支持我们:

@article{nath2020diminishing,
  title={训练集中的不确定性逐渐降低:医学图像分割的主动学习},
  author={Nath, Vishwesh and Yang, Dong and Landman, Bennett A and Xu, Daguang and Roth, Holger R},
  journal={IEEE 医学成像汇刊},
  volume={40},
  number={10},
  pages={2534--2547},
  year={2020},
  publisher={IEEE}
}

贡献

有关如何为 MONAI Label 做出贡献的指导,请参阅 贡献指南

社区

在 Twitter 上加入讨论 @ProjectMONAI,或加入我们的 Slack 频道

您还可以在 MONAI Label 的 GitHub 讨论页上提问和回答问题。

其他资源

版本历史

0.8.52023/10/18
0.8.42024/10/17
0.8.32024/07/23
0.7.02023/06/10
0.6.02022/12/20
pretrained2022/11/03
0.5.22022/10/24
0.5.12022/09/16
0.4.22022/07/25
0.4.12022/07/06
0.4.02022/06/13
0.3.22022/02/28
0.3.12021/12/29
0.3.02021/11/28
0.2.02021/09/23
0.1.02021/07/15
data2021/07/12

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

156.8k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|5天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|6天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架