【零基础保姆级教程】制作自己的数据集——Labelimg的安装与使用及常见的报错解决方法

1.是什么

LabelImg 是一个图形化的图像标注工具,主要用于机器学习和计算机视觉领域中的数据预处理。它是由 GitHub 用户 tzutalin 开发的开源项目,基于 Python 和 Qt 框架编写。LabelImg 允许用户手动为图像添加边界框(bounding boxes)标注信息,可以用来训练目标检测、图像分割等任务的模型。

英文版,可生成yolo格式、voc、CreatML标签格式的目标检测数据集标签。

2.安装方式

首先进入虚拟环境,有两种方式进行安装:

第一种,在命令窗口输入如下命令

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

第二种,源码网站拉取:

https://github.com/HumanSignal/labelImg

命令行输入labelimg,会弹出一个UI界面

说明安装成功。

3.前置准备

接下来先创建一个文件夹用以存放自己的数据集。

一个存放图片,一个存放标签。

往image中存放一些图片以供标注。

接着即可进行标注。

4.如何使用

命令行输入labelimg以打开工具。如图所示,每个按钮的作用已在图中标出,右边是操作栏,中间是图像操作区,右边展示已经标注的标签框,右下是当前文件夹的图片列表。

具体操作流程:

点击Open标注单张图像/点击Open Dir选择数据集路径以批量操作->点击Create RectBox在中间图像区进行操作,区域选择操作完成后会弹窗输入标签(你每次输入的标签都会被存储起来),点击ok保存标签->点击save保存标签文件。

进阶操作:

点击上方菜单栏view,可以选择标注模式。

从上至下依次:

勾选第一个能够在你选择下一张图像时自动保存标签。

勾选第二个代表接下来标注的都是同一类物体。

勾选第三个能展示标签。

勾选第四个展示右边标签面板。

勾选第五个时能连续进行多次标注操作。

标注完成后,可在目标文件夹发现如下文件:

即图像jpg文件,yolo标签txt文件和标签类别classes.txt文件。

记得第三步时,让大家创建的label文件了吗?把你生成的标签转移进去即可。

5.训练注意
1.如何对自己通过以上步骤生成好的数据集进行处理?

通过上述步骤,你能获得标签,但实际训练时需要对数据集进行一些更多操作。

采用yolo进行目标检测训练时,应对数据集进行分类,首先在image和label文件夹下均分别创建train和val文件夹(有需要的可以准备test文件夹),然后进行数据集的划分,对你的图片及对应的标注文件划分为合适的比例。

如你数据集有100张图片,划分train:val为9:1。则可以给train90张,val10张。

如你还需划分test文件夹,对100张图片划分数据集使得train:val:test为7:2:1,则给train70张,val20张,test10张。

一般来说,若数据集数量多则任意,若数据集少往往带来训练出的模型具有较低的准确率、鲁棒性和容易过拟合,应根据需求加大数据量。

2.实际训练时,输出指标和loss曲线的问题

进行训练过程中,有许多小伙伴经常会遇到一个问题,就是训练效果很差很差,大部分时候loss曲线不为0,但指标是0,于是乎怀疑是否标注存在问题。其实是因为许多目标检测算法本身对训练的要求较为苛刻,对训练数据的数量要求高。

这里建议若你检测的目标物体形状较复杂,拥有较为丰富的特征语义信息,则多标注几张,多训练几轮即可解决。

6.常见报错
1.标注图像时即闪退,同时,控制台报错:
TypeError: setValue(self, int): argument 1 has unexpected type 'float'
TypeError: arguments did not match any overloaded call:drawLine(self, QLineF): argument 1 has unexpected type 'float'drawLine(self, QLine): argument 1 has unexpected type 'float'drawLine(self, int, int, int, int): argument 1 has unexpected type 'float'drawLine(self, QPoint, QPoint): argument 1 has unexpected type 'float'drawLine(self, Union[QPointF, QPoint], Union[QPointF, QPoint]): argument 1 has unexpected type 'float'
解决方法:

我重新开了一个虚拟环境,python版本是3.9.18,即解决,且不再闪退、标注、放缩等操作没有报错。

不知道如何新建虚拟环境可见我该文章的第二段大标题部分。

【保姆级最简洁教程】零基础如何快速搭建YOLOv5/v7?_yolo安装-CSDN博客

2.暂时未遇到其他报错,如有欢迎评论区评论以交流!持续更新中。

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

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

相关文章

【java基础系列】实现数字的首位交换算法

在java中&#xff0c;手写实现一个数字的首位交换算法实现 实现效果 实现代码 核心业务代码 public static void main(String[] args) {int[] arr {1,2,3,4,5};int temp arr[0];for (int i 0; i < arr.length; i) {System.out.print(arr[i]);}System.out.println(&quo…

【java面向对象编程】第七弹----Object类、类变量与类方法

笔上得来终觉浅,绝知此事要躬行 &#x1f525; 个人主页&#xff1a;星云爱编程 &#x1f525; 所属专栏&#xff1a;javase &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 一、Object类 1.1equa…

GO--堆(have TODO)

堆 堆&#xff08;Heap&#xff09;是一种特殊的数据结构。它是一棵完全二叉树&#xff08;完全二叉树是指除了最后一层外&#xff0c;每一层上的节点数都是满的&#xff0c;并且最后一层的节点都集中在左边&#xff09;&#xff0c;结放在数组&#xff08;切片&#xff09;中…

java开发入门学习五-流程控制

流程控制语句 if&#xff0c; if...else&#xff0c; if..else if..else 与前端相同 略 switch case 与前端不同的是case不能使用表达式&#xff0c;使用表达式会报错 class TestSwitch {public static void main(String[] args) {// switch 表达式只能是特定的数据类型…

豆包MarsCode测评:编程效率再提升

豆包MarsCode测评&#xff1a;编程效率再提升 本文正在参与豆包MarsCode AI 编程体验家活动 随着人工智能技术的发展&#xff0c;编程的方式也在悄然发生变化。最近&#xff0c;豆包推出的 AI 编程工具 MarsCode 在开发者社区引发了不小的关注。这是一款支持多种主流编程语言…

FFmpeg 框架简介和文件解复用

文章目录 ffmpeg框架简介libavformat库libavcodec库libavdevice库 复用&#xff08;muxers&#xff09;和解复用&#xff08;demuxers&#xff09;容器格式FLVScript Tag Data结构&#xff08;脚本类型、帧类型&#xff09;Audio Tag Data结构&#xff08;音频Tag&#xff09;V…

Unity开发哪里下载安卓Android-NDK-r21d,外加Android Studio打包实验

NDK下载方法&#xff08;是r21d,不是r21e, 不是abc, 是d版本呢) google的东西&#xff0c;居然是完全开源的 真的不是很多公司能做到&#xff0c;和那种伪搜索引擎是不同的 到底什么时候google才会开始造车 不过风险很多&#xff0c;最好不要合资&#xff0c;风险更大 Andr…

leetcode-128.最长连续序列-day14

为什么我感觉上述代码时间复杂度接近O(2n), 虽然有while循环&#xff0c;但是前面有个if判断&#xff0c;能进入while循环的也不多&#xff0c;while循环就相当于两个for循环&#xff0c;但不是嵌套类型的&#xff1a; 变量作用域问题&#xff1a;

人工智能入门是先看西瓜书还是先看花书?

在人工智能入门时&#xff0c;关于先看《机器学习》&#xff08;西瓜书&#xff09;还是先看《深度学习》&#xff08;花书&#xff09;的问题&#xff0c;实际上取决于个人的学习目标和背景。 《机器学习》&#xff08;西瓜书&#xff09;由周志华教授撰写&#xff0c;是一本…

B 站数据库负责人赵月顺:助力海内外业务增长,百套 TiDB 的选型与运维实战

导读 B 站对 TiDB 的应用已相当广泛&#xff0c;被应用在了 包括视频观看、一键三连、发送弹幕、撰写评论、阅读漫画以及视频后端的存储等场景&#xff0c; 目前拥有近 100 套集群。 本文由 B 站数据库负责人赵月顺撰写&#xff0c; 详细介绍了 B 站面临业务增长选择 TiDB 的…

二九(vue2-05)、父子通信v-model、sync、ref、¥nextTick、自定义指令、具名插槽、作用域插槽、综合案例 - 商品列表

1. 进阶语法 1.1 v-model 简化代码 App.vue <template><!-- 11-src-下拉封装 --><div class"app"><!-- <BaseSelect :cityId"selectId" changeId"handleChangeId"></BaseSelect> --><!-- v-model 简化…

flask-admin+Flask-WTF 实现实现增删改查

背景&#xff1a; flask-adminflask-wtf在网上可以搜索到很多资料&#xff0c;但有价值的很少&#xff0c;或许是太简单&#xff0c;或者是很少人这么用&#xff0c;或者。。。&#xff0c;本文将作者近礼拜摸索到的一点经验分享出来&#xff0c;给自己做个记录。 材料&#…

Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务间的通讯-消息队列【入门四】

继续上一篇任务创建 【Linux下基于最新稳定版ESP-IDF5.3.2开发esp32s3入门任务间的通讯-信号量【入门三】-CSDN博客】 今天要实现消息队列进行任务的通讯 一、从上一篇信号量通讯demo拷贝一份重命名&#xff0c;还是之前的两个任务&#xff0c;重命名了。 xTaskCreatePinned…

workman服务端开发模式-应用开发-后端api推送修改二

需要修改两个地方&#xff0c;第一个是总控制里面的续token延时&#xff0c;第二个是操作日志记录 一、总控续token延时方法 在根目录下app文件夹下controller文件夹下Base.php中修改isLoginAuth方法&#xff0c;具体代码如下&#xff1a; <?php /*** 总控制* User: 龙哥…

ReactPress 1.6.0:重塑博客体验,引领内容创新

ReactPress 是一个基于Next.js的博客&CMS系统&#xff0c; Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎Star。 体验地址&#xff1a;http://blog.gaoredu.com/ 今天&#xff0c;我们自豪地宣布ReactPress 1.6.0版本的正式发布&#xff0c;…

重拾设计模式--外观模式

文章目录 外观模式&#xff08;Facade Pattern&#xff09;概述定义 外观模式UML图作用 外观模式的结构C 代码示例1C代码示例2总结 外观模式&#xff08;Facade Pattern&#xff09;概述 定义 外观模式是一种结构型设计模式&#xff0c;它为子系统中的一组接口提供了一个统一…

接口测试Day03-postman断言关联

postman常用断言 注意&#xff1a;不需要手敲&#xff0c;点击自动生成 断言响应状态码 Status code&#xff1a;Code is 200 //断言响应状态码为 200 pm.test("Status code is 200", function () {pm.response.to.have.status(200); });pm: postman的实例 test() …

提升专业素养的实用指南

在当今竞争激烈的职场&#xff0c;仅仅拥有专业技能已经不足以立于不败之地。持续提升自身专业素养&#xff0c;才是保持竞争力、实现职业目标的关键。那么&#xff0c;如何才能有效地提升专业素养&#xff0c;在职业道路上走得更稳、更远呢&#xff1f;以下是一些实用性建议&a…

网上球鞋竞拍系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…

tryhackme-Pre Security-Windows Fundamentals 3(Windows基础知识3)

任务1&#xff1a;Introduction&#xff08;介绍&#xff09; 我们将继续探索 Windows 操作系统。 总结前两个房间&#xff1a; 在 Windows Fundamentals 1 中&#xff0c;我们介绍了桌面、文件系统、用户帐户控制、控制面板、设置和任务管理器。在 Windows Fundamentals 2 中…