【每天一个知识点】YOLO算法

一、什么是 YOLO?

YOLOYou Only Look Once 的缩写,中文常译为 "你只看一次"

它是一类非常著名的 目标检测(Object Detection)算法,主要用来回答三个问题:

📸 这张图片里有什么?

📍 它们在哪里?

🏷 它们是什么类别?

例如:

在一张马路照片中,YOLO 可以同时检测出 人、汽车、自行车、红绿灯,并给出它们在图像中的具体位置。


二、目标检测到底在做什么?

在计算机视觉中,目标检测 ≠ 图像分类。

任务 能力
图像分类 判断整张图属于什么(如:猫 / 狗)
目标检测 找出图中 多个目标,并标出位置和类别
语义分割 给每一个像素打标签

目标检测的输出通常是一个个 "框" ,称为 边界框(Bounding Box)

复制代码
[类别 + 置信度 + 位置坐标]

三、YOLO 的核心思想:一次完成所有事

在 YOLO 出现之前,目标检测算法普遍采用 "两阶段"方法

  1. 先找"可能有目标的区域"

  2. 再对每个区域进行分类

📌 问题是:慢、复杂、计算量大


YOLO 的革命性思想 💡

把目标检测当成一个"回归问题",一次前向计算就完成所有预测。

YOLO 的工作流程可以理解为:

1️⃣ 把整张图片分成很多网格

2️⃣ 每个网格负责检测它"看到"的目标

3️⃣ 一次性输出:

  • 目标位置

  • 目标类别

  • 置信度

所以叫:You Only Look Once


四、YOLO 是如何"看图"的?

1️⃣ 网格划分思想

YOLO 会把输入图片划分成 S × S 的网格,例如:

复制代码
7 × 7 或 13 × 13 或 19 × 19

每个网格负责预测:

  • 是否有目标

  • 目标的边界框(x, y, w, h)

  • 目标类别概率


2️⃣ Anchor(锚框)机制(后续版本)

为了适应不同大小、不同形状的目标,YOLO 引入了 Anchor Box(锚框)

  • 事先定义几种常见的框形状

  • 网络只需预测"偏移量"

📌 这样可以更好地检测:

  • 小目标

  • 细长目标

  • 密集目标


五、YOLO 为什么这么快?

YOLO 的速度优势主要来自三点:

单阶段检测(One-stage)

全卷积神经网络(CNN)结构

端到端训练,无需复杂后处理

对比来看:

算法 速度 精度 适用场景
Faster R-CNN 医学、遥感
SSD 移动端
YOLO 较高 实时场景

六、YOLO 系列的发展历程(简要)

版本 特点
YOLOv1 首次提出"一次检测"思想
YOLOv2 引入 Anchor、多尺度训练
YOLOv3 多尺度预测,小目标更好
YOLOv4 工程优化,性能提升
YOLOv5 工程友好,应用广泛
YOLOv7 训练与推理效率提升
YOLOv8 结构更简洁,支持多任务

📌 实际教学和工程中,YOLOv5 / YOLOv8 使用比较多


七、YOLO 能用在哪些地方?

YOLO 的"快 + 准"特性,使其非常适合 实时智能场景

🚗 智能驾驶(行人、车辆检测)

📹 视频监控(异常行为识别)

🏭 工业质检(缺陷检测)

🤖 机器人视觉

🧑‍⚕ 医疗辅助(部分实时场景)

📱 移动端 / 边缘计算设备


八、YOLO 的不足在哪里?

虽然 YOLO 很强,但并非万能:

❌ 对极小目标 不如两阶段方法

❌ 高密度目标场景下可能漏检

❌ 精度极限略低于复杂模型

📌 实际应用中,常根据 "速度 vs 精度" 做权衡。


九、总结一句话理解 YOLO

YOLO 是一种把"找目标"这件事做得又快又直接的算法,
让机器像人一样,一眼就看懂整张图。


相关推荐
lihihi2 小时前
P5182 棋盘覆盖
算法·图论
白云千载尽2 小时前
LLaMA-Factory 入门(一):Ubuntu20 下大模型微调与部署
人工智能·算法·大模型·微调·llama
yugi9878382 小时前
基于Takens嵌入定理和多种优化算法的混沌序列相空间重构MATLAB实现
算法·matlab·重构
Yuer20252 小时前
为什么要用rust做算子执行引擎
人工智能·算法·数据挖掘·rust
持梦远方2 小时前
持梦行文本编辑器(cmyfEdit):架构设计与十大核心功能实现详解
开发语言·数据结构·c++·算法·microsoft·visual studio
im_AMBER3 小时前
Leetcode 90 最佳观光组合
数据结构·c++·笔记·学习·算法·leetcode
薛不痒3 小时前
机器学习算法之SVM
算法·机器学习·支持向量机
AndrewHZ3 小时前
【复杂网络分析】如何入门Louvain算法?
python·算法·复杂网络·社区发现·community det·louvain算法·图挖掘
AndrewHZ3 小时前
【图像处理基石】如何基于黑白图片恢复出色彩?
图像处理·深度学习·算法·计算机视觉·cv·色彩恢复·deoldify