跳到主要内容

目标检测

问题​

目标检测的主要方法有哪些?YOLO 系列是如何演进的?

答案​

一、目标检测任务​

目标检测 = 定位(框出目标位置)+ 分类(识别类别)

二、方法分类​

三、方法对比​

对比维度两阶段单阶段DETR
代表Faster R-CNNYOLOv8RT-DETR
速度慢快中
精度高中~高高
后处理NMSNMS无需 NMS
实时性❌✅✅

四、YOLO 演进​

版本年份关键改进
YOLOv12016单阶段检测开创者
YOLOv32018多尺度检测、Darknet-53
YOLOv52020PyTorch 实现、易用性
YOLOv82023Anchor-free、解耦头
YOLO112024Ultralytics 最新版

五、核心概念​

概念说明
Anchor预定义的候选框尺寸(Anchor-free 不需要)
IoU预测框与真实框的重叠比例
NMS非极大值抑制,去除重复检测框
mAP平均精度,检测模型的主要评估指标

常见面试问题​

Q1: Anchor-based 和 Anchor-free 的区别?​

答案:

  • Anchor-based(YOLO v3~v5):预定义一组 Anchor 框,模型预测偏移量
  • Anchor-free(YOLO v8+、FCOS):直接预测目标中心和宽高,无需预定义
  • Anchor-free 更简单、超参数更少,是当前趋势

Q2: NMS 是什么?DETR 为什么不需要 NMS?​

答案:

  • NMS:对同一目标的多个检测框,保留置信度最高的,删除重叠的
  • DETR 使用 Transformer + 匈牙利匹配,每个目标只产生一个预测,天然无重复
  • 去除 NMS 是端到端检测的优势

相关链接​