向AI转型的程序员都关注了这个号????????????

人工智能大数据与深度学习  公众号:datayx

运行demo

下载数据集

https://pan.baidu.com/s/1PK3VoarNl3kRibbsUTuyAQ

提取密码: dq7j

并解压到data文件夹中,该数据集中包含checkpoints, images, masks, test四个文件夹,其中images是图像数据集,masks是该数据集对应的标签,test是测试数据,checkpoints是在该数据集上预训练的模型。

训练 python train.py

推理 预测

python inference.py -m ./data/checkpoints/epoch_10.pth -i ./data/test/input -o ./data/test/output


  • 代码 获取方式:

    分享本文到朋友圈

    关注微信公众号 datayx  然后回复 图像分割  即可获取。

    AI项目体验地址 https://loveai.tech

    单肩包/双肩包/斜挎包/手提包/胸包/旅行包/上课书包 /个性布袋等各式包饰挑选

    https://shop585613237.taobao.com/


该数据集包含1500张128x128的图像,图像是程序生成的,包含三种类别:背景、圆形、矩形,如下:

该模型识别背景,圆形,矩形三种类别,使用如下图像进行推理:

得到的推理结果为三个图像,这三个图像分别是背景、圆、矩形(白色像素为预测结果):

该数据集是由程序生成的,图像对应的标签是一个8位的单通道图像,值为相应的类别索引。

关于标签

假设有如下图像,该图像是一个10x10大小的图像,图像周围是空白背景,中心位置是一个圆形:

该图像包含两个类别,背景和圆,则背景位置对应的标签的像素值应该为0,圆对应的标签像素值应该为1,像下面这样:

由于该标签图像的值只包含0和1,所以它看起来整个图都是黑色的。

由于标签图像是8位的单通道图像,所以该方法支持最多256种类别。

制作标签

现在有如下图片

该数据存在三个类别,分别是 Background、Tom、Jerry,使用labelme标注结果如下

该结果保存成为了一个json文件,内容如下

我们要制作一个只包含三个类别的标签图像,该标签图像中,Background为0,Tom为1,Jerry为2。我们首先要创建一个和原图大小一致的空白图像,该图像所有像素都是0,这表示在该图像中所有的内容都是Background。然后根据标签对应的区域使用与之对应的类别索引来填充该图像,也就是说,将Tom对应的区域用1填充,Jerry对应的区域用2填充。具体如下

该图像只包含0、1和2,如果打开图像查看的话,应该是一个全黑的图像,因为2这个像素值太小了,无法看清。如果想查看某个类别的标注情况,可以在mask = cv2.fillPoly(mask, [points_array]

, category_types.index(category))中将该颜色改为一个清晰可见的颜色,例如将Tom的颜色改成255,但是最终制作标签的时候要记得将其改回对应的索引值。如下

这样能够清晰看到Tom的标注结果是否正确

最后,保存图像的时候要注意保存成png格式的图像,因为jpg格式会在存储时对图像进行压缩,导致mask图像不准确。

损失函数

在计算多类别任务损失时,最开始是使用了交叉熵损失函数,交叉熵损失函数容易受到类别不平衡影响,后来改用了一种基于IOU的损失函数lovaszSoftmax,效果显著提升。

lovaszSoftmax

https://github.com/bermanmaxim/LovaszSoftmax

pytorch+Unet图像分割:将图片中的盐体找出来

Unet车牌分割,矫正

Unet美发实例分割,染发展示

机器学习算法AI大数据技术

 搜索公众号添加: datanlp

长按图片,识别二维码


阅读过本文的人还看了以下文章:

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  


教程: UNet/UNet++多类别图像分割,含数据集制作相关推荐

  1. 图像分割 | FCN数据集制作的全流程(图像标注)

    图像分割 | FCN数据集制作的全流程(图像标注) 一 全卷积神经网络 文章所有代码已上传至github,觉得好用就给个star吧,谢谢 https://github.com/315386775/FC ...

  2. Yolov5-5.0源码分享以及环境配置——Yolov5训练及测试教程(超详细含数据集制作,格式转换,数据集划分)

    yolov5-5.0百度网盘连接 链接: https://pan.baidu.com/s/1Hd2KKBixuEWRv3jcH6Bcsw 提取码: g6xf 复制这段内容后打开百度网盘手机App,操作 ...

  3. tensorflow版使用uNet进行医学图像分割(Skin数据集)

    tensorflow版使用uNet进行医学图像分割(Skin数据集) 深度学习.计算机视觉学习笔记.医学图像分割.uNet.Skin皮肤数据集 tensorflow版使用uNet进行医学图像分割(Sk ...

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

    文章目录 1.数据准备 2.程序准备 3.运行网络 4.测试结果 5.参考 1.数据准备 原始数据:首先准备数据,参考数据来自于 ISBI 挑战的数据集.数据可以在(https://github.co ...

  5. UNet 网络做图像分割DRIVE数据集

    目录 1. 介绍 2. 搭建 UNet 网络 3. dataset 数据加载 4. train 训练网络 5. predict 分割图像 6. show 7. 完整代码 1. 介绍 项目的目录如下所示 ...

  6. 全卷积神经网路【U-net项目实战】U-Net源码上实现自己数据集的分割任务

    文章目录 环境: 数据集准备: 主要代码: 接下来是训练,此处将训练和测试分开在两个.py文件中,好调用! 接下来就是愉快的测试了:main_test.py 测试结果部分展示:(裂缝检测) 问题 : ...

  7. UNet - unet网络

    目录 1. u-net介绍 2. u-net网络结构 3. u-net 网络搭建 3.1 DoubleConv 3.2 Down 下采样 3.3 Up 上采样 3.4 网络输出 3.5 UNet 网络 ...

  8. yolov5识别吸烟(含数据集)

    yolov5识别头盔(含数据集) 链接:https://pan.baidu.com/s/1VvLo_VkbSv2QSMYdAtJL_w 提取码:ugh0 –来自百度网盘超级会员V4的分享

  9. 记录::图像分割数据集制作过程

    图像分割数据集制作,主要分为4步,用于语义分割还是实例分割,分不清楚,只是针对代码制作的自己的数据集. 数据整体差别不大,用复制加速了一下. 1.cmd:labelme,先画一个json作为模板 2. ...

最新文章

  1. 使用百度地图结合GPS进行定位
  2. 深入理解 Kotlin Coroutine (一)
  3. java集合性能_Java集合性能分析-疯狂Java讲义
  4. Java 中 this 和 super 的用法总结
  5. Java充电宝模型设计_继续探讨点赞功能模块设计
  6. js变量后面加问号是什么_JS变量生命周期:为什么 let 没有被提升
  7. (56)FPGA条件选择有优先级(case)
  8. c统计多线程总时间_SQL Server处理器性能指标–第2部分–处理器:%用户时间,处理器:%特权时间,总时间和线程指标
  9. oracle subset-superset pairs,Oracle 字符集
  10. Swift实现糗事百科Demo(实战项目)
  11. Sublime Text3:显示/隐藏侧边栏快捷键 修改侧边栏颜色、字体大小
  12. VMware虚拟机中激活Windows Server 2008的具体步骤
  13. 【单片机】2.3 AT89S52的CPU
  14. Youtube上播放量前100的单曲整理
  15. php实现按一下button显示的数字加1_24h只能加一次,javascript - 连续点击按钮后,数据如何不会累加显示?...
  16. 特种浓缩分离:生物农药超滤分离提纯过滤技术
  17. java毕业生设计校园线上点餐系统计算机源码+系统+mysql+调试部署+lw
  18. Linux升级gcc到最新版本gcc-11.2.0
  19. 使用AndroidViewModel初始化报错
  20. e480换高分屏_ThinkPadE480电脑(i5-8250u 8G内存 256G固态 高分屏0QCD 14英寸) 京东5699元...

热门文章

  1. Mysql和vs2010 的连接
  2. OpenCV-计算轮廓面积cv::contourArea
  3. opencv 打印文字_如何使用OpenCV+Python去除手机拍摄文本底色
  4. 商品库存清单案例java_java实现超市商品库存管理平台
  5. mysql搜索所有表,mySQL查询来搜索数据库中的所有表以查找字符串?
  6. 剑指offer面试题[26]-复杂链表的复制
  7. 软件测试52讲-安全第一:渗透测试
  8. 金三银四 | 吃透这套题,面试更有底气
  9. 接口自动化测试(Python+Requests+Unittest)
  10. 人人都是测试经理:如何进行测试风险分析并制定策略