YOLOv1 核心结构解析

YOLOv1 核心结构解析

这张图展示了原始 YOLOv1 的完整网络结构,它是一个单阶段目标检测模型,将目标检测任务转化为一个单一的回归问题,直接从图像中预测边界框和类别概率。


1. 网络整体流程

YOLOv1 的网络可以分为三个主要部分:

  1. 卷积主干网络 :提取图像特征,将输入图像从 448×448×3 压缩为 7×7×1024 的特征图。
  2. 全连接层 :将 7×7×1024 的特征图展平为一维向量,通过全连接层进行最终预测。
  3. 输出层 :输出一个 7×7×30 的张量,代表在 7×7 的网格上,每个网格预测 2 个边界框和对应的类别。

2. 逐层拆解(从左到右)
模块 操作 输入尺寸 输出尺寸 核心作用
Conv1 7×7×64-s-2 + MaxPool(2×2-s-2) 448×448×3 112×112×64 初步提取特征,大幅降采样
Conv2 3×3×192 + MaxPool(2×2-s-2) 112×112×64 56×56×192 加深网络,继续降采样
Conv3 1×1×128 → 3×3×256 → 1×1×256 → 3×3×512 + MaxPool(2×2-s-2) 56×56×192 28×28×512 交替使用1×1和3×3卷积,压缩并丰富特征
Conv4 (1×1×256 → 3×3×512)×4 + MaxPool(2×2-s-2) 28×28×512 14×14×1024 重复4次"1×1+3×3"结构,提取深层特征
Conv5 (1×1×512 → 3×3×1024)×2 → 3×3×1024-s-2 14×14×1024 7×7×1024 重复2次"1×1+3×3"结构,最后一次卷积降采样到7×7
Conv6 3×3×1024 ×2 7×7×1024 7×7×1024 进一步提取特征,保持尺寸不变
FC 全连接层 7×7×1024 4096 → 30 将特征图展平,回归出最终检测结果

3. 关键设计思想
  • 单阶段检测:不像两阶段检测器(如Faster R-CNN)先生成候选区域,YOLOv1 直接在一个网络中完成所有预测,速度更快。
  • 网格划分 :将输入图像划分为 7×7 的网格。如果一个目标的中心落在某个网格内,该网格就负责检测这个目标。
  • 统一输出 :最终输出 7×7×30 的张量,其中:
    • 7×7:网格数量。
    • 30:每个网格预测 2 个边界框(每个框包含 x, y, w, h, confidence 共5个参数),以及 20 个类别概率,总计 2×5 + 20 = 30 维。

4. 与改进版 YOLOv1 的对比
特性 原始 YOLOv1 改进版 YOLOv1
主干网络 自定义24层卷积 ResNet-18
颈部网络 SPP/SPPF
检测头 全连接层 双分支解耦卷积检测头
输出特征图 7×7×30 13×13×(1+Nc+4)
优势 速度快,结构简单 精度更高,对小目标更友好
相关推荐
Lun3866buzha19 小时前
YOLOv10-BiFPN融合:危险物体检测与识别的革新方案,从模型架构到实战部署全解析
yolo
Katecat9966319 小时前
YOLOv8-MambaOut在电子元器件缺陷检测中的应用与实践_1
yolo
工程师老罗20 小时前
YOLOv1 核心知识点笔记
笔记·yolo
工程师老罗1 天前
基于Pytorch的YOLOv1 的网络结构代码
人工智能·pytorch·yolo
学习3人组1 天前
YOLO模型集成到Label Studio的MODEL服务
yolo
孤狼warrior1 天前
YOLO目标检测 一千字解析yolo最初的摸样 模型下载,数据集构建及模型训练代码
人工智能·python·深度学习·算法·yolo·目标检测·目标跟踪
水中加点糖1 天前
小白都能看懂的——车牌检测与识别(最新版YOLO26快速入门)
人工智能·yolo·目标检测·计算机视觉·ai·车牌识别·lprnet
前端摸鱼匠2 天前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测
2501_941329722 天前
改进YOLOv8-seg-act__鸡只计数检测实战
yolo