当前位置:   article > 正文

U-Net源码上实现自己数据集的分割任务_u-net分割自己的数据集

u-net分割自己的数据集

# 深度学习还没开始就想放弃系列 #

环境: win7+python 3.5+ tensorflow 1.9.0 + keras 2.2.4

参考博客: U-net源码讲解(Keras)源码解析很棒很细!

                  全卷积神经网络图像分割(U-net)-keras实现代码根本来源于该博主的Github

                   深度学习数据增强(data_augmentation):Keras ImageDataGenerator : keras的图像增强讲解,方便理解源码函数;

                   Keras中文文档——图片预处理 : 无意中翻到的,学习keras可以留存。

目的 : 利用U-Net (keras)实现自己数据集的分割任务,二类。

数据集准备: 

样本: size: 256*256 位深为8,.png格式;

标签: size: 256*256 ,.png格式,使用photoshop软件标注控制位深为8,图片名于样本名字相同。

存储位置: 同一个根目录下的两个文件夹中,文件名为:image, label

测试图片:位深为8,

主要代码:model.py:存放U-Net网络模型,keras写起来真的很简单!!

  1. # model.py
  2. import numpy as np
  3. import os
  4. import skimage.io as io
  5. import skimage.transform as trans
  6. import numpy as np
  7. from keras.models import *
  8. from keras.layers import *
  9. from keras.optimizers import *
  10. from keras.callbacks import ModelCheckpoint, LearningRateScheduler
  11. from keras import backend as keras
  12. def unet(pretrained_weights = None,input_size = (256,256,1)):
  13. inputs = Input(input_size)
  14. conv1 = Conv2D(64, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(inputs)
  15. conv1 = Conv2D(64, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(conv1)
  16. pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)
  17. conv2 = Conv2D(128, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(pool1)
  18. conv2 = Conv2D(128, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(conv2)
  19. pool2 = MaxPooling2D(pool_size=(2, 2))(conv2)
  20. conv3 = Conv2D(256, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(pool2)
  21. conv3 = Conv2D(256, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(conv3)
  22. pool3 = MaxPooling2D(pool_size=(2, 2))(conv3)
  23. conv4 = Conv2D(512, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(pool3)
  24. conv4 = Conv2D(512, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(conv4)
  25. drop4 = Dropout(0.5)(conv4)
  26. pool4 = MaxPooling2D(pool_size=(2, 2))(drop4)
  27. conv5 = Conv
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/98032
推荐阅读
相关标签
  

闽ICP备14008679号