YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集

前言

上一篇我们已经搭建好了YOLOv5的环境(直通车→YOLOv5入门实践(1)——手把手带你环境配置搭建),现在就开始第二步利用labelimg标注数据集吧!

​   🍀本人YOLOv5源码详解系列:  

YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析

​​​​​​YOLOv5源码逐行超详细注释与解读(2)——推理部分detect.py

YOLOv5源码逐行超详细注释与解读(3)——训练部分train.py

YOLOv5源码逐行超详细注释与解读(4)——验证部分val(test).py

YOLOv5源码逐行超详细注释与解读(5)——配置文件yolov5s.yaml

YOLOv5源码逐行超详细注释与解读(6)——网络结构(1)yolo.py

YOLOv5源码逐行超详细注释与解读(7)——网络结构(2)common.py


目录

前言

一、labelimg工具介绍

二、 labelimg的下载

三、labelimg的安装

四、labelImg 的使用

4.1 准备工作 

4.2 标注前的设置

4.3 开始标注

 一、labelimg工具介绍

Labelimg是一个图形图像注释工具。

它是用Python编写的,并使用Qt作为其图形界面。

注释以PASCAL VOC格式保存为XML文件,这是使用的ImageNet格式。此外,它还支持YOLO格式和 CreateML 格式。


二、 labelimg的下载

labelimg的下载有两种:

法1:从官网下载→下载地址:https://github.com/tzutalin/labelImg 

法2:如果你和我一样懒就直接网盘下载吧(感谢提供资源的大佬!) 

链接:https://pan.baidu.com/s/19GoT4Tb0Mco1STgprxAjPw?pwd=j666 
提取码:j666 


三、labelimg的安装

第1步:利用cd命令进入labelimg所在的文件夹

d:
cd [自己的文件位置]

 第2步:安装 pyqt,这里我安装的是pyqt5

conda install pyqt=5

 安装完成就是下图这样:

第3步:安装完成后,执行命令

pyrcc5 -o libs/resources.py resources.qrc

 这个命令没有返回结果。

第4步:打开labelimg

python labelImg.py

 这样就打开了呢~


四、labelImg 的使用

4.1 准备工作 

第1步:在yolov5目录下新建一个名为VOCData的文件夹

(这个是约定俗成,不这么做也行)

第2步:在VOCData的文件夹内建立Annotations和images文件夹

  • Annotations:存放标注的标签文件
  • images:存放需要打标签的图片文件


4.2 标注前的设置

将要标注的图片放入images文件夹内,运行软件前可以更改下要标注的类别。这里选了三个类别:花、猫猫和鱼。

然后我们在labelimg的data文件下找到predefined_classes.txt 这个txt文档,在里面输入自定义的类别名称,如下图所示:


4.3 开始标注

标注前我们先认识一下功能键。如下图所示:

 还有view的一些功能键,如下图所示:

常用快捷键如下:

A: 切换到上一张图片

D: 切换到下一张图片

W:调出标注十字架

del : 删除标注框框

Ctrl+u: 选择标注的图片文件夹

Ctrl+r: 选择标注好的label标签存在的文件夹


接下来打开图片,按住鼠标左键就可以标注了。

点击鼠标右键还可以移动选框位置和调整大小。

标签打完以后可以去Annotations 文件下看到标签文件已经保存在这个目录下。


好了,lambelimg的使用就讲到这里啦~

本文参考:

目标检测---利用labelimg制作自己的深度学习目标检测数据集

  


http://www.niftyadmin.cn/n/200494.html

相关文章

第三节、语言模型

目录 0、介绍 1、N-gram 模型介绍 2、困惑度 3、N-gram 模型的文本评估 4、N-gram 模型的平滑 5、基于 N-gram 模型的文本生成 6、基于统计的语言模型的缺陷 7、实验总结 0、介绍 首先,我们来思考这样一个问题:随便给你一句话,如何判…

操作系统论文导读(四):Minimizing Memory Utilization of Real-Time Task Sets in Single and…

目录 一、论文核心思想: 二、降低RAM的思想 三、基本的相关定义 四、单处理器方面 五、优化单处理器中的堆栈使用 六、多处理器方面 七、基本的相关调度 八、协议特点 Minimizing Memory Utilization of Real-Time Task Sets in Single and Multi-Processor…

从零开始学架构——单服务器高性能模式

单服务器高性能模式 高性能是每个程序员的追求,无论我们是做一个系统还是写一行代码,都希望能够达到高性能的效果,而高性能又是最复杂的一环,操作系统、CPU、内存、磁盘、缓存、网络、编程语言、架构等,每个都有可能影…

Javaweb中的Servlet 程序

Javaweb中的Servlet 程序前言一、什么是servlet程序?1.Servlet 的生命周期二、ServletConfig 类1.ServletConfig 类的三大作用三、ServletContext 类1、什么是 ServletContext?2、ServletContext 类的四个作用四、HTTP 协议1.什么是 HTTP 协议?2.请求的…

数字孪生应用案例剖析:三个成功落地的项目

随着数字孪生技术的不断发展,越来越多的企业和组织开始尝试将其应用于实际项目中,以提高效率、降低成本、提升安全性等方面的目的。本文小编将带大家了解三个市面上成功应用的数字孪生项目。 北京大兴国际机场项目 北京大兴国际机场项目是由中航工程设计…

.NET发展历程

.NET的发展过程,历经: (1).NET Framework(1.0 - 4.8.1),适用于Windows系统下运行,2002-2022; (2).NET Core(1.0-3.1.X),开源、跨平台,2016-2022; (3).NET(5.0 ),实现统…

javaFx实现多种图形绘制—矩形、三角形、圆、椭圆、多边形、单箭头直线、双箭头直线等

系列文章专栏:javafx图形绘制、桌面录屏录音源码合集 目录 一、实现的效果 二、实现的思路

三、安全退出的设计

安全退出的需求 用户在任意的业务页面,点击"退出"按钮,弹出确认退出的模态窗口;用户在确认退出的模态窗口,点击"确定"按钮,完成安全退出的功能. *安全退出,清空cookie,销毁session *退出完成之后,跳转到首页 安全退出流程图 一、UserController 1.安全…