Mask Rcnn目标分割-训练数据集-balloon/coco

2023-11-01

本文介绍了Mask Rcnn目标分割算法如何训练自己数据集,对训练所需的文件以及训练代码进行详细的说明。

官方提供了coco数据集和balloon数据集两种,可以基于以上数据集进行训练,也可以基于自己采集的数据集进行训练,下面将对两种不同方式进行详细的介绍。

使用balloon气球数据集训练(使用coco数据集步骤相同)

下一篇博文介绍如何训练自己采集的数据集

1、balloon气球训练数据集

数据集和权重文件mask_rcnn_balloon.h5在我的github里,可以直接下载(后续附上,现在有需要可以直接留言,我发你)

balloon气球训练数据集中包含图片和对应标签,无需我们再去制作标签,训练步骤比较简单

2、测试

首先测试用已有的mask_rcnn_balloon.h5权重测试检测代码能否正常运行

(1)ballon.py文件的修改:

把–dataset、–weights、–logs路径替换成自己的。

(2)之前以为在这里设置好了参数,就可以直接运行,但是每次运行时还是报错没有参数,所以最后还是只能在pycharm参数里添加这些参数,点击运行旁边的向下箭头选择Edit Configuratios

在Parameters这里输入程序运行的相关参数:

我这里输入的是:

splash

--weights="D:/2021file/Biye/Mask_RCNN-master/samples/balloon//mask_rcnn_balloon.h5"

--image="D:/2021file/Biye/Mask_RCNN-master/samples/balloon/val/24631331976_defa3bb61f_k.jpg"

分别对应:测试、权重文件、测试图片路径

(3)顺利的话就能看到结果了

原图:

分割结果: 

3、训练

(1)下载的balloon_dataset.zip:气球数据集下载后,解压放到当前项目中(放到samples/中,代码里面我都放的绝对路径,所以解压到哪其实都可以),该数据集文件下分为train、val两个文件夹。

每个文件下包含图片和对应的标签文件.json

(2)然后修改balloon.py对应的参数,

train

--dataset="D:/2021file/Biye/Mask_RCNN-master/samples/balloon/"

--weights="D:/2021file/Biye/Mask_RCNN-master/samples/balloon//mask_rcnn_balloon.h5"

分别对应:训练、数据集路径、权重文件

(3)点击运行就开始训练了

我这有很多警告,不过不影响程序运行,我就没管了

每轮的训练参数会保存到logs文件中

(4)使用tensorboard查看训练过程
tensorboard --logdir="D:/2021file/Biye/Mask_RCNN-master/logs/balloon20220415T1019"

=后面输入自己保存的文件夹名称

运行后在浏览器打开下面地址:(有时候运行框给我的地址是http://ComputerDing:6006,并不可用,所以我直接手动进入下面地址 )

http://localhost:6006/

(5)训练好后按照本文2中的测试方法进行测试即可,注意将代码中的权重路径修改为对应训练logs中的路径

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mask Rcnn目标分割-训练数据集-balloon/coco 的相关文章

  • SpringBoot整合Mybatis-Plus实现浏览数据新增、Redis进行热度排名

    在开发Web项目时 常用到的技术就是SpringBoot和Mybatis Plus 本文将介绍如何使用SpringBoot整合Mybatis Plus实现一个浏览数据新增功能 以及如何用Redis进行热度排名统计 最后用Vue进行数据渲染
  • python使用socket高效传输视频数据帧(连续发送图片)

    遇到的问题 网上找了一些代码 都是只能建立一次socket传输一张图片 然后断开重新连重新传 而建立一次socket代价不小 反复建立会非常消耗系统资源 因此尝试自己通过一次socket连续传输多张图片 代码问题记录 需要代码的可以直接文末
  • STM32系列(HAL库)——F103C8T6使用SPI方式点亮OLED

    目录 1 软件准备 2 硬件准备 3 CubeMX配置 1 芯片选择 2 配置RCC SYS 时钟树 3 配置SPI 4 配置GPIO 5 生成代码工程 4 代码移植 1 复制文件 2 在Keil5里添加文件 3 修改oled h文件 4
  • 【2023】华为OD机试真题全语言-题目0229-响应报文时间

    题目0229 响应报文时间 题目描述 IGMP 协议中 有一个字段称作最大响应时间 Max Response Time HOST收到查询报文 解析出MaxResponseTime字段后 需要在 0 MaxResponseTime s 时间内
  • 【JS】去除字符串首尾空格、所有空格

    1 去除所有空格 function trim str return str replace s g 2 去除首尾空格 去除字符串str头尾的空格 param str 字符串 return str去除头尾空格后的字符串 function tr
  • unittest和pytest的区别

    unittest是python的官方库 功能较少 pytest是第三方库 是基于unittest的扩展框架 可支持多种插件 目前有100多种 功能强大 pytest可兼容unittest写的用例 代码完全不用更改 一 用例编写方面 1 测试
  • LDR指令和LDR伪指令详解

    ARM32位指令的构成 ARM是RISC结构 数据从内存到CPU之间的移动只能通过LDR STR指令来完成 32bit 指令码 数据 所以32bit的一条指令不可能表示再带一个32bit的数据 实际只有其中的12bit来表示立即数 其中4b
  • 原生JS(JavaScript)

    JS 是JavaScript的简述 JS基于对象和事件驱动脚本语言 作用在浏览器上 JS的事件 onsubmit 主要用于表单的提交 绑定的位置在form标签里面 要有返回标记 如果提交的数据校验未通过 不允许表单提交 onload 用于页
  • chromedp 显示窗口

    chromedp现在默认是无头模式的 但是有的时候我们看浏览器执行的状态 还有部分操作是在无头模式下报错 所以需要显示窗口 opts append chromedp DefaultExecAllocatorOptions chromedp
  • [Unity 3d] 修改从asset store上下载的package的地址

    2020 9 16补充更新 在转移sims4的mod文件时又遇到这个问题 一直不成功 然后发现忘了要先把原文件转移到目标目录然后把原文件删了 mklink error cannot create a file when that file
  • Linux:进程等待wait函数&阻塞

    进程等待的作用 父进程在它的执行代码中调用进程等待的方法 等待子进程退出 防止子进程变成僵尸进程 也就是说 进程等待是父进程调用某个接口进行等待 父进程等待子进程退出回收子进程的资源 防止子进程变成僵尸进程 进程等待的方法 如何让父进程进行
  • Ceph概述 部署Ceph集群 Ceph块存储--

    案例1 实验环境 案例2 部署ceph集群 案例3 创建Ceph块存储 1 案例1 实验环境 1 1 问题 准备四台KVM虚拟机 其三台作为存储集群节点 一台安装为客户端 实现如下功能 创建1台客户端虚拟机 创建3台存储集群虚拟机 配置主机

随机推荐

  • python模板模式_模板模式-Python

    这篇文章完全摘录自别人 等后续 基于自己在项目中的应用 再重新写一下 模板方法模式 Template Method Pattern 定义一个操作中的算法骨架 将一些步骤延迟至子类中 模板方法使得子类可以不改变一个算法的结构即可重定义该算法的
  • Mac 怎样安装虚拟机(VMware fusion 12)

    虚拟机软件有 1 VirtualBox 一款免费开源的虚拟机软件 2 VMware fusion 12 也是一款免费开源的虚拟机软件 3 VMware Player 4 VMware workstation 5 Microsoft Virt
  • 40W-100W系列PD快充IC方案,AH6680,高效简洁的升降压芯片

    PD40W45W50W55W65W100W移动电源大功率芯片 40W 100W系列PD快充IC方案 AH6680 高效简洁的升降压芯片 PD40W45W50W65W大功率充电芯片 宽电压输入3 6 V至32 V 最大36 V 同步4开关双向
  • CoerceValueCallback事件的使用

    定义依赖属性 public static readonly DependencyProperty ValueProperty DependencyProperty Register Value typeof decimal typeof N
  • 正交

    正交的概念类似几何中垂直的概念 连个向量点乘的结果等于0我们称这两个向量正交 我们可以用向量正交的概念来看勾股定理 假设a b是两个向量 那么 a 的平方加上 b 的平方等于 a b 的平方当切仅当向量a b正交的时候才成立 如果一个sub
  • Input值不可修改

    Input值不可修改 要固定input标签里面的值不能被修改 我这里有两种方法 1 为input标签设置只读模式 设置只读模式之后 整个文本框就都会被封住 input标签里面的值就不能被手动删除和修改 不能再添加新的内容 有两种方式设置只读
  • UnityEditor中建立两个Color,实现mesh的颜色渐变(Gradient)(GUI.changed,SceneView.RepaintAll())

    shader只是测试用 不用在意 Shader Custom Vertex Properties SubShader Lighting Off Pass CGPROGRAM pragma vertex vert pragma fragmen
  • ElementUI框架引入和使用

    安装使用有两种方式 npm cnpm安装到项目中 CDN引入 先介绍CDN引入 CDN全称 Content Delivery Network即内容分发网络 CDN是构建在网络之上的内容分发网络 依靠部署在各地的边缘服务器 通过中心平台的负载
  • Django默认用户登录make_password函数原生代码实现

    from hashlib import pbkdf2 hmac from random import choice from base64 import b64encode 随机数所使用的字符串 serct str abcdefghijkl
  • 2016.09.21----------嵌入式,离散数据,线性数据

    离散数据和连续数据是相对的 区别在于作用域 连续数据的作用域是连续的 例如1 9 离散数据的作用域是不连续的 例如1 3 5 7 线性数据和非线性数据的区别是 线性数据中的每一个元素都有确定的 前驱 和 后继 头和尾除外 是一条线下来的 没
  • scanf处理带有空格的输入方法

    scanf函数处理输入的时候遇到空格会结束 利用scanf n str 可以读取一行字符串 直到遇到换行符 n结束 经过此方法读取字符串以后 会有一个换行符号 n存在输入缓冲区中 因此需要用scanf c 清 理输入缓冲区中第一个字符 也就
  • Redux的基本使用方法(计数器)

    Redux就像Vuex一样哈哈 可以让组件之间的数据传递变得方便 传统的数据传递非常的麻烦 如果最上层组件要将数据传递给最下层的组件需要逐级传递 组件的耦合度会变得非常的高 要是其中一个组件出现问题的话会导致整个项目出现问题 而Redux是
  • window下搭建zookeeper

    下载zookeeper的压缩包 官网连接 Apache ZooKeeper 我自己用的 apache zookeeper zip 互联网文档类资源 CSDN下载 下载后解压 进到bin目录启动zkServer cmd 参考链接 Zookee
  • Simon IELTS: Speaking

    文章目录 Speaking Lesson 1 General Advice Overall Tips Aims of the course Speaking Lesson 2 Part 1 Introduction to Part 1 Ti
  • [疯狂Java]泛型:泛型的底层原理(类型擦除、原生类型、编译前检查)

    1
  • Vue父子组件通信之父组件主动获取子组件的数据和方法(二)

    父组件主动获取子组件的数据和方法 操作步骤 1 调用子组件的时候定义一个ref
  • ReID行人重识别(训练+检测,附代码),可做图像检索,陌生人检索等项目

    利用ReID和目标检测对视频进行检测 可以对视频中的人进行重识别 支持更换数据集可以做车辆重识别等 可应用于图像 视频检索 行人跟踪等 在以前学习ReID的时候 是跟着下面视频学习的 该论文和代码也可以参考GitHub michuanhao
  • webpack中的loader的配置

    安装babel npm install save dev babel loader babel core 此处如果要用lastest 需要 npm install save dev babel preset latest 配置babel如下
  • Qt--动态链接库的创建和使用

    写在前面 在Qt的实际开发中 免不了使用和创建动态链接库 因此熟悉Qt中动态链接库的创建和使用对后续的库开发或使用是非常用必要的 在之前的文章https blog csdn net SNAKEpc12138 article details
  • Mask Rcnn目标分割-训练数据集-balloon/coco

    本文介绍了Mask Rcnn目标分割算法如何训练自己数据集 对训练所需的文件以及训练代码进行详细的说明 官方提供了coco数据集和balloon数据集两种 可以基于以上数据集进行训练 也可以基于自己采集的数据集进行训练 下面将对两种不同方式