当前位置:网站首页>目标检测—利用labelimg制作自己的深度学习目标检测数据集
目标检测—利用labelimg制作自己的深度学习目标检测数据集
2022-07-02 12:16:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
目录
1 labelimg介绍
Labelimg是一款开源的数据标注工具,可以标注三种格式。
1 VOC标签格式,保存为xml文件。
2 yolo标签格式,保存为txt文件。
3 createML标签格式,保存为json格式。
2 labelimg的安装
这里主要讲的是在window系统中的安装,首先打开cmd命令行(快捷键:win+R)。进入cmd命令行控制台。输入如下的命令:
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple运行如上命令后,系统就会自动下载labelimg相关的依赖。由于这是一个很轻量的工具,所以下载起来很快,当出现如下红色框框中的告诉我们成功安装的时候,说明labelimg安装成功了。
3 使用labelimg
3.1 数据准备
首先这里需要准备我们需要打标注的数据集。这里我建议新建一个名为VOC2007的文件夹(这个是约定俗成,不这么做也行),里面创建一个名为JPEGImages的文件夹存放我们需要打标签的图片文件;再创建一个名为Annotations存放标注的标签文件;最后创建一个名为 predefined_classes.txt 的txt文件来存放所要标注的类别名称。
VOC2007的目录结构为:
├── VOC2007 │├── JPEGImages 存放需要打标签的图片文件 │├── Annotations 存放标注的标签文件 │├── predefined_classes.txt 定义自己要标注的所有类别(这个文件可有可无,但是在我们定义类别比较多的时候,最好有这个创建一个这样的txt文件来存放类别)
3.2 标注前的一些设置
首先在JPEGImages这个文件夹放置待标注的图片,这里是三类图片,分别是人、狗和猫。
然后再 predefined_classes.txt 这个txt文档里面输入定义的类别种类;如下图所示。
打开cmd命令终端(快捷键:win+R)。进入到刚刚创建的这个VOC2007路径(这个很重要,涉及到能不能利用predefined_classes.txt 这个txt文件中定义的类别,我在这里卡了很久,一度以为不能显示txt文件中定义的类别是我安装有问题)。执行如图中的命令进入到VOC2007路径下(每个人的路径都不一样,按个人的路径去写)如下图所示:可以看到进入到相应的目录了。
输入如下的命令打开labelimg。这个命令的意思是打开labelimg工具;打开JPEGImage文件夹,初始化predefined_classes.txt里面定义的类。
labelimg JPEGImages predefined_classes.txt运行如上的命令就会打开这个工具;如下。
下面介绍图中的我们常用的按钮。
待标注图片数据的路径文件夹,这里输入命令的时候就选定了JPEGImages。(当然这是可以换的)
保存类别标签的路径文件夹,这里我们选定了Annotations文件夹。
这个按键可以说明我们标注的标签为voc格式,点击可以换成yolo或者createML格式。
点击View,会出现如图红色框框中的选项。最好和我一样把勾勾勾上。
Auto Save mode:切换到下一张图的时候,会自动保存标签。
Display Labels:会显示标注框和标签
Advanced Mode:标注的十字架会一直悬浮在窗口。
常用快捷键如下:
A:切换到上一张图片
D:切换到下一张图片
W:调出标注十字架
del :删除标注框框
Ctrl+u:选择标注的图片文件夹
Ctrl+r:选择标注好的label标签存在的文件夹
3.3 开始标注
由于我们设置标注的十字架一直在标注界面上,这就不需要我们按快捷键w,然后选定我们需要标注的对象。按住鼠标左键拖出框框就可以了。如下图所示,当我们选定目标以后,就会加载出来predefined_classes.txt 定义自己要标注的所有类别(如果类别多,是真的很方便,就不需要自己手打每个类别的名字了)。打好的标签框框上会有该框框的类别(图中由于颜色的原因不太清晰,仔细看会发现的)。然后界面最右边会出现打好的类别标签。打好一张照片以后,快捷键D,就会进入下一张,这时候就会自动保存标签文件(voc格式会保存xml,yolo会保存txt格式)。
标签打完以后可以去Annotations 文件下看到标签文件已经保存在这个目录下。
自此labelimg使用讲解就结束了。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/147722.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢

Be a good gatekeeper on the road of anti epidemic -- infrared thermal imaging temperature detection system based on rk3568

LeetCode刷题——奇偶链表#328#Medium

I made an istio workshop. This is the first introduction

Engineer evaluation | rk3568 development board hands-on test

百变大7座,五菱佳辰产品力出众,人性化大空间,关键价格真香

Wechat Alipay account system and payment interface business process

终于搞懂了JS中的事件循环,同步/异步,微任务/宏任务,运行机制(附笔试题)

How to choose a third-party software testing organization for automated acceptance testing of mobile applications

Party History Documentary theme public welfare digital cultural and creative products officially launched

Loss function and positive and negative sample allocation: Yolo series
随机推荐
[experience cloud] how to get the metadata of experience cloud in vscode
【网络安全】网络资产收集
【LeetCode】486-预测赢家
终于搞懂了JS中的事件循环,同步/异步,微任务/宏任务,运行机制(附笔试题)
NBA player analysis
How to choose a third-party software testing organization for automated acceptance testing of mobile applications
How to avoid 7 common problems in mobile and network availability testing
Real estate market trend outlook in 2022
04. Some thoughts on enterprise application construction after entering cloud native
损失函数与正负样本分配:YOLO系列
. Solution to the problem of Chinese garbled code when net core reads files
MD5加密
LeetCode刷题——去除重复字母#316#Medium
[leetcode] 19 delete the penultimate node of the linked list
/bin/ld: 找不到 -lxslt
二叉树前,中,后序遍历
高考分数线爬取
动态规划入门二(5.647.62)
【LeetCode】1254-统计封闭岛屿的数量
已知两种遍历序列构造二叉树