一、目标检测核心定义与核心问题
- 定义
目标检测是识别图片中物体类别 + 定位物体位置的计算机视觉任务,本质是 "位置预测 + 类别分类" 的多任务学习。
- 核心挑战
- 目标种类与数量繁多,需覆盖多样化物体;
- 目标尺度不均,同一物体在图片中可能呈现不同大小;
- 外部环境干扰,如物体遮挡、图像噪声等影响检测精度。
二、目标检测常用数据集
|-----------|------------------------------------------|-----------------------------------------------------------------------------|
| 数据集 | 起源 / 背景 | 核心参数 |
| VOC 数据集 | 世界级 PASCAL Visual Object Classes 挑战赛数据集 | - 类别:4 大类、20 小类- VOC 2007:9963 张图片,24640 个目标- VOC 2012:23080 张图片,54900 个目标 |
| COCO 数据集 | 2014 年微软出资标注的 MS COCO 数据库 | - 图像数量:20 万个- 类别:80 个- 目标标注数:超过 50 万个- 平均每图目标数:7.2 个 |
三、Ground Truth(真实标注)格式
Ground Truth 是数据集的 "标准答案",包含物体类别 + 真实边界框坐标,PPT 介绍了三种主流格式:
|----------------|---------------------------|-----------------------------------------|
| 格式类型 | 坐标表示方式 | 关键特点 |
| YOLO(TXT 格式) | (x, y, w, h) | 均为归一化值,x/y 是边界框中心点坐标,w/h 是宽 / 高 |
| VOC(XML 格式) | (Xmin, Ymin, Xmax, Ymax) | 非归一化,Xmin/Ymin 是左上角坐标,Xmax/Ymax 是右下角坐标 |
| COCO(JSON 格式) | (Xmin, Ymin, W, H) | 非归一化,Xmin/Ymin 是左上角坐标,W/H 是宽 / 高 |
示例:若图片尺寸为 1000×800px,标注 "Dog" 的坐标可能为(100, 600, 150, 100),即左上角 (100,600)、宽 150px、高 100px。
四、目标检测评估指标
评估指标用于衡量模型检测效果:
- 基础指标:IoU(交并比)
- 定义:IoU = 边界框交集面积 / 边界框并集面积,是衡量预测框与真实框重合度的核心指标;
- 作用:先过滤低类别置信度的预测结果,再用 IoU 判断边界框正确性(IoU 越大,重合度越高)。
- 样本分类:TP/FP/TN/FN
在目标检测场景中,四类样本的定义与 IoU 强相关:
|-----------|------------------------------|
| 指标 | 定义(目标检测场景) |
| TP(真正样本) | 真实为正样本(有物体),预测为正样本,且IoU>阈值 |
| FP(假正样本) | 真实为负样本(无物体),预测为正样本,且IoU<阈值 |
| TN(真负样本) | 真实为负样本,预测为负样本(无实际检测意义) |
| FN(假负样本) | 真实为正样本,预测为负样本(即 "漏检") |
- 核心评估指标:Precision/Recall/AP/mean AP
- Precision(查准率):预测为正样本的结果中,真实为正样本的比例(衡量 "预测准确性");
- Recall(查全率):真实为正样本的结果中,被正确预测的比例(衡量 "漏检率");
- P-R 曲线:以 Recall 为横轴、Precision 为纵轴绘制的曲线,曲线下面积越大,模型效果越好;
- AP(平均精度):P-R 曲线的量化指标,常用 "11 点法" 计算(取 Recall=0,0.1,...,1.0 共 11 个点,对应 Precision 的平均值);
- mean AP(mAP):所有类别的 AP 的算术平均值,是目标检测模型的核心综合指标。
- 补充:mean 与 average 的区别
- mean(算术平均):直接对多个数值求和后除以数量(如 mAP 是 AP 的 mean);
- average(平均):包含多种度量规则,需先设计均衡策略(如 Average P 需先均衡 Precision)。
五、目标检测方法
- 传统方法:滑动窗口法
- 原理:人工设计固定尺寸的窗口,在图片上滑动遍历,判断窗口内是否有物体;
- 缺点:需人工设计窗口尺寸、存在大量冗余计算、定位精度低,已被深度学习方法替代。
- 深度学习方法
(1)核心概念:anchor box(锚框)
- 定义:预先设定的 "候选框模板",用两个参数描述:
- scale(尺度):表示目标的面积大小;
- aspect ratio(长宽比):表示目标的形状;
- 位置:由 CNN 输出的 feature map 上的每个点对应生成。
(2)分类:anchor-base vs anchor-free
- anchor-base(基于锚框):
- 思路:自顶向下,类似滑动窗口法 ------ 先穷举大量 anchor box,再按置信度筛选;
- anchor-free(无锚框):
- 思路:自底向上,自动生成候选框,无需预设 anchor(避免 anchor 设计的主观性)。
(3)核心框架:two stage vs one stage
两类框架的核心区别是 "是否生成候选区域(proposal)":
|-----------------|-----------------------------------------------------------------------------|---------------------------------------------------------------------------------|-----------------------|
| 框架类型 | 流程 | 常见算法 | 特点 |
| two stage(两阶段) | 输入→CNN→生成 proposal(候选区域)→ROI pooling(感兴趣区域池化)→全连接层→类别预测 + 位置回归→NMS(非极大值抑制) | R-CNN 系列(R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN)、Cascade R-CNN、Guided Anchoring | 精度高、速度慢 |
| one stage(单阶段) | 输入→CNN→直接输出类别预测 + 位置回归→NMS | YOLO 系列(v1-v5)、SSD 系列(SSD、DSSD、FSSD)、RefineDet | 速度快、精度略低于两阶段(近年差距缩小) |
六、关键技术:非极大值抑制(NMS)
NMS 是目标检测的 "后处理步骤",用于消除同一物体的重复预测框,步骤如下:
- 设定置信度阈值(常用 0.5),过滤低于阈值的候选框;
- 按候选框的置信度从高到低排序;
- 选取置信度最高的框 A,加入 "最终输出列表",并从候选框列表中删除 A;
- 计算候选框列表中所有剩余框与 A 的 IoU,删除 IoU > 阈值的框(视为重复框);
- 重复步骤 3-4,直到候选框列表为空,返回最终输出列表。