YOLOV5入门思路

0.运行环境

  • 处理器:AMD Ryzen 7 5800H 8C16T
  • 内存:640x640分辨率下300余个训练集和100余个校验集要求可使用物理内存大于8GB,实测占用8~10GB。
  • 运行模式:CPU/(GPU需要安装cuda、cudnn,后续补充)

1.安装环境

使用环境为Windows 10 x64(此文章后续出边缘arm平台部署教程)
YOLOV5要求Python至少为3.8且Pytorch版本大于1.8.0

1.1.Python 3.8.17

本教程采用Anaconda3虚拟环境替代繁琐的本地环境。
下载地址:https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Windows-x86_64.exe

1.2.Pytorch 1.13.1 / 2.0.1

  • 修改pip源命令
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  • 下面指令是安装默认最新版本
pip3 install torch torchvision torchaudio
  • 下面指令是安装1.13.1 CPU版本
pip install torch==1.13.1+cpu torchvision==0.14.1+cpu torchaudio==0.13.1

1.3.Pycharm IDE

下载地址:https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=windows&code=PCC

1.4.YOLOV5

YoloV5属于One Stage的R-CNN算法,简单来讲精度比Two Stages低但速度快。
github地址:https://github.com/ultralytics/yolov5
gitee地址:https://gitee.com/monkeycc/yolov5?_from=gitee_search
如果使用git clone需要安装git

2.数据集处理

最终数据集以YOLO的格式运进模型

2.0.下载数据标注工具

在这里隆重推荐labelstudio,嘎嘎好看,嘎嘎好用。

pip install label-studio

2.1.寻找需要的图片构建图片集

等待服务加载再运行命令

label-studio start
  • 1.等待服务构建完成,进入网址并注册登录然后create项目:http://localhost:8080/
  • 2.选择数据集类型为:Object Detection
  • 3.删除原有的两个标签并输入添加新的标签
  • 4.import图像(一次性上传不超过100个图像)

2.2.进行数据标注

Q键上面的数字1是第一个的快捷键,依此类推
每张图标注后都需要提交,可多账号登录和分配任务,非常银杏化。

2.3.导出为YOLO格式

  • 标注完,点击export并选择YOLO。
  • 下载完解压并构建YOLO数据集结构
├──fallDetect
│   ├── images   (图像文件夹)
│   │   ├── train   (训练集)
│   │   │   ├── xximage1.jpg
│   │   │   ├── xximage2.jpg
│   │   │   └──  ...
│   │   ├── val   (校验集)
│   │   │   ├── xyimage1.jpg
│   │   │   ├── xyimage2.jpg
│   │   │   └──  ...
│   │
│   ├── labels   (标签文件夹)
│   │   ├── train   (训练集)
│   │   │   ├── xximage1.txt
│   │   │   ├── xximage2.txt
│   │   │   └──  ...
│   │   ├── val   (标签集)
│   │   │   ├── xyimage1.txt
│   │   │   ├── xyimage2.txt
│   │   │   └──  ...
└─────────────────────────

2.4.修改yaml文件中的路径

  • 鼠标右键新建文本文档修改文件后缀为.yaml
  • 加入下面的内容
path: ./datasets/  # dataset root dir
train: falldetect/images/train  # train images (relative to 'path') 128 images
val: falldetect/images/val  # val images (relative to 'path') 128 images
#test:  # test images (optional)

# Classes
names:
  0: fallen
  1: hello
名称后加参数含义
path./datasets/fallDetect数据集根目录
trainimages/train训练集图片目录
valimages/val校验集图片目录
testimages/test测试集图片目录(可不加)
names[num]: [labelname]标签ID和标签名称

基本上格式为:标签名称与图片名称一致,前者只包含四个值,后者是图片
默认的…在linux和windows中都表示为上一个目录,玛德,最后发现是路径的问题。

3.训练与调参

此环节内容较简单,调试参数即可。

3.1.调用train.py

  • 在cmd命令中使用python train.py --data fallDetect.yaml
  • 在Pycharm中寻找parse中的对应参数,修改default中的内容即可

3.2.使用epochs、batch-size、workers、device等参数

  • 在cmd命令中使用
python train.py --data fallDetect.yaml --epochs 10 --batch-size 16 --workers 4 --device cpu
  • 在Pycharm中寻找parse中的对应参数,修改default中的内容即可

3.3.训练完查看runs/train/exp中的各项情况

其中有训练参数、指标的图标以及一些校验集测试的情况

3.4.runs/train/exp/weights中有训练好的权重文件

权重文件就是模型的最终成品,可转ONNX

4.推理测试

4.1.detect.py

4.2. 使用weights参数

python detect.py --weights best.pt

4.3.推理完查看runs/detect/exp中的结果

直接在图片上生成推理结果,可查看识别情况和可信度

5.侧面描述

  • 额外内容:anaconda3、pytorch、yolov5环境部署
  • 调整数据集大小和训练参数
  • 侧重操作,唯一目标是实现物体检测

6.边缘设备的本地部署

  • python-opencv、pytorch、yolov5环境部署
  • 测试并调节参数
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AzusaFighting

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

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

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

打赏作者

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

抵扣说明:

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

余额充值