U-net网络是一个典型的端到端的网络结构。如下图所示:
基本的网络结构并不复杂,但是代码实现过程中需要进行调试,但这会花费很大的时间。本文旨在为初学者介绍代码的快速使用方法,直接将U-net网络作为黑盒使用。如果您觉得对您有用,请点个赞,欢迎交流。
一:从github上下载改进的U-net源码:点击打开传送门
显示如下:
二:点击Clone or download,下载程序
三:解压缩并打开项目文件:
四:运行“data.py”文件:
会在data文件夹下的aug_label,aug_train,aug_merge,mergre,npydata文件夹中生成数据增强后的图像,如下图:
augimgs_mask_train.npy:所有增强后的"ground truth"数据,数据增强源是'data/train/label'路径下的图片
augimgs_train.npy : 所有增强后的"原图"数据,数据增强源是'data/train/image'路径下的图片
imgs_test.npy:'test'文件夹中的数据
五:运行“unet.py”文件:
开始进行训练,训练过程可能会花费一些时间,在这个文件的代码中,我指定了运算的位置为GPU,若没有GPU加速可以选择注释,运算会自动指定在CPU上,无需担心。CPU训练一轮模型大概需要2~3个小时。
六:在当前目录下会生成'unet.hdf5','test_predict.py','imgs_mask_test.npy'三个文件,如下图:
unet.hdf5:模型训练保存得到的最优参数
test_predict.py:模型结果可视化
imgs_mask_test.npy:对test文件夹下的测试图像进行预测得到的结果
七:运行'test_predict.py',将模型预测得到的结果进行可视化。
其实就是对模型得到的预测数据'imgs_mask_test'在figure中展示,可视化结果。
八:运行'data_vision.py',可以将测试集及其结果保存成指定的图片格式,并且保存到指定的路径下。可以根据自己情况选择
运行结果展示:
"Note":
由于Ubuntu系统与Windows系统内部存储的结构的细微差异,程序在windows系统上运行时会出错,需要进行调试。故程序最好运行在Ubuntu系统上。
如有疑问,请联系:[email protected]