MONAILabel简介
MONAILabel是一款智能开源的医学图像标注和学习工具,由Project MONAI开发。它旨在帮助研究人员和临床医生更高效地创建标注数据集并构建AI辅助标注模型。MONAILabel采用服务器-客户端架构,可以在单机或多GPU环境下轻松部署和使用。
主要特点和功能
MONAILabel具有以下几个主要优势:
- 提供框架用于开发和部署MONAILabel应用,以训练和推理AI模型
- 具有可组合和可移植的API,易于集成到现有工作流程中
- 可定制的标注应用设计,适用于不同专业水平的用户
- 支持3D Slicer和OHIF等多种放射学图像查看器
- 支持QuPath、Digital Slide Archive和CVAT等病理学图像查看器
- 支持CVAT进行内窥镜图像标注
- 通过DICOMWeb实现PACS连接
- 支持使用CVAT进行内窥镜自动化主动学习工作流
应用场景
MONAILabel支持多种医学影像场景的标注和AI辅助,主要包括:
- 放射学:支持CT、MRI等3D医学图像的分割和标注
- 病理学:支持大规模病理切片图像的细胞核分割和分类
- 内窥镜:支持内窥镜视频图像的工具跟踪和场景分类
系统架构与工作流程
MONAILabel采用服务器-客户端架构:
- 服务器端:运行MONAILabel应用,提供AI模型训练和推理服务
- 客户端:各种医学图像查看器,如3D Slicer、OHIF等
- 数据存储:支持本地数据存储或DICOMWeb兼容的PACS系统
典型的工作流程如下:
- 用户通过客户端查看器加载医学图像
- 调用MONAILabel服务进行自动分割或交互式标注
- 用户审核和修正标注结果
- 将标注结果保存回数据存储
- 使用新的标注数据持续训练和改进AI模型
安装与配置
要开始使用MONAILabel,需要完成以下步骤:
- 安装MONAILabel
- 下载样例应用或开发自定义应用
- 安装兼容的图像查看器和MONAILabel插件
- 准备数据
- 启动MONAILabel服务器并开始标注
安装MONAILabel
MONAILabel支持在启用GPU/CUDA的Ubuntu和Windows系统上安装。可以通过pip安装最新稳定版:
pip install -U monailabel
也可以使用Docker镜像:
docker run --gpus all --rm -ti --ipc=host --net=host projectmonai/monailabel:latest bash
下载样例应用
MONAILabel提供了多个样例应用,包括:
- 放射学应用:支持DeepEdit、Deepgrow等交互式分割工具
- 病理学应用:支持细胞核多标签分割
- 内窥镜应用:支持工具跟踪和场景分类
- Bundles应用:支持自定义模型集成
可以使用以下命令下载放射学样例应用:
monailabel apps --download --name radiology --output apps
安装图像查看器
MONAILabel支持多种医学图像查看器:
- 放射学:3D Slicer、OHIF
- 病理学:QuPath、Digital Slide Archive
- 内窥镜:CVAT
以3D Slicer为例,需要安装MONAILabel插件:
- 下载并安装3D Slicer
- 在3D Slicer中安装MONAILabel扩展
- 重启3D Slicer并启用MONAILabel模块
准备数据
MONAILabel支持两种数据存储方式:
- 本地数据存储:按照指定目录结构组织图像和标注文件
- DICOMWeb:使用支持DICOMWeb标准的PACS系统
对于本地数据存储,目录结构如下:
dataset
│-- image1.nii.gz
│-- image2.nii.gz
│ ...
└───labels
└─── final
│-- image1.nii.gz
│-- image2.nii.gz
│ ...
启动服务器
准备好应用、查看器和数据后,就可以启动MONAILabel服务器:
monailabel start_server --app apps/radiology --studies datasets/images --conf models segmentation
然后在图像查看器中连接MONAILabel服务,即可开始AI辅助标注。
主要功能与模型
MONAILabel提供了多种先进的分割和标注模型:
交互式分割工具
- DeepEdit:允许用户通过点击和框选来指导AI模型进行精确分割
- Deepgrow:基于用户提供的前景和背景点进行交互式分割
自动分割模型
- UNet:经典的2D/3D分割网络
- UNETR:基于Transformer的分割模型
专门任务模型
- 脾脏分割
- 多阶段椎骨分割
- 肺结节检测
- 全身CT分割(104个结构)
病理学模型
- 细胞核多标签分割:可分割肿瘤细胞、炎症细胞、结缔组织细胞等
内窥镜模型
- 工具跟踪
- 场景分类(体内/体外)
这些模型可以在MONAILabel框架中灵活组合和定制,以满足不同的医学图像分析需求。
持续学习与主动学习
MONAILabel的一个重要特性是支持持续学习和主动学习:
- 持续学习:利用新标注的数据不断微调和改进AI模型
- 主动学习:智能选择最具信息量的样本进行人工标注,提高标注效率
这使得MONAILabel可以随着使用不断提高性能,适应特定数据集的特点。
开发自定义应用
除了使用预置的样例应用,研究人员和开发者还可以基于MONAILabel框架开发自定义应用:
- 定义数据加载和预处理流程
- 实现自定义的分割或分类模型
- 设计交互式标注策略
- 配置训练和推理流程
- 打包并部署应用
MONAILabel提供了灵活的API和丰富的组件,方便开发者快速构建适合特定任务的医学图像AI应用。
社区与资源
MONAILabel是一个活跃的开源项目,拥有广泛的社区支持:
- GitHub: https://github.com/Project-MONAI/MONAILabel
- 文档: https://docs.monai.io/projects/label
- 讨论区: MONAILabel Discussions
- 教程: MONAI Label Tutorials
此外,MONAILabel还提供了丰富的学习资源,包括视频教程、示例notebooks等,帮助用户快速上手使用。
总结
MONAILabel作为一个功能强大的开源医学图像标注和AI辅助工具,为医学影像研究和临床应用提供了重要支持。它结合了先进的深度学习技术和灵活的软件架构,可以显著提高医学图像数据集构建和AI模型开发的效率。随着持续的社区贡献和技术创新,MONAILabel有望在推动医学AI发展方面发挥越来越重要的作用。