1. 前言

前面讲解了 PaddleOCR,都是基于 OCR(Optical Character Recognition,光学字符识别) 的技术。今天介绍 YOLO,是一种目标检测(Object Detection)算法。

虽然二者都是基于图片做识别,但二者有些区别。

1.1. Object Detection

  • 定义:目标检测(Object Detection),在图像或视频中自动找到并定位特定类别的物体,同时给出物体类别和位置(通常用边界框表示)。
  • 核心任务

    1. 定位(Localization):确定物体在图像中的位置(bounding box)。
    2. 分类(Classification):判断该位置上的物体属于哪一类。
  • 输出

    • 类别标签(如“人”、“汽车”、“猫”)
    • 坐标位置(x, y, w, h 或四点坐标)
  • 典型算法

    • 一阶段(One-stage):YOLO 系列、SSD、RetinaNet
    • 二阶段(Two-stage):R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN

1.2. OCR

  • 定义:OCR(Optical Character Recognition,光学字符识别),在图像或扫描文档中检测文字区域,并识别出文字的具体内容。
  • 核心任务

    1. 文字检测(Text Detection):找到文字区域的位置。
    2. 文字识别(Text Recognition):将文字区域转换成可编辑的文本(字符串)。
  • 输出

    • 文字内容(例如 "Hello World")
    • 坐标位置(文字区域的边界框或多边形)
  • 典型算法

    • 文字检测:EAST、CRAFT、DBNet
    • 文字识别:CRNN、Attention-based models、Transformer-based models
    • 工具框架:Tesseract OCR、PaddleOCR

1.3. 对比

  1. 任务目标不同

    • 目标检测:找到并分类物体
    • OCR:找到并识别文字内容(不仅分类,还要解码成字符串)
  2. 输出信息不同

    • 目标检测:类别标签 + 坐标
    • OCR:文字内容 + 坐标
  3. 技术结构不同

    • 目标检测:检测网络(单阶段/双阶段)
    • OCR:检测网络 + 识别网络(两步)
  4. 数据特征不同

    • 目标检测:多样化的物体形状
    • OCR:规则排列的字符形状,字符集很大
  5. 关系

    • OCR 的文字检测阶段可以用目标检测算法实现(例如用 YOLO 检测文字区域),但 OCR 额外有识别步骤。
应用场景对比
场景类型目标检测OCR
交通行人检测、车辆检测、交通标志识别车牌识别、交通标志文字读取
工业生产线缺陷检测、包装物识别包装上的文字/标签识别
安防入侵检测、异常行为监控门禁卡号识别、身份证信息提取
文档处理不常用发票识别、合同数字化、档案管理
零售商品识别商品标签、价格牌识别

2. 发展过程

首先明确,YOLO 是一种算法,并不属于某一个公司的产品。所以 YOLO 社区的版本迭代有很多团队或公司的身影。

2.1. 起源

YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,由当时的华盛顿大学博士生 Joseph Redmon 等人在 2015 年提出,并于 2016 年在 CVPR 会议上正式发表第一版论文《You Only Look Once: Unified, Real-Time Object Detection》。

提出背景

在 YOLO 出现之前,主流的目标检测方法多为 两阶段检测

  • R-CNN 系列(R-CNN、Fast R-CNN、Faster R-CNN)等
  • 先通过区域提议(Region Proposal)生成候选框,再在这些框上进行分类与回归

这种方法准确率较高,但速度慢,难以满足实时性需求。

YOLO 则采用了 单阶段检测(One-Stage Detection) 思路:

  • 将目标检测视为一个 回归问题
  • 直接从整张图片一次性预测出目标的类别与位置
  • 因此具有速度快端到端训练的优势,非常适合实时检测场景(如视频监控、无人驾驶)

2.2. 版本演化

  1. YOLO v1 (2016)

    • Joseph Redmon 提出
    • 创新:将检测任务整合为单一神经网络预测
    • 优势:速度极快(比当时 Faster R-CNN 快很多)
    • 缺点:对小目标检测效果不佳
  2. YOLO v2 / YOLO9000 (2017)

    • 引入批归一化(BatchNorm)、高分辨率输入、锚框(Anchor Boxes)等
    • YOLO9000 能同时在 COCO 与 ImageNet 数据集上训练,实现检测+分类
    • 检测类别数可达 9000+
  3. YOLO v3 (2018)

    • 引入多尺度检测(Feature Pyramid)
    • 使用更深的 Darknet-53 主干网络
    • 提升对小目标的检测能力
  4. YOLO v4 (2020)

    • 由 Alexey Bochkovskiy(Redmon 的合作伙伴)发布
    • Joseph Redmon 在 2020 年宣布退出计算机视觉研究(因担心技术被用于军事用途),维护权转移给 Alexey
    • 集成了大量训练技巧(Mosaic 数据增强、CSPDarknet53 主干、CIoU Loss 等)
  5. YOLOv5 (2020)

    • 由 Ultralytics 公司(总部在美国)发布
    • 实际上与原 YOLO 系列无直接作者关联,但延续了 YOLO 的命名与思想
    • 用 PyTorch 重写,便于使用与部署
    • 开源且持续更新,成为工业界应用最广的 YOLO 版本之一
  6. YOLOv6 (2022)

    • 由美团(Meituan)发布
    • 更加面向工业生产部署,优化推理速度与精度
    • 支持多种硬件加速
  7. YOLOv7 (2022)

    • 由 Wong Kin Yiu 等人发布
    • 在精度和速度上继续优化,集成新结构和训练策略
    • 依然基于 PyTorch
  8. YOLOv8 (2023)

    • Ultralytics 发布
    • 进一步模块化,支持检测、分割、姿态估计等多任务
    • 更易于部署到各种平台(云端、边缘设备)
  9. YOLOv9 (2023)

    • Ultralytics 发布
    • 引入了程序化梯度信息(PGI)技术,解决深层网络信息丢失问题
  10. YOLOv10 (2024)

    • Ultralytics(清华大学团队) 发布
    • 通过消除非最大抑制(NMS)和优化模型架构,实现了更优的精度-延迟权衡
  11. YOLO11 (2024)

    • Ultralytics 发布
    • 进一步优化了特征提取和轻量化设计
  12. YOLO12 (2025)

    • Ultralytics 发布
    • 强调在复杂场景下的实时检测性能

截止当前2025年,最新版本就是 YOLO12,后续也应该不会有 YOLO13 了。目前 YOLO 算法的主要贡献者 Ultralytics 公司,打算学习 Apple 公司对 IOS 系统的命名方式。正在研发中的下一代版本号已经确定为 YOLO2026

维护与贡献公司/团队
  • YOLO v1~v3:Joseph Redmon(华盛顿大学),后来退出;Alexey Bochkovskiy(乌克兰)继续维护 Darknet 框架
  • YOLO v4:Alexey Bochkovskiy
  • YOLO v5:Ultralytics 公司(美国,专注于 AI 工具与部署)
  • YOLO v6:美团(中国)
  • YOLO v7:Wong Kin Yiu 团队(香港理工大学相关研究人员)
  • YOLO v8 +:Ultralytics 公司(美国,专注于 AI 工具与部署)

目前来看,主力公司是 Ultralytics。因此如果你要学习 YOLO,建议直接查看 ultralytics官网文档,文档是相当全。

3. 创始人的故事

当了解到 YOLO算法是 Joseph Redmon 在华盛顿大学博士生其间发表的,就产生了浓厚的兴趣。

现在的水硕、水博太多了,YOLO 算法在互联网上被称为水硕神器,前些年很多硕士的毕业作品都离不开YOLO算法,简单训练一些数据集,就可以生成出一批看起来高大上的作品。怎么这个博士生能有这样的成就?而且论文署名就归学生本人了?

仔细了解后,发现这位的故事也算精彩。

3.1. 声名鹊起

Joseph Redmon 2013年在华盛顿大学开始读硕,两年后2015年读博期间就创造了YOLO。

3.1.1. YOLO 的诞生(2015~2016)

在 2015 年前,主流目标检测方法(如 R-CNN、Faster R-CNN)速度较慢,不能满足实时场景需求。
Joseph Redmon 想要一种端到端、一次性完成检测的方法,于是提出 YOLO。

YOLO v1(2016)
  • 论文:《You Only Look Once: Unified, Real-Time Object Detection》
  • 核心思想:将目标检测转化为单一神经网络的回归问题,一次性预测整张图片的所有目标位置和类别
  • 结果:速度极快,实时检测成为可能(几十帧每秒)
  • 框架:Darknet(他自己用 C 和 CUDA 写的轻量级深度学习框架)

3.1.2. YOLO 的快速迭代(2016~2018)

  • YOLOv2 / YOLO9000(2017)
    引入锚框(Anchor Boxes)、高分辨率输入、多尺度训练,支持 9000+ 类别检测(联合 ImageNet 和 COCO 数据集训练)
  • YOLOv3(2018)
    使用 Darknet-53 主干网络,多尺度特征融合,检测精度和小目标表现明显提升

在这个阶段,YOLO 已经成为全球最知名的实时检测算法之一,并被大量工业界、学术界采用。

Joseph Redmon 本人也获得了无数的奖项,在 2019 年博士毕业。

3.2. 功成身退

2020 年 2 月,Joseph Redmon 在 Twitter 上宣布 停止计算机视觉研究,不再维护 YOLO。
原因主要是技术与伦理的冲突

  • 他意识到自己的研究可能被用于军事、监控、自动化武器等领域
  • 觉得自己不希望参与任何可能造成伤害的技术应用
  • 在一次会议上,他看到目标检测技术在军事演示中被使用,尤其是无人机识别目标,感到不安

他的原话(概述)

我不想再为可能被用来杀人的技术做贡献。
我希望我的技能用于帮助人类,而不是伤害他们。

在 Redmon 退出后:

  • Alexey Bochkovskiy(乌克兰开发者)接手 Darknet 的维护,并发布 YOLOv4(2020)

随后2022年至今的俄乌战争中,无人机在战争中的杀伤力震惊世界,全球各国都抓紧投入无人机相关的武器研发。


KerryWu
679 声望171 粉丝

保持饥饿


引用和评论

0 条评论