首页 > 其他分享 >【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer

【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer

时间:2023-06-14 22:35:39浏览次数:53  
标签:Transformer -- nnFormer nnUNet tumor train 霸榜 nnformer 数据



文章目录

  • 安装
  • 下载以及预处理实验数据
  • 预处理数据
  • 修改源代码错误
  • train
  • test



简介:我们介绍了nnFormer(not-another transFormer),一种用于3D医学图像分割的 transformer。


【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer_python


nnFormer 不仅使用了卷积和自注意力的结合,还引入了基于局部和全局体积的自注意机制来学习体积表示。

此外,nnFormer 建议使用跳跃注意来取代U-Net类体系结构中跳跃连接中的传统操作。

实验表明,在三个公共数据集上,nnFormer 性能显著。与 nnUNet 相比,nnFormer 产生的HD95显著降低,DSC结果也具有可比性。此外,nnFormer 和 nnUNet 在模型融合中是高度互补的。nnFormer的代码也是基于nnUNet改的。

【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer_数据集_02

,

【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer_深度学习_03

【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer_深度学习_04

因此,只要用过 nnUNet, 这部分代码相对顺畅

不用写代码神器!教你用4行命令轻松使用nnUNet训练自己的医学图像分割模型

本教程难度:
没使用过nnUNet: ⭐️⭐️⭐️⭐️
使用过nnUNet: ⭐️⭐️

难点在于安装环境,下载数据,预处理数据,训练和测试都是一句命令就搞定。前期工作要做好。

nnFormer 论文下载nnFormer github

安装

1.官方系统版本

Ubuntu 18.01、Python 3.6、PyTorch 1.8.1 和 CUDA 10.1 。有关软件包和版本号的完整列表,请参阅 Conda 环境文件 environment.yml。

  1. 安装步骤

建议使用 conda 包管理器安装所需的包

git clone https://github.com/282857341/nnFormer.git
(默认下载位置不同,下载下来后找不到百度一下)
cd nnFormer (将整个文件剪切到你日常的项目所在文件夹,方便使用)
conda env create -f environment.yml (这一步会创建叫nnFormer的conda环境)
source activate nnFormer
pip install -e .

这一步安装,如果网络不好,多半是会出错的。是在不行的话,建议手动创建一个环境conda create -n nnFormer python=3.6, 并手动安装 environment.yml 文件里面需要的包。

下载以及预处理实验数据

官方使用了三个数据集,每个数据集都有各自的model,train, inference.
所以实验的时候一定要指定使用的数据集。

本教程使用的是Brain_tumor数据集,下载的时候是task01_Braintomor,重命名为 Task03_tumor(该论文中task03才是brain tumor, 要对应。)

【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer_数据_05


下载不下来的同学可以去我网盘下载:

链接: https://pan.baidu.com/s/1TChc4yXZjPlv9ApqS-OHkQ 提取码: c0mj

受网盘上传限制,一共3个压缩包,把它解压后放在Task03_tumor文件夹下。包含以下内容

【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer_深度学习_06

预处理数据

我们要像nnUNet那样,数据有严格的格式。

首先创建以下文件夹

【实战】霸榜各大医学分割挑战赛的Transformer架构--nnFormer_python_07


其中DATASET随便你放置在哪里,为了方便,我放在了nnFormer里面, 图片上标注了文件夹级别,不要搞错了哦。本实验第四级别只需要Task03_tumor,把刚才下好的文件夹放进来。

注意:下载的数据有一个dataset.json,这个里面的训练集和测试集同nnFormer不一样。你可以按照现在的划分进行下一步,但是这个测试集里的数据没有ground truth, 在做测试的时候就无法求dice. 如果你想要知道测试集的性能,就按照nnFormer的dataset.json重新划分imagesTr, imagesTs, labelsTr, labelsTs. nnFormer是把训练集再次划分为训练集和测试集,因此他的测试集才有ground truth。(啰嗦这么多,不知道讲清楚么

标签:Transformer,--,nnFormer,nnUNet,tumor,train,霸榜,nnformer,数据
From: https://blog.51cto.com/u_16159492/6481749

相关文章

  • 使用Tansformer分割三维腹部多器官--UNETR实战
    不会transformer没关系,本教程开箱即用。Tina姐总算对transformer下手了,之前觉得难,因为刚开始学序列模型的时候就没学会。然后就一直排斥学transformer。这两周没什么事,加上MONAI有现成的教程,就打算先跑通后,再学理论。然后,顺利的跑通了代码,再学了一周理论,发现它也不过如此嘛,入门还......
  • const_cast用法
    顶层const&底层const:普通变量没有底层顶层的区别;intconsta==constinta只有对应指针,引用才会有区别:指针常量->顶层const,指针本身不可被修改。int*constb=&a,a既可以通过a=x来改变,也可以通过*b=x来改变,但不可以把b指向别的地址、别的变量。例如声明intc=2;b=c......
  • MONAI 叒叒叒更新了(1.0版本),这次在分割,联邦学习,病理图像,MRI重建上有动作
    MONAI此次更新大部分基于MONAIBundle。在分割模块,新增了一个Auto3DSegapp,将数据处理,模型选择,训练和评估等集合在一起。此外还提供了联邦学习,为数字病理图像新增了MetaTensor,提供更多元数据属性。在MRI数据重建模块,也新增了一些功能。接下来,具体了解一下,有没有你感兴趣的内容~......
  • 6.14
    1.pip永久换源/1 在文件地址栏输入:%APPDATA%回车,快速进入C:\Users\电脑用户\AppData\Roaming文件夹中/2在Roaming文件夹中新建pip文件夹/3 在pip文件夹中新建pip.ini配置文件/4pip文件夹写入:[global]index-url=https://mirrors.aliyun.com/pypi/simple[instal......
  • C++类型转换详解--const_cast
    一.函数描述:const_cast<type-id>(expression)主要是用来去掉const属性,当然也可以加上const属性。主要是用前者,后者很少用。去掉const属性:const_case<int*>(&num),常用,因为不能把一个const变量直接赋给一个非const变量,必须要转换。加上const属性:constint*k=const_case......
  • 【论文阅读】MONAI Label:人工智能辅助的 3D 医学图像交互式标注框架
    Abstract缺乏带注释的数据集是训练监督AI算法的主要挑战,因为手动注释既昂贵又耗时。为了解决这个问题,我们提出了MONAILabel,这是一个免费的开源平台,有助于开发基于AI的应用程序,旨在减少注释3D医学图像数据集所需的时间。通过MONAILabel,研究人员可以开发专注于其专业领域的......
  • 浅谈 thinkphp composer 扩展包加载原理
    浅谈thinkphpcomposer扩展包加载原理本文将介绍ThinkPHP中Composer扩展包的加载原理,帮助读者更好地理解和应用该功能。前言如题,今天感觉好久没有更新博客了。最近迷上了物联网开发。一直在研究stm32、51这些东西。想起来前几天群里面有人问到tp扩展包原理。其实这个前......
  • FSL 安装教程
    这节主要介绍如何安装FSL工具。由于我LINUX服务器上早已安装成功,这次在MacOs系统上进行安装演示。其余系统基本一致,按照官方安装说明一步一步来即可。预祝大家顺利安装。FSL下载下载地址下载步骤同意FSLlicence勾选填写个人信息,信息随意填写,不用真实信息选择安装系统可以......
  • C++ 深入理解const_cast转换运算符
    const_cast转换运算符我们在RTTI和类型转换运算符中详细介绍过它的用法和使用场景,今天我们对其进一步了解一下。首先我们回忆一下它的作用和用法。const_cast的基本使用const_cast运算符用于执行只有一种用途的类型转化,即改变const或volatile。用法如下:const_cast<type_name>......
  • 对抗性自动编码器系列--有监督对抗自动编码器SAAE的原理及实现-随机数生成想要的数字
    文章目录前言监督对抗性自动编码器SAAE风格和内容的分离SAAE训练结果AEAAESAAE实验对比结果恢复效果对比从随机数重建图像的效果这部分实验代码前言先来看看实验:我们使用MNIST手写数字,测试通过自动编码器和对抗性自动编码器学习重建恢复效果。原始图像:自动编码器重建效果......