YOLO

You Only Look Once
基于深度学习的实时目标检测算法
只需要一次前向传播(一次看图)就能完成图像中所有物体的定位和分类

它将目标检测任务转化为一个回归问题,通过单个神经网络直接从图像像素预测目标的边界框和类别概率

基本工作原理

  1. 网格划分:YOLO将输入图像划分为S×S的网格,每个网格负责检测该区域内的目标。整个检测过程只需要一张图一次推理,极大加快速度。
  2. 边界框预测:每个网格会预测多个边界框(bounding boxes),每个边界框由中心坐标、宽度、高度和置信度表示。
  3. 物体分类:YOLO还会对每个边界框内的物体进行分类。
  4. 非极大值抑制(NMS):用于去除重复的检测结果,选择置信度最高的边界框作为最终结果。

工作流程

  1. 输入处理
  1. 划分网格:将图像划分成 S×S 个网格(例如7×7)
  2. 每个网格预测
S×S×(B×5+C)
  1. 后处理(NMS)使用非极大值抑制(NMS, Non-Maximum Suppression):去掉重复检测到的框,保留得分最高的那个。

版本演进

版本 发布年份 主要特点
YOLOv1 2016 提出统一检测框架,实时检测
YOLOv2(YOLO9000) 2017 引入Anchor机制,提高准确率,可以检测9000类
YOLOv3 2018 使用多尺度预测,特征提取更强(Darknet-53)
YOLOv4 2020 优化训练技巧(Bag of Freebies/ Specials),提升性能
YOLOv5(社区版) 2020 PyTorch重写,更轻便,工程实用性强
YOLOv6 2022 更偏工业部署,速度更快
YOLOv7 2022 多任务学习,统一多个检测任务
YOLOv8 2023 不再依赖Darknet,模块化设计,更快更准,支持分割任务

YOLOv1 → YOLOv2

YOLOv2 → YOLOv3

YOLOv4

YOLOv5+

YOLOv8