YOLOv5项目搭建(AI识别皮卡丘)

目录

前言

一、环境搭建

1.下载安装Anaconda

2.下载安装 pytorch

3.下载安装 yolov5 源代码

二、训练

1.下载安装 lableImg

2.训练

3.训练命令

 三、训练结果与识别

总结


前言

在网上看了很多关于yolov5的博客,很多都是解读参数配置,或者是解析它的底层原理什么的,对新手不是特别友好,我认为学一样东西,先不管其他的,先把这个东西做出来,然后再去学习内部的原理,这样学习起来就不会那么枯燥乏味了,本篇博客就是纯手把手教你yolov5的搭建、训练、识别。


一、环境搭建

1.下载安装Anaconda

下载以后一直 next 即可
安装完成后通过cmd 执行 conda -V 命令即可检测是否安装成功
接下来是配置清华镜像源,执行以下命令即可
执行命令通过windows开始菜单找到  Anaconda Prompt (Anaconda3) 作为入口

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

执行以后可以提高安装包的速度

2.下载安装 pytorch

官网Start Locally | PyTorch

 注意:这里的compute platfrom根据你电脑的cuda版本来选,我的电脑没有cuda,因此选cpu

选好后执行下面那句代码

默认情况下 conda 的环境是 base 
在 conda 下创建一个虚拟环境, 环境名称: yolov5 或者其他, python版本选择3.8 或者其他
conda create -n yolov5 python=3.8
中途会有提示,输入 y 即可
然后激活刚刚创建的虚拟环境 
conda activate yolov5
激活后 base 环境会变成 yolov5

 在yolov5虚拟环境下 安装 pytorch
(这个文件在线安装的有点大,需要等待一段时间)
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116

3.下载安装 yolov5 源代码

github仓库地址:ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite (github.com)

1、点击 tags 标签
2、找到 v3.1 进去
3、点击code,将项目代码克隆或者下载下来
4、conda在yolov5 环境,并且路径在这个项目文件位置下执行命令👇下载必要的文件

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
5、下载程序提供的默认权重文件,文件和 源码在同一个地方(yolov5x.pt 、yolov5m.pt 、yolov5l.pt 、yolov5s.pt )
5、下载后拷贝到程序的 weights 目录

二、训练

1.下载安装 lableImg

执行以下三句命令 ,会弹出如下工作窗口,自己找一些图片进行标注

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple labelImg
python -m pip install --upgrade pip
labelimg

 

Save下面的选项调成yolo,这样标注完后Save就会得到txt文件

 

2.训练

首先要进行模型选择

  • S 模型:S 模型是 YOLOv5 中的小尺度模型,其输入大小为 1920x1080,适用于检测较小尺寸的物体,例如人脸、车辆等。S 模型有 11 个卷积层,检测速度较快,但精度相对较低。

  • M 模型:M 模型是 YOLOv5 中的中尺度模型,其输入大小为 2560x1440,适用于检测中等尺寸的物体,例如轿车、卡车等。M 模型有 19 个卷积层,检测精度较高,但检测速度相对较慢。

  • L 模型:L 模型是 YOLOv5 中的大尺度模型,其输入大小为 3840x2160,适用于检测较大尺寸的物体,例如货车、公交车等。L 模型有 29 个卷积层,检测精度非常高,但检测速度相对较慢。

 根据需要识别的目标大小选择模型,然后去官网下载预训练模型

yolov5/README.zh-CN.md at master · ultralytics/yolov5 (github.com)

1.在yolov5代码目录下data文件夹下 复制 voc.yaml 文件(名字自己定,我这里是voc-lbh)

在 YOLO 中,训练、验证和测试三个路径下都需要存放标注后的文件

  1. train:     # 训练的图片路径 (txt结果与图片一起放该路径下)
  2. val:      # 验证的图片(txt结果与图片一起放该路径下)
  3. test :   #用于测试模型(txt结果与图片一起放该路径下)
  4. names:  标注时的数值和他的别名

 train 路径用于训练模型,val 路径用于验证模型,test 路径用于测试模型。在训练和验证期间,模型将在不同的数据集上进行训练和验证,以便评估模型的性能。在测试期间,模型将使用整个数据集进行测试,以确定其性能指标

注意:训练过的图片通常不能用于验证数据。这是因为在训练期间,模型已经对这些图片进行了训练,并学会了识别这些图片中的对象和场景类别。

如果你有100张标注了的图片,大约 70 张图片用于训练数据,约 10 张图片用于验证数据,约 20 张图片用于测试数据

 2.在yolov5代码目录下models文件夹下 复制 yolov5s.yaml 文件 该名称为 yolov5s-***.yaml (名字自己随意定)

注意:以下命令中的yolov5s是因为我选择了s的预训练模型,如果选择了其他把yolov5后的字母更换就好了。

第四行nc是类的数量,在做标记的时候一共有多少种类这里就设置多少

3.训练命令

打开conda

 1.到源代码的路径下:

如  cd C:\Users\user\yolov5-master\yolov5-master

2.进入虚拟环境:

conda activate yolov5

3.执行命令👇

  • batch-size :就是一次往GPU哪里塞多少张图片了。决定了显存占用大小,默认是16。
  • epochs :执行多少次。

注意下列命令红色处是自己刚刚改的名字,weights weights/yolov5s.pt 是预训练模型的位置

python train.py --data data/voc-lbh.yaml --cfg models/yolov5s-lbh.yaml --weights weights/yolov5s.pt --batch-size 16 --epochs 200

 三、训练结果与识别

在runs目录下可以找到训练的结果

weights下有两个.pt文件,这是我们的训练结果权重文件

识别命令👇

标红两处根据自己的实际路径更改,best.pt就是上面的权重文件路径

 python detect.py --source 需要识别的图片目录 --weights runs/exp/weights/best.pt --conf 0.4

 识别结果也是在runs文件夹里面,如下是我的识别结果


总结

以上就是yolov5的项目搭建了 ,这是我自己做的一个皮卡丘识别,需要资料或者还有什么不明白的可以评论区留言,我看到后会第一时间答复

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
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  

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

爱吃香蕉的阿豪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值