【目标检测】YOLOv5模型训练自己的数据集—YOLOv5实现动物检测(基于pytorch框架的动物牛马检测识别)

说明

本次实验案例是基于pytorch框架下,用yolov5模型实现牛和马的目标检测,数据集是自己制作的,具体制作方法参考我另外一篇博客Labelme制作数据集,为了方便大家也可以直接下载我的数据集进行模型复现,网盘链接如下:数据集链接:提取码:xss6

1、环境安装

(此步可以跳过,与本文内容无太大关系,就单纯想水文字)
(1)、打开anaconda的Anaconda Prompt工具:在这里插入图片描述
(2)、执行如下操作进行conda环境安装:
在这里插入图片描述

conda env list#查看conda环境
conda create -n yolov5 python=3.8#创建conda环境命名为yolov5,python解释器版本指定3.8版本

创建过程中刚创建的环境会显示在过程中,如上图红框处环境所在位置,接下来去电脑中的该位置可以找到创建的环境,如下图:
在这里插入图片描述
(3)接下来打开pycharm工具进行如下操作
在这里插入图片描述
在这里插入图片描述
至此创建的解释器添加完成
在这里插入图片描述
注意:我的pycharm是汉化后的中文版,pycharm安装汉化教程请参考我另外一篇博客pycharm安装和汉化
至此conda环境搭建完成。

2、安装依赖包

打开yolov5模型可以看到requirement.txt文件,文件里面是yolov5模型需要安装的包:
在这里插入图片描述
(1)、进入pycharm的终端
在这里插入图片描述
(2)、进入环境
步骤如下图:1是终端路径进入yolov5模型里面,2 是查看当前的conda环境,“*”表示当前所处的conda环境,3是切换到yolov5的conda环境里面。
在这里插入图片描述
(3)、安装依赖包

pip install -r requirements.txt

在这里插入图片描述

3、测试依赖是否安装成功

找到此文件运行在这里插入图片描述
可以发现测试模型的图片放在当前目录下的data/images下:
在这里插入图片描述
运行detect.py文件,最后一行反馈出测试结果保存路径,如下图:
在这里插入图片描述
点击进入runs/detect/exp目录,可以发现测试结果:
在这里插入图片描述
测试成功,表示环境安装成功。

4、文件配置

(1)、放入准备好的数据集
注意数据集制作过程参考:yolov5数据集制作
或者可以用标注好的数据集(在文章开头):
在这里插入图片描述
(2)、创建.yaml文件

在这里插入图片描述
我命名为horse.yaml(无强制要求,看个人需求随意命名):
在这里插入图片描述
根据数据集的路径进行如下编写,一个是数据集的路径,一个是目标检测的类别标签0和1.
在这里插入图片描述

# parent
# ├── yolov5
#     └── dataset
#         └── train
#            └── images
#         └── val
#             └── images
#         └── test
#             └── images
train: ../dataset/train/images/
val: ../dataset/val/images/
test: ../dataset/test/images/

# Classes
names:
  0: cattle
  1: horse

(3)修改目标检测的类别
本次实验是对牛和马两个类别进行检测识别,所有把类别修改为2
在这里插入图片描述
配置准备就绪。

5、模型训练

在终端输入如下代码:

python train.py --img 640 --batch 32 --epoch 100 --data data/horse.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt

–img:输入图片尺寸(640)
–batch:批次文件数量(32)
–epoch:训练轮次(100)
–data:数据集配置文件yaml文件的路径(data/horse.yaml)
–cfg:模型yaml文件的路径地址(models/yolov5s.yaml)
–weights:初始化的权重文件的路径地址(weights/yolov5s.pt)

在这里插入图片描述
在这里插入图片描述
如上图,可以看出,模型训练完100轮后,结果保存在runs/train/exp路径下,进入该路径可以看到模型训练的一些结果:
在这里插入图片描述

  • 随便展示几张结果图:
    在这里插入图片描述
    在这里插入图片描述

6、模型评估

对模型进行评估推理预测,代码如下:

python val.py --weights runs/train/exp/weights/best.pt --data ./data/horse.yaml --img 640

–weights:训练后的模型路径(runs/train/exp/weights/best.pt,exp后的数字应 与训练结果输出的路径一致)
–data:数据集配置文件yaml文件的路径(data/horse.yaml)
–img:输入图片尺寸(640)

  • 运行截图:
    在这里插入图片描述
    可以发现模型评估结果保存到runs/val/exp2路径下,进入此文件夹内:
    在这里插入图片描述
    下面的图片展示了模型在训练过程中不同指标的变化情况
    ●召回率(R_curve.png)
    在这里插入图片描述

●F1-Score(F1_curve.png)
在这里插入图片描述

●准确率(P_curve.png)
在这里插入图片描述

●PR曲线(PR_curve.png)
在这里插入图片描述

7、模型推理

python detect.py --source ../dataset/test/images --weights ./runs/train/exp/weights/best.pt

–weights:训练后的模型路径(runs/train/exp/weights/best.pt,与模型评估中的路 径一致)
–source:测试集的路径(…/dataset/test/images)

  • 运行截图:
    在这里插入图片描述

在这里插入图片描述

  • 推理结果展示:
    在这里插入图片描述
  • 18
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而性能高,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv5使用ultralytics/yolov5,在Windows系统上做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 希望学习Ubuntu上演示的同学,请前往 《YOLOv5(PyTorch)实战:训练自己的数据集(Ubuntu)》课程链接:https://edu.csdn.net/course/detail/30793  本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》Ubuntu系统 https://edu.csdn.net/course/detail/30793Windows系统 https://edu.csdn.net/course/detail/30923《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       
要使用YOLOv5训练自己的数据集进行缺陷检测,可以按照以下步骤进行操作: 1. 数据集准备:首先,需要准备自己的数据集。这包括收集并标注好的图像和对应的标签。标注可以使用lableimg等标注软件,标签格式可以是xml或其他格式。 2. 模型配置:接下来,需要配置YOLOv5模型。可以根据自己的需求选择合适的模型结构和超参数。YOLOv5已经基于PyTorch框架实现,可以直接使用其提供的默认配置或进行自定义配置。 3. 数据预处理:在进行模型训练之前,需要对数据进行预处理。这包括对图像进行缩放、裁剪、增强等操作,以及对标签进行转换成模型可接受的格式。 4. 模型训练:使用准备好的数据集和配置好的模型,进行训练。可以使用YOLOv5提供的训练脚本进行训练,根据需要进行迭代训练,调整超参数等操作。训练过程中可以监控模型的性能指标,如损失曲线、PR曲线等。 5. 模型评估与优化:在训练完成后,可以对模型进行评估和优化。可以使用测试集评估模型的性能指标,如准确率、召回率等。如果模型表现不佳,可以尝试调整模型结构、增加训练数据、调整超参数等方法来优化模型检测精度和效果。 综上所述,要使用YOLOv5训练自己的数据集进行缺陷检测,需要准备数据集,配置模型,进行数据预处理,进行模型训练,以及评估和优化模型的性能。这些步骤可以帮助您实现自己的缺陷检测任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值