核心要点

  • 两阶段(R-CNN 系):先生成候选区域(region proposal)再分类+回归框,精度高

  • 单阶段(YOLO/SSD):一次前向直接在网格上回归框与类别,速度快、适合实时

  • 权衡:两阶段准但慢、流程复杂;单阶段快但对小目标/密集目标稍弱(已被新版改善)

  • 评估用 mAP(基于 IoU 阈值),后处理用 NMS 去重叠框

标准回答

一、两阶段(Two-stage,R-CNN 家族)

流程分两步:先由 RPN 等生成一批候选区域,再对每个候选框做分类和边框回归。代表:R-CNN → Fast R-CNN → Faster R-CNN。

  • 优点:定位/分类精度高,对小目标和复杂场景更稳。
  • 缺点:流程多、计算量大、速度较慢

二、单阶段(One-stage,YOLO/SSD)

把检测当作一次回归:单次前向就在特征图网格/anchor 上同时预测类别与边框。

  • 优点:,端到端简单,适合实时(视频、边缘)。
  • 缺点:早期版本对小目标、密集目标精度略逊;新版 YOLO 已大幅缩小与两阶段的精度差距。

三、共性组件

  • NMS(非极大值抑制):去除同一目标的重叠冗余框。
  • IoU(交并比):衡量预测框与真值框重叠度,是匹配与评估的基础。
  • mAP:按不同 IoU 阈值综合各类别 AP,是主流评测指标。

面试里可以补一个视觉任务例子:目标检测中两阶段R-CNN与单阶段YOLO有何区别 在分类、检测、分割或多模态理解里分别会影响数据增强、模型结构、指标选择和误检漏检分析。这样回答会比单独讲概念更像真实项目经验。

四、选型

要极致精度、可接受延迟 → 两阶段;要实时/低延迟 → 单阶段。详见 目标检测:从 R-CNN 到 YOLO

常见误区

⚠️ 常见踩坑

误区一:容易答偏的地方:"单阶段一定不如两阶段精度"已过时——现代 YOLO 在多数场景精度与速度兼优;NMS 是后处理而非网络的一部分,端到端检测器(如 DETR)已尝试去除它。

追问

追问 1NMS 是做什么的?有什么改进版本?

NMS 对同一类别的检测框按置信度排序,逐个保留最高分框并抑制与之 IoU 超阈值的其他框,消除重复检测。改进有 Soft-NMS(降权而非直接删)、DIoU-NMS(考虑中心距离)等,缓解密集目标被误抑制。

追问 2mAP 是怎么计算的?

先按某 IoU 阈值判定每个预测为 TP/FP,对每个类别计算 PR 曲线下面积得到 AP,再对所有类别取平均得 mAP。COCO 指标对 IoU 从 0.5 到 0.95 多个阈值再求平均(mAP@[.5:.95]),更严格。

🔗 相似问题

同一考点的不同问法,换着练更稳

延伸学习

按主题分类的相关资源,便于系统复习