目标检测 的任务是:

输出通常是一个列表,每个物体包含:
- 边界框:一个矩形框,常用
(x_min, y_min, x_max, y_max)或(x_center, y_center, width, height)表示。 - 类别标签:如“人”、“汽车”、“狗”。
- 置信度分数:模型对该预测的把握程度(0~1之间)。
与相关任务的对比:
- 图像分类:只回答“图像里主要是什么?”(如:这是一张猫的图片)。
- 目标检测:回答“图像里有什么,它们分别在哪?”(如:图中有3个人和1只狗,并给出它们的位置框)。
- 语义分割:为图像的每一个像素分类(如:所有属于“人”的像素被标记为同一类,不区分个体)。
- 实例分割:目标检测+语义分割,即区分每个独立的物体实例,并为每个实例的像素进行标记。
核心任务分解
关键概念与技术组件
-
边界框:
物体位置的数学表示,是目标检测的基础输出形式。
-
交并比:
-
非极大值抑制:
-
评估指标:
主流方法演进
-
传统方法(2014年前):
- 思路:区域选择(滑动窗口) -> 特征提取(如HOG, SIFT) -> 分类器分类(如SVM)。
- 缺点:速度慢,精度低,窗口冗余。
- 代表:Viola-Jones(人脸检测), HOG + SVM。
-
两阶段检测器:
-
一阶段检测器:
- 思路:将图像网格化,直接在每个网格位置预测边界框和类别。
- 特点:速度快,精度略低于同期两阶段模型,但不断改进。
- 代表系列:
- YOLO: “You Only Look Once”,将检测视为单一的回归问题,速度极快。
- SSD: 在不同尺度的特征图上进行预测,对小物体检测更好。
- RetinaNet: 提出Focal Loss,有效解决正负样本极端不平衡问题,使一阶段模型精度匹敌两阶段。
-
Anchor-Based vs. Anchor-Free:
- Anchor-Based:Faster R-CNN, YOLOv2-v4, SSD,预先定义一系列不同大小和长宽比的“锚框”作为参考,模型预测的是相对于锚框的偏移量。
- Anchor-Free:CornetNet, CenterNet, FCOS,摒弃锚框,直接预测关键点(如物体中心点或角点)或到边界框四边的距离,简化设计。
-
Transformer与端到端检测:
- DETR:首次将Transformer成功应用于目标检测,将检测视为一个集合预测问题,完全摒弃了锚框、NMS等手工设计组件,实现真正的端到端。
- 后续改进:如Deformable DETR,解决了DETR收敛慢、小物体检测差的问题。
重要数据集
- PASCAL VOC:早期基准数据集(20个类别)。
- MS COCO:当前最主流的基准数据集(80个类别),背景更复杂,物体更小、更密集,评估标准(mAP)更严格。
- Open Images:大规模数据集,包含更多类别和图像。
主要应用场景
- 自动驾驶:车辆、行人、交通标志检测。
- 视频监控:异常行为检测、人流统计。
- 智慧零售:客流量分析、货架商品检测。
- 医学影像:病灶检测与定位。
- 无人机与遥感:农田分析、城市规划、目标搜查。
- 智能手机:人像模式、AR特效、扫码。
目标检测的核心是 “定位+分类” ,其发展主线是从传统手工特征到基于深度学习的特征表达,从多步骤流水线到端到端一体化,从两阶段高精度到一阶段高效率,再到Anchor-Free和Transformer带来的新范式,理解 IoU、NMS、mAP、Anchor、两阶段/一阶段 这些核心概念,是掌握目标检测的基础。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。