建议去ubuntu

我们开始

我这有2个版本

一个是deeplabv3-plus-pytorch

链接:https://pan.baidu.com/s/1R1vWf1T6bPQMP7zKTsdCgQ 
提取码:a3ei

一个是unet   下面是连接

mirrors / bubbliiiing / unet-pytorch · CODE CHINA

是没有权重的提前下载

官网的权重 链接: 百度网盘 请输入提取码 提取码: c3c2

然后就是制作数据集,

使用deeplabv3+训练自己数据集(迁移学习) - vcjmhg - 博客园 (cnblogs.com)

这个连接,看着做。我这2个不用转tfrecorde的格式

害怕我以后忘记

在python 终端

pip install labelme

activate labelme

labelme

标注工具 上面是命令

开始标注,我就不展示了,网上有大把的教程。

我们标志好的文件这样放  到时候可以方便我们在训练的时候直接拿。

开始跑第一个脚本   path放的是上面的json的路径

import os
#path = 'C:/Users/tj/Desktop/dd'  # path为labelme标注后的.json文件存放的路径
path = 'C:\\Users\\31319\\Desktop\\data\\json'
json_file = os.listdir(path)
for file in json_file:if(file.split('.')[1]=='json'):os.system("labelme_json_to_dataset  %s" % (path + '/' + file))  #
# C:/soft/ev4/venv/Scripts/labelme_json_to_dataset.exe  为labelme_json_to_dataset.exe的路径  path + '/' + file 为读取.json路径print(path + '/' + file)

跑完 你可以看见 1_json 文件  这个里面有4个东西

我们在跑第2个脚本

path 是这些1_json 文件

output 就是我们之前新建的文件夹

import os
path = 'C:/Users/31319/Desktop/data/json/'
output='C:\\Users\\31319\\Desktop\\data\\1/'
fileDirs=os.listdir(path)
for fileDir in fileDirs:file=path+fileDir+"\\label.png"if(os.path.exists(file)):# 输出的文件直接以上层文件夹命名end= len(fileDir);fileName=fileDir[:end-5]os.rename(file,output+fileName+".png")

下载源码

打开C:\Users\31319\Desktop\unet-pytorch-main\VOCdevkit\VOC2007

JPEGImages

放原图

SegmentationClass

放png 也就是我们那个1文件夹

在这个地方我们把我们的第一3个脚本拿出来

跑一下这个脚本代码

import os
import random
random.seed(0)segfilepath=r'C:\Users\31319\Desktop\unet-pytorch-main\VOCdevkit\VOC2007\SegmentationClass'
saveBasePath=r"C:\Users\31319\Desktop\unet-pytorch-main\VOCdevkit\VOC2007\ImageSets\Segmentation"#----------------------------------------------------------------------#
#   想要增加测试集修改trainval_percent
#   修改train_percent用于改变验证集的比例
#----------------------------------------------------------------------#
trainval_percent=1
train_percent=0.9temp_seg = os.listdir(segfilepath)
total_seg = []
for seg in temp_seg:if seg.endswith(".png"):total_seg.append(seg)num=len(total_seg)
list=range(num)
tv=int(num*trainval_percent)
tr=int(tv*train_percent)
trainval= random.sample(list,tv)
train=random.sample(trainval,tr)  print("train and val size",tv)
print("traub suze",tr)
ftrainval = open(os.path.join(saveBasePath,'trainval.txt'), 'w')
ftest = open(os.path.join(saveBasePath,'test.txt'), 'w')
ftrain = open(os.path.join(saveBasePath,'train.txt'), 'w')
fval = open(os.path.join(saveBasePath,'val.txt'), 'w')  for i  in list:  name=total_seg[i][:-4]+'\n'  if i in trainval:  ftrainval.write(name)  if i in train:  ftrain.write(name)  else:  fval.write(name)  else:  ftest.write(name)  ftrainval.close()
ftrain.close()
fval.close()
ftest .close()

把权重放在C:\Users\31319\Desktop\unet-pytorch-main\model_data

打开train.py  找到num_classes   我的是一个类别  所以 要1+1  也就是类别+1

那个权重路径

开始运行   这是我的一个报错

解决   在头文件加

import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"

在次训练

还有一个报错就是

之前遇到的

解决

开始测试

这是我们训练的权重

打开 unet  修改这个地方

打开终端 输入  python predict.py img/1.jpg

在输入你要测试图片的路径

           

开始查看性能

在改

直接跑get-miou

就可以查看

看好31,32的路径

windows训练自己的语义分割相关推荐

  1. Halcon 深度学习之语义分割 预处理 案例解析

    语义分割 预处理 文章目录 语义分割 预处理 前言 一.预处理的目的是什么? 1.设置图像预处理的参数,此部分参数后续会写入到训练模型当中,具体参数信息如下图 2.得到语义分割的文件,用于后续的训练当 ...

  2. 深度学习-语义分割总结

    翻译自qure.ai 什么是语义分割 对图片的每个像素都做分类. 较为重要的语义分割数据集有:VOC2012 以及 MSCOCO . 有哪几种方法 传统机器学习方法:如像素级的决策树分类,参考Text ...

  3. 弱监督语义分割--Object Region Mining with Adversarial Erasing

    Object Region Mining with Adversarial Erasing: A Simple Classification to Semantic Segmentation Appr ...

  4. 笔记:基于DCNN的图像语义分割综述

    写在前面:一篇魏云超博士的综述论文,完整题目为<基于DCNN的图像语义分割综述>,在这里选择性摘抄和理解,以加深自己印象,同时达到对近年来图像语义分割历史学习和了解的目的,博古才能通今!感 ...

  5. CVPR2019| 亚洲微软研究院、阿德莱德论文:结构知识蒸馏应用语义分割

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 今天介绍一篇来自阿德莱德大学.亚洲微软研究院.北航的CVPR2019关于语义分割的论文. 本文研究了利用大型网络训练 ...

  6. HALCON 21.11:深度学习笔记---语义分割/边缘提取(12)

    HALCON 21.11:深度学习笔记---语义分割/边缘提取(12) HALCON 21.11.0.0中,实现了深度学习方法. 本章介绍了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语 ...

  7. HALCON 20.11:深度学习笔记(12)---语义分割

    HALCON 20.11:深度学习笔记(12)--- 语义分割 HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语义分割, ...

  8. *基于类平衡自我训练的无监督域自适应用于语义分割

    基于类平衡自我训练的无监督域自适应用于语义分割 摘要:最近的深度网络实现了最先进的性能在各种语义分割任务中.尽管有这样的进步,但是这些模型在现实世界中面临挑战,它们存在很大的差别在已标签训练/源文件和 ...

  9. 让机器“一叶知秋”:弱监督视觉语义分割

    编者按:西汉刘安的<淮南子·说山训>中有这样一段话: "见一叶落,而知岁之将暮: 睹瓶中之冰,而知天下之寒." 这两句话显示了人见微而知著的能力,人对这个世界的认知,是 ...

最新文章

  1. (20):数据的准备工作
  2. Java BigDecimal类的使用入门示例
  3. 23-Python3 File
  4. 2018 浅谈前端面试那些事
  5. LiveVideoStackCon 专题评审团招募进行中
  6. 质数和分解(动态规划)
  7. 微信支付php案例,小程序微信支付php案例
  8. 字符串函数-STUFF函数
  9. 偏向锁java_Java偏向锁
  10. 2021-08-07:与数组中元素的最大异或值。给你一个由非负整数组成的数组 nums 。另有一个查询数组 queries ,其中 queries[i] = [xi, mi] 。第 i 个查询的答案是
  11. Word2016文档完美地在表格里的方框(□)中打钩(√)
  12. 《C语言入门经典》Ivor Horton第10章习题2
  13. php sftp上传图片,SFTP远道文件上传
  14. iOS 火星坐标系 与 地球坐标系
  15. 第二周例行报告(王伟东)
  16. 纯css锚点跳转过渡效果 - 神奇的scroll-behavior属性
  17. liblensfun 在 mingw 上编译时遇到的奇怪问题
  18. 阿里巴巴淘宝全链路性能优化(上)
  19. pt, px,em,ex,in等这类长度单位
  20. react 生命周期

热门文章

  1. 英伟达首次开源内核、GitHub 强制用户身份验证、Google 悬赏 150 万美元找安卓漏洞 | 开源月报 Vol. 06...
  2. win10重置计算机卡10%,手把手解答win10电脑重置时卡死的详尽解决方法
  3. 企业绩效管理体系优化方案
  4. 安卓手机主题软件_手机投影仪有哪些软件 安卓 苹果手机投影仪软件介绍【详解】...
  5. 计算机专业系统集成考试,非计算机专业如何复习系统集成项目管理工程师考试...
  6. 京东二面:内存耗尽后Redis会发生什么?
  7. adobe AE: 磁盘缓存文件夹所在的驱动器没有足够的可用空间来安全存储在首选项中指定的全部量
  8. AndroidStudio2021.3.1使用jdk1.8无法编译
  9. 网络编程java_网络编程基础
  10. 多线程(三)——了解线程