学习yolov5
一、yolov5入门使用
1. 环境搭建
(1) 下载 yolov5-master
使用 Git 克隆 YOLOv5 仓库
1 | # 克隆 YOLOv5 仓库 |
Github下载 yolov5-master:https://github.com/ultralytics/yolov5
ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
如果你暂时不会使用Git,就按照下图所示下载(需要会基本使用GitHub)

(2) 创建虚拟环境、安装依赖
提前准备:
python环境>=3.8,最好是python3.8系列,否则可能存在奇怪的bug
IDE:PyCharm
如果环境配置妥当,
使用 PyCharm 打开 yolov5-master 工程,
PyCharm 检测到 requirements.txt 后会自动根据依赖项,
创建虚拟环境,
并安装依赖
(如果依赖无法成功下载,可能需要掌握科学上网,或配置国内镜像源)

1 | pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com |
2. 获取预训练模型
前往 yolov5 GitHub Release 页面,下载官方提供的 预训练模型权重文件:Releases · ultralytics/yolov5
以 yolov5s.pt 为例,
yolov5s.pt是一个预训练的、小型的、基于 PyTorch 的 YOLOv5 模型权重文件。它是在大型 COCO 数据集上训练好的,可以直接用于检测 80 种常见物体,或者作为起点来训练你自己的特定目标检测模型。
(1) 下载 yolov5s.pt:https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt
(2) 下载后将 yolov5s.pt 放入 yolov5-master 项目文件夹根目录下
3. 测试使用
1 | # 使用网络摄像头运行推理 |
二、创建自己的数据集
需要环境:
python 3.8 任意版本(否则可能会出现奇怪的bug)
1.使用现成/创造新的原始数据集
数据增强方法:
| 类别 | 方法 | 作用 | 适用任务 |
|---|---|---|---|
| 几何变换 | 翻转 (Flip) | 增加样本多样性,模拟左右 / 上下颠倒 | 分类、检测 |
| 缩放 (Scale) | 模拟目标远近变化 | 检测 | |
| 裁剪 (Crop) | 强制关注局部特征 | 分类、检测 | |
| 旋转 (Rotation) | 模拟目标角度变化 | 分类、检测 | |
| 颜色变换 | 亮度 / 对比度 | 模拟不同光照条件 | 所有任务 |
| 噪声注入 | 增强对图像质量下降的鲁棒性 | 分类、医学影像 | |
| 高级方法 | 随机擦除 | 防止模型依赖局部特征 | 分类 |
| CutMix / MixUp | 正则化,提升模型泛化能力 | 分类 |
2.数据标注
(1) 使用 PyCharm 新建 python 项目
(2) 安装数据标注软件 labelimg
1 | pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple |
(3) 安装完成后在终端输入 labelimg

设置为自动保存模式

选择 未标注图片所处文件夹 与 标注后图片保存的文件夹

标注格式选择 YOLO 格式

开始标注(如果打开了 Auto Save mode 就不用频繁地保存了)

labelimg 快捷键:
生成的标注文件如下图所示:

分析生成的所有标记文件,共分为两种:
class.txt:所有 label 的名称,
一行一个 label 名称,它们有对应的 label id,
第一行 label id 为0,
第二行 label id 为1,以此类推
图片名.txt:对应图片中所有标注框的相关参数,
一行信息对应一个标注框的参数,包含5组数字,
用空格划分,分别对应
一个标注框的 label id、x(目标框中心点x坐标)、y(目标框中心点y坐标)、w(目标框宽度)、h(目标框高度)

实际应用:在树莓派5上部署YOLOV5模型并实现目标检测、mqtt通信、串口发送
1.系统:TF卡烧录 RaspyBerryPiOS 64bit (自带VNC方便远程连接)
2.项目下载:( YOLOv5官方项目 - yolov5-master )
https://github.com/ultralytics/yolov5/archive/refs/heads/master.zip
1 | # 克隆仓库 |
3.环境配置:
1 | # 进入项目目录 |
1 | # 创建虚拟环境 |
1 | # 激活虚拟环境 |
1 | # 安装依赖(通过清华源) |
1 | # 运行脚本 |
实际使用的实际应用:
1 | # 手动启动 |
1 | # 使用跳线帽短接串口,再使用minicom观察串口输出信息: |
1 | # 更改风扇策略 |
