核心要点
Anchor-Based(Faster R-CNN/RetinaNet/YOLO 早期):预设大量不同尺度/长宽比的锚框,逐框分类+回归偏移,依赖人工设计的锚框超参
Anchor-Free(CenterNet 预测中心点热图、FCOS 逐像素回归到四边距离):直接用关键点/中心 + 回归得到框,无需锚框
优势:免去锚框尺度/比例/数量等超参调优;缓解大量负锚框带来的正负样本极度失衡;减少与锚框匹配相关的计算和内存
代价/注意:中心点重叠、密集小目标的歧义需用 FPN 分层、centerness 等机制处理
标准回答
两类范式
Anchor-Based 检测器(Faster R-CNN、RetinaNet、早期 YOLO)在特征图每个位置铺设一组预定义锚框(多种尺度与长宽比),再对每个锚框做分类并回归到真实框的偏移。Anchor-Free 则不用锚框:CenterNet 把目标建模为中心点,预测中心热图再回归尺寸与偏移;FCOS 做逐像素预测,对落在物体内的每个点回归到框四条边的距离。
Anchor-Free 的优势
第一,去掉锚框相关超参——尺度、长宽比、每位置锚框数、IoU 匹配阈值等都不再需要人工设计和数据集相关调优,模型更简洁、迁移更省心。第二,缓解正负样本失衡:anchor-based 会产生海量背景锚框,正负比极度悬殊,需 Focal Loss 等专门处理;anchor-free 的正样本由中心/像素直接定义,失衡显著减轻。第三,降低计算与内存:省去大量锚框的生成、匹配与 NMS 前处理开销。
需要解决的问题
逐像素/中心建模会遇到歧义:一个点可能落在多个重叠物体内,或多个物体中心重合。FCOS 用 FPN 按尺度分层、并引入 centerness 分支抑制远离中心的低质量框;CenterNet 用热图峰值定位。配合这些机制,anchor-free 在精度上已可与 anchor-based 相当甚至更优。
常见误区
⚠️ 常见踩坑
Anchor-Free 不等于「没有先验、精度一定更高」——它仍需 FPN、centerness 等设计处理尺度与中心歧义;优势主要在简化设计与缓解样本失衡,而非天然碾压 anchor-based。
追问
追问 1:FCOS 的 centerness 分支起什么作用?
逐像素回归时,靠近物体边缘的点也会被判为正样本,但它们预测的框质量通常较差。centerness 额外预测一个 0~1 的分数,度量该点离物体中心的远近,并在推理时乘到分类置信度上,从而压低边缘点产生的低质量框,减少误检、提升精度。
追问 2:Anchor-Free 如何处理重叠目标的中心歧义?
主要靠多尺度分配:FCOS 用 FPN,把不同大小的目标分到不同层级回归,使同一位置在某一层只对应一个目标,缓解重叠歧义。CenterNet 依赖中心点热图,不同物体中心通常不同;若中心几乎重合则确实是其固有难点,需依靠分辨率和后处理缓解。
追问 3:Anchor-Free 还需要 NMS 吗?
多数 anchor-free 检测器(FCOS、CenterNet 的部分实现)仍会产生重复框,依旧需要 NMS 去重。真正去掉 NMS 的是 DETR 这类基于集合预测+匈牙利匹配的端到端方法,它与 anchor-free 是不同维度的改进。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。