全卷积神经网路【U-net项目实战】ISBI 挑战数据集图像分割-keras实现

1.数据准备

原始数据:首先准备数据,参考数据来自于 ISBI 挑战的数据集。数据可以在(https://github.com/decouples/Unet)下载到,含30张训练图、30张对应的标签。30张测试图片,均为.tif 格式文件。
增强后的数据 :谷歌云盘(https://drive.google.com/drive/folders/0BzWLLyI3R0pLclMzMzRxUm1qZmc)
以上数据二选一就行

2.程序准备

程序地址:(https://github.com/decouples/Unet)
程序含有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
		...

3.运行网络

首先 :运行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 文件夹下。

4.测试结果

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

5.参考

全卷机神经网络图像分割(U-net)
http://blog.csdn.net/u012931582/article/details/70215756
ISBI
http://brainiac2.mit.edu/isbi_challenge/
Keras
https://github.com/zhixuhao/unet
GIthub
https://github.com/decouples/Unet

发布了650 篇原创文章 · 获赞 190 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_43838785/article/details/104439208