1. 前言
前面讲解了 PaddleOCR,都是基于 OCR(Optical Character Recognition,光学字符识别) 的技术。今天介绍 YOLO,是一种目标检测(Object Detection)算法。
虽然二者都是基于图片做识别,但二者有些区别。
1.1. Object Detection
- 定义:目标检测(Object Detection),在图像或视频中自动找到并定位特定类别的物体,同时给出物体类别和位置(通常用边界框表示)。
核心任务:
- 定位(Localization):确定物体在图像中的位置(bounding box)。
- 分类(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,光学字符识别),在图像或扫描文档中检测文字区域,并识别出文字的具体内容。
核心任务:
- 文字检测(Text Detection):找到文字区域的位置。
- 文字识别(Text Recognition):将文字区域转换成可编辑的文本(字符串)。
输出:
- 文字内容(例如 "Hello World")
- 坐标位置(文字区域的边界框或多边形)
典型算法:
- 文字检测:EAST、CRAFT、DBNet
- 文字识别:CRNN、Attention-based models、Transformer-based models
- 工具框架:Tesseract OCR、PaddleOCR
1.3. 对比
任务目标不同
- 目标检测:找到并分类物体
- OCR:找到并识别文字内容(不仅分类,还要解码成字符串)
输出信息不同
- 目标检测:类别标签 + 坐标
- OCR:文字内容 + 坐标
技术结构不同
- 目标检测:检测网络(单阶段/双阶段)
- OCR:检测网络 + 识别网络(两步)
数据特征不同
- 目标检测:多样化的物体形状
- OCR:规则排列的字符形状,字符集很大
关系
- 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. 版本演化
YOLO v1 (2016)
- Joseph Redmon 提出
- 创新:将检测任务整合为单一神经网络预测
- 优势:速度极快(比当时 Faster R-CNN 快很多)
- 缺点:对小目标检测效果不佳
YOLO v2 / YOLO9000 (2017)
- 引入批归一化(BatchNorm)、高分辨率输入、锚框(Anchor Boxes)等
- YOLO9000 能同时在 COCO 与 ImageNet 数据集上训练,实现检测+分类
- 检测类别数可达 9000+
YOLO v3 (2018)
- 引入多尺度检测(Feature Pyramid)
- 使用更深的 Darknet-53 主干网络
- 提升对小目标的检测能力
YOLO v4 (2020)
- 由 Alexey Bochkovskiy(Redmon 的合作伙伴)发布
- Joseph Redmon 在 2020 年宣布退出计算机视觉研究(因担心技术被用于军事用途),维护权转移给 Alexey
- 集成了大量训练技巧(Mosaic 数据增强、CSPDarknet53 主干、CIoU Loss 等)
YOLOv5 (2020)
- 由 Ultralytics 公司(总部在美国)发布
- 实际上与原 YOLO 系列无直接作者关联,但延续了 YOLO 的命名与思想
- 用 PyTorch 重写,便于使用与部署
- 开源且持续更新,成为工业界应用最广的 YOLO 版本之一
YOLOv6 (2022)
- 由美团(Meituan)发布
- 更加面向工业生产部署,优化推理速度与精度
- 支持多种硬件加速
YOLOv7 (2022)
- 由 Wong Kin Yiu 等人发布
- 在精度和速度上继续优化,集成新结构和训练策略
- 依然基于 PyTorch
YOLOv8 (2023)
- Ultralytics 发布
- 进一步模块化,支持检测、分割、姿态估计等多任务
- 更易于部署到各种平台(云端、边缘设备)
YOLOv9 (2023)
- Ultralytics 发布
- 引入了程序化梯度信息(PGI)技术,解决深层网络信息丢失问题
YOLOv10 (2024)
- Ultralytics(清华大学团队) 发布
- 通过消除非最大抑制(NMS)和优化模型架构,实现了更优的精度-延迟权衡
YOLO11 (2024)
- Ultralytics 发布
- 进一步优化了特征提取和轻量化设计
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年至今的俄乌战争中,无人机在战争中的杀伤力震惊世界,全球各国都抓紧投入无人机相关的武器研发。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。