首页 > 其他分享 >医学图像分割的基准:TransUnet(用于医学图像分割的Transformer编码器)器官分割

医学图像分割的基准:TransUnet(用于医学图像分割的Transformer编码器)器官分割

时间:2024-08-09 13:25:19浏览次数:8  
标签:分割 Transformer 医学 图像 TransUnet 数据

1、 TransUnet 介绍

TransUnet是一种用于医学图像分割的深度学习模型。它是基于Transformer模型的图像分割方法,由AI研究公司Hugging Face在2021年提出。

医学图像分割是一项重要的任务,旨在将医学图像中的不同结构和区域分离出来,以便医生可以更好地诊断和治疗疾病。传统的医学图像分割方法通常使用基于卷积神经网络(CNN)的方法,但这些方法在处理大量图像数据时可能存在一些限制,如需要大量标注数据、对图像中小目标的分割效果不佳等。

TransUnet通过引入Transformer模型来提高医学图像分割的性能。Transformer模型在自然语言处理中已经取得了显著的成功,它的一个重要特点是能够处理长距离的依赖关系。TransUnet将这种特点应用于图像分割中,通过将图像划分为一系列的图像块,并使用Transformer模型对这些块进行编码和解码,实现对图像中不同结构和区域的准确分割。

TransUnet的核心组件是自注意力机制,它能够学习图像中不同部分之间的关系,并在编码和解码过程中进行信息传递。通过多层自注意力机制的堆叠,TransUnet能够捕捉到图像中的全局上下文信息,并准确地分割出图像中的不同结构和区域。

与传统的基于卷积神经网络的方法相比,TransUnet在医学图像分割任务上取得了显著的性能提升。它能够更好地处理图像中的小目标和复杂结构,减少了对大量标注数据的依赖,并且在不同的医学图像数据集上都取得了优异的效果。

总的来说,TransUnet是一种基于Transformer模型的医学图像分割方法,通过引入自注意力机制和全局上下文信息的传递,提高了医学图像分割的准确性和效率。它为医生提供了一种精确分割医学图像的工具,有助于更好地诊断和治疗疾病

2、 实验1(腹部13器官分割)

TransUnet 多分割项目实验

2.1 数据集介绍

实验使用的数据集是腹部的13器官分类、加上背景0就是14类别的多分割任务

标签如下:

{
        "0": "background",
        "1": "spleen",
        "2": "right kidney",
        "3": "left kidney",
        "4": "gallbladder",
        "5": "esophagus",
        "6": "liver",
        "7": "stomach",
        "8": "aorta",
        "9": "IVC",
        "10": "veins",
        "11": "pancreas",
        "12": "rad",
        "13": "lad"
    }

中文标签:1. 脾脏 2. 右肾 3. 左肾 4. 胆囊 5. 食道 6. 肝脏 7. 胃 8. 主动脉 9. 下腔静脉 10. 门静脉和脾静脉 11. 胰腺 12 右肾上腺 13 左肾上腺

值得注意的是,因为原始的数据是CT数据,对比度较小,这里对数据进行了对比度拉伸,并且全部缩放到512*512的大小。数据的标签是0、1、2、3 ... 12、13的阈值图像

数据集:

标签:

2.2 训练

这里将数据集按照 8:2 比例分成了训练集和验证集

优化器为 optimizer = torch.optim.AdamW(model.parameters(), lr=0.01, weight_decay=0.01)

学习率的衰减策略是余弦退火的cos衰减,batch_size = 8,epoch 设定为100

从左到右依次为epoch、train loss、train iou、val loss、val iou

2.3 评估模型

评估模型应该用测试集,因为一开始没有划分测试集,这里用验证集是一样的

这里采用 best.pt 

各项指标分别为,这里的列表分别是每个前景的iou、recall等等

global correct: 0.9881

precision: ['0.9930', '0.9653', '0.9447', '0.9456', '0.8626', '0.8249', '0.9715', '0.9547', '0.9285', '0.8862', '0.7844', '0.8250', '0.6903', '0.6778']

recall: ['0.9946', '0.9629', '0.9289', '0.9399', '0.8278', '0.6833', '0.9729', '0.9265', '0.9263', '0.8522', '0.7127', '0.7678', '0.5549', '0.4758']

IoU: ['0.9877', '0.9306', '0.8810', '0.8917', '0.7314', '0.5968', '0.9459', '0.8875', '0.8646', '0.7681', '0.5960', '0.6603', '0.4443', '0.3880']

mean IoU: 0.7553

推理如下,输入数据为:

推理gt:

掩膜效果:

2.4 项目下载

代码、数据集、训练好的权重下载参考:

基于Transformer-Unet实现的对腹部多脏器13类别的分割实战【包含代码+数据集+训练结果】资源-CSDN文库

3、实验2(Synapse多器官分割数据集

TransUnet 多分割项目实验

3.1 数据集介绍

实验使用的数据集是Synapse multi-organ segmentation dataset(Synapse多器官分割集)

腹部CT扫描 8个腹部器官(主动脉、胆囊、脾、左肾、右肾、肝、胰腺、脾、胃)

标签灰度值从1-7

值得注意的是,因为原始的数据是npz数据,这里输入应该是图像,所以对数据进行的提取,并且全部缩放到512*512的大小。数据的标签是0、1、2、3 ... 7、8的阈值图像

3.2 训练

这里同样将数据集按照 8:2 比例分成了训练集和验证集

优化器为 optimizer = torch.optim.AdamW(model.parameters(), lr=0.01, weight_decay=0.01)

学习率的衰减策略是余弦退火的cos衰减,batch_size = 8,epoch 设定为100

loss和iou曲线为:

从左到右依次为epoch、train loss、train iou、val loss、val iou

3.3 评估模型

指标如下:

global correct: 0.9924
precision: ['0.9958', '0.9089', '0.8571', '0.9012', '0.9353', '0.9670', '0.8367', '0.9643', '0.9299']
recall: ['0.9967', '0.9085', '0.8419', '0.9289', '0.8797', '0.9642', '0.6350', '0.9687', '0.9267']
IoU: ['0.9925', '0.8327', '0.7383', '0.8431', '0.8292', '0.9335', '0.5650', '0.9351', '0.8662']
mean IoU: 0.8373

推理如下:

推理gt:

 掩膜效果:

3.4 项目下载

代码、数据集、训练好的权重下载参考:

基于Transformer-Unet实现的对Synapse多器官(8类)分割实战【包含代码+数据集+训练结果】资源-CSDN文库

标签:分割,Transformer,医学,图像,TransUnet,数据
From: https://blog.csdn.net/qq_44886601/article/details/140907164

相关文章

  • 在国产芯片上实现YOLOv5/v8图像AI识别-【2.3】RK3588上使用C++启用多线程推理更多内容
    本专栏主要是提供一种国产化图像识别的解决方案,专栏中实现了YOLOv5/v8在国产化芯片上的使用部署,并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。B站配套视频:https://www.bilibili.com/video/BV1or421T74f基础背景对于国产化芯片来说,是采用NPU进......
  • 一个基于SpringBoot实现的图像托管程序
    大家好,我是Java陈序员。今天,给大家介绍一个基于SpringBoot实现的开源图床项目。关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。项目介绍Tbed——一个由Java语言编写、SpringBoot框架开发的开源图像托管程序。具备多对象......
  • 多尺度病理图像纹理特征作为肺腺癌预后预测的新指标|文献精读·24-08-09
    小罗碎碎念这一期推文分享的文献是2022年发表于JournalofTranslationalMedicine的一篇文章,目前IF=6.1。这篇文章值得刚入门病理AI领域的老师/同学仔细研读,因为思路清晰,该讲到的流程基本都涉及了,详细讲述了病理图像的各种纹理特征,并给出了具体的计算方式。此外,还介......
  • fpga图像处理实战-RGB转YCBCR(YUV)算法
    YCBCR        YCbCr是一种用于数字图像和视频的颜色空间。它将颜色分解为亮度(Y)和两个色度分量(Cb和Cr)。这种分解使得视频压缩和传输更加高效,因为人眼对亮度变化更敏感,而对色度变化较不敏感。        亮度(Y):亮度表示图像的灰度级别或光强度。它是RGB颜色空间中......
  • fpga图像处理实战-RGB与HSV互转
    HSV颜色模型        HSV(Hue,Saturation,Value)颜色模型是一种常用的色彩表示方式,特别适用于图像处理、计算机图形学和色彩选取工具中。它通过将颜色的表示从传统的RGB(红、绿、蓝)模型转换为更符合人类视觉感知的方式来描述颜色。以下是HSV模型的三个主要分   ......
  • fpga图像处理实战-YCBCR转RGB
    计算公式    R=Y+1.402*(V-128)=Y+1.402*CR-1.402*128  G=Y-0.344*(U-128)-0.714*(V-128)=Y-0.344*CB-0.714*CR+1.058*128   B=Y+1.772*(U-128)=Y+1.772*CB-1.772*128FPGA实现`timescale1ns/1ps////Company://......
  • (算法)图像渲染————<递归>
    1.题⽬链接:733.图像渲染2.题⽬描述:3.算法思路:可以利⽤「深搜」或者「宽搜」,遍历到与该点相连的所有「像素相同的点」,然后将其修改成指定的像素即可。递归函数设计:•参数:a.原始矩阵;b.当前所在的位置;c.需要修改成的颜⾊。•函数体:a.先将该位置的颜⾊......
  • 深度学习中,图像和文本的输入区别
    图像输入1.数据预处理尺寸调整(Resizing):将图像调整到统一的尺寸,如224×224或256×256。归一化(Normalization):对每个像素值进行归一化,像素值通常归一化到[0,1]或[-1,1]范围。数据增强(DataAugmentation):包括随机裁剪、翻转、旋转等操作,以增加模型的泛化能力......
  • AI绘画 Stable Diffusion后期处理—无需ControlNet也能轻松高清放大图像与老旧照片修
    大家好,我是设计师阿威分享了这么多期AI绘画StableDIffusion的入门教程和一些常用的插件玩法后,不知道大家有没有发现,SD还有一个功能,似乎没怎么用到过,它就是—后期处理。今天就给大家分享一下SD中的“后期处理”的常用玩法。后期处理可以选择「单张照片」、「批量处理......
  • 点云_图像--坐标中心和角点
    图像2D框boundingbox目标框(boundingbox)来描述目标的位置,目标框是矩形的。由矩形左上角的坐标(x1,y1)以及右下角的坐标(x2,y2)进行表示。另外,还可以采用边界框矩形的中心坐标(xc,yc)以及宽高(w,h)进行表示(1)"左上-右下"转换为"中心-宽高"defbox_corner_to_center(boxes):......