目标检测标注工具Labelimg安装与使用

news2024/10/5 16:28:29

目录

一、安装Labelimg与打开

二、使用

1、基本功能介绍

2、快捷键

3、状态栏的工具

三、附录

1、YOLO模式创建标签的样式

2、create ML模式创建标签的样式

3、PascalVOC模式创建标签的样式


一、安装Labelimg与打开

源码网址:LabelImg

labelimg是一款开源的数据标注工具,可以标注三种格式:

voc标签格式,保存为xml文件
yolo标签格式,保存为txt文件
createML标签格式,保存为json格式

安装:

在python虚拟环境命令行中输入:

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple

打开:

在python虚拟环境命令行中输入:

cd path(进入自己需要标注的图像/图像文件夹path,可选)

# 直接输入labelimg回车打开
labelimg(打开labelimage命令)

二、使用

1、基本功能介绍

2、快捷键

注意:下面快捷键需要点击主页第二个Open Dir设置文件夹后,才能用

按键W:开始标注
按键A:上一张图像
按键D:下一张图像

快捷键

含义

w

绘制矩形框

d

下一张图片

a

上一张图片

Del

删除标注框

Ctrl+鼠标滚轮

放大/缩小图片

Ctrl + +

放大图片

Ctrl + -

缩小图片

Ctrl + s

保存

3、状态栏的工具

三、附录

1、YOLO模式创建标签的样式

 存放标签信息的文件的文件名为与图片名相同,内容由N行5列数据组成。

每一行代表标注的一个目标,通常包括五个数据,从左到右依次为:类别id、x_center、y_center、width、height。

其中:

  • 类别id代表标注目标的类别;
  • x_center和y_center代表标注框的相对中心坐标;
  • width和height代表标注框的相对宽和高。

请注意,这里的中心点坐标、宽和高都是相对数据!!!

 存放标签类别的文件的文件名为classes.txt (固定不变),用于存放创建的标签类别。

2、create ML模式创建标签的样式

同样会生成两个文件:

  • 存放标签信息的文件(XXX.json);
  • 存放标签类别的文件(classes.txt)(若之前存在,则不会再生成)

在生成JSON文件中,每个目标都表示为一个对象,其中包含以下属性:

  • image:图像文件的名称。
  • annotation:一个包含所有目标的数组,每个目标都表示为一个对象。包括:
  • label:目标的类别名称,例如"汽车"、"人"、"自行车"等。
  • x和y:目标的左上角坐标,表示其在图像中的位置。
  • width和height:目标的宽度和高度,表示其在图像中的大小。

3、PascalVOC模式创建标签的样式

同样会生成两个文件:

  • 存放标签信息的文件(XXX.xml);
  • 存放标签类别的文件(classes.txt)(若之前存在,则不会再生成)

每个XML文件对应一个图像文件,文件中包含了对图像的解释。具体来说,XML文件里标记了物体框的坐标和类别等信息。对于用户自定义数据,可根据实际情况对这些字段进行标注。

在XML文件中,关键信息包括:

  • folder:图像所在文件夹名
  • filename:图像文件的名称
  • path:图像所在路径
  • size:图像的尺寸,包括宽度、高度和通道数
  • object:标注框的信息,包括:
    • name:物体框对应的类别名称
    • bndbox:物体框的信息,包括左上角和右下角的坐标。
    • xmin:图像左上角x坐标
    • ymin:图像左上角y坐标
    • xmax:图像右下角x坐标
    • ymax:图像右下角y坐标

此外,XML文件中还可能包含其他相关信息,例如物体框的遮挡情况(pose)、是否被截断(truncated)、是否是难检测(difficult)物体等。这些信息用于辅助标注和评估目标检测任务的性能。

同源的语义分割标注工具:GitHub - labelmeai/labelme: Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation).

参考:标注工具Labelimg安装与使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1669454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nbcio-boot项目内存溢出问题分析和解决

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: h…

C语言/数据解构——(随即链表的复制)

一.前言 嗨嗨嗨,大家好久不见。已经有好几天没更新了。今天我们就分享一道链表题吧——随即链表的复制https://leetcode.cn/problems/copy-list-with-random-pointer废话不多说,让我们直接开始今天的题目分享吧。 二.正文 1.1题目描述 他和单链表不同…

JDK APT(Annotation Processing Tool) 编译时注解处理器

博文目录 文章目录 javacAnnotation ProcessingHow Annotation Processing WorksCompilation Environment and Runtime Environment maven-compile-plugin对 Maven pom 中配置注解处理器的理解Lombok, MapStruct, MyBatis-Flex 说明测试只在 dependencies 中配置 Lombok 和 Ma…

vue element checkbox的实现

实现多选非常简单: 手动添加一个el-table-column,设type属性为selection即可;默认情况下若内容过多会折行显示,若需要单行显示可以使用show-overflow-tooltip属性,它接受一个Boolean,为true时多余的内容会在 hover 时以…

回溯之组合总和II

上一篇文章使用回溯解决了组合总和I,这次使用回溯解决组合总和II,下面先给出回溯的模板代码。 private void backtracking(参数1,参数2,...){if(递归终止条件){收集结果;return;}for(遍历集合){处理;backtracking(参数1,参数2,...); // 递归;回溯;} }组…

机器学习1——线性回归、误差推导

有监督——分类、回归 一、线性回归 对于一个线性方程,没办法拟合所有的数据点,但是要尽可能的覆盖尽可能多的点。 在下面的图中,x01。添加这一项的目的是:将数据矩阵补全(比如年龄是x1、工资是x2,那么x0手…

Liquid Volume 2

水、液体、流体特效着色器 下载:​​Unity资源商店链接资源下载链接 效果图:

图文并茂:解析Spring Boot Controller返回图片的三种方式

欢迎来到我的博客,代码的世界里,每一行都是一个故事 图文并茂:解析Spring Boot Controller返回图片的三种方式 前言使用Base64编码返回图片使用byte数组返回图片使用Resource对象返回图片图片格式转换与性能对比 前言 在互联网的世界里&…

18.04版本的ubuntu没有连接网络的图标(坑人版)

以下更新内核别看,因为后面安装驱动报一堆错误!!! 不升级内核成功方法跳转连接:https://blog.csdn.net/weixin_53765004/article/details/138771613?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%2213877…

GIT基础01 基础命令与分支

前言 我们知道git是开发中比较常见的版本控制工具 我们可以先提出一个场景: 老板让你去修改方案 第一次修改 打回 第二次修改 打回 第n次修改 老板让你使用第一次的版本 阁下如何应对??? 我对每个版本进行编号?? 是一种方案 但是这里也是有缺陷的 比如说在很多版本中找…

【AI+漫画】程序员小李解决疑难杂症BUG的日常

周末花了点时间制作的AI漫画。 感慨一句,程序人生, 相伴随行。 原文链接:【AI漫画】程序员小李解决疑难杂症BUG的日常

基于docker 的elasticsearch冷热分离及生命周期管理

文章目录 冷热集群架构的应用场景冷热集群架构的优势冷热集群架构实战搭建集群 索引生命周期管理认识索引生命周期索引生命周期管理的历史演变索引生命周期管理的基础知识Rollover:滚动索引 冷热集群架构的应用场景 某客户的线上业务场景如下:系统每天增…

网安面经之SSRF漏洞

一、ssrf漏洞 1、ssrf原理?危害?修复(防御)? 原理:SSRF就是服务器端请求伪造漏洞、它是一种由攻击者构造,由服务端发起请求的一个网络攻击,一般用来在外网探测或攻击内网服务&…

程序猿成长之路之数据挖掘篇——距离公式介绍

上一篇介绍了朴素贝叶斯,那么这次讲讲距离公式 什么是距离公式 用自己的话来说距离公式就是判断两个属性(参数)相似度的度量公式,比如以两点间距离为例,A地经纬度为(110.9802,120.9932),B地经纬度为(110.9980,120.828…

c++04STL部分复习

1、deque list vector概括: /* deque :双端队列容器 底层数据结构:动态开辟的二维数组,一维数组从2开始,以2倍的方式进行扩容,每次扩容后,原来的第二维的数组 从新的第一堆数组下表的oldsize/2开始存放&am…

XYCTF - web

目录 warm up ezMake ezhttp ezmd5 牢牢记住,逝者为大 ezPOP 我是一个复读机 ezSerialize 第一关 第二关 第三关 第一种方法: 第二种方法: ez?Make 方法一:利用反弹shell 方法二:通过进制编码绕过 ε…

EasyImage2.0 图床源码

EasyImage2.0 是一个简单图床的源码,它支持以下功能: 1. API接口 2. 登录后才能上传图片 3. 设置图片质量 4. 压缩图片大小 5. 添加文字或图片水印 6. 设定图片的宽度和高度 7. 将上传的图片转换为指定的格式 8. 限制上传图片的最小宽度和高度 …

《软件方法(下)》8.3.3 泛化的一些重点讨论(202405更新)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 8.3 建模步骤C-2 识别类的关系 8.3.3 泛化的一些重点讨论 8.3.3.1 子集的不相交和完整 泛化是集合关系,在建模泛化关系时,我们对泛化关系中的子类&#xff0…

JavaEE初阶-多线程5

文章目录 一、线程池1.1 线程池相关概念1.2 线程池标准类1.3 线程池工厂类1.4 实现自己的线程池 二、定时器2.1 java标准库中的定时器使用2.2 实现一个自己的定时器2.2.1 定义任务类2.2.2 定义定时器 一、线程池 1.1 线程池相关概念 池这个概念在计算机中比较常见&#xff0c…

极验4图标方向点选验证码

验证码如下如所示,提供了三个方向剪头。根据剪头顺序,点击大图中图标的方向完成验证。 经过我们的努力,正确率达到了90%左右。下面提供了验证码识别的代码。 import base64 import requests import datetime from io import BytesIO from PI…