数据集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

在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值