YOLOv5结构讲解

YOLOv5 v6.0进行了多项改进,包括关闭wandb日志、调整模型大小和速度、更新backbone结构。模型差异主要体现在深度和宽度上,如yolov5n和yolov5s。SPPF层替代了SPP,提高了效率。更新还带来了更快更准确的模型,如减少P3层的C3重复次数。此外,新版本在训练参数和数据增强方面也有所增强。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

YOLOv5关闭wandb

首先打开utils/loggers/wandb/wandb_utils.py

在32行新添加wandb = None

然后打开utils/loggers/__init__.py

在25行新添加wandb = None

YOLOv5-6.0中各模型区别

yolov5n, yolov5s, yolov5m, yolov5l, yolov5x的模型只在模型深度(C3模块数)和宽度(网络的通道数)上不同,其他都一样。

以yolov5l为基准,其他模型以此放缩。

进入目录model/ ,命令行输入:grep "multiple" *.yaml

yolov5l.yaml:depth_multiple: 1.0  # model depth multiple
yolov5l.yaml:width_multiple: 1.0  # layer channel multiple
yolov5m.yaml:depth_multiple: 0.67  # model depth multiple
yolov5m.yaml:width_multiple: 0.75  # layer channel multiple
yolov5n.yaml:depth_multiple: 0.33  # model depth multiple
yolov5n.yaml:width_multiple: 0.25  # layer channel multiple
yolov5s.yaml:depth_multiple: 0.33  # model depth multiple
yolov5s.yaml:width_multiple: 0.50  # layer channel multiple
yolov5x.yaml:depth_multiple: 1.33  # model depth multiple
yolov5x.yaml:width_multiple: 1.25  # layer channel multiple
depthwidth
yolov5n0.330.25
yolov5s0.330.5
yolov5m0.670.75
yolov5l11
yolov5x1.331.25

YOLOv5-6.0对比YOLOv5-5.0

https://github.com/ultralytics/yolov5/releases/tag/v6.0https://github.com/ultralytics/yolov5/releases/tag/v6.0

Model Architecture: Updated backbones are slightly smaller, faster and more accurate.

  • Replacement of Focus() with an equivalent Conv(k=6, s=2, p=2) layer (#4825 by @thomasbi1) for improved exportability
  • New SPPF() replacement for SPP() layer for reduced ops (#4420 by @glenn-jocher)
  • Reduction in P3 backbone layer C3() repeats from 9 to 6 for improved speeds
  • Reorder places SPPF() at end of backbone
  • Reintroduction of shortcut in the last C3() backbone layer
  • Updated hyperparameters with increased mixup and copy-paste augmentation

 在backbone有更改。

SPPF对比SPP

位于文件:models/common.py

 两者结果是一样,SPPF(Fast)在于:重用了上一个maxpool的结果,第一次maxpool5,第二次在此基础上继续maxpool5则等同于maxpool9,第三次在此基础上继续maxpool5则等同于maxpool13,最后拼接原x,maxpool5结果,maxpool9结果,maxpool13结果,再用一个卷积调制通道与输入相同。

YOLOv5-6.0性能

以YOLOv5l对比5.0和6.0

 

YOLOv5s-5.0整体结构图

YOLOv5s-6.0整体结构图

 YOLOv5n-6.0整体结构图

 YOLOv5n-6.0整体结构图

 与YOLOv5s-6.0不同在于每层通道数都变为其一半。

如有错误,望指正!

### YOLOv5n 架构解析 YOLOv5n作为轻量化版本,在保持高效性能的同时简化了模型架构。该网络继承了YOLOv5家族的设计理念,采用了经典的FPN+PAN结构来增强特征融合能力[^1]。 #### 主要组件概述 - **Backbone**: 使用CSPDarknet作为基础骨干网,通过跨阶段部分连接(Cross Stage Partial connections)减少计算量并提高效率。 - **Neck (Feature Pyramid Network + Path Aggregation Network)**: 结合自顶向下的路径和自底向上的路径构建更强大的多尺度表示。 - **Head**: 设计有三个不同尺度的输出层用于预测边界框、类别置信度以及物体中心点位置。 对于具体到YOLOv5n变体而言: | Model | CA | RepConv | SIoU | | --- | --- | --- | --- | | YOLOv5n | ✗ | ✗ | ✗ | | YOLOv5n-CA | ✓ | ✗ | ✗ | | YOLOv5n-Rep | ✗ | ✓ | ✗ | | YOLOv5n-CR | ✓ | ✓ | ✗ | | YOLOv5n-SIOU | ✗ | ✗ | ✓ | | YOLOv5n-RDD | ✓ | ✓ | ✓ | 表中展示了多种改进措施的应用情况,包括协调注意力机制(CA)[^2]、可重复卷积(RepConv) 和SIoU损失函数等技术手段对原始YOLOv5n进行了优化升级。 虽然无法直接提供具体的架构图表,但从上述描述可以理解YOLOv5n的整体框架布局及其各组成部分的功能特性。 ```mermaid graph TD; A[YoloV5n Backbone CSPDarkNet] --> B{Neck(FPN+PAN)}; B --> C[Output Head]; style A fill:#f96,stroke:#333,stroke-width:4px; style B fill:#bbf,stroke:#333,stroke-width:4px; style C fill:#bfb,stroke:#333,stroke-width:4px; ``` 此Mermaid图简单示意了YOLOv5n的基本模块间关系,其中Backbone负责初步特征提取;Neck部分增强了空间金字塔池化效果;最终由Head完成目标检测任务所需的各类参数估计工作。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值