YOLOV5目标检测---labelimg图片标注工具(1)

请添加图片描述


前言:在使用YOLO训练自己模型的时候首先要学会对数据进行处理,这里介绍一个常用的本地打标签工具labelimg,如果不想按照的话也可以使用在线标签工具,因为害怕数据泄露,所以本人一直使用的是本地工具进行打标签。在线标注工具网站:https://www.makesense.ai/
在这里插入图片描述


目录结构

  • 1、labelimg标签工具介绍
  • 2、labelimg的安装
  • 3、如何使用labelimg工具
    • 3.1据准备
    • 3.2标注前设置
      • 3.2.1按钮设置
      • 3.2.2常见快捷键
    • 3.3开始标注

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据准备

首先这里需要准备我们需要打标注的数据集。这里我建议新建一个名为img_data的文件夹(这个是约定俗成,不这么做也行),里面创建一个名为images的文件夹存放我们需要打标签的图片文件;再创建一个名为labels存放标注的标签文件;最后创建一个名为 classes.txt 的txt文件来存放所要标注的类别名称。
在这里插入图片描述

img_data的目录结构如下:
|—img_data
||──images 存放需要打标签的图片文件
||── labels 存放标注的标签文件
||── classes.txt 定义自己要标注的所有类别(这个文件可有可无,但是在我们定义类别比较多的时候,最好有这个创建一个这样的txt文件来存放类别)

3.2标注前设置

首先在images这个文件夹放置待标注的图片,这里是三类图片,分别是人、狗和猫。
在这里插入图片描述然后再classes.txt 这个txt文档里面输入定义的类别种类;如下图所示。
在这里插入图片描述
进入img_data文件夹当中,在搜索栏里面输入cmd打开终端命令(这一步非常重要,如果不是在这个路径下打开终端将不能利用txt文件中的类别);或者先打开cmd命令终端(快捷键:win+R),再使用cd命令进入到txt文本这个文件夹当中;
在这里插入图片描述
输入如下的命令打开labelimg。这个命令的意思是打开labelimg工具;打开images文件夹,初始化classes.txt里面定义的类。

labelimg images classes.txt

运行上面的命令就会打开这个labelimg工具如下:
在这里插入图片描述

3.2.1按钮设置

下面介绍图中的我们常用的按钮
在这里插入图片描述
点击View,会出现如下选项,尽量和我一样去勾选
在这里插入图片描述

  • Auto Save mode:切换到下一张图的时候,会自动保存标签
  • Display Labels:会显示标注框和标签
  • Advanced Mode:标注的十字架会一直悬浮在窗口

3.2.2常见快捷键

A:切换到上一张图片
D:切换到下一张图片
W:调出标注十字架
del :删除标注框框
Ctrl+u:选择标注的图片文件夹
Ctrl+r:选择标注好的label标签存在的文件夹

3.3开始标注

由于我们设置标注的十字架一直在标注界面上,这就不需要我们按快捷键w,然后选定我们需要标注的对象。按住鼠标左键拖出框框就可以了。如下图所示,当我们选定目标以后,就会加载出来classes.txt 定义自己要标注的所有类别(如果类别多,是真的很方便,就不需要自己手打每个类别的名字了)。打好的标签框框上会有该框框的类别。然后界面最右边会出现打好的类别标签。打好一张照片以后,快捷键D,就会进入下一张,这时候就会自动保存标签文件(voc格式会保存xml,yolo会保存txt格式)。
在这里插入图片描述
在这里插入图片描述
当一张图片上面又多个物体时可以打多个标注:
在这里插入图片描述
打完标签之后进入到labels文件夹当中,可以发现生成了多个txt文件
在这里插入图片描述
点击进去之后会发现生成一些数据文件,第一个0代表我们打标签的种类,第0类为person类,第1为dog类,后面的4个数据记录的是打标注的位置。
在这里插入图片描述
在这里插入图片描述
下篇文章介绍如何进行数据集格式转换和划分;

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

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

相关文章

node.js漏洞总结

js开发的web应用和php/Java最大的区别就是js可以通过查看源代码的方式查看到编写的代码,但是php/Java的不能看到,也就是说js开发的web网页相当于可以进行白盒测试。 流行的js框架有: 1. AngularJS 2. React JS 3. Vue 4. jQuery 5. Backbone…

ppt作品展示能用二维码吗?文件二维码内容可替换怎么做?

当我们需要将自己的作品或者内容做成ppt文件之后,用二维码的方式来做展示,而且生成二维码还可以在图案不变的情况下,能够修改或者替换文件内容,实现二维码的长期使用。在遇到这种要求时,如何生成这种类型的二维码图片呢…

扫雷游戏——数组和函数实现

扫雷游戏的功能说明 使⽤控制台实现经典的扫雷游戏 游戏可以通过菜单实现继续玩或者退出游戏扫雷的棋盘是9*9的格⼦ 默认随机布置10个雷可以排查雷如果位置不是雷,就显⽰周围有⼏个雷如果位置是雷,就炸死游戏结束把除10个雷之外的所有⾮雷都找出来&…

HFSS实战(三)——过孔via TDR仿真

文章目录 一、模型的处理二、TDR仿真2.1 修改求解模式2.2增加求解设置 三、查看仿真结果3.1 查看TDR结果3.2 查看S参数结果 四、结果分析4.1上升时间tr对仿真的影响 附:工程链接 在上一讲中,主要是通过观察S参数确定via的优化是否达到目标。但S参数只能看…

k8s 安全机制

k8s的安全机制: 核心:分布式集群管理工具,就是容器编排,安全机制的核心:API server 作为整个集群内部通信的中介,也是外控控制的入口。实验的安全机制都是围绕api server来进行设计: 请求api资…

利用nginx宝塔免费防火墙实现禁止国外IP访问网站

本章教程,主要介绍,如何利用nginx宝塔面板中的插件免费防火墙,实现一键禁止国外IP访问网站。 目录 一、安装宝塔插件 二、 开启防火墙 一、安装宝塔插件 在宝塔面板中的软件商店,搜索防火墙关键词,找到Nginx免费防火…

在线教育系统开发:构建现代化学习平台

随着科技的迅速发展,在线教育系统在教育领域扮演着越来越重要的角色。本文将深入探讨在线教育系统的开发过程,涉及关键技术和代码实现。 技术选型 在开始开发之前,我们首先需要选择适合在线教育系统的技术栈。以下是一些常见的技术选项&am…

代码随想录算法训练营29期|day31 任务以及具体安排

理论基础 关于贪心算法,你该了解这些! 题目分类大纲如下: #算法公开课 《代码随想录》算法视频公开课 (opens new window):贪心算法理论基础! (opens new window),相信结合视频再看本篇题解,更有助于大家…

大创项目推荐 题目:基于LSTM的预测算法 - 股票预测 天气预测 房价预测

文章目录 0 简介1 基于 Keras 用 LSTM 网络做时间序列预测2 长短记忆网络3 LSTM 网络结构和原理3.1 LSTM核心思想3.2 遗忘门3.3 输入门3.4 输出门 4 基于LSTM的天气预测4.1 数据集4.2 预测示例 5 基于LSTM的股票价格预测5.1 数据集5.2 实现代码 6 lstm 预测航空旅客数目数据集预…

IO多路复用-epoll

IO多路复用-epoll 1. 概述 epoll 全称 eventpoll,是 linux 内核实现IO多路转接/复用(IO multiplexing)的一个实现。 epoll是select和poll的升级版,相较于这两个前辈,epoll改进了工作方式,因此它更加高效…

WorkPlus AI智能客服解决方案,提升企业服务质量

在当今竞争激烈的商业环境中,提供卓越的客户服务成为企业赢得市场竞争的关键。而AI智能客服技术的不断发展,则成为了提高服务效率和满意度的利器。作为一款领先的AI助理解决方案,WorkPlus AI助理以其出色的性能和智能化的功能,助力…

c++入门学习(十八)赋值运算符

简单赋值运算符(): 最基本的赋值运算符是“”。它表示将右侧的值赋给左侧的变量。例如,x 5意味着将值5赋给变量x。 增量赋值运算符: 这是一组在赋值的同时对变量进行递增操作的运算符。常见的有、-、*、/等。例如&…

THM学习笔记——网络工具

ping 当我们想要测试是否可以连接到远程资源时&#xff0c;会使用 ping 命令。 ping 的基本语法&#xff1a; ping <target>。 测试是否可以与百度建立网络连接&#xff1a; traceroute 互联网由许多个不同的服务器和端点组成&#xff0c;它们都相互联网。这意味着&a…

Soul CEO张璐团队布局AIGC领域,打造数智化社交新体验

作为互联网社交领域的领军企业,Soul App近日再次受到广泛关注,因其在生成式人工智能(AIGC)领域的前沿布局和创新。随着数据积累、算力提升和算法不断迭代,AIGC技术正逐渐成为推动产业创新的重要工具之一。2023年被誉为AIGC元年,而Soul App在CEO张璐的带领下,在这个领域的不懈努…

计算CNN卷积层和全连接层的参数量

计算CNN卷积层和全连接层的参数量 先前阅读 CNN ExplainerA Comprehensive Guide to Convolutional Neural Networks — the ELI5 way 本文主旨意在搞明白2个问题&#xff1a; 第一个问题 一个卷积操作&#xff0c;他的参数&#xff0c;也就是我们要训练的参数&#xff0c;也…

Navigation 2 学习01 介绍及安装及运行示例

Navigation 2 是什么 Nav2 是 ROS 导航 的综合控制服务&#xff0c;类似人类的小脑控制人类的行走及身体平衡&#xff0c;Nav2 针对移动和地面机器人提供支持的自动驾驶车辆的相同类型的技术&#xff0c;经过优化和改造。该项目旨在找到一种安全的方法&#xff0c;使移动机器人…

nginx离线部署-aarch64架构

nginx离线部署-aarch64架构 服务器环境: 架构&#xff1a;aarch64&#xff0c; 系统&#xff1a;Red Hat &#xff08;CentOS 7&#xff09; nginx 1.24 需要准备这些&#xff1a; 可以先尝试安装 Nginx 安装NGINX 内网是没有网络的需要使用 RPM 包安装 gcc&#xff0c; g…

绘制太极图 - 使用 PyQt

大家好&#xff01;今天我们将一起来探讨一下如何使用PyQt&#xff0c;这是一个强大的Python库&#xff0c;来绘制一个传统的太极图。这个图案代表着古老的阴阳哲学&#xff0c;而我们的代码将以大白话的方式向你揭示它的奥秘。 PyQt&#xff1a;是什么鬼&#xff1f; 首先&a…

架构师之路(十六)计算机网络(传输层)

前置知识&#xff08;了解&#xff09;&#xff1a;计算机基础。 作为架构师&#xff0c;我们所设计的系统很少为单机系统&#xff0c;因此有必要了解计算机和计算机之间是怎么联系的。局域网的集群和混合云的网络有啥区别。系统交互的时候网络会存在什么瓶颈。 既然网络层已经…

.net访问oracle数据库性能问题

问题&#xff1a; 生产环境相同的inser语句在别的非.NET程序相应明显快于.NET程序&#xff0c;执行时间相差比较大&#xff0c;影响正常业务运行&#xff0c;测试环境反而正常。 问题详细诊断过程 问题初步判断诊断过程&#xff1a; 查询插入慢的sql_id 检查对应的执行计划…