U-net:运行你的第一个U-net进行图像分割

Unet 专栏收录该内容
1 篇文章 1 订阅

Unet进行图像分割

注意:本文运行环境为:python3.5、tensorflow 1.4.0

数据准备

  • 原始数据:首先准备数据,参考数据来自于 ISBI 挑战的数据集。数据可以在 这里 下载到,含30张训练图、30张对应的标签。30张测试图片,均为.tif 格式文件。
  • 增强后的数据 :谷歌云盘

以上数据二选一就行

程序准备

程序地址:这里
程序含有2个文件,一个文件为data.py :该文件是用来将训练数据转化为.npy 格式文件,便于网络使用数据。当然还有其他功能如数据增强等,程序中已经进行了解释。另外一个文件:unet.py :该文件为unet网络结构定义与测试代码。

  • 运行前的文件夹结构
--deform
		train
			train
				0.tif
				1.tif
				...
			label
				0.tif
				1.tif
				...
--my_test
		data.py
		unet.py
--npydata

--results

--test
		test
			0.tif
			1.tif
			...
		0.tif
		1.tif
		...

运行网络

  • 首先 :运行data.py :运行后会生成三个.npy文件 :
    imgs_mask_train.npy :训练图片标签
    imgs_train.npy : 训练图片
    imgs_test.npy : 测试图片。注意这个测试图片是最后你要测试的图片,而非训练中测试准确率的图片,测试准确率的图片和训练图片是在一起的,训练的时候会将训练图片分配一部分用于测试准确率等。
  • 其次 :运行 unet.py :你需要修改的地方为第154
model.fit(imgs_train, imgs_mask_train, batch_size=2, nb_epoch=10, verbose=1,validation_split=0.2, shuffle=True, callbacks=[model_checkpoint])

batch_size 根据你的设备来修改,即每次输入几张图片,建议2~4张。
nb_epoch=10 是训练多少次,一般20~50次。如果就30张图片的话,训练很快,几分钟就好了。

  • 最后test 文件夹下的图片的测试结果放在了results 文件夹下。

  • 另外 :如果你在训练完后想再测试几张图片的话,直接将154行注释掉就行,再次运行unet.py :就会进行测试你放在test 文件夹下的图片,结果就会保存再results 文件夹下。

测试结果如下

1、纯粹用原始的30张进行训练的结果,大约87%的准确率
这里写图片描述
2、用数据增强后的处理效果
增强后的效果

  • 欢迎留言交流

参考

<p style="font-size:14px;background-color:#ffffff;color:#333333;"> <span style="background-color:#ffffff;"><strong>注意:本课程已从Keras更新至TensorFlow2</strong></span> </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> U-Net是一种基于深度学习的图像语义分割方法,尤其在医学图像分割中表现优异。 </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> 本课程将手把手地教大家使用labelme图像标注工具制作自己的数据集,生成Mask图像,并使用U-Net训练自己的数据集,从而能开展自己的图像分割应用。 </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> 本课程有三个项目实践: </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> (1) Kaggle盐体识别比赛 :利用U-Net进行Kaggle盐体识别 </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> (2) Pothole语义分割:对汽车行驶场景中的路坑进行标注和语义分割 </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> (3) Kaggle细胞核分割比赛 :利用U-Net进行Kaggle细胞核分割 </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> 本课程使用TensorFlow2版本的U-Net,在Ubuntu系统上用Jupyter Notebook做项目演示。 包括:数据集标注、数据集格式转换和Mask图像生成、编写U-Net程序文件、训练自己的数据集、测试训练出的网络模型、性能评估。<span style="font-family:微软雅黑, sans-serif;">项目代码也可在</span><span style="font-family:微软雅黑, sans-serif;">Windows</span><span style="font-family:微软雅黑, sans-serif;">上运行,课程提供</span><span style="font-family:微软雅黑, sans-serif;">Windows</span><span style="font-family:微软雅黑, sans-serif;">环境搭建方法。</span> </p> <p class="MsoNormal">   </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> 本课程提供项目的数据集和Python程序代码。 </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> <strong>相关课程:<span style="font-family:微软雅黑, sans-serif;color:#222226;">UNet</span><span style="font-family:微软雅黑, sans-serif;color:#222226;">(<span>PyTorch</span>)图像语义分割实战:训练自己的数据集 </span></strong><span style="font-family:'微软雅黑',sans-serif;color:#222226;background:white;">https://edu.csdn.net/course/detail/36198</span> </p> <p style="font-size:14px;background-color:#ffffff;color:#333333;"> <img src="https://img-bss.csdn.net/201907221510227991.jpg" alt="" /> </p>
©️2021 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值