YOLOv5训练自己的数据集(labelImg制作标签)

YOLOv5官方讲解: Train Custom Data - YOLOv8 Docs (ultralytics.com)

labelImg(制作标签用) :GitHub - liyunfei0411/labelimg-master

目录

1、Create dataset.yaml

 2、Create Labels

1、下载labelimg仓库并安装labelimg

 2、开始标注

①创建文件夹

②设置路径

③打标

 3、xml文件

 4、txt文件(YOLO v5)

3、Organize Directories

 4、运行命令行


1、Create dataset.yaml

将yaml文件放入yolov5/datasets文件夹中,此处命名为lego.yaml文件,接下来需要对yaml文件 进行修改。yaml文件主要进行2个设置:①dataset的路径设置;②classes的设置

①路径设置

(1)path:训练集和测试集所在的上一级文件夹

(2)train:训练集所在文件夹,路径为path/train

(3)val:验证集所在文件夹,路径为path/val

(4)test:测试集所在文件夹,路径为path/test,可不设置,为空

举例:

 ②classes设置

nc -- 类别数

类名字典 -- 编号: 类别名

例:0对应lego

 2、Create Labels

1、下载labelimg仓库并安装labelimg

https://github.com/liyunfei0411/labelimg-master.git

win+anaconda环境下根据提示进行安装  

打开Anaconda Prompt 后切换到labelimg文件夹输入以下命令

conda install pyqt=5
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

运行labelImg.py后顺利弹出以下界面即为成功

若运行labelImg.py时遇到报错

(py38) F:\labelimg-master>python labelImg.py
Traceback (most recent call last):
  File "labelImg.py", line 39, in <module>
    from libs.labelFile import LabelFile, LabelFileError
  File "F:\labelimg-master\libs\labelFile.py", line 10, in <module>
    from libs.pascal_voc_io import PascalVocWriter
  File "F:\labelimg-master\libs\pascal_voc_io.py", line 6, in <module>
    from lxml import etree
ModuleNotFoundError: No module named 'lxml'

安装这个包后就能顺利运行labelImg.py

pip install lxml

 2、开始标注

①创建文件夹

我在labelimg文件夹中创建了两个文件夹:images、labels。其中,images用来保存图片,labels用来保存标签的xml文件

     

②设置路径

放大后界面:

 

 open dir -- 图片所在文件夹,此处为C:\Users\r***\Pictures\labelimg\images

change save dir -- 用来保存标签的文件夹,此处为C:\Users\r***\Pictures\labelimg\labels

save下面是change save format,点击后即可切换为YOLO(如下图所示)。PascalVOC的保存格式为xml,yolo的格式为txt

  

③打标

设置号open dir后,中间会自动加载出images文件夹中的图片,就可以开始标注了。

按w -- 开始标注

按a -- 上一张

按d -- 下一张

按w进行标注,移动鼠标画框

 下面会弹出小框 

 填入所属的class(此处为person)后ok,再ctrl+s保存

完成一张的标注后,按d进行下一张,如果设置了auto save mode,labelimg会在加载上一张前自动替你保存(意思就是不需要再手动ctrl+s来保存了)

每完成一张图片,anaconda prompt会显示,labels文件夹中会多出一个xml文件。若images中的图片名为1.jpg,那么labels中对应的文件名为1.xml

 3、xml文件

记录一下xml中保存了什么信息

若有多个物体

 4、txt文件(YOLO v5)

当保存为txt文件时,labels文件夹内部如下所示,主要是包括①所设置的类别及对应编号的说明(classes.txt)②每张图片对应的bounding box信息(如67.jpg对应信息保存在67.txt中)

 

①classes.txt当中内容如下,classes由0开始编号

②73.txt当中内容:

其中第一列(15和16)代表对应class的编号,如15表示lego,16表示water;后四列是bounding box的边框信息。yolov5要求将坐标归一化到0-1,这里与xml当中的坐标不同

3、Organize Directories

因为YOLOv5会将路径中最后一个 /images/ 替换为 /labels/,所以labels文件夹放置位置如下

 4、运行命令行

(以下两种都可以)

F:\PycharmProjects\yolov5-master>python train.py --img 640 --epochs 3 --data datasets/lego.yaml --weights yolov5s.pt

F:\PycharmProjects\yolov5-master>python train.py --img 640 --epochs 3 --data datasets/lego1.yaml --weights yolov5s.pt

参考:(2条消息) YOLOV5-打标签建立自己的数据集_yolov5打标签_卿云阁的博客-CSDN博客

  • 10
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
要使用YOLOv8训练自己的数据集,首先需要使用标注工具LabelImg对图像进行标注。LabelImg是一个常用的标注工具,可以帮助我们在图像上绘制边界框,并为每个边界框分配一个类别标签。你可以在GitHub上找到LabelImg的项目,例如。 一旦你完成了数据集的标注,你可以将数据集转换为YOLOv8所需的格式。YOLOv8要求数据集以特定的TXT或TFRecord格式进行组织。在这个例子中,数据集已经以TXT格式进行整理,并且每个图像对应一个TXT文件。TXT文件中包含了每个边界框的位置信息和对应的类别标签。你可以参考中提到的数据集制作的方式来创建TXT格式的数据集。 在完成数据集的准备工作后,你可以按照YOLOv8的官方讲解中提供的步骤来训练自己的数据集。首先,你需要安装YOLOv8并下载预训练的权重文件。然后,你需要修改配置文件,配置文件中包含了训练过程中的一些参数设置,例如类别数量、输入图像尺寸等。接下来,你可以使用训练命令开始训练过程。 训练过程中,YOLOv8会逐渐学习目标检测任务,并生成相应的权重文件。训练的时间和效果取决于数据集的质量和数量,以及所选择的参数设置。 总结起来,要使用YOLOv8训练自己的数据集,你需要先使用LabelImg对图像进行标注,然后将数据集转换为YOLOv8所需的格式。接着,按照YOLOv8的官方讲解中提供的步骤安装和配置YOLOv8,并使用训练命令开始训练过程。请注意,训练过程需要一定的时间和计算资源,同时也需要根据实际情况进行参数调整以达到最佳效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值