【Yolo系列】 评价指标

评价指标

YOLOv3 评价指标完整教程

目标检测的评价通常围绕两个核心问题:

  1. 框的位置是否准
  2. 类别是否判对
  3. 检出率和误检率如何权衡

YOLOv3 的评估体系主要由以下几类指标构成:

  • IoU(定位质量基础)
  • Precision / Recall
  • PR 曲线
  • AP(Average Precision)
  • mAP(mean Average Precision)
  • F1-score(有时使用)
  • 推理速度指标(FPS / latency,工程常用)

一、IoU(Intersection over Union)

IoU 是目标检测最基础、最核心的度量,用来衡量预测框与真实框的重叠程度。

定义

IoU=∣Bpred∩Bgt∣∣Bpred∪Bgt∣ IoU = \frac{|B_{pred} \cap B_{gt}|}{|B_{pred} \cup B_{gt}|} IoU=∣Bpred∪Bgt∣∣Bpred∩Bgt∣

含义:

  • 分子:交集面积
  • 分母:并集面积

取值范围:

IoU∈[0,1] IoU \in [0,1] IoU∈[0,1]

作用

IoU 主要用于三处:

  1. 判断正负样本(训练阶段)
  2. 判断 TP/FP(评估阶段)
  3. NMS 去重(推理阶段)

二、TP / FP / FN 判定规则

在计算 Precision 和 Recall 前,必须先定义检测结果的对错。

匹配规则(标准流程)

对于每个预测框(按置信度从高到低排序):

  1. 找到与其 IoU 最大的 GT
  2. 如果:

IoU≥threshold IoU \ge \text{threshold} IoU≥threshold

且该 GT 尚未被匹配 → TP

否则 → FP

FN 的定义

FN 是指:

  • 所有未被任何预测框匹配到的 GT

常见 IoU 阈值

最经典:

IoU=0.5 IoU = 0.5 IoU=0.5

即:

mAP@0.5

更严格评估(COCO):

IoU=0.5:0.95 IoU = 0.5:0.95 IoU=0.5:0.95


三、Precision 与 Recall

这是检测任务最基础的性能指标。

Precision(查准率)

Precision=TPTP+FP Precision = \frac{TP}{TP + FP} Precision=TP+FPTP

含义:

  • 预测为正的框中,有多少是真的
  • 反映误检情况

特点:

  • FP 多 → Precision 下降
  • 模型"保守"时 Precision 高

Recall(查全率)

Recall=TPTP+FN Recall = \frac{TP}{TP + FN} Recall=TP+FNTP

含义:

  • 所有真实目标中,被检出的比例
  • 反映漏检情况

特点:

  • FN 多 → Recall 下降
  • 模型"激进"时 Recall 高

Precision--Recall 权衡

检测模型天然存在:

  • 提高 Recall → 往往 Precision 降低
  • 提高 Precision → 往往 Recall 降低

因此不能只看单点指标,需要 PR 曲线。


四、PR 曲线(Precision--Recall Curve)

构建方法

步骤:

  1. 按置信度从高到低排序所有预测框
  2. 逐步降低置信度阈值
  3. 每个阈值计算一组 (Recall, Precision)
  4. 绘制曲线

横轴:

Recall Recall Recall

纵轴:

Precision Precision Precision


曲线形状含义

理想模型:

  • 曲线贴近右上角

差模型:

  • 曲线快速下坠

五、AP(Average Precision)

AP 是 PR 曲线下的面积,是目标检测最重要的单类指标。

定义

AP=∫01Precision(Recall) dRecall AP = \int_0^1 Precision(Recall)\, dRecall AP=∫01Precision(Recall)dRecall

直观理解:

  • PR 曲线下面积
  • 越接近 1 越好

YOLOv3 常见两种 AP 计算方式

1. VOC 11-point(老)

在 11 个 Recall 点取最大 Precision 后平均。

特点:

  • 粗糙
  • 偏乐观
  • 现在较少使用

2. 积分法(现代主流)

对完整 PR 曲线积分(COCO / YOLOv3 常用)。

特点:

  • 更精细
  • 更严格
  • 更真实反映性能

六、mAP(mean Average Precision)

这是目标检测最核心的最终指标

定义

对所有类别的 AP 取平均:

mAP=1C∑c=1CAPc mAP = \frac{1}{C}\sum_{c=1}^{C} AP_c mAP=C1c=1∑CAPc

其中:

  • CCC:类别数
  • APcAP_cAPc:第 c 类的 AP

常见 mAP 报告方式

1. mAP@0.5(YOLO 系最常见)

含义:

  • IoU 阈值固定为 0.5

特点:

  • 相对宽松
  • 数值较高
  • YOLOv3 论文主要报告这个

2. mAP@0.5:0.95(COCO 标准)

计算:

IoU=0.5,0.55,...,0.95 IoU = 0.5, 0.55, \dots, 0.95 IoU=0.5,0.55,...,0.95

共 10 个阈值求平均。

特点:

  • 非常严格
  • 更能反映定位精度
  • 数值明显更低

工程中要看清楚是哪一种。


七、F1-score(有时使用)

用于综合 Precision 和 Recall。

定义

F1=2PRP+R F1 = \frac{2PR}{P + R} F1=P+R2PR

作用:

  • 找最佳置信度阈值
  • 快速对比模型

但注意:

在目标检测论文中,F1 不是主指标,mAP 才是。


八、推理速度指标

YOLO 系列非常强调实时性。

常见指标

1. FPS(Frames Per Second)

FPS=1单张推理时间 FPS = \frac{1}{\text{单张推理时间}} FPS=单张推理时间1

越大越好。


2. Latency(延迟)

单位通常为 ms / image。

越小越好。


3. 吞吐量(throughput)

批处理场景常用。


九、完整评估流程(实战顺序)

标准检测评估 pipeline:

  1. 模型输出预测框 + 分数 + 类别
  2. 对每类分别处理
  3. 按置信度排序
  4. 与 GT 按 IoU 匹配得到 TP/FP
  5. 计算 Precision / Recall
  6. 绘制 PR 曲线
  7. 积分得到 AP
  8. 各类平均得到 mAP

这是所有检测框架(包括 YOLOv3)的标准流程。


十、常见误区

误区 1:只看 Precision

错误原因:

  • 可能漏检严重

必须结合 Recall 或 mAP。


误区 2:mAP@0.5 和 COCO mAP 混用

两者差别很大,必须注明:

  • mAP@0.5
  • mAP@0.5:0.95

误区 3:忽略置信度排序

AP 的计算必须按置信度排序,否则完全错误。


误区 4:一个 GT 被多个预测匹配

标准规则:

  • 一个 GT 只能匹配一个 TP
  • 其余算 FP
相关推荐
隔壁大炮1 小时前
08. PyTorch_张量基本创建方式
人工智能·pytorch·python
ZWZhangYu1 小时前
【LangChain专栏】LangChain模块中Chains 链的使用
人工智能·langchain
GuokLiu1 小时前
260223-Gartner Hype Cycle 2026 AI 报告调研与解读
人工智能
量子-Alex1 小时前
【大模型综述】Large Language Models: A Survey
人工智能
艾醒(AiXing-w)1 小时前
打破信息差——2月22日AI全景:算力理性、视频革命、安全合规,行业正式进入下半场
人工智能
天一生水water1 小时前
MCP入门教程
人工智能·microsoft
土拨鼠烧电路1 小时前
笔记08:供应链的生命线:预测、库存与韧性
人工智能·笔记
小雨中_1 小时前
1.1 模型显存总体分析
人工智能·深度学习·机器学习·自然语言处理
程序员的那些事_1 小时前
宕机瘫痪 13 小时!官方甩锅人类员工,内部员工:自家 AI 干的
人工智能