U-net进行图像分割
数据准备
原始数据:首先准备数据,参考数据来自于 ISBI 挑战的数据集。数据可以在 这里 下载到,含30张训练图、30张对应的标签。30张测试图片,均为.tif 格式文件
程序准备
程序地址:这里
程序含有2个文件,一个文件为data.py :该文件是用来将训练数据转化为.npy 格式文件,便于网络使用数据。当然还有其他功能如数据增强等,程序中已经进行了解释。另外一个文件:unet.py :该文件为unet网络结构定义与测试代码。
运行网络
首先 :运行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、用数据增强后的处理效果
U-net进行图像分割相关推荐
- MindSpore部署图像分割示例程序
MindSpore部署图像分割示例程序 本端侧图像分割Android示例程序使用Java实现,Java层主要通过Android Camera 2 API实现摄像头获取图像帧,进行相应的图像处理,之后调 ...
- 用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割
用NVIDIA Tensor Cores和TensorFlow 2加速医学图像分割 Accelerating Medical Image Segmentation with NVIDIA Tensor ...
- 《OpenCV3编程入门》学习笔记8 图像轮廓与图像分割修复(一)查找并绘制轮廓
第8章 图像轮廓与图像分割修复 8.1 查找并绘制轮廓 8.1.1 寻找轮廓:findContours()函数 1.作用:在二值图像中寻找轮廓 2.函数原型: void findcontours(In ...
- 图像分割:Python的SLIC超像素分割
图像分割:Python的SLIC超像素分割 1. 什么是超像素? 2. 为什么超像素在计算机视觉方面有重要的作用? 3. 简单线性迭代聚类(SLIC) 4. 效果图 5. 源码 参考 1. 什么是超像 ...
- cv2.threshold() 阈值:使用Python,OpenCV进行简单的图像分割
图像分割有多种形式. 聚类.压缩.边缘检测.区域增长.图分区.分水岭等等:(Clustering. Compression. Edge detection. Region-growing. Graph ...
- LabVIEW彩色图像分割(基础篇—14)
基于目标颜色的彩色图像分割常包括色彩阈值处理(Color Threshold)和色彩分割(Color Segmentation)两种方法. 色彩阈值处理可以对图像在色彩空间中的3个分量分别进行阈值处理 ...
- LabVIEW图像分割算法(基础篇—6)
目录 1.图像阈值分割 1.1.全局阈值分割 1.1.1.手动阈值分割 1.1.2.自动阈值分割 1.2.局部阈值分割 1.3.阈值分割算法比较 2.图像边缘分割 2.1.点检测 2.2.线检测 2. ...
- 5行Python代码实现图像分割
目录 1.环境部署 2.语义分割 3.即时分割 众所周知图像是由若干有意义的像素组成的,图像分割作为计算机视觉的基础,对具有现有目标和较精确边界的图像进行分割,实现在图像像素级别上的分类任务. 图像分 ...
- 基于U-Net系列算法的医学图像分割(课程设计)
基于U-Net系列算法的医学图像分割(课程设计) 参考论文:包括U_Net/R2U_Net/AttU_Net/R2AttU_Net,如下图所示: 基于Pytorch的代码和数据集下载地址:下载地址 运 ...
- OpenCV(26)图像分割 -- 距离变换与分水岭算法(硬币检测、扑克牌检测、车道检测)
目录 一.基础理论 1.思想 2.原理 二.分水岭实战:硬币 步骤归纳 1.把原图像转二值图 2.开运算去噪 3.确定背景区域(膨胀)(得到背景/最大连通域) 4.确定前景区域(距离变换) (分离)( ...
最新文章
- [Java]学习Java(4)类、接口、语句
- Forever +nginx部署Node站点
- 多台计算机怎样才能同时使用互联网,如何实现一台路由器多台计算机同时上网...
- cvtcolor python opencv_蔡徐坤教你用OpenCV实现素描效果
- zzuli 2520: 大小接近的点对
- iOS 深入解析之NSArray
- python的进程线程和协程_python成长之路 :线程、进程和协程
- SELECT TOP 1 比不加TOP 1 慢的原因分析以及SELECT TOP 1语句执行计划预估原理
- SIP中第三方呼叫控制(3PCC)建立流程
- [C] static和extern的作用
- 思维导图iMindMap如何制定时间计划
- 基于Multisim的12小时制电子时钟仿真
- 15-基于51单片机的篮球计时器
- 2022电大国家开放大学网上形考任务-民事诉讼法学非免费(非答案)
- 萨姆休斯顿州立大学计算机专业,萨姆休斯顿州立大学排名在2020年USNEWS美国最佳综合大学排名第281...
- 解决导入protobuf源代码Unity报错的问题
- PRML读书会第五章 Neural Networks(神经网络、BP误差后向传播链式求导法则、正则化、卷积网络)...
- C# 在wpf中如何使用image
- iOS APP中嵌入网速监测功能
- matlab中制作软件,在matlab app designer中制作多个3d图形动画