2、目标检测基础:定义、核心概念与评估指标

目标检测是计算机视觉中最具挑战性也最具实用价值的任务之一。与图像分类只回答“这张图里有什么”不同,目标检测需要回答“图里有什么物体、它们在哪里、分别是什么类别”。从自动驾驶感知、工业质检、安防监控到医学影像分析,目标检测都是底层核心技术。本章将系统梳理目标检测的定义、与图像分类的本质区别,并深入讲解边界框(Bounding Box)、交并比(IoU)和平均精度均值(mAP)等核心概念与评估指标,为后续学习YOLO系列算法打下坚实基础。

目标检测核心概念关系图 目标检测 图像分类 输出:类别标签 粒度:整张图像 目标检测 输出:类别 + 位置 粒度:多个物体 边界框 (BBox) 表示:x, y, w, h 或 x1,y1,x2,y2 IoU (交并比) 衡量预测框与真值框重叠度 mAP (平均精度均值) 综合精度与召回率的评估指标 评估流程: 预测框 → 计算IoU → 判断TP/FP/FN → 绘制PR曲线 → 计算AP → 求mAP 图:目标检测核心概念关系与评估流程总览

2.1 目标检测的定义与任务本质

目标检测(Object Detection)的任务可以形式化描述为:给定一张输入图像 I,算法需要输出一组检测结果,每个结果包含两个核心信息——物体类别(Class)和物体位置(Location)。位置通常用一个紧贴物体的矩形框(即边界框)来表示。与图像分类相比,目标检测不仅要回答“这是什么”,还要回答“它在哪里”。

从数学角度看,目标检测是一个多任务学习问题:它同时包含分类子任务(判断框内物体属于哪个类别)和回归子任务(预测框的坐标位置)。这两个子任务共享特征提取网络,但在输出层分叉,这也是YOLO系列算法设计的基本思想。

核心理解:目标检测的本质是“定位 + 分类”的组合。定位精度决定了框是否贴合物体,分类精度决定了类别判断是否正确。两者缺一不可,且相互影响——如果框定位不准,分类器看到的特征就会被背景干扰,导致分类错误。

2.1.1 与图像分类的对比

对比维度 图像分类 目标检测
输出内容 单一类别标签(如“猫”) 多个“类别 + 边界框”组合
物体数量 假设图像中只有一个主体 图像中可能有多个、多类物体
空间信息 不关心物体位置 必须精确定位每个物体
评估方式 Top-1 / Top-5 准确率 mAP(综合精度与召回率)
典型模型 ResNet、VGG、EfficientNet YOLO、Faster R-CNN、SSD

图像分类的评估相对简单——预测对了就算对,错了就算错。但目标检测的评估要复杂得多:一个预测框与真实框只有部分重叠时,算对还是算错?重叠多少才算正确?这就引出了IoU的概念。

2.2 边界框(Bounding Box)

边界框是目标检测中最基础的表示形式。一个边界框通常用两种格式之一表示:

  • 中心点格式:(x_center, y_center, width, height),即框中心点的坐标以及框的宽和高。YOLO系列使用这种格式,且坐标通常归一化到[0,1]区间。
  • 角点格式:(x1, y1, x2, y2),即框左上角和右下角的坐标。Faster R-CNN等两阶段检测器常用这种格式。

在YOLO中,边界框的预测值通常包含5个分量:(tx, ty, tw, th, confidence)。其中tx, ty是相对于网格单元的偏移量,tw, th是相对于锚框(Anchor)的宽高缩放系数,confidence表示该框包含物体的置信度。这种设计使得模型预测的是相对值而非值,大大降低了回归难度。

经验提醒:在数据标注和预处理阶段,务必统一边界框的坐标格式。YOLO训练时使用归一化的中心点格式(值在0~1之间),而可视化时通常需要转换为角点格式并乘以图像宽高。格式混用是初学者最常见的错误之一。

2.3 IoU(交并比)

IoU(Intersection over Union)是衡量两个边界框重叠程度的指标,定义为两个框的交集面积与并集面积之比:

IoU = Area(交集) / Area(并集)

IoU的取值范围在[0, 1]之间:0表示两个框完全不重叠,1表示完全重合。在目标检测中,IoU用于两个关键场景:

  1. 训练阶段:判断预测框与真实框的匹配程度,用于计算损失函数和分配正负样本。
  2. 推理阶段:通过NMS(非极大值抑制)去除冗余的预测框,以及判断预测是否正确。

在实际评估中,通常设定一个IoU阈值(如0.5),当预测框与真实框的IoU大于该阈值时,该预测被视为正确检测(True Positive)。阈值越高,对定位精度的要求越严格。

风险说明:IoU阈值的选择会显著影响评估结果。COCO数据集使用0.5:0.95的IoU范围(步长0.05)计算mAP,而PASCAL VOC使用固定的0.5。同一个模型在不同IoU阈值下的mAP差异可能很大,对比模型性能时必须使用相同的评估协议。

2.4 mAP(平均精度均值)

mAP(mean Average Precision)是目标检测领域最常用的综合评估指标。要理解mAP,需要先理解几个基础概念:

2.4.1 基础概念:TP、FP、FN

术语 全称 含义
TP True Positive 预测框与真实框IoU > 阈值,且类别正确
FP False Positive 预测框与所有真实框IoU均 < 阈值,或类别错误
FN False Negative 真实框没有被任何预测框匹配到(漏检)

基于TP、FP、FN,可以计算两个核心指标:

  • 精确率(Precision) = TP / (TP + FP),衡量预测为正的样本中有多少是真正正确的。
  • 召回率(Recall) = TP / (TP + FN),衡量所有真实正样本中有多少被正确找出来了。

2.4.2 AP与mAP的计算流程

AP(Average Precision)是针对单个类别计算的指标,其计算过程如下:

  1. 将所有预测框按置信度从高到低排序。
  2. 依次遍历每个预测框,计算其与真实框的IoU,判断是TP还是FP。
  3. 每遍历一个预测框,计算当前的Precision和Recall值。
  4. 以Recall为横轴、Precision为纵轴绘制PR曲线。
  5. 计算PR曲线下的面积,即为AP值。

mAP则是所有类别AP值的平均值:

mAP = (1/N) * Σ AP_i   (i = 1, 2, ..., N,N为类别总数)

在COCO评估协议中,mAP通常指AP@[0.5:0.95],即在多个IoU阈值(0.5, 0.55, ..., 0.95)下分别计算AP再取平均。这个指标对定位精度非常敏感,是当前目标检测领域最权威的评估标准。

关键理解:mAP同时考虑了精确率和召回率,避免了单一指标带来的偏差。例如,一个模型如果只输出一个高置信度的预测框,可能Precision很高但Recall很低;反之,如果输出大量预测框,Recall可能很高但Precision很低。mAP通过PR曲线综合了两者的权衡。

2.5 案例拆解:一个实际检测场景的评估过程

假设我们有一个交通场景检测任务,需要检测“汽车”和“行人”两类物体。测试图像中共有3个真实物体:两辆汽车(GT1、GT2)和一个行人(GT3)。模型输出了4个预测框,按置信度从高到低排列如下:

预测框 类别 置信度 与GT的IoU 判定
P1 汽车 0.92 与GT1 IoU=0.85 TP
P2 汽车 0.78 与GT2 IoU=0.72 TP
P3 行人 0.65 与GT3 IoU=0.30 FP(IoU < 0.5)
P4 汽车 0.40 与GT1 IoU=0.20 FP(重复检测)

设定IoU阈值=0.5,我们逐步计算:

  • 遍历P1(置信度最高):TP,累计TP=1,FP=0,Precision=1/1=1.0,Recall=1/3≈0.33
  • 遍历P2:TP,累计TP=2,FP=0,Precision=2/2=1.0,Recall=2/3≈0.67
  • 遍历P3:FP,累计TP=2,FP=1,Precision=2/3≈0.67,Recall=2/3≈0.67
  • 遍历P4:FP,累计TP=2,FP=2,Precision=2/4=0.5,Recall=2/3≈0.67

最终PR曲线上的关键点为:(0.33, 1.0)、(0.67, 1.0)、(0.67, 0.67)、(0.67, 0.5)。AP的计算会对PR曲线进行平滑处理(取每个Recall点对应的最大Precision),然后计算曲线下面积。在本例中,AP ≈ 0.67(即2/3)。

复盘经验:从上述案例可以看出,P3虽然类别正确但定位偏差过大(IoU仅0.30),被判定为FP。这说明目标检测中“定位精度”和“分类正确”同等重要。在实际调优中,如果发现FP较多,需要检查是定位不准还是分类混淆;如果是定位问题,可能需要调整锚框尺寸或增加回归损失的权重。

2.6 常见误区与总结

在学习和使用目标检测评估指标时,初学者常犯以下错误:

  • 混淆IoU阈值:不同数据集使用不同的IoU阈值,对比结果时必须统一标准。
  • 忽略置信度排序:AP计算依赖置信度排序,如果排序混乱,PR曲线会失真。
  • 只看mAP不看单类AP:mAP是全局指标,但某些类别(如小物体)可能表现很差,需要单独分析。
  • 训练集和验证集使用不同评估协议:这会导致模型选择失误。