首页 > 其他分享 >MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏

时间:2024-09-03 17:27:24浏览次数:6  
标签:MONAILabel monailabel 分割 MONAI Slicer -- Label 下载 3D


MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_计算机视觉

导读

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

在本系列第三部分中,我们在工作站上安装了 MONAILabel 服务端和 MONAILabel 3D Slicer 客户端。

这是在3D Slicer 中使用monai label标注系列的的第四部分内容,我们将从一个简单的案例开始,带你学会使用monai label标注数据。

[ MONAI Label 是一个服务器-客户端系统,它利用 AI 促进交互式医学图像注释。它是一个开源且易于安装的生态系统,可以在具有单个或多个 GPU 的机器上本地运行。服务器和客户端都在同一台/不同的机器上工作。它与MONAI共享相同的原理。

MONAI Label 减少了注释新数据集的时间和精力,并通过不断从用户交互和数据中学习,使 AI 能够适应手头的任务。MONAI Label 允许研究人员和开发人员以用户的方式与他们的应用程序交互,从而不断改进他们的应用程序。最终用户(临床医生、技术人员和一般注释者)受益于 AI 的不断学习,并更好地理解最终用户试图注释的内容。]

下表列出了MONAI Label支持的基本场景、模式、查看器和一般数据类型

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_数据_02


从图中第一行可以看到,可对放射学领域‘Radiology’3D 图像进行交互式和自动分割.交互式工具包括 DeepEdit 和 Deepgrow,用于积极改进训练后的模型和部署。并且只针对CT和MRI图像,不包括x线图像。图像格式可以是NIfTI/NRRD/DICOM

MONAI Label初认识

首先,打开终端,激活monailabel环境
conda activate monailabel

激活后,输入monailabel -h查看基础用法

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_数据集_03

没有正确运行的话,请检查你的安装是否正确
【添加安装链接】

为了帮助初学者尤其是临床医生理解这个命令的用法。请仔细阅读下面的说明:

基本命令结构

  • monailabel:这是你要运行的命令。
  • -h--help:这是一个可选参数,意思是显示帮助信息。运行 monailabel -h 会显示所有可用的子命令及其用途。
  • -v--version:这是另一个可选参数,意思是显示软件的版本信息。

子命令

monailabel 命令有四个子命令,你可以用它们来执行不同的任务:

  1. start_server:启动应用服务器。
  2. apps:列出或下载示例应用程序。
  3. datasets:列出或下载示例数据集。
  4. plugins:列出或下载查看器插件。

每个子命令还有自己的帮助信息,具体用法如下:

用法示例

  • 显示帮助信息
    monailabel -h 这会显示所有子命令的列表及其简要说明。
  • 启动应用服务器
    monailabel start_server 这会启动应用服务器,让你可以开始使用这个工具。这个是重点功能,使用’monailabel start_server -h’查看具体用法。特别注意图片上打勾的地方,是每次运行都要配置的参数信息

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_数据集_04

  • 列出或下载示例应用程序
    monailabel apps 这会显示所有可用的示例应用程序,并提供下载选项。

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_计算机视觉_05

查看子命令的用法:monailabel apps -h

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_3D_06

  • 列出或下载示例数据集
    monailabel datasets 这会显示所有可用的示例数据集,并提供下载选项。
  • 列出或下载查看器插件
    monailabel plugins 这会显示所有可用的查看器插件,并提供下载选项。

接下来的教程就会使用这些命令来完成,遇到问题时请再回来看看命令的用法,你会有更清晰的认知。

使用monailabel预置模型自动分割脾脏

step1: 激活环境

conda activate monailabel

step2:下载 radiology app

monailabel apps --download --name radiology --output apps

把radiology下载到‘apps’文件夹,请记住你的apps地址

step3:下载示例数据

使用 monailabel API 下载 MSD 脾脏数据集作为示例数据集。任务是从 CT 图像中进行脾脏的体积(3D)分割。

monailabel datasets --download --name Task09_Spleen --output datasets

可以前往文件夹查看下载信息,如因为网速下载不下来数据可联系Tina姐。之前下载过此数据可直接将数据放到此目录下,无需重复下载。

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_人工智能_07

step4: 启动MONAI Label Server

segmentation_spleen模型将在启动 MONAI Label 服务器时自动下载。网络和检查点将在 monailabel 命令的初始化步骤中进行处理。

monailabel start_server --app apps/radiology --studies datasets/Task09_Spleen/imagesTr --conf models segmentation_spleen

Tina姐:一个简单的服务端启动命令你总得告诉它你用什么app,分割哪个数据集,用哪个预置model

启动好后,可以看看程序响应,了解它加载的模型来自哪里,加载的数据信息,以及提供的端口号(默认为8000,见下方图片打勾的地方)

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_数据_08

如果你顺利到这一步,那么恭喜您,成功启动了服务端。

如果遇到bug:如 ImportError: cannot import name ‘AddChanneld’ from 'monai.transforms’可尝试将monai版本降到1.2。

step5: 打开3D Slicer加载模型和数据

服务端启动好后,就可以打开3D Slicer,并加载MONAI Label模块。加载之后,如下图,点击绿色刷新符号启动服务,如果没有正常启动,把step4中的地址复制进来(http://0.0.0.0:8000)再点刷新

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_数据_09

我们在启动服务端时,告诉了monailabel数据地址对不对,点击Next Sample就可以把数据加载进来。数据加载有三种方式:随机,正序,倒序加载。可以在Strategy里面选择

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_计算机视觉_10

step6: 使用模型进行分割

加载好数据之后,在Auto Segmentation模块下点击run按钮,就开始自动分割了,分割运行时,鼠标会打转转,等分割好了就正常了。在这个案例中,我在mac上CPU分割一例脾脏的时间是1分钟。

注意:在“模型”文件夹中启动MONAI Label服务器时,将下载预先训练好的模型。例如,在这个用例中,下载的预训练模型保存在“apps/radiology/model/pretrained_segmentation_spleen.pt”中。

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_计算机视觉_11

step7:查看和手动编辑分割并保存

自动分割好后,点击Segment Editor可以修改和查看所有的分割目标,点击show 3D可以在图上显示三维表面轮廓。如果对分割的细节不满意可以,可以使用手动工具进行矫正。

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_计算机视觉_12


标注完成后,单击Active Learning模块中Submit Label将标签保存到文件系统中。

注:最终注释将保存到数据集中的“labels/final”文件夹中,例如,在本用例中,标签将保存到datasets/Task09_Spleen/imagesTr/labels/finall

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_计算机视觉_13

step8:主动学习微调模型

主动学习和交互式微调模型在MONAI标签中突出了功能,用户可以在保存新的注释标签时随时训练他们的模型。单击Active Learning模块中Train按钮,MONAI Label服务器将获取保存的最终标签,并对先前的模型进行微调。

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_数据集_14

用户可以使用最新的微调模型进行自动分割。主动学习过程将选择未标记的批次数据,也就是说下一个选择的图像,已经被用来训练的图像将不会再次标注

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_计算机视觉_15

但是我在笔记本演示的时候,训练准确率一直为0.不知道是不是版本问题。

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_数据_16

step9: 重复交互式标记过程

重复提取数据并进行第step8的主动学习过程,直到对所有未标记的数据进行注释和训练。

对于每个训练循环,新的最佳度量模型将保存在“model/<model_name>.pt”中,在本用例中,将保存“apps/radiology/model/sectionation_spleen.pt”。有关详细的训练统计数据和步骤模型,请参阅“apps/radiology/model/sectionaation_spleen/train_01”,

结论

本教程演示了MONAI label与radiology app的基本用法,其中介绍了脾脏分割任务。包括主动学习过程、自动分割、分割编辑器、提交标签和保存模型。我们在标记数据集时强调了交互式学习过程,借助monai平台可以实现增量改进,使研究人员和临床医生更高效的标注医疗数据。

可以关注微公【医学图像人工智能实战营】

我是Tina, 我们下篇博客见~

白天工作晚上写文,呕心沥血

觉得写的不错的话最后,求点赞,评论,收藏。或者一键三连

MONAILabel in 3D Slicer 案例1: 在腹部CT中自动分割脾脏_人工智能_17


标签:MONAILabel,monailabel,分割,MONAI,Slicer,--,Label,下载,3D
From: https://blog.51cto.com/u_16159492/11909367

相关文章

  • 在3D Slicer中使用 Monai Bundle 和 Model Zoo 标注医学影像数据-CT肺结节检测
    在3DSlicer中使用MonaiBundle和ModelZoo标注医学影像数据-CT肺结节检测导读本系列涵盖从3DSlicer医学图像查看器的基础使用到高级自动分割扩展程序的内容(从入门到高阶!),具体包括软件安装、基础使用教程,自动分割扩展(totalsegmentator,monailabel)快速标注数据。在本系列第......
  • 在3D slicer中使用MONAI Label 辅助标注提升标注速度-安装教程
    在3Dslicer中使用AI辅助标注可以大大减少我们的标注时间成本。例如,一个有经验的临床医生标注一个CT胰腺和胰腺癌需要20分钟,而在3dslicer中使用monailabelAI插件标注,只需要2-5分钟。而这个过程完全是自动的,你只需要对结果进行微调即可完成标注。备注:本文涉及到很多之前写过的文......
  • CF773D Perishable Roads
    思路:注意到答案应该是链加上一串贡献相同的树的贡献,因为若\(a\tou\)的贡献比\(b\tou\)的贡献小,那么可以连\(b\toa\),答案会更优。那么有一个贪心思路,对于每个根,找到连向这个根的最短边,然后对于这条边的另一个端点,也找到连向这个端点的最短边,以此类推;很显然,这个假了。......
  • 如何在网页3D CAD中创建一个三维管道模型
    前言在网页CAD中进行三维建模是一项有趣的任务。本文将介绍如何利用mxcad3d来创建三维管道模型。该工具提供了一系列三维建模功能的API,使得建立复杂的管道结构变得简单直观。公众号:梦想云图网页CAD。安装在此之前,需要先安装mxcad包,安装的步骤可以查看梦想CAD官方的入门教程:htt......
  • Vue2 - 最新实现百度地图3D立体感视角教程及示例代码,利用WebGL实现3d百度地图详细流程
    前言如果您需要Vue3版本,请访问在vue2|nuxt2项目开发中,详解实现“安装引入百度地图webgl技术,实现3d地图教程”将百度地图变成3D视角效果,让百度地图平面2D视图和3D立体视图进行切换渲染显示,vue如何实现百度地图的三维立体地图效果,解决WebGL引入报错或无效、3D地图......
  • Autodesk 3DS Max v2025 激活版下载及安装教程
    前言Autodesk3dsMax是一款功能强大的3D建模和动画解决方案,游戏开发人员、视觉效果艺术家和平面设计师使用它来创建庞大的世界、令人惊叹的场景和引人入胜的虚拟现实(VR)体验。Autodesk3DSMAX是业界使用最广泛的3D建模和动画软件程序之一,它将为用户提供一系列新功能和工......
  • Unity3d 截屏保存到相册,并且刷新相册
    要做一个截图的功能,并且玩家可以在相册中看到。 做的时候遇到了三个问题: 1、unity自带的截图API,Application.CaptureScreenshot在Android上不生效 2、图片保存的路径获取 3、保存的图片可以在手机的文件管理中找到,但是相册中没有。 解决......
  • ARC183D 做题记录
    超棒的贪心构造题。可以观察到每次操作的两个叶子,充要条件是路径上匹配边和非匹配边交替出现,操作完后全部取反。首先考虑答案上界,从是否能取到上界入手,是本题的突破口。考虑操作两个叶子\(x,y\),收益为\(dep[x]+dep[y]-2dep[\text{LCA}(x,y)]\)。若固定根\(r\),当\(\text......
  • Open3D mesh Taubin滤波
    目录一、概述1.1原理1.2实现步骤1.3应用场景二、代码实现2.1关键函数参数详解返回值2.2完整代码三、实现效果3.1加入噪声的mesh3.2Taubin迭代10次3.3Taubin迭代100次Open3D点云算法汇总及实战案例汇总的目录地址:Open3D点云算法与点云深度学习案例汇总(长期更新)-......
  • 点云和vtk 在3d处理上的优势
    点云和VTK在3D处理上各有其优势。让我们详细比较一下这两种方法在3D处理中的特点:点云(PointCloud)的优势:1.数据原始性:  -点云保留了原始的3D扫描数据,没有经过插值或重建,因此保持了最高的数据准确性。2.灵活性:  -可以轻松地进行空间操作,如旋转、平移、缩放等。 ......