YOLO简介

前言

YOLO(You Only Look Once)是深度学习领域最经典、应用最广的实时目标检测算法,凭借极致的速度优势,成为自动驾驶、安防监控、工业检测等实时场景的首选方案。本文将从 YOLO 核心原理、目标检测算法分类、核心评估指标(IoU、精确率、召回率、mAP)完整拆解,帮你从零吃透 YOLO 全套基础知识。

一、YOLO 算法基础简介

1.1 YOLO 基本介绍

YOLO(You Only Look Once)是由 Joseph Redmon 等人于2016 年提出的基于深度学习的端到端目标检测算法。

它颠覆了传统检测算法的思路,将目标检测问题直接转化为回归问题:通过单个神经网络,一次性直接预测图像中所有目标的类别、位置坐标,一步完成检测,不需要分步处理。

1.2 YOLO 核心检测原理

YOLO 算法的基础检测流程:

  1. 将整张输入图像均匀划分为 S×S 个网格单元格
  2. 每个网格负责预测:当前网格内是否存在目标、目标所属类别、目标边界框位置大小
  3. 算法引入多尺度特征融合技术,同时检测大、中、小不同尺度的目标,解决小目标漏检问题

1.3 YOLO 核心优势

对比传统 R-CNN、Fast R-CNN、Faster R-CNN 算法:

  • 端到端训练,单阶段检测结构,同时完成分类 + 定位两个任务
  • 跳过传统算法多阶段繁琐流程,检测速度大幅提升
  • 速度快、实时性强,广泛应用于实时目标检测、自动驾驶等领域

二、目标检测两大流派:One-Stage vs Two-Stage

经典目标检测算法整体分为两大类,YOLO 系列是单阶段检测的代表,二者原理、优缺点完全不同。

2.1 One-Stage(单阶段检测)------YOLO 系列、SSD 系列

单阶段检测思路:一步到位,直接从原图特征预测目标类别 + 边界框,不需要单独生成候选框。

One-Stage 优缺点
  • 优点:识别速度极快,FPS 高,完全满足实时检测需求
  • 缺点:检测精度、正确率相比两阶段算法偏低
核心速度 & 效率指标说明
  1. FLOPs:模型处理一张图像前向传播所需的浮点运算次数,衡量模型计算量、算法效率,数值越小模型越轻量
  2. FPS:每秒可以处理的图像帧数,数值越大实时性越强
经典单阶段模型性能对比(COCO 数据集)

表格

Model 训练集 测试集 mAP 精度 FLOPs 计算量 FPS 帧率
SSD300 COCO trainval test-dev 41.2 - 46
SSD500 COCO trainval test-dev 46.5 - 19
YOLOv2 608×608 COCO trainval test-dev 48.1 62.94 Bn 40
Tiny YOLO COCO trainval - - 7.07 Bn 200

可以看到轻量化 Tiny YOLO 帧率高达 200FPS,实时性碾压其他模型,非常适合嵌入式、移动端部署。

2.2 Two-Stage(两阶段检测)------Faster R-CNN、Mask R-CNN 系列

两阶段检测思路:分步完成检测,先生成候选框,再精细分类回归,分为两个独立阶段。

Two-Stage 优缺点
  • 优点:检测正确率高、识别效果精准,精度表现理想
  • 缺点:检测速度很慢,常规模型帧率仅约 5FPS,无法用于实时场景
两阶段完整流程
  1. 第一阶段:候选框生成阶段通过 Selective Search、EdgeBoxes、RPN 区域提名网络,从原图生成大量候选框;经过 CNN 特征提取 + 分类器过滤,保留和目标相似的高质量候选区域。
  2. 第二阶段:精细检测阶段对筛选后的候选框,再次进行 CNN 特征提取、精细类别分类、边界框位置精准回归,最终输出目标类别 + 精准坐标。
代表算法

R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN 实例分割系列。

2.3 两类算法直观对比图

左图:One-Stage(YOLO)流程:输入图像→CNN 特征提取→直接输出检测结果,一步完成右图:Two-Stage(Faster R-CNN)流程:输入图像→生成预选框 Proposal→第二阶段精细检测→输出结果,两步完成


三、YOLO 核心基础概念:置信度、IoU 交并比

3.1 置信度(Confidence)

置信度是 0~1 之间的数值,表示当前预测框中存在目标的可能性大小。举例:预测框置信度 0.8,代表模型有 80% 的把握,这个框里包含真实目标。

YOLO 中置信度完整定义:置信度目标存在预测框真实框既包含网格有目标的概率,也包含预测框和真实框的匹配程度。

3.2 IoU 交并比(Intersection over Union)

IoU 是衡量预测框和真实标注框匹配程度的核心指标,计算公式:预测框与真实框交集面积预测框与真实框并集面积

  • 蓝色框:Ground Truth 真实标注框(标准答案)
  • 橙色框:Prediction/Prior box 模型预测框
  • 行业通用判定规则:IoU>0.5,才认为这个预测框是有效检测、检测正确

四、检测任务核心评价指标:精确率、召回率

想要评价 YOLO 模型好坏,首先要理解混淆矩阵 4 个基础定义:

表格

缩写 全称 中文含义 检测任务解释
TP True Positive 真正例 真实是目标,模型也正确预测为目标(检测正确)
FP False Positive 假正例 真实不是目标,模型误报预测为目标(误检)
FN False Negative 假负例 真实是目标,模型漏检没预测到(漏检)
TN True Negative 真负例 真实不是目标,模型正确判断无目标

4.1 精确率 Precision

公式:Precision=TP+FPTP​通俗理解:模型所有预测出来的结果里,有多少是预测正确的,衡量模型误检率。精确率越高,误报越少。

4.2 召回率 Recall

公式:Recall=TP+FNTP​通俗理解:图片里所有真实目标中,有多少被模型成功检测出来,衡量模型漏检率。召回率越高,漏检越少。

4.3 通俗举例理解

班级共 100 人,男生 80 人,女生 20 人;任务:找出所有女生模型选出 50 人,其中 20 个真女生,30 个误把男生当成女生则:TP=20, FP=30, FN=0, TN=50精确率召回率

4.4 检测任务实际计算规则

  1. 设定 IoU 阈值(比如 0.9),只有预测框 IoU 大于阈值,才判定为 TP 检测正确,否则为 FP
  2. 统计当前阈值下 TP、FP、FN 数值,代入公式计算精确率和召回率举例:TP=1,FP=0,FN=2精确率 = 1/1=100%,召回率 = 1/(1+2)=33.3%,代表图片里有 3 个目标,只检测出 1 个。

五、终极评估指标:mAP 平均精度均值

5.1 mAP 基础定义

mAP 全称 Mean Average Precision 平均精度均值 ,是目标检测行业最权威、最通用的模型综合评价指标

计算逻辑:

  1. 依次调整不同置信度阈值,得到一组对应的精确率、召回率
  2. 绘制精确率 - 召回率(P-R)曲线
  3. 曲线下方围成的面积,就是 AP(单类别平均精度)
  4. 所有类别 AP 取平均值,就是 mAPmAP 数值越大,代表模型整体检测效果越好。

5.2 行业标准 mAP 指标定义

  1. mAP50:IoU 阈值固定为 0.5 时的平均精度均值。只要求预测框和真实框重叠≥50% 就算检测正确,是最基础宽松的评估标准。

  2. mAP50-95:IoU 阈值从 0.5~0.95、每 0.05 步长,分别计算 AP 再取平均。覆盖宽松到严格的全部重叠要求,评估更全面、更严格,数值通常远低于 mAP50,是现在 COCO 数据集官方标准指标。

相关推荐
前网易架构师-高司机16 小时前
带标注的山体滑坡塌方数据集数据集,识别率78.1%,974张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·自然灾害·山体滑坡
guo_xiao_xiao_20 小时前
YOLOv11马匹皮肤病目标检测数据集
人工智能·yolo·目标检测
明月醉窗台1 天前
C++ tensorrt部署时打包需要的依赖库
yolo·nvidia
前网易架构师-高司机2 天前
带标注的SDD-SAR遥感船舶识别数据集,识别率92.9%,7000张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·遥感·sar·船舶·sdd
一见已难忘3 天前
4类红外热成像目标检测数据集(轿车/行人/货车/摩托车)| 4300张YOLO红外夜视检测数据集 适用于自动驾驶、智能安防与红外目标检测研究
yolo·目标检测·自动驾驶
会飞锦鲤3 天前
基于YOLOv10的瓜果成熟度智能检测系统
人工智能·python·深度学习·yolo·flask
朱永博3 天前
Cpp使用Tensorrt10.8推理Yolo26
yolo
YOLO数据集集合3 天前
井下钻场智能监控系统:YOLOv8驱动的多目标检测全栈实战 | 打钻过程监测、安全行为识别、灾害防治辅助系统
yolo·目标检测·目标跟踪
大学生技术野农4 天前
基于Yolo26和Grad-CAM可视化融合的深度学习的猕猴桃分级系统-Python源码
python·深度学习·yolo
sali-tec4 天前
C# 基于OpenCv的视觉工作流-章95-险区警报
图像处理·人工智能·opencv·yolo·计算机视觉