MONAILabel
MONAI Label是一个开源的智能医学影像标注和AI模型训练工具,通过服务器-客户端系统实现AI辅助的交互式医学影像标注。支持放射学、病理学和内窥镜视频等多种医学影像类型,集成了分割、检测等先进深度学习模型。兼容3D Slicer、OHIF等主流医学影像查看器,旨在提高研究人员和临床医生创建标注数据集和训练AI模型的效率。
MONAI Label
MONAI Label是一个智能开源图像标注和学习工具,使用户能够创建带注释的数据集并构建用于临床评估的AI注释模型。MONAI Label使应用程序开发人员能够以无服务器的方式构建标注应用程序,通过MONAI Label服务器将自定义标注应用程序作为服务公开。
MONAI Label是一个服务器-客户端系统,通过使用AI促进交互式医学图像注释。它是一个开源且易于安装的生态系统,可以在具有单个或多个GPU的机器上本地运行。服务器和客户端可以在同一台机器或不同机器上工作。它与MONAI遵循相同的原则。
有关更多详细信息,请参阅完整的MONAI Label文档,或查看我们的MONAI Label深入探讨视频系列。
请参阅MONAI Label教程系列,了解不同医学图像任务的应用程序和查看器工作流程。提供了类似笔记本的教程,以获取详细说明。
目录
概述
MONAI Label减少了注释新数据集的时间和精力,通过不断从用户交互和数据中学习,使AI能够适应手头的任务。MONAI Label允许研究人员和开发人员通过与最终用户相同的方式与他们的应用程序交互,从而不断改进他们的应用程序。最终用户(临床医生、技术人员和一般的注释者)受益于AI持续学习并更好地理解最终用户试图注释的内容。
MONAI Label旨在填补开发人员创建新注释应用程序与希望从这些创新中受益的最终用户之间的差距。
亮点和特性
- 用于开发和部署MONAI Label应用程序以训练和推断AI模型的框架
- 可组合和可移植的API,易于集成到现有工作流程中
- 可定制的标注应用程序设计,适用于不同专业水平的用户
- 通过3DSlicer和OHIF支持放射学注释
- 通过QuPath、Digital Slide Archive和CVAT支持病理学注释
- 通过CVAT支持内窥镜注释
- 通过DICOMWeb实现PACS连接
- 使用CVAT的内窥镜自动化主动学习工作流程
支持矩阵
MONAI Label在Model-Zoo中支持许多最先进的模型,并将它们与查看器和monaibundle应用程序集成。请参阅monaibundle应用程序页面,了解支持的模型,包括全身分割、全脑分割、肺结节检测、肿瘤分割等。
此外,您可以找到基本支持的领域、模态、查看器和一般数据类型的表格。但是,这些只是我们明确测试过的内容,并不意味着您的数据集或文件类型无法与MONAI Label一起使用。尝试将MONAI用于您的特定任务,如果遇到问题,请通过GitHub Issues联系我们。
领域 | 模型 | 查看器 | 数据类型 | 图像模态/目标 |
---|---|---|---|---|
放射学 | 分割DeepGrowDeepEdit | 3DSlicerOHIF | NIfTINRRDDICOM | CTMRI |
病理学 | DeepEditNuClick分割分类 | Digital Slide ArchiveQuPathCVAT | TIFFSVS | 细胞核分割细胞核分类 |
视频 | DeepEdit工具追踪体内/体外 | CVAT | JPG3通道视频帧 | 内窥镜 |
MONAI Label入门
MONAI Label需要几个步骤才能开始使用:
- 步骤1:安装MONAI Label
- 步骤2:下载MONAI Label示例应用或编写您自己的自定义应用
- 步骤3:安装兼容的查看器和支持的MONAI Label插件
- 步骤4:准备您的数据
- 步骤5:启动MONAI Label服务器并开始注释!
步骤1 安装
当前稳定版本
pip install -U monailabel
MONAI Label 支持以下启用了 GPU/CUDA 的操作系统。有关更详细的说明,请参阅安装指南。
GPU 加速(可选依赖)
以下是可选依赖项,可帮助您加速 MONAI 中的一些基于 GPU 的转换。如果您使用 projectmonai/monailabel
docker,这些依赖项默认已启用。
开发版本
要安装 最新功能,请使用以下选项之一:Git 检出(开发者模式)
Docker
步骤 2 MONAI Label 示例应用
放射学
该应用包含示例模型,可以对放射学(3D)图像进行交互式和自动分割。包括使用最新深度学习模型(如 UNet、UNETR)对多个腹部器官进行自动分割。交互式工具包括 DeepEdit 和 Deepgrow,用于主动改进训练模型和部署。
- Deepedit
- Deepgrow
- 分割
- 脾脏分割
- 多阶段椎骨分割
病理学
该应用包含示例模型,可以对病理学(WSI)图像进行交互式和自动分割。包括对肿瘤细胞、炎症细胞、结缔组织/软组织细胞、死亡细胞和上皮细胞进行多标签核分割。该应用提供交互式工具,包括用于交互式核分割的 DeepEdits。
- Deepedit
- Deepgrow
- 分割
- 脾脏分割
- 多阶段椎骨分割
视频
内窥镜应用使用户能够在内窥镜用例的 2D 图像上使用交互式、自动分割和分类模型。结合 CVAT,它将展示完全自动化的主动学习工作流程,用于训练和微调模型。
- Deepedit
- 工具跟踪
- 体内/体外
捆绑包
捆绑包应用使用户能够使用定制模型进行任何目标解剖结构的推理、训练或预处理和后处理。MONAILabel 集成的捆绑包应用规范链接了归档的模型库,用于定制标注(例如,用于标注肾皮质、髓质和肾盂集合系统的第三方变换器模型。交互式工具如 DeepEdits)。
有关支持的捆绑包的完整列表,请参阅 MONAI Label 捆绑包 README。
步骤 3 MONAI Label 支持的查看器
放射学
3D Slicer
3D Slicer 是一个免费开源的平台,用于分析、可视化和理解医学图像数据。在 MONAI Label 中,3D Slicer 主要用于放射学研究和算法的开发与集成。
OHIF
开放健康影像基金会(OHIF)查看器是一个开源的、基于网络的医学影像平台。它旨在为构建复杂的影像应用程序提供核心框架。
病理学
QuPath
定量病理学和生物图像分析(QuPath)是一个开放、强大、灵活、可扩展的生物图像分析软件平台。
Digital Slide Archive
数字切片档案(DSA)是一个平台,提供存储、管理、可视化和注释大型影像数据集的能力。 Digital Slide Archive 设置
视频
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
│ ...
如果您没有标签,只需将图像/体积放在数据集文件夹中。
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 教程
内容
- 放射学应用:
- 查看器: 3D Slicer | 数据存储: 本地 | 任务: 分割
- MONAILabel: HelloWorld: 使用3D Slicer设置进行脾脏分割。
- 查看器: OHIF | 数据存储: 本地 | 任务: 分割
- MONAILabel: 基于网页的OHIF查看器: 使用OHIF设置进行脾脏分割。
- 查看器: 3D Slicer | 数据存储: 本地 | 任务: 分割
- MONAIBUNDLE应用:
- 查看器: 3D Slicer | 数据存储: 本地 | 任务: 分割
- MONAILabel: 使用3D Slicer进行胰腺肿瘤分割: 使用CT扫描在3D Slicer中进行胰腺和肿瘤分割。
- MONAILabel: 使用3D Slicer进行多器官分割: 使用CT扫描在3D Slicer中进行多器官分割。
- MONAILabel: 使用3D Slicer进行全身CT分割: 使用CT扫描进行全身(104个结构)分割。
- MONAILabel: 使用3D Slicer进行肺结节CT检测: 使用CT扫描进行肺结节检测任务。
- 查看器: 3D Slicer | 数据存储: 本地 | 任务: 分割
- 病理学应用:
- 查看器: QuPath | 数据存储: 本地 | 任务: 分割
- MONAILabel: 使用QuPath进行细胞核分割 使用QuPath设置和Nuclick模型进行细胞核分割。
- 查看器: QuPath | 数据存储: 本地 | 任务: 分割
- 内窥镜应用:
- 查看器: CVAT | 数据存储: 本地 | 任务: 分割
- MONAILabel: 使用CVAT进行工具跟踪: 使用CVAT/Nuclio设置进行手术工具分割。
- 查看器: CVAT | 数据存储: 本地 | 任务: 分割
引用
如果您在研究中使用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: A framework for AI-assisted Interactive Labeling of 3D Medical Images}},
journal = {arXiv e-prints},
year = 2022,
url = {https://arxiv.org/pdf/2203.12362.pdf}
}
@inproceedings{DiazPinto2022DeepEdit,
title={{DeepEdit: Deep Editable Learning for Interactive Segmentation of 3D Medical Images}},
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 Workshop on Data Augmentation, Labelling, and Imperfections},
pages={11--21},
year={2022},
organization={Springer}
}
可选引用:如果您使用MONAI Label的主动学习功能,请支持我们:
解释@article{nath2020diminishing,
title={Diminishing uncertainty within the training pool: Active learning for medical image segmentation},
author={Nath, Vishwesh and Yang, Dong and Landman, Bennett A and Xu, Daguang and Roth, Holger R},
journal={IEEE Transactions on Medical Imaging},
volume={40},
number={10},
pages={2534--2547},
year={2020},
publisher={IEEE}
}
贡献
有关为MONAI Label做出贡献的指导,请参阅贡献指南。
社区
在Twitter @ProjectMONAI上加入对话,或加入我们的Slack频道。
在MONAI Label的GitHub讨论标签上提问和回答问题。
其他资源
- 网站:https://monai.io/
- API文档:https://docs.monai.io/projects/label
- 代码:https://github.com/Project-MONAI/MONAILabel
- 项目跟踪器:https://github.com/Project-MONAI/MONAILabel/projects
- 问题跟踪器:https://github.com/Project-MONAI/MONAILabel/issues
- Wiki:https://github.com/Project-MONAI/MONAILabel/wiki
- 测试状态:https://github.com/Project-MONAI/MONAILabel/actions
- PyPI包:https://pypi.org/project/monailabel/
- Docker Hub:https://hub.docker.com/r/projectmonai/monailabel
- 客户端API:https://www.youtube.com/watch?v=mPMYJyzSmyo
- 演示视频:https://www.youtube.com/c/ProjectMONAI