在3D slicer中使用AI辅助标注可以大大减少我们的标注时间成本。例如,一个有经验的临床医生标注一个CT胰腺和胰腺癌需要20分钟,而在3d slicer 中使用monailabel AI插件标注,只需要2-5分钟。而这个过程完全是自动的,你只需要对结果进行微调即可完成标注。

备注:本文涉及到很多之前写过的文章,如果需要查看链接,可前往【医学图像人工智能实战营GZH查看同名文章】

录制演示案例【前往医学图像人工智能实战营GZH查看同名文章】

这是使用3D Slicer标注系列的的第三部分内容,本文我们将安装 MONAILabel 3d Slicer 插件,用于自动分割生物医学图像。

本系列涵盖从 3D Slicer 医学图像查看器的基础使用到高级自动分割扩展程序的内容(从入门到高阶!),具体包括软件安装、基础使用教程,自动分割扩展(totalsegmentator, monai label)快速标注数据。

【系列教程如下:前往医学图像人工智能实战营GZH查看同名文章】

monailabel在2022年我就已经分享过了,当时只用了官方教程。这次Tina姐也是在自己数据集上进行了实战,也有更多的收获。对于一个分割工具来讲, monailabel入门确实有难度,但是别担心,跟着我的教程,一定让你用上这个高级工具!

monailabel介绍

monailabel原理

CNN 是一种深度神经网络,是 3D Slicer 可用的深度学习图像分割工具背后的强大力量。虽然我们不会在本文中重新讨论 CNN 的细节,但 3D Slicer 的 MONAILabel 插件可以轻松实现多种不同的 CNN 网络结构来分割生物医学图像。

我们将使用这些CNN模型作为即插即用模型,感兴趣的临床医生可以在其工作流程中根据需要使用这些模型,以便在想要分割图像时节省大量时间。

Tina姐:monailabel内置了很多训练好的深度学习模型,比如本文开头举例的胰腺分割模型,就可以用这个模型来辅助标注胰腺。当然,这只是原理的解释,monailabel的作用远不止这个。

monailabel能做什么

3D Slicer 的MONAILabel 扩展允许用户使用预先训练的模型自动分割图像,以及轻松训练新模型或使用迁移学习在 AI 模型上的新数据集上快速训练模型的功能。MONAILabel是由MONAI团队开发的。可参考之前的文章
【MONAI Label:人工智能辅助的 3D 医学图像交互式标注框架】

MONAILabel是基于MONAI框架开发的,MONAI建立在 PyTorch 之上,PyTorch 是 Python 编程语言的深度学习库。可以通过 API 或 3D Slicer 使用 MONAI,我们将使用它。别担心!本文的目的是让临床医生学会快速将数据集导入 3D Slicer 并对其进行分割,从而节省时间。您无需使用 Python 或任何其他脚本语言编写代码即可从 MONAI 框架中受益。

我将提供并解释您需要执行的任何命令,以使我们能够成功使用 3D Slicer 插件来节省注释或分割生物医学图像的大量时间。

MONAI 支持图像管理解决方案,例如 DICOMweb 或存储在本地目录中的数据集。MONAI 附带默认的预训练分割模型,我们将在本系列的下一篇文章中讨论和使用这些模型。MONAI 还提供了一个Model Zoo,其中提供了更多由 MONAI 用户社区构建的预训练模型,所有这些模型都可以通过 MONAI Bundle 工具轻松实现,我们将在本系列的最后一篇文章中讨论该工具。MONAILabel 模型和 MONAI Model zoo 模型都可以快速启动,并且易于在自定义数据集上使用 — 这就是 MONAI 框架的强大之处。

在本文中,我们将安装 MONAILabel 及其要求。在下一篇文章中,我们将使用 3D Slicer MONAILabel 插件导入数据并使用分割模型自动分割结构

如果你对我提到的这些概念还比较陌生,也无需担心,后面在实操中用到的时候就领悟了。现阶段你只需要知道有这个概念就OK。

安装monailabel

monailabel安装分为两部分:服务端和客户端。为了减轻安装及使用难度,建议你在同一台电脑上进行安装使用。

在3D slicer中使用MONAI Label 辅助标注提升标注速度-安装教程_人工智能

详细的安装教程和需要的电脑配置可以查看我之前的文章,这里,我提供一个简易版的说明。

第一步:安装服务端

服务端就是用命令行调用monailabel库。因此需要我们安装一个conda 虚拟环境,并安装monailabel

  • step1: 新建一个 conda 环境
$: conda create -n monailabel python=3.9
  • 1.

这里的虚拟环境我们命名为monailabel

  • step2: 安装 monialabel
$: pip install monailabel
或者
$: pip install monailabel-weekly
  • 1.
  • 2.
  • 3.

检查有无成功安装,monailabel功能等问题查看之前的文章,不在赘述。【MONAI Label 安装流程及使用攻略】

这里需要注意第一步的虚拟环境名为monailabel,和我们安装monailabel库不是一个东西,不要混淆。如果怕混淆,虚拟环境可以命名为其他的,如ml。

第二步:安装客户端

何为客户端?简单讲,就是我们要在哪台电脑上安装标注软件进行分割。比如可以在你的笔记本上,也可以在你的服务器上安装3d slicer标注,此时的3d slicer就是客户端。

目前 monailabel 支持/合作的标注软件有:

  • 3D Slicer: 用于影像数据标注。⭐️⭐️⭐️⭐️⭐️
  • OHIF: 用于影像数据标注。
  • QuPath: 用于病理数据标注。
  • Digital Slide Archive (DSA):用于病理数据标注。
    选择适合你的标注软件进行安装,并且将 monailabel 配置到标注软件里。详细教程参考 官方插件安装说明

本次教程是用3d slicer作为客户端,因此你需要先安装符合版本的3d slicer, 在系列文章里已经讲过了3d slicer的安装和基本使用。

确认安装好3d slicer后,通过下面路径找到 MONAI Label 安装它

go to View -> Extension Manager -> Active Learning -> MONAI Label

在3D slicer中使用MONAI Label 辅助标注提升标注速度-安装教程_3D_02

安装后重启3D slicer

重启之后在工具栏可以看到 monai 图标。

在3D slicer中使用MONAI Label 辅助标注提升标注速度-安装教程_3D_03

如果没有,可以通过点击 modules 旁边的放大镜,搜索 MONAILabel, 然后点击 switch to mudule就可以使用了

在3D slicer中使用MONAI Label 辅助标注提升标注速度-安装教程_人工智能_04

OK,恭喜您完成安装。在下一系列我们就可以使用monai bundle标注自己的数据集啦。

作为一个小练习,你可以把之前安装教程里面最后的测试做了🖖