首页 > 其他分享 >【保姆级教程】DeepLabV3+语义分割:训练自己的数据集

【保姆级教程】DeepLabV3+语义分割:训练自己的数据集

时间:2024-03-30 21:01:26浏览次数:28  
标签:文件 教程 语义 DeepLabV3 文件夹 图像 deeplabv3 格式 标注

一、DeepLabV3+图像语义分割原理

DeepLabV3架构采用扩张卷积(也称为空洞卷积)来捕捉多尺度信息,从而在不损失空间分辨率的情况下实现对图像的精细分割。
在这里插入图片描述

二、DeepLabV3+代码及预训练权重下载

2.1 下载deeplabv3+代码

这里使用的是B站大佬Bubbliiiing复现的deeplabv3+代码

 仓库地址: https://github.com/bubbliiiing/deeplabv3-plus-pytorch

2.2 下载模型预训练权重

链接:https://pan.baidu.com/s/1dYoFxrWmwASpDKSHl4x37Q
提取码:vj0h
将下载的权重文件放到model_data文件夹下。

三、labelme图像标注及格式转换

3.1 图像标注

项目代码中,自行带了一张标注好的图片(如下图),我这边不再标注,读者可以根据自己的需求自行标注。自己标注的数据的图像和标签文件需求都放在datasets\before文件夹下。
在这里插入图片描述

3.2 标签格式转换

运行json_to_dataset.py文件,转换后,会在datasets\JPEGImages文件夹下生成jpg格式图像,在datasets\SegmentationClass文件夹下生成png格式mask标签
在这里插入图片描述

3.3 数据集划分

将上一步的jpg格式图像放到VOCdevkit\VOC2007\JPEGImages文件夹下。
将上一步的png格式mask标签放到VOCdevkit\VOC2007\SegmentationClass文件夹下。
运行voc_annotation.py文件。
查看在VOCdevkit\VOC2007\ImageSets\Segmentation文件夹下生成的txt文件
在这里插入图片描述

四、deeplabv3+网络训练和测试

4.1 训练

运行train.py文件。读者需要根据自己的情况修改文件中的num_classesmodel_pathinput_shapeFreeze_batch_sizeUnfreeze_batch_size以及其他训练参数。
训练结果保存在logs文件夹下。
在这里插入图片描述

4.2 测试

运行predict.py文件。
读者需要根据自己的情况修改模型权重和测试图片的地址。
读者可以通过修改mode参数,实现下面5种模式:

#   'predict'           表示单张图片预测,如果想对预测过程进行修改,如保存图片,截取对象等,可以先看下方详细的注释
#   'video'             表示视频检测,可调用摄像头或者视频进行检测,详情查看下方注释。
#   'fps'               表示测试fps,使用的图片是img里面的street.jpg,详情查看下方注释。
#   'dir_predict'       表示遍历文件夹进行检测并保存。默认遍历img文件夹,保存img_out文件夹,详情查看下方注释。
#   'export_onnx'       表示将模型导出为onnx,需要pytorch1.7.1以上。

设置mode = “predict”模式,测试一张自己手动输入路径的图像,结果如下
在这里插入图片描述

标签:文件,教程,语义,DeepLabV3,文件夹,图像,deeplabv3,格式,标注
From: https://blog.csdn.net/m0_51579041/article/details/137174733

相关文章

  • 2023最新293TV v6.2 APP源码 神马TV影视APP源码可对接易支付 修复搜索附安装教程
    神马TV影视APP源码可对接易支付修复搜索附安装教程源码简介2023最新版本293TV、神马tv源码6.2版本修复首字母拼音搜索支持所有易支付解决6.2版本通病自动巡检删除后台文件JSON和api解析后台随意设置总共有5套后台:中控后台,会员后台,苹果CMS后台,反馈后台,解析后台,会员......
  • love 2d Lua 俄罗斯方块超详细教程
    源码已经更新在CSDN的码库里:gitclonehttps://gitcode.com/funsion/love2d-game.git一直在找Lua能快速便捷实现图形界面的软件,找了一堆,终于发现love2d是小而美的原生lua图形界面实现的方式。并参考相关教程做了一个更详细的,以便入门。功能如上图,开发过程用了love2d,......
  • linux CentOS 7.9 安装 ffmpeg 6.0 教程【亲测成功】
    查看当前系统版本[[email protected]]#lsb_release-aLSBVersion::core-4.1-amd64:core-4.1-noarchDistributorID:CentOSDescription:CentOSLinuxrelease7.9.2009(Core)Release:7.9.2009Codename:Corewgethttp://www.ffmpeg.org/......
  • PS从入门到精通视频各类教程整理全集,包含素材、作业等(3)
    PS从入门到精通视频各类教程整理全集,包含素材、作业等最新PS以及插件合集,可在我以往文章中找到由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 中级教程https://www.alipan.com/s/unii5YxtM8B提取码:4ji2点击链接保存,或者复制本段内容,打开「阿......
  • PS从入门到精通视频各类教程整理全集,包含素材、作业等(3)复发
    PS从入门到精通视频各类教程整理全集,包含素材、作业等最新PS以及插件合集,可在我以往文章中找到由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 中级教程https://www.alipan.com/s/unii5YxtM8B提取码:4ji2点击链接保存,或者复制本段内容,打开「阿......
  • 新手小白如何学习Python 选对方法很重要(附教程)
    近年来,Python应用领域增多、就业薪资上涨,这吸引了很多人关注学习。更重要的是Python语法简洁、功能强大,即使是0基础也能学会,这让很多想要从事IT开发的人看到了希望。不过新手小白如何学习Python呢?Python是一门语法简洁、功能强大、上手简单的计算机编程语言,根据TIOBE最新排......
  • python入门教程(非常详细),从零基础入门到精通,看完这一篇就够了
    前言本文罗列了了python零基础入门到精通的详细教程,内容均以知识目录的形式展开。01.python由来与发展介绍02.项目开发流程第一章markdown编辑器01.markdown基本语法02.Typora简介与安装03.Windows上gitee+Typora设置图床04.macOS上gitee+Typora设置图床第二章计......
  • Python安装教程(新手)
    第一次接触Python,可能是爬虫或者是信息AI开发的小朋友,都说Python语言简单,那么多学一些总是有好处的,下面从一个完全不懂的Python的小白来安装Python等一系列工作的记录,并且遇到的问题也会写出,让完全不懂的小白也可上手安装,并且完成第一个Helloworld代码。[Python安装]......
  • Kubernetes超详细教程,一篇文章帮助你从零开始学习k8s,从入门到实战
    k8s概述k8sgithub地址:https://github.com/kubernetes/kubernetes官方文档:https://kubernetes.io/zh-cn/docs/home/k8s,全程是kubernetes,这个名字源于希腊语,意为"舵手"或"飞行员”k8s这个缩写是因为k和s之间有八个字符Google在2014年开源了k8s项目,k8s是一个......
  • node.js 入门案例 安装教程
    前言Node.js是一个基于ChromeJavaScript运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。可以让JavaScript在服务器端运行。它具有轻量级、高效、事件驱动、非阻塞I/O等特点,被广泛应......