详解Windows系统如何使用YOLOv5训练自己的目标检测数据集

1. 前言

YOLOv5 🚀 是世界上最受欢迎的视觉 AI,代表 Ultralytics 对未来视觉 AI 方法的开源研究,结合了经过数千小时的研究和开发而形成的经验教训和最佳实践。

2. 使用yolov5训练自己数据集的基本流程

  1. 给自己的电脑安装CUDA和CuDNN,参考:详解 Windows 10 安装 CUDA 和 CUDNN
  2. 使用合适的工具制作一个符合yolov5需求的数据集,可使用LabelImg进行制作,参考:Windows系统中数据标注软件LabelImg的安装和基本使用
  3. 从GitHub上面克隆或者下载Ultralytics的yolov5代码:https://github.com/ultralytics/yolov5
  4. 配置yolov5代码运行的Python环境。
  5. 使用yolov5训练自己的数据集,包括:
    • 编写自己数据集yaml配置文件
    • 选择一个合适的yolov5模型
    • 调用train.py进行训练,主要包括以下两种方式:
      • 直接修改train.py中的参数,然后运行train.py文件
      • 通过命令行代码运行train.py文件,并传入相关参数。

下面yolov5使用参考假设你已经给自己的电脑安装好CUDA和CuDNN,并且也已经制作完成了一个符合yolov5要求的自定义数据集。

3. 下载yolov5代码

git clone https://github.com/ultralytics/yolov5

在这里插入图片描述

4. 配置YOLOv5运行环境

  1. Anaconda创建一个Python虚拟环境,建议直接命名yolov5
conda create --name yolov5 python=3.9
  1. 优先安装PyTorch,在安装requirements需要的第三方库(PyTorch官网:https://pytorch.org/
    需要安装不同版本的PyTorch指令参考:https://pytorch.org/get-started/previous-versions/
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
  1. pip安装requirements.txt。
pip install -r requirements.txt

5. 准备自己的目标检测数据集

YOLOv5支持多种数据集目录组织结构:1.1) directory: path/images/2.2) file: path/images.txt3.3) list: [path1/images/, path2/images/]。不同的组织方式也对应了下面数据集yaml文件的配置方式。

  • 方式1:
    数据集图片和标签置于同一个文件夹下:./train/images/../train/labels/./val/images/./val/images/
  • 方式2(推荐👍👍):
    数据集和训练集的标签置于不同的文件夹下:./images/train/./images/val/./labels/train/./labels/val/

6. 训练自己的数据集

6.1 数据集YAML文件的配置

采用5中方式2的数据集组织方式配置自己的数据集yaml文件,例如:coco28.yaml。注意此处的配置文件应该和下面6.2中的训练命令–data参数值匹配。

path: ../datasets/coco128  # 数据及根目录
train: images/train2017  # 训练集图片地址 (相对于'path')
val: images/train2017  # 验证集图片地址 (相对于'path')
test:  # 测试集图片地址 (可选)

# 数据集标签类别,有多少就写多少
names:
  0: person
  1: bicycle

# 数据集下载脚本或者URL (可选,不填即可)
download: 

6.2 命令行训练

执行下述命令即可训练自己的数据集了,训练所需的其他参数参考6.3

python train.py --data coco128.yaml --epochs 300 --weights '' --cfg yolov5n.yaml  --batch-size 128

6.3 训练脚本train.py命令行参数说明

在这里插入图片描述

参数说明参数说明
–weights预训练权重文件的存储地址–cfg模型yaml配置文件地址
–data数据集配置yaml文件地址–hyp训练网络的一些超参数设置(一般用不到)
–epochs训练轮数–batch-size训练时batch的大小
–imgsz输入图片的尺寸,一般为640–rect是否采用矩形训练
–resume指定之前训练的网络模型,并继续训练这个模型–nosave是否只保留最后一次的网络模型
–noval是否只在最后一次进行测试–noautoanchor是否采用自动锚框
–noplots是否不绘制训练结果–evolve是否自动进化寻找最优参数
–bucket是否上传到谷歌云盘,方便下载–cache是否对图片进行缓存,可以加快训练
–image-weights对训练不太好的图片增加权重–device训练采用的设备
–multi-scale训练过程中对图片进行尺度变换–single-cls训练数据集是单类别还是多类别
–optimizer优化器,默认SGD–sync-bn多 GPU 进行分布式训练
–workers最大的数据加载器数–project训练结果存储的根目录
–name每一次训练结果存储目录–exist-ok是否不采用递增文件夹的存储方式
–quadquad数据加载器–cos-lrcos学习率
–label-smoothing标签平滑值,默认0.0–patience训练结果没有改善情况下继续训练的最大轮数
–freeze冻结训练层数–save-period保存间隔
–seed全局训练随机种子–local_rank自动DDP多GPU参数(没有特殊情况,请勿修改!!!)

注意:

  • –cfg参数用于完全随机初始化开始训练,需要–weights为空,例如:–weights ‘’ --cfg yolov5s.yaml
  • –name参数是相对于–project参数的

以上就是Windows系统的电脑端“详解YOLOv5训练自己的目标检测数据集!”的全部操作。“收集、整理、实测”不易,读者老爷若觉得有用,请点赞👍、收藏⭐️,谢谢支持!❤️❤️

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Yov5是一种目标检测算法,它可以用于训练自己的数据集。下面是详细的步骤: 1. 数据集准备:首先,你需要准备自己的数据集。这包括收集并标记图像,为每个目标对象创建边界框,并将它们与相应的类别关联起来。确保你的数据集具有足够的样本和类别的多样性。 2. 数据集划分:将整个数据集划分为训练集和验证集。训练集用于模型训练,验证集用于评估模型的性能。 3. 安装Yolov5:在训练之前,你需要安装Yolov5。你可以从官方的GitHub仓库中获取代码,并按照说明进行安装。 4. 配置模型:打开Yolov5的配置文件,根据你的需要进行调整。你可以设置一些超参数,如学习率、批量大小等。 5. 数据转换:将数据集转换为Yolov5所需的格式。Yolov5使用标签文件来存储每个图像的边界框和类别信息。你可以使用工具如labelImg来生成标签文件。 6. 训练模型使用Yolov5提供的训练脚本开始训练模型。你需要指定训练集和验证集的路径,还可以选择一些训练参数。训练过程可能需要一段时间,具体取决于你的数据集规模和硬件性能。 7. 模型评估:在训练完成后,你可以使用验证集对模型进行评估。Yolov5提供了相应的脚本来计算模型的精度、召回率等指标。 8. 模型推理:一旦模型训练和评估完成,你可以使用训练好的模型进行目标检测。将测试图像输入到模型中,它将返回检测到的目标对象和其边界框的位置。 这些是训练自己的数据集使用Yolov5的基本步骤。当然,具体实施过程中可能还会涉及其他细节和调整。你可以参考Yolov5的文档和官方示例来获取更多详细信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值