【爆火】TransUNet:融合Transformer与U-Net的医学图像分割神器!
一个小人物113 2024-09-01 09:01:02 阅读 85
在医学图像分割领域,传统的U-Net模型已经取得了显著成果。然而,随着Transformer在计算机视觉领域的崛起,将其与U-Net结合的TransUNet模型成为了新的热门。今天就给大家详细介绍一下TransUNet的实现与运行教程!💥
一、TransUNet是什么?🤔
TransUNet是一种融合了Transformer和U-Net结构的深度学习模型,旨在提高医学图像分割的精度。它结合了Transformer的全局上下文理解能力和U-Net的局部特征提取能力,非常适合处理复杂的医学图像。
二、代码实现与运行教程📝
我们需要将原始的图像数据转换成NPZ格式,以便后续的模型训练和验证。npz格式是一种numpy压缩格式,可以很方便地保存和加载numpy数组数据。下面就来具体介绍一下这个转换的过程:
首先,我们需要确定原始图像的存放路径path,这里的地址是输入图片的地址,标签的地址是将图片地址替换后获得的
接着,我们需要创建一个存放转换后NPZ文件的路径path2然后,我们使用glob模块遍历原始图像路径下的所有jpg文件,对于每一个图像文件:使用cv2.imread()函数读取图像数据,并转换成RGB格式;根据图像路径,找到对应的标签文件路径,读取标签数据;使用np.savez()函数,将图像数据和标签数据保存成NPZ格式,文件名按序号递增。最后,我们可以使用np.load()函数加载NPZ文件,验证一下数据是否正确保存。
<code>import glob
import cv2
import numpy as np
def 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()
转后后的结果如下
然后需要生成一个包含训练数据集信息的txt文件,具体的生成代码如下,利用同样的方法生成验证集的txt文件
<code>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模型的改进和深度学习技术感兴趣,欢迎关注我的
上一篇: 《CrossViT: Cross-Attention Multi-Scale Vision Transformer for Image Classification》
下一篇: 揭秘LoRA:利用深度学习原理在Stable Diffusion中打造完美图像生成的秘密武器
本文标签
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。