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_DATA7 小时前
遥感滑坡检测的数据集 2299 张 1类 yolo格式 遥感滑坡检测数据集
人工智能·深度学习·yolo·计算机视觉·无人机·yolo数据集·ai数据集
计算机编程-吉哥18 小时前
YOLO26 vs YOLO11 vs YOLOv8:深度学习咖啡果实成熟度分割系统【计算机毕业设计选题推荐】
人工智能·python·深度学习·yolo·django·毕业设计
西西弗Sisyphus1 天前
YOLO26 图像分割 - 训练的数据加载:取图、在线增强与标签缓存
yolo·yolo26
YOLO_DATA1 天前
无人机高速公路道路缺陷数据集 道路损伤数据集 公路裂缝识别 AI大疆数据集 10798期
人工智能·深度学习·yolo·机器学习·cnn
YOLO数据集集合2 天前
小目标无人机、飞机、直升机检测数据集 | 小目标检测 无人机检测 空中目标识别 低空安防 反无人机9090期
深度学习·yolo·目标检测·无人机·飞机·小目标·直升机
YOLO数据集集合2 天前
全球无人机航拍树冠覆盖数据集 | 树冠分割 语义分割 无人机航拍 全球森林监测 GeoTIFF 生态恢复9083期
深度学习·yolo·目标检测·无人机·无人机视角·全球森林
Python图像识别2 天前
10-【2027毕设】YOLO11PCB缺陷检测识别系统 - Python完整源码+PyQt5界面+训练模型+数据集
python·深度学习·yolo·毕业设计·毕设
YOLO数据集集合2 天前
无人机树木识别检测数据集 | 树木检测 树种分类 无人机航拍 林业调查9082期
深度学习·yolo·目标检测·无人机·无人机视角·树冠识别·树冠
qq7422349842 天前
YOLO 之外的另一半:RF-DETR 检测实战
yolo
YOLO数据集集合3 天前
无人机低空影像语义分割数据集 | 语义分割 遥感影像 无人机低空 地物分类 Potsdam Vaihingen LoveDA 9080期
人工智能·深度学习·yolo·目标检测·计算机视觉·语义分割·无人机数据集