一、目标检测核心定义与挑战
1. 核心定义
目标检测是识别图像中物体类别,并确定物体位置的计算机视觉任务,本质是 “类别预测 + 位置定位” 的多任务问题。
2. 核心挑战
- 目标种类与数量繁多:需覆盖大量不同类别物体,且单图中物体数量不固定。
- 目标尺度不均:同一类别物体在图像中可能呈现极大 / 极小尺寸差异。
- 外部环境干扰:存在物体遮挡、图像噪声等问题,影响检测准确性。
二、目标检测常用数据集
数据集 | 背景来源 | 核心参数 |
---|
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 是图像中物体的 “真实类别 + 真实位置” 标注,主流格式分为 3 种:
格式类型 | 坐标表示方式 | 关键特点 |
---|
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:物体宽、高- 所有参数未归一化 |
四、目标检测评估指标
1. 基础指标:IoU(交并比)
- 定义:
IoU = 检测框与真实框的交集面积 / 检测框与真实框的并集面积
,用于衡量边界框定位的正确性。 - 应用流程:先过滤低类别置信度的检测结果,再用 IoU 判断边界框是否准确。
2. 样本分类指标(TP/FP/TN/FN)
指标 | 核心定义 | 目标检测场景解释 |
---|
TP(真正样本) | 真实为正样本,预测也为正样本 | 检测框与真实框的 IoU > 设定阈值(如 0.5) |
FP(假正样本) | 真实为负样本,预测为正样本 | 检测框与真实框的 IoU < 设定阈值(误检) |
TN(真负样本) | 真实为负样本,预测也为负样本 | 无物体区域未被误检 |
FN(假负样本) | 真实为正样本,预测为负样本 | 真实物体未被检测到(漏检) |
3. 核心评估指标
- Precision(查准率):预测为正样本的结果中,真正为正样本的比例(衡量 “检测准确性”,减少误检)。
- Recall(查全率):真实正样本中,被成功预测为正样本的比例(衡量 “检测完整性”,减少漏检)。
- P-R 曲线:以 Recall 为横轴、Precision 为纵轴绘制的曲线,直观反映模型在 “准确性” 与 “完整性” 间的权衡。
- AP(Average Precision):P-R 曲线下的面积,量化模型对单个类别的检测性能,常用 “11 点法” 计算(取 Recall=0,0.1,...,1.0 对应的 11 个 Precision 值,求平均)。
- mean AP:所有类别的 AP 的算术平均值,衡量模型对多类别的整体检测性能。
4. mean 与 average 的区别
- mean(算术平均):直接对多个数值求和后除以数量,适用于已均衡的指标(如 mean AP,因 AP 已考虑单类均衡性)。
- average(平均):需先设计度量规则使指标均衡,再计算平均(如 AP,需通过 11 点法等规则均衡 Precision 与 Recall)。
五、目标检测方法
1. 传统方法:滑动窗口法
- 原理:在图像上滑动预设尺寸的窗口,对每个窗口进行分类,判断是否包含目标。
- 缺点:需人工设计窗口尺寸,存在大量冗余计算,定位准确性低。
2. 深度学习方法
(1)Anchor 相关概念
- Anchor Box(锚框):预设的边界框,用 “scale(尺度,即面积大小)” 和 “aspect ratio(长宽比)” 描述,位置由特征图(feature map)的像素点决定,用于覆盖不同尺寸、形状的目标。
- Anchor-base vs Anchor-free:
- Anchor-base(自顶向下):类似滑动窗口法,先穷举大量锚框,再按置信度筛选,代表思路如 Faster R-CNN。
- Anchor-free(自底向上):无需预设锚框,自动生成目标候选区域,减少人工设计依赖,代表思路如部分 YOLO 版本。
(2)算法流程分类
分类 | 核心流程 | 特点 |
---|
Two Stage(两阶段) | 输入图像 → CNN 特征提取 → 生成候选区域(proposal) → ROI Pooling(感兴趣区域池化) → 类别预测 + 位置回归 → NMS(非极大值抑制) | 先筛选候选区域再精修,检测精度高,但速度较慢 |
One Stage(单阶段) | 输入图像 → CNN 特征提取 → 直接类别预测 + 位置回归 → NMS | 无候选区域生成步骤,速度快,但精度略低于两阶段 |
(3)常见算法
- Two Stage 代表算法:经典发展线(R-CNN → SPP-Net → Fast R-CNN → Faster R-CNN)、Cascade R-CNN、Guided Anchoring。
- One Stage 代表算法:YOLO 系列(v1-v5)、SSD 系列(SSD、DSSD、FSSD)、RefineDet。
3. 关键后处理:NMS(非极大值抑制)
用于去除重复的检测框,保留最优结果,步骤如下:
- 设定置信度阈值(常用 0.5),过滤低于阈值的候选框。
- 按候选框的置信度从高到低排序。
- 选取置信度最高的框 A,加入输出列表,并从候选框列表中删除 A。
- 计算候选框列表中所有框与 A 的 IoU,删除 IoU 大于阈值的框(视为重复框)。
- 重复步骤 3-4,直到候选框列表为空,输出最终检测结果。