版权声明:转载请说明来源,谢谢 https://blog.csdn.net/wsp_1138886114/article/details/85017498

文章目录

  • 一、使用 LabelImg生成目标检测数据集
    • 1.1、下载LabelImg
    • 1.2、配置环境
    • 1.3、开始标注
  • 二、使用 labelme生成mask掩码数据集
    • 2.1 安装与启动
    • 2.2 标注与保存
    • 2.3 实现labelme批量json_to_dataset方法

目标检测中,我们需要对原始图片数据集做标注,告诉机器我们需要的目标,然后让机器去学习,这个过程是非常重要的。我之前做目标检测时都是直接下载公开的数据集,比赛的数据集,因为简单方便。

如今自己需要另外训练自己的数据集,标准肯定少不了。LabelImg 这个工具 它的作用是在原始图像中标注目标物体位置并对每张图片生成相应的xml文件表示目标标准框的位置。

开发环境 windows10 | Anaconda | python ==3.7.X

一、使用 LabelImg生成目标检测数据集

1.1、下载LabelImg

下载地址:https://github.com/tzutalin/labelImg 下载,解压,得到LabelImg-master文件。

1.2、配置环境

终端进入LabelImg-master 目录下 ,依次执行如下命令即可

conda install pyqt = 5
pyrcc5 -o resources.py resources.qrc
python labelImg.py
  • 1
  • 2
  • 3

1.3、开始标注

先查看图片,查看你需要标注哪几个位置,命好这几类名字(之后不能改)
Open Dir(图片目录)>> Change Save Dir(标注文件目录:最好与图片目录相同) >>Create \nRectBox(创建标注)>>选择类名>>Save(保存)>>Next Image(下一张)

为了加快标注,你可以进入 labelImg-master\data下,用Notepad++打开predefined_classes.txt文件,修改为刚才命好这几类名字。配合快捷键,一个小时大约标注100-150张(以我这个为例),这个时候你会感觉到想吐,这很正常,习惯就好,祝你好运!!!

二、使用 labelme生成mask掩码数据集

2.1 安装与启动

mask数据集标注工具(labelme): https://github.com/wkentaro/labelme
下载安装 Anaconda,然后在prompt里依次输入如下指令:

conda create --name=labelme python=3.7(python=自己的Python版本)
activate labelme
conda install pyqt
pip install labelme
  • 1
  • 2
  • 3
  • 4

启动labelme的conda环境,即按照以下步骤启动:

activate labelme
labelme
  • 1
  • 2

2.2 标注与保存

点击Create Polygons创建目标,创建完点击save保存.json文件(弹窗选择保存位置)
在画掩码过程中如有多个box、fruit… 命名规则为box1、box2…fruit1、fruit2…。最后生成的标签为一个label.png文件,这个文件只有一通道,在你标注时同一标签mask会被给予一个标签位,而mask要求不同的实例要放在不同的层中。最终训练索要得到的输入为一个 w *h*n 的ndarray,其中n为该图片中实例的个数。总而言之,画mask时就按照上述命名规则就好了,具体的过程已经在上述代码中实现。如图:

所有文件标注完,启动后找到目标文件夹(不要有中文路径及文件夹名),会报编码相关的错。运行如下代码:

labelme_json_to_dataset <文件名>.json
  • 1

即可得到一个文件夹,有四个文件,*.png, info.yaml , label.png, label_viz.png。 其中label.png即是我们要的label_data。

2.3 实现labelme批量json_to_dataset方法

在C:\Anaconda3\envs\labelme\Lib\site-packages\labelme\cli(取决于你的安装环境)目录下json_to_dataset.py文件,这里面提供将json转成dataset的代码,所以我们只需要在这个基础上更改即可。
修改代码如下:


  • 1

待续

目标检测 数据集—标注工具 labelImg/labelme相关推荐

  1. 史上最强!目标检测数据集标注工具网页版

    前言 相信做目标检测的大家都有过会在将会有制作自己的目标检测数据集的需求.标注数据就得有相应的工具,这里就提供了这样一个标注工具.这个标注工具有着独一无二的特点,它是基于浏览器的标注工具.这就意味着任 ...

  2. 睿智的目标检测12——使用labelimg进行目标检测数据集标注

    睿智的目标检测12--使用labelimg进行目标检测数据集标注 学习前言 labelimg的安装 进行批量标注 学习前言 好久没写博文了,先水一水. labelimg的安装 其实安装labelimg ...

  3. 数据集标注工具Labelimg无法支持JPG格式图片的解决办法

    Labelimg(GItHub:https://github.com/tzutalin/labelImg/)是一款用于标注图像数据集的工具,其可视化界面由Qt框架支持.虽然在作者相关项目的主页上提到了 ...

  4. 标注工具之labelme和labelimg

    深度学习的标注工具有很多,这里只介绍labelme和labelimg这两个,这两个工具刚一听起来很像,是的确实很像,但是还是稍有不同. 1.labelimg labelimg是目标检测的标注工具,这里 ...

  5. 自己制作目标检测数据集

    自己制作目标检测数据集 这里介绍2个制作目标检测数据集的工具:labelImg和labelme.用pip list查看自己电脑是否已安装这两个库,没有的话分别用pip install labelImg ...

  6. 深度学习和目标检测系列教程 8-300:目标检测常见的标注工具LabelImg和将xml文件提取图像信息

    @Author:Runsen 图像标注主要用于创建数据集进行图片的标注.本篇博客将推荐一款非常实用的图片标注工具LabelImg,重点介绍其安装使用过程.如果想简单点,请直接下载打包版(下载地址见结尾 ...

  7. 目标检测---以制作yolov5的数据集为例,利用labelimg制作自己的深度学习目标检测数据集(正确方法)

    以制作yolov5的数据集为例,利用labelimg制作自己的深度学习目标检测数据集的正确方法 文章目录 前言 一.labelimg简单介绍 1 VOC标签格式,保存为xml文件. 2 yolo标签格 ...

  8. COCO目标检测数据集的读取方法与Python工具脚本

    COCO (Common Objects in COntext) 是一个大型的图像数据集,提供了目标检测.分割.看图说话等多个任务的标签.COCO的标注文件是用json格式编写的,初次接触时需要花十来 ...

  9. 【yolo5】目标检测数据集制作

    目录 1.先验知识 2. VOC和COCO数据集: 2.1 VOC形式及其数据结构XML特点(好像可以使用py库中工具直接进行清洗) 2.1.1 VOC数据集的组织结构如下所示 2.1.2 XML的操 ...

最新文章

  1. python学习之掷骰子游戏
  2. java 常用模块_Java 常见面试题的模块
  3. mysql存储过程--往表中批量插入数据
  4. 使用DOSBox编译汇编代码
  5. C++右值引用的参考
  6. 配置Goldengate支持DDL
  7. 记一次Linux服务器因redis漏洞的挖矿病毒入侵
  8. Java--Mybatis万字长文经典面试题王者笔记《收藏版》
  9. 不染用计算机数字,2013年计算机等级考试一级B知识预测题(6)
  10. 【计蒜客2017NOIP模拟赛1】
  11. python AttributeError: 'module' object has no attribute 'dumps'解决办法
  12. LaTeX常用符号与语法
  13. 一周学会linux实战 下载 pdf_UOS可用的pdf编辑工具
  14. 教你Word一键自动生成目录步骤
  15. BZOJ_1022_[SHOI2008]_小约翰的游戏John_(博弈论_反Nim游戏)
  16. 公租房摇号系统功能测试用例设计
  17. 5g服务器优势特点详解
  18. 百度地图在地图上添加多个点,并调整地图层级及中心点至合适位置大小
  19. 如果,我是说如果 可以
  20. 重磅发布 | 图像图形学发展年度报告综述专刊《中国图象图形学报》2022年第6期...

热门文章

  1. 该行已经属于另一个表 的解决方法
  2. ad用户和计算机显示2000个,AD 用户属性userAccountControl的详细解释
  3. linux获取打开串口失败的原因,linux – 从串口读取失败
  4. mysql任务调度器_mysql存储过程和任务调度器
  5. [02]基于webservice权限系统
  6. WiresShark 图解教程1
  7. php判断直线相交,zoj 1158 判断2线段完全相交
  8. 放下十样东西,你会更优秀!
  9. pytorch 入门学习多分类问题-9
  10. 三维点云学习(5)4-实现Deeplearning-PointNet-1-数据集的批量读取