超详细使用YOLOv5网络来训练自己的数据集目标检测模型并实现目标检测


本文章以瓶盖检测为例,教大家使用yolov5训练自己的数据集模型,并使用该模型进行目标检测.

在进行本文学习时应该准备好以下内容:

  1. 完成anaconda的安装 链接: 超详细版Anaconda的安装及使用conda创建、运行虚拟环境以及使用镜像源
  2. 完成数据集的标注和划分 链接: yolo模型训练所需的数据集的划分教程
  3. 可以成功运行yolov5的目标检测(本文也会教) 链接: 使用YOLOv5模型进行目标检测
  4. 安装CUDA与CUDNN(没有独显的同学可以跳过) 链接: CUDA,CUDNN的安装教程,让你可以使用Pytorch GPU显卡来跑程序

如果已经可以成功运行上面第三步目标检测,则可以跳过第一步,从2.1大步开始

1.虚拟环境的配置

1.1虚拟环境的创建

在win+R中打开cmd
输入以下代码创建一个名为yolov5s,python3.8版本的虚拟环境
名称和版本可以更改,但版本不要超过3.9,否则很多库都不兼容

conda create -n yolov5s python=3.8

在这里插入图片描述
等待之后出现以下输出则表示以及创建好,如果没创建好,可能是anaconda没用安装配置好,可以看完之前的文章 链接: 超详细版Anaconda的安装及使用conda创建、运行虚拟环境以及使用镜像源
在这里插入图片描述
输入以下代码进入到环境中

conda activate yolov5s

在这里插入图片描述

1.2所需库的安装

我们找到yolo的文件夹,复制文件夹的路径
在cmd中 cd 此路径

cd C:\Users\Apzzed\Desktop\AI\yolov5-master

在这里插入图片描述
在这里插入图片描述
然后输入以下代码,即可自动下载安装所有需要的库

pip install -r requirements.txt

在这里插入图片描述

如果下载速度过慢,可能会导致报错,可以复制下面代码(中科大源)到cmd中运行,然后在重新进行上面下载库的步骤

conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/

耐心等待安装完成,如果出现黄色警告不要紧,出现红色才表示有错误
安装完成

1.3 放入yolov5s.pt模型文件

把yolov5s.pt文件放入yolo文件夹的根目录下
在这里插入图片描述

1.4测试目标检测是否能正常运行

输入下面代码运行
source后的0代表用默认摄像头,也可以改为其他图片的路径
weights 后的文件表示用yolov5s.pt模型处理(要保证第一步中yolov5s.pt放在文件夹的根目录下)

python detect.py --source 0 --weights yolov5s.pt

也可以用pycharm打开detect.py,翻到最下面找到这两行,更改参数再运行,注意用pycharm运行时注意右下角环境选择好你刚才创建的环境
在这里插入图片描述
想要关闭时,如果再cmd 中运行,按ctrl+c 强制关闭;pycharm中按ctrl+F2或停止按钮关闭
在这里插入图片描述
至此环境配置已经完成

2.配置数据集路径文件

在data文件夹下.找到coco128.yaml文件,将他复制并粘贴到同目录下,并给他改一个名字,我把名字更改成cap.yaml并在pycharm中找到这个文件打开
在这里插入图片描述
如下图所示,下面五个部分都需要更改
在这里插入图片描述

  1. path代表你的yolo的根目录路径
  2. train代表你的训练集路径
  3. val代表你的验证集路径,这俩个都是之前数据集划分后得来的文件夹
    *注意路径都要手动改成右斜杠才行,并注意在最后有没有再加一个右斜杠
  4. nc表示你一共有多少个标注类型的数量
  5. 下面name中表示你的各个标注类型的名称,这里我只有一个标注名为cap的

3.配置模型文件

在models文件夹中有一个yolov5s.yaml的文件,打开它
在这里插入图片描述
这里只需要更改标注类型的数量即可,数量与上一步保持一致
在这里插入图片描述

4.修改训练文件参数

打开yolo根目录下的train.py文件
在这里插入图片描述
往下滑到四百多行,找到这些代码需要更改
第一行时训练的权重文件,我们选中之前放进来的yolov5s.pt文件
第二行时是第三步中我们更改的文件的路径
第三行是第二布中我们更改的文件的路径
下面epochs指的是你要训练多少代,如果你是用cpu跑的,建议10代就好,速度快一些,当然越多代最终效果越好
在这里插入图片描述
再往下翻这个works该小一点,不然容易爆内存错误,0也可以
在这里插入图片描述

5.开始训练及成果

运行train.py文件

在这里插入图片描述
当最后出现了saved什么路径就是跑成功了,有其他报错不要紧,在这个路径下就可以找到你的成果
在这里插入图片描述
你的成果包括一些训练情况的分析图形,以及weights里有两个pt模型文件,是你最终训练出来的模型,分别是最好的一次和最后一次
在这里插入图片描述
在这里插入图片描述

6.使用自己训练的模型进行目标检测

在回到detect.py文件,将这两个更改
第一行改成刚才你训练出来的两个模型中的其中一个
第二行更改为随便一个测试用的图片
运行此文件
在这里插入图片描述
最后运行输出保存在这个路径下
在这里插入图片描述
我们找到这个路径,就可以看到检测的成果
在这里插入图片描述

  • 30
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
随着深度学习技术的不断发展,目标检测技术已经得到了广泛的应用。在目标检测算法中,数据集的质量和数量对算法的效果影响极大。因此,对于目标检测算法的研究者和应用者来说,一个好的数据集清单是非常必要的。 目标检测数据集清单主要包括以下几个方面:数据集名称、数据集大小、数据集标注、数据集来源、数据集评价指标、文章发表时间等。在这些方面,我们需要从数据集的特点、应用场景和算法类型等角度进行分析,以便能够对不同的数据集进行正确的选择和使用。 其中,数据集大小是一个非常重要的指标。一方面,确保数据集的大小能够满足算法的需求,另一方面,也要避免数据量过大导致训练时间过长或过拟合的问题。此外,数据集标注也是一个至关重要的环节,数据集标注的准确性和完整性直接影响算法的性能。 当我们选定了一个符合我们需求的目标检测数据集之后,如何训练我们的算法模型也是一个需要思考的问题。在这方面,我们建议使用yolov5模型进行训练使用yolov5是一种基于深度学习的目标检测算法,其具有训练速度快、检测精度高等优点。对于yolov5模型训练使用,我们需要对其网络结构、损失函数、数据预处理、模型调参等进行认真的学习和掌握。 总之,目标检测数据集清单是目标检测领域中非常重要的一环。只有通过对不同数据集的分析和评估,我们才能够选取到最适合我们需求的数据集,并且能够利用yolov5模型进行有效的训练使用

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值