Yolo系列算法-理论部分-YOLOv5

0. 写在前面

YOLO系列博客,紧接上一篇Yolo系列算法-理论部分-YOLOv4-CSDN博客

1. YOLOv5-美而全的产品

YOLOv5的诞生,直接将目标检测算法向终局推进,Ultralytics团队在COCO数据集上预训练的目标检测架构和模型直接开源,其中包含了经过数千小时的研究和开发而形成的经验教训和最佳实践。

2. 网络结构

YOLOv5是YOLOv4的升级改进版本,官方版本一共有5个,按模型的大小排序分别是YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,让开发者能再精度和速度中得到一个权衡,以YOLOv5s来说明整体网络结构。

2.1 Input

图像预处理部分,对输入的图像进行Mosaic数据增强,通过随记缩放、随记裁剪、随记排布的方式对不同图像进行拼接;

采用Mosaic数据增强的方法,从增加检测目标的背景丰富度和提高小目标检测两个方向提升检测效果;并且在BN计算的时候一次性会处理四张图片。

2.2 Backbone

主干网络部分,主要采用:Fcous结构+CSP结构 。首次引入Fcous结构,用于直接处理输入的图片,通过降维和压缩输入特征图 ,从而减少计算量和提高感受野 ,同时提高目标检测的精度和模型的表达能力

Fcous重要的是切片操作,将4×4×3的图像切片之后变成2×2×12的特征图。

以YOLOv5s的结构为例,原始608×608×3的图像输入Focus结构,采用切片操作,先变成304×304×12的特征图,再经过一次32个卷积核的卷积操作,最终变成304×304×32的特征图。

2.3 Neck

网络的颈部,采用的是FPN+PAN结构,结构和YOLOv4是一样的,可以参考上一篇博文Yolo系列算法-理论部分-YOLOv4-CSDN博客:主要通过融合高低层特征 提升目标检测的效果,尤其可以提高小尺寸的检测效果。

2.4 Head

对于网络的输出部分,与YOLOv4一样采用三个不用的输出Head,进行多尺度预测;随着YOLOv5的逐渐工业落地,Head部分也可以修改为输出一个结果,便于后续终端的移植工作,详细内容可参考:

  1. Yolo系列算法-理论部分-YOLOv4-CSDN博客
  2. 详细介绍 Yolov5 转 ONNX模型 + 使用ONNX Runtime 的 Python 部署(包含官方文档的介绍)_yolov5转onnx-CSDN博客
3. 改进方向
3.1 自适应锚框计算

在YOLOv5之前的系列中,对最佳Anchors的获取都是通过K-Means的方法获得,这部分操作需要在网络训练之前单独运行。YOLOv5的创新点就是将此功能嵌入到整体代码中,每次训练时,自适应计算不同训练集中的最佳锚框值,并给用户开放接口,可以关掉自动计算功能。

3.2 自适应灰度填充

为了应对输入图片尺寸不一的问题,通常做法事将原图直接resize成统一的大小,但是这样会造成目标的变形,为了避免这种情况的发生,YOLOv5采用了灰度填充的方式统一输入尺寸,避免目标变形的问题,灰度填充的核心思想就是将原图的长宽等比缩放对应统一尺寸,然后对空白部分用灰色填充。

3.3 损失函数
  1. 分类用交叉熵损失函数 (BEC Loss),边界框回归用CIoU Loss
  2. CIoU将目标与anchor之间的中心距离,重叠率、尺度以及惩罚项都考虑进去,使得目标框回归变得更加稳定,不会像IoU和GIoU一样出现训练过程中的发散等问题;惩罚因子把预测框长宽比拟合目标框的长宽比考虑进去。
4. 性能表现

在COCO数据集上,当输入原图的尺寸是:640×640时,从YOLOv5n到YOLOv5s**,检测精度逐渐上升,检测速度逐渐下降,非常适合工程实践**,实现精度与速度的完美匹配。

相关推荐
YOLO数据集集合21 小时前
火情监测新方案:无人机红外-可见光多模态火点烟雾数据集(含YOLOv11实战)
人工智能·yolo·计算机外设·无人机·无人机数据集·可见光多模态
欧阳天羲2 天前
激光灭蚊机器人项目|雷达‑红外‑YOLO三重融合完整工程
yolo·机器人
Peter-Code2 天前
YOLOv8 Windows + CPU 环境搭建与 DMS 数据集测试训练
算法·yolo
johnny2332 天前
《动手学YOLO》-算法的原理与架构
yolo
智购科技自动贩卖机2 天前
自动售货机硬件主控方案选型实战:单片机、树莓派、ESP32怎么选?
人工智能·单片机·嵌入式硬件·物联网·网络协议·yolo·架构
向哆哆2 天前
无人机灾害场景人体目标检测数据集分享(适用于YOLO系列深度学习分类检测任务)
yolo·目标检测·无人机
YOLO数据集集合2 天前
煤炭物料检测数据集:基于YOLO26的矿山传送带智能“哨兵”
人工智能·yolo·数据挖掘·煤炭·煤炭检测·矿山传送带·传送带异物
寥落半伤感2 天前
适用于YOLO模型的一些模块
yolo·rvbs·asdcn·dbpa-c3k2·fi-wiouv2
阿里巴巴首席技术官3 天前
目标检测基础
笔记·yolo
jay神4 天前
深度学习为什么需要反向传播
人工智能·深度学习·yolo·目标检测·cnn·毕业设计