目标检测yolov5简单实战

Posted 西楼xilou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了目标检测yolov5简单实战相关的知识,希望对你有一定的参考价值。

最近在学习计算机视觉目标检测的相关内容,主要学习了yolov5 7.0版本

博主也是初学者,最近刚学完李沐的动深和yolo部分内容,写的错误的地方还请指出

本文只会简单概述yolov5相关的原理,需要详细了解可以看如下博客

YOLO系列算法精讲:从yolov1至yolov5的进阶之路(2万字超全整理)_AI 菌的博客

yolov5整体网络架构

input部分,一般为图片输入

yolov5的图片输入部分,使用了Mosaic进行数据增强,将几张图片融合在一起,丰富了检测目标的背景,同时在计算batch_size normalization 时计算更快

backbone部分,一般为提取特征(feature_map)

使用Focus进行切片操作,切成很多特征图(转换为单张feature_map很小,通道数较多),不属于下采样

使用了CSP结构,将feature_map分为两个part,一个part用于继续使用网络处理,其余经过简单处理直接加在第一个part的输出上(整体与ResNet有区别,ResNet是整个加上去)

关于CSP,可以看这一篇博客

深度学习_经典网络_CSPNet网络详解_WeThinkIn的博客

neck部分,一般用于学习特征

使用了FPN+PAN,可以进行高低层特征融合

head部分,一般用于输出预测

和yolov3,yolov4类似,生成多尺度的anchors,可以进行多尺度的预测

同时,从yolov3开始使用logistic回归代替了softmax,可以进行多标签判定

以上是对于yolov5的简单理论介绍,下面进行一个简单的yolov5实战

安装yolov5 7.0

通过终端拉取yolov5安装包

要求在 Python>=3.7.0 环境中安装 requirements.txt ,且要求 PyTorch>=1.7

pytorch一定要安装gpu版本,不然训练速度会很慢

git clone https://github.com/ultralytics/yolov5

国内github访问速度较慢,可以使用镜像源

git clone https://gitcode.net/mirrors/ultralytics/yolov5.git

接着是安装依赖项

cd yolov5
pip install -r requirements.txt

如何测试安装是否成功?

linux系统,在yolov5文件夹输入

python detect.py

若linux系统中有多个python版本,有时候需要

python3 detect.py

windows系统则直接运行python文件即可

若运行成功且在runs/detect/exp有处理好的图片则说明运行成功

注:多次运行会出现exp1,exp2等等,如果你拉取的yolov5不是官方文件会出现这个问题

另外,在yolov5运行过程中经常出现如下字体缺少报错

Downloading https://ultralytics.com/assets/Arial.ttf

然后一直下载不下来(下载很慢之类的),可以先把这个字体下载好放在yolov5根目录里面

方法:

linux系统直接使用如下代码拉去字体文件

wget https://ultralytics.com/assets/Arial.ttf

windows系统可以下载好文件后拷贝

如果还是下载不了,可以使用我分享的这个文件

链接:https://pan.baidu.com/s/1-wvA_ft3q8WfWjPUWmyu-A?pwd=07l9

提取码:07l9

进行简单的yolov5实战

我是跟着这个博客做的,做出来的东西也差不多

【Yolov5】1.认真总结6000字Yolov5保姆级教程(2022.06.28全新版本v6.1)_若oo尘的博客-CSDN博客

唯一不同是我使用的是yolov5 7.0版本

我做出来的成品如下 目标检测王者荣耀-CSDN直播

以上是关于目标检测yolov5简单实战的主要内容,如果未能解决你的问题,请参考以下文章

目标检测 YOLOv5 开源代码项目-环境配置问题

TPH-YOLOv5 | 基于Transformer的YOLOv5小目标检测器 | 四头加注意力

目标检测yolov5的安装

详细解读TPH-YOLOv5 让目标检测任务中的小目标无处遁形

“多尺度”目标检测问题

干货 | 当 YOLOv5 遇见 OpenVINO,实现自动检测佩戴口罩