文章目录
- [目标检测三大技术路线综述:Proposal-based, Anchor-based, Anchor-free](#目标检测三大技术路线综述:Proposal-based, Anchor-based, Anchor-free)
-
- [一、 Proposal-based(基于候选区域)](#一、 Proposal-based(基于候选区域))
-
- [1. 核心逻辑](#1. 核心逻辑)
- [2. 代表算法](#2. 代表算法)
- [3. 优缺点](#3. 优缺点)
- [二、 Anchor-based(基于锚点)](#二、 Anchor-based(基于锚点))
-
- [1. 核心逻辑](#1. 核心逻辑)
- [2. 代表算法](#2. 代表算法)
- [3. 优缺点](#3. 优缺点)
- [三、 Non-Anchor-based(Anchor-free / 无锚点)](#三、 Non-Anchor-based(Anchor-free / 无锚点))
-
- [1. 核心逻辑](#1. 核心逻辑)
- [2. 代表算法](#2. 代表算法)
- [3. 优缺点](#3. 优缺点)
- [四、 深度解答:Non-Anchor-based 是 Anchor-free 吗?](#四、 深度解答:Non-Anchor-based 是 Anchor-free 吗?)
目标检测三大技术路线综述:Proposal-based, Anchor-based, Anchor-free
目标检测算法的演进,本质上是围绕如何高效、准确地定位目标这一核心问题展开的。目前主流的深度学习目标检测方法可以划分为三大技术路线。
一、 Proposal-based(基于候选区域)
1. 核心逻辑
Proposal-based 方法,也称为两阶段(Two-Stage)检测器,其核心思想是"先找可能,再精确定位"。
- 第一阶段(Proposal Generation) :通过特定的算法(如 Selective Search 或 RPN)在图像中生成大量可能包含目标的候选区域(Region Proposals)。
- 第二阶段(Classification & Regression) :对这些候选区域进行特征提取 ,然后进行精确的分类 和边界框回归。
2. 代表算法
- R-CNN 系列:R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN。
- 代表 :Faster R-CNN 首次将候选区域生成(RPN)集成到神经网络中,实现了端到端的两阶段检测。
3. 优缺点
| 优点 | 缺点 |
|---|---|
| 高精度:由于有两阶段的精细处理,定位和分类精度通常很高。 | 速度慢:两阶段串行处理,计算量大,难以实现实时检测。 |
| 鲁棒性强:对复杂场景和密集目标有较好的处理能力。 | 流程复杂:训练和部署流程相对复杂。 |
二、 Anchor-based(基于锚点)
1. 核心逻辑
Anchor-based 方法,也称为单阶段(One-Stage)检测器,其核心思想是"预设模板,直接预测"。
- 机制 :在图像的每个位置预设一组具有不同尺寸和长宽比的锚点框(Anchors)。
- 预测 :模型直接预测每个锚点框是否包含目标(分类),以及目标边界框相对于锚点框的偏移量(回归)。
2. 代表算法
- YOLO 系列(YOLOv1-YOLOv4):通过网格划分和预设 Anchor 来进行预测。
- SSD(Single Shot MultiBox Detector):在不同尺度的特征图上使用 Anchor 进行预测。
- RetinaNet:引入 Focal Loss 解决正负样本不平衡问题,是 Anchor-based 的经典之作。
3. 优缺点
| 优点 | 缺点 |
|---|---|
| 速度快:单阶段直接输出结果,计算效率高,易于实现实时检测。 | 精度受限:预设 Anchor 尺寸和比例是超参数,对特殊形状或尺寸的目标鲁棒性较差。 |
| 流程简洁:相比两阶段,流程更简洁。 | 需要调参:Anchor 的设计需要人工经验,且对数据集敏感。 |
三、 Non-Anchor-based(Anchor-free / 无锚点)
1. 核心逻辑
Non-Anchor-based 方法,通常被称为 Anchor-free,其核心思想是**"直接预测,摆脱先验"**。
- 机制 :完全抛弃预设的 Anchor 框,直接预测目标的中心点 、角点 或边界框的四个边。
- 优势:摆脱了 Anchor 尺寸和比例的限制,减少了超参数,避免了 Anchor 匹配带来的复杂性。
2. 代表算法
- 基于中心点 :CenterNet(预测目标中心点,然后回归尺寸)。
- 基于像素点 :FCOS(在特征图的每个像素点上直接预测目标边界框的四个距离)。
- 基于角点 :CornerNet(预测左上角和右下角两个角点)。
- 基于集合预测 :DETR(通过 Object Queries 和二分图匹配直接预测目标集合,是更高级的 Anchor-free 形式)。
3. 优缺点
| 优点 | 缺点 |
|---|---|
| 设计简洁:无需设计 Anchor,超参数少,泛化能力强。 | 召回率:早期方法在密集目标场景下,召回率可能略低于 Anchor-based 方法。 |
| 计算高效:避免了 Anchor 匹配和大量的 IOU 计算。 | 中心点模糊:基于中心点的方法在目标重叠时,中心点可能难以确定。 |
四、 深度解答:Non-Anchor-based 是 Anchor-free 吗?
答案: 是的,在目标检测领域,Non-Anchor-based 和 Anchor-free 通常指的是同一类技术,即"无锚点"检测器。
术语辨析
- Anchor-based :基于锚点。
- Anchor-free :无锚点。
- Non-Anchor-based :非基于锚点。
这两个术语在实际应用中是同义词 ,都代表了目标检测技术从依赖预设 Anchor 向直接预测 或基于关键点预测的范式转变。
技术演进的三个阶段
目标检测的演进可以概括为三个阶段:
- R-CNN 时代(Proposal-based) :先找区域,再分类回归。
- YOLO/SSD 时代(Anchor-based) :预设模板,直接回归偏移。
- FCOS/CenterNet 时代(Anchor-free) :摆脱模板,直接预测位置。
DETR 则代表了更进一步的集合预测 范式,它不仅是 Anchor-free,更是NMS-free,将检测推向了真正的端到端。