数据集txt格式训练yolov5-master

一、数据集制作:LabelImg制作txt格式

(1)工具:LabelImg
(2)LabelImg的安装和使用:https://blog.csdn.net/qq_45828295/article/details/127227040?spm=1001.2014.3001.5502
(3)格式:标注之前已经修改成yolo模式(标注文件是txt格式)
(4)data文件夹下放img和labels,data里是图片,设置标注路径为该labels文件夹,会自动保存在这里
在这里插入图片描述

到此为止数据集就有了~

二、数据集路径及相关参数修改

1、数据集放置路径

我下的是yolov5-master,和yolov5-4.0格式好像不太一样
(1)新建自己的数据集文件夹:我建的是“own_datas”
(2)数据集分类:own_datas文件夹下建images和labels,这两个文件夹下分别存放图片和标签,images和labels下都分别建train、val、test,比例设置为6:2:2(下面附一个文件夹分类代码)
在这里插入图片描述

own_datas下的目录:
在这里插入图片描述

附:文件夹分类代码(把存放在一个文件夹内发图片分成三个文件夹)
import os
import random
import shutil
from shutil import copy2
trainfiles = os.listdir('E:\\Helmet_Glove\\from_ovid\\train\\Data\\img') # (图片文件夹)
num_train = len(trainfiles)
print( "num_train: " + str(num_train) )
index_list = list(range(num_train))
 # print(index_list)
 
 random.shuffle(index_list) # 打乱文件的顺序
num = 0
trainDir = 'D:\\RAS\\TargetDetection\\yolov5-master\\own_datas\\images\\train'  # (将图片文件夹中的第一部分放在这个文件夹下)
validDir = 'D:\\RAS\\TargetDetection\\yolov5-master\\own_datas\\images\\val'  # (将图片文件夹中的第二部分放在这个文件夹下)
testDir = 'D:\\RAS\\TargetDetection\\yolov5-master\\own_datas\\images\\test'  # (将图片文件夹中的第二部分放在这个文件夹下)
for i in index_list:
    fileName = os.path.join('E:\\Helmet_Glove\\from_ovid\\train\\Data\\img', trainfiles[i])
    if num < num_train*0.6:   # 这个数字对应第一部分的数值
       # print(str(fileName))
        copy2(fileName, trainDir)
    elif num < num_train*0.8:
        copy2(fileName, validDir)
    else :
        copy2(fileName, testDir)
    num += 1

这一段代码我参考了其他的博客,当时忘了保存链接,如有侵犯,麻烦作者联系我删除!谢谢大佬!!

2、修改路径

一共需要修改三个地方:

(1)coco128.yaml

如果是直接从GitHub下载的yolov5包,那应该是在data文件下,因为我用的不是coco128数据集,因此我把这个文件名修改成了data.yaml
在这里插入图片描述
修改上图的两处:
一个是:训练集和验证集路径
另一个是:类别nc修改成自己需要训练的数据集类型,names是自己类别的名称
然后把data.yaml移动到own_datas文件下

(2)权重文件的yaml

我用的yolov5s,因此修改yolov5s.yaml
该文件在models文件下,移动到own_datas
修改类别数,也就是这里的nc
在这里插入图片描述

(3)train.py文件的参数

在这里插入图片描述
cfg是权重文件的yaml,修改成自己的路径
data是刚才自己的data.yaml路径

三、训练

1、训练

之后就可以训练了,运行train.py

2、保存路径

runs文件下会生成train\exp
在这里插入图片描述

四、测试

1、修改权重文件

(1)训练出的权重文件:
weights里会生成两个权重文件:
best.py:是训练结果最好的权重文件
last.py:是最后一轮的权重文件
(2)修改路径
把权重文件移动到和detect.py平行,也就是直接放在yolov5-master文件下
在这里插入图片描述

2、修改detect.py权重参数

我没有用test里的图片,用了几张图浅测试了一下

(1)目录:

放在data文件下的images下
在这里插入图片描述

(2)参数修改

detect.py需要修改的参数:
在这里插入图片描述

修改一下路径就好了,另外这边我还修改了一下置信度阈值conf-thres,原来是0.25,我改成了0.5,就是可能性大于0.5才会判定为是该类别

3、查看训练结果

测试结果保存在runs\detect\exp

在这里插入图片描述

  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而高性能,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。  本课程的YOLOv5使用ultralytics/yolov5,在Windows和Ubuntu系统上分别做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集(自动划分训练集和验证集)、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 除本课程《YOLOv5实战训练自己的数据集(Windows和Ubuntu演示)》外,本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测:原理与源码解析》课程链接:https://edu.csdn.net/course/detail/31428《YOLOv5目标检测实战:Flask Web部署》课程链接:https://edu.csdn.net/course/detail/31087《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》课程链接:https://edu.csdn.net/course/detail/32303《YOLOv5目标检测实战:Jetson Nano部署》课程链接:https://edu.csdn.net/course/detail/32451《YOLOv5+DeepSORT多目标跟踪与计数精讲》课程链接:https://edu.csdn.net/course/detail/32669《YOLOv5实战口罩佩戴检测》课程链接:https://edu.csdn.net/course/detail/32744《YOLOv5实战中国交通标志识别》课程链接:https://edu.csdn.net/course/detail/35209 《YOLOv5实战垃圾分类目标检测》课程链接:https://edu.csdn.net/course/detail/35284  

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值