0


【爆火】TransUNet:融合Transformer与U-Net的医学图像分割神器!

    在医学图像分割领域,传统的U-Net模型已经取得了显著成果。然而,随着Transformer在计算机视觉领域的崛起,将其与U-Net结合的TransUNet模型成为了新的热门。今天就给大家详细介绍一下TransUNet的实现与运行教程!💥
一、TransUNet是什么?🤔
    TransUNet是一种融合了Transformer和U-Net结构的深度学习模型,旨在提高医学图像分割的精度。它结合了Transformer的全局上下文理解能力和U-Net的局部特征提取能力,非常适合处理复杂的医学图像。

二、代码实现与运行教程📝

    我们需要将原始的图像数据转换成NPZ格式,以便后续的模型训练和验证。npz格式是一种numpy压缩格式,可以很方便地保存和加载numpy数组数据。下面就来具体介绍一下这个转换的过程:
  1. 首先,我们需要确定原始图像的存放路径path,这里的地址是输入图片的地址,标签的地址是将图片地址替换后获得的
  2. 接着,我们需要创建一个存放转换后NPZ文件的路径path2
  3. 然后,我们使用glob模块遍历原始图像路径下的所有jpg文件,对于每一个图像文件:
  4. 使用cv2.imread()函数读取图像数据,并转换成RGB格式;
  5. 根据图像路径,找到对应的标签文件路径,读取标签数据;
  6. 使用np.savez()函数,将图像数据和标签数据保存成NPZ格式,文件名按序号递增。
  7. 最后,我们可以使用np.load()函数加载NPZ文件,验证一下数据是否正确保存。 import globimport cv2import numpy as npdef npz(): #图像路径 path = r'F:\earn\TransUNet-main\pic\DeepCrack\images\*.jpg' #项目中存放训练所用的npz文件路径 path2 = r'F:\earn\TransUNet-main\data\Synapse\test_vol_h7/' for i,img_path in enumerate(glob.glob(path)): #读入图像 image = cv2.imread(img_path) image = cv2.cvtColor(image,cv2.COLOR_BGR2RGB) #读入标签 label_path = img_path.replace('images','labels') label = cv2.imread(label_path,flags=0) #保存npz np.savez(path2+str(i),image=image,label=label) print('------------',i) # # 加载npz文件 # data = np.load(r'F:\earn\TransUNet-main\data\Synapse\train_npz\0.npz', allow_pickle=True) # image, label = data['image'], data['label'] # print(image, label) print('ok')a=npz()转后后的结果如下
  8. 然后需要生成一个包含训练数据集信息的txt文件,具体的生成代码如下,利用同样的方法生成验证集的txt文件import os# 定义文件夹路径folder_path = r'F:\earn\TransUNet-main\data\Synapse\test_vol_h5'# 获取文件夹中所有文件的名称file_names = os.listdir(folder_path)# 将文件名称写入train.txt文件(保留后缀并添加.h5)with open('train.txt', 'w') as file: for name in file_names: file.write(name + '.h5\n')数据集制作完成后,需要下载训练权重,权重地址如下vit_models – 存储桶详情 – Cloud Storage – Google Cloud Console
  • 手动创建model文件夹,然后将权重放置到其中
  • 在下载好权重后,开始设置训练参数的修改,需要修改数据集的路径,同时修改类别数对应你任务的类别。
  • 同样下面的数据路径和类别数都需要修改
  • 最后根据你电脑的性能在trainer中修改你读取数据的线程就好,训练过程中还有其他的问题,由于代码修改篇幅较长,后续在提供问题的修改的过程。
  • 如果您对Transuent模型的改进和深度学习技术感兴趣,欢迎关注我的微信公众号 **"AI代码 Insights"**。在这里,我会定期分享最新的人工智能技术、深度学习算法和实践经验,与大家共同探讨AI领域的前沿动态。同时需要实现代码的可以通过公众号来找我要。

本文转载自: https://blog.csdn.net/weixin_62921094/article/details/140120191
版权归原作者 一个小人物113 所有, 如有侵权,请联系我们删除。

“【爆火】TransUNet:融合Transformer与U-Net的医学图像分割神器!”的评论:

还没有评论