当前位置: 首页 > news >正文

yolo目标检测技术之yolo1到yolo5(二)

yolo目标检测技术之yolo1到yolo5(二)

文章目录

  • yolo目标检测技术之yolo1到yolo5(二)
    • 一、YOLOv1(2016):单阶段开山之作
    • 二、YOLOv2 / YOLO9000(2017)
    • 三、YOLOv3(2018)
    • 四、YOLOv4(2020)
    • 五、YOLOv5(2020~至今)——工业界最常用
      • 5.1 网络总览
      • 5.2 关键创新 & 工程细节
      • 5.3 模型家族速查表
      • 5.4 训练/推理一条龙命令
    • 一图总结(保存备用)


关键词:YOLO、目标检测、Backbone、Neck、Head、Anchor、FPN、PAN、CSP、Focus


一、YOLOv1(2016):单阶段开山之作

组件实现
BackboneGoogLeNet-like(24 层卷积 + 2 FC)
Neck
Head两个全连接层 → 7×7×30 张量
Grid7×7,每格 2 bbox,共享 20 类
Loss坐标 MSE + 置信度 BCE + 类别 BCE
Speed45 FPS(GPU)
痛点只能检测 49 个格子,小目标/密集目标拉胯

二、YOLOv2 / YOLO9000(2017)

组件实现
BackboneDarknet-19(19 卷积 + 5 池化,无 FC)
NeckPassthrough:26×26×512 → 13×13×2048,再 concat 深层特征
Head全局平均池化 → 13×13×(5×25)
Anchor5 anchor/grid,K-means(IoU 距离)聚类生成
训练技巧• 多尺度训练 320~608
• 高分辨率分类器 448×448
• BN 全网络
输出(13×13×5)=845 个预测框

三、YOLOv3(2018)

组件实现
BackboneDarknet-53(残差 + 1×1/3×3 交替)
NeckFPN:自顶向下上采样 + 横向 concat,三层输出
Head3 个头:13×13、26×26、52×52,每个 3 anchor
类别预测独立逻辑回归(支持多标签)
总框数(13²+26²+52²)×3 = 10 647
小目标52×52 高分辨率头专为小物体设计

四、YOLOv4(2020)

组件实现
BackboneCSPDarknet-53(CSP 模块减少重复梯度)
NeckSPP(不同池化级联增大感受野) + PAN(自底向上再融合)
Head同 YOLOv3(3 尺度,9 anchor)
Bag of FreebiesMosaic、CutMix、DropBlock、Label Smoothing、CIoU Loss
Bag of SpecialsMish 激活、CmBN、自对抗训练
一句话总结把当时能加的都加了,单卡可训,SOTA 性价比之王

五、YOLOv5(2020~至今)——工业界最常用

无官方论文,但 GitHub 50 k+ star,工程价值拉满。下面把面试/部署必问点一次说清。

5.1 网络总览

Input(640×640×3)│├─ Focus(切片 + concat,2×下采样无信息丢失)│├─ CSPDarknet(C3 替换 CSP,SiLU 激活)│├─ SPPF(串行 5×5 池化等效 9×9 & 13×13,速度↑)│├─ PANet(FPN+ 自底向上路径,concat 融合)│└─ 3 检测头(20×20 / 40×40 / 80×80)→ 255 通道输出

5.2 关键创新 & 工程细节

模块作用备注
Focus把空间信息搬到通道维度,2×下采样无信息丢失v6.0 后被 6×6 Conv 替代
C3轻量 CSP:去掉残差连接,速度↑、精度持平backbone / neck 通用
SPPF1×1 + 3×3 卷积 + 三次 5×5 池化 → 等效 13×13 感受野比 SPP 更快
自适应 Anchor训练前自动 K-means 聚类,无需手动脚本utils/autoanchor.py
Data PipelineMosaic + Copy-Paste + MixUp + HSV训练超参 yaml 可调
LossCIoU + BCE(cls & obj)与 v4 一致
模型缩放depth_multiple / width_multiple 控制n/s/m/l/x 一键切换
导出生态一键 ONNX / TensorRT / ncnn / OpenVINOexport.py --include onnx

5.3 模型家族速查表

Model参数量mAP@0.5CPU(ms)GPU-V100(ms)适用场景
YOLOv5n1.9 M45.7456.3树莓派、移动端
YOLOv5s7.2 M56.8986.4边缘设备
YOLOv5m21.2 M64.12248.2普通服务器
YOLOv5l46.5 M67.343010.1高精度场景
YOLOv5x86.7 M68.976612.1竞赛/研究

5.4 训练/推理一条龙命令

# 1. 安装
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple# 2. 训练自定义数据集
python train.py --data helmet.yaml --cfg yolov5s.yaml --weights yolov5s.pt \--epochs 200 --img 640 --batch-size 16 --device 0# 3. 推理
python detect.py --weights runs/train/exp/weights/best.pt --source img.jpg# 4. 导出 ONNX
python export.py --weights best.pt --include onnx --img 640 --batch 1

一图总结(保存备用)

版本BackboneNeckAnchor多尺度关键创新
v1GoogLeNet-like单阶段、7×7×30
v2Darknet-19Passthrough5输入多尺度Anchor、高分辨率分类
v3Darknet-53FPN3×3=93 输出层逻辑回归、残差
v4CSPDarknet-53SPP+PAN3×3=9同上Mosaic/CIOU/Mish
v5CSPDarknet(C3)SPPF+PAN3×3=9同上Focus→SPPF、自适应 Anchor、工程化最强
http://www.dtcms.com/a/325371.html

相关文章:

  • Profile.vue组件详细解析
  • 缓存的三大问题分析与解决
  • 【运维进阶】WEB 服务器
  • Linux epoll:高并发网络编程的终极武器
  • Android Coil3视频封面抽取封面帧存Disk缓存,Kotlin
  • 自动化UI测试工具TestComplete的多语言引擎与内置实践
  • LabVIEW声波测井信号处理系统
  • 【前沿技术动态】【AI总结】时隔六年!OpenAI 8 月 5 日「开放权重」回归,GPT-OSS 双模型能否重塑开源格局?
  • 小项目方的“活跃术”:市值管理 + 批量交易 + 新地址买入指南
  • [4.2-1] NCCL新版本的register如何实现的?
  • ESP32将DHT11温湿度传感器采集的数据上传到XAMPP的MySQL数据库
  • 【JavaEE】(12) 创建一个 Sring Boot 项目
  • 如何在直播APP中集成美颜SDK?美白滤镜功能开发全流程解析
  • Python笔记之`getattr`和`hasattr`用法详解
  • Vibe Coding 自然语言驱动 AI 编程方式
  • 5G NR NTN 在 PHY 层和 MAC 层实现 OAI
  • 第9节 大模型分布式推理核心挑战与解决方案
  • 代码管理工具——Git基本使用方法
  • 架构设计(15):AI时代的架构设计
  • 系统编程——信号通信
  • MySQL-日志
  • 第10节 大模型分布式推理典型场景实战与架构设计
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的多目标跟踪与行为分析优化(393)
  • 低代码开发实战案例,如何通过表单配置实现数据输入、数据存储和数据展示?
  • Docker-08.Docker基础-本地目录挂载
  • Camera open failed
  • Flutter SharedPreferences存储数据基本使用
  • Apollo平台下相机和激光雷达手眼联合标定
  • 面试题-----RabbitMQ
  • RabbitMQ 消息转换器详解