DYING4EVER

NOTES

第12章_目标检测

第 12 章 目标检测

本章概括

本章介绍目标检测任务、评价指标、数据集和典型检测模型。内容包括 Precision-Recall、AP/mAP、PASCAL VOC、COCO、R-CNN 系列、YOLO、Anchor Based/Anchor Free、Faster R-CNN、Mask R-CNN、DETR 和 Mask2Former。重点是理解分类与定位同时完成的检测框架。

概述

目标检测需要同时回答“目标在哪里”和“目标是什么”。输出通常包含类别标签、置信度和边界框坐标。

边界框常用 $(x,y,w,h)$ 或 $(x_1,y_1,x_2,y_2)$ 表示。检测模型需要处理多尺度目标、遮挡、密集目标和背景干扰。

目标检测效果评估

IoU 衡量预测框与真实框的重叠程度:

$$ \operatorname{IoU}=\frac{B_p\cap B_{gt}}{B_p\cup B_{gt}} $$

$B_p$ 是预测框,$B_{gt}$ 是真实框。IoU 越高,定位越准确。

Precision 和 Recall 为:

$$ \operatorname{Precision}=\frac{TP}{TP+FP},\qquad \operatorname{Recall}=\frac{TP}{TP+FN} $$

Precision 表示预测为正的结果中有多少是真的,Recall 表示真实目标中有多少被检测出来。

计算 Precision-Recall 曲线

按置信度从高到低排序预测框,逐步改变阈值,可得到一系列 Precision 和 Recall 点。阈值高时误检少但漏检多;阈值低时召回高但误检增加。

AP 与 mAP

AP 是 Precision-Recall 曲线下的面积。PASCAL VOC 早期使用 11 点插值:

$$ AP=\frac{1}{11}\sum_{r\in{0,0.1,\cdots,1}}p_{interp}(r) $$

mAP 是多个类别 AP 的平均值:

$$ mAP=\frac{1}{C}\sum_{c=1}^{C}AP_c $$

COCO 常用 $mAP@0.5:0.95$,在 IoU 从 0.5 到 0.95 的多个阈值上求平均,比单一 $mAP@0.5$ 更严格。

数据集

PASCAL VOC

VOC 是经典目标检测数据集,类别数较少,常用于早期检测算法评估。

COCO

COCO 类别更多、场景更复杂,包含大量小目标和实例分割标注,因此更能反映实际检测难度。

Two-stage 检测

Two-stage 方法先生成候选区域,再对候选区域分类和回归。代表方法包括 R-CNN、Fast R-CNN 和 Faster R-CNN。

R-CNN 系列

R-CNN 使用选择性搜索生成候选框,再逐个提取 CNN 特征,速度较慢。Fast R-CNN 先对整图提取特征,再对 ROI 分类和回归。Faster R-CNN 引入 RPN 自动生成候选框,大幅提升速度。

RPN 对每个 anchor 预测目标置信度和边界框偏移。若输入图像经 backbone 下采样 16 倍,$800\times600$ 图像得到约 $50\times38$ 特征图,每点设置 9 个 anchor,则 anchor 数为:

$$ 50\times38\times9=17100 $$

anchor 数量多可覆盖多尺度目标,但也带来较高计算和正负样本不平衡问题。

One-stage 检测

One-stage 方法直接在特征图上预测类别和边界框,速度通常更快。代表方法包括 YOLO、SSD 和 RetinaNet。

YOLO

YOLO 将检测视为单次回归问题,直接输出边界框、类别和置信度。它速度快,适合实时检测;早期版本对小目标和密集目标较弱,后续版本通过多尺度特征和更强 backbone 改进。

Anchor Based 与 Anchor Free

Anchor based 方法在特征图每个位置预设多个 anchor,再预测偏移量。Anchor free 方法直接预测目标中心、关键点或边界距离,减少 anchor 设计。

例如 $80\times80$ 特征图每点 3 个 anchor,会产生:

$$ 3\times80\times80=19200 $$

若使用 anchor free,每个位置只预测一次,候选数为:

$$ 80\times80=6400 $$

这降低了预测框数量和后处理压力。

Mask R-CNN

Mask R-CNN 在 Faster R-CNN 基础上增加 mask 分支,用于实例分割。它同时输出类别、边界框和目标掩膜。ROIAlign 用于解决 RoIPool 的量化误差,提高掩膜定位精度。

DETR

DETR 使用 Transformer 和集合预测思想,把目标检测看成固定数量 object queries 的集合预测问题。它通过匈牙利匹配建立预测与真实目标的一一对应,减少对 NMS 和 anchor 设计的依赖。

Mask2Former

Mask2Former 将实例分割、语义分割和全景分割统一为 mask classification 问题。它用 query 预测 mask 和类别,适合多种分割任务。

图示说明

检测模型结构图通常展示 backbone、neck 和 head:backbone 提取特征,neck 融合多尺度信息,head 输出类别和位置。对比图中,两阶段方法更重视候选区域质量,单阶段方法更强调速度。