Skip to content

检测算法概览

目标检测是 YOLO-Toys 的基础任务。本节介绍三大检测范式:锚框式、无锚框式和基于 Transformer 的检测。

检测问题

给定一张图像,目标检测需要:

  1. 定位:目标在哪里?(边界框)
  2. 分类:目标是什么?(类别标签)

挑战在于每张图像中目标数量不固定,且目标可能出现在任意位置和尺度。

三大范式

锚框式检测

2014–2022 年的主流范式:

  1. 在每个空间位置放置锚框(先验框)
  2. 预测相对于锚框的偏移
  3. 应用 NMS 去除重复

代表模型:YOLOv2–v5、Faster R-CNN、SSD、RetinaNet

优点

  • 优化空间成熟,易于理解
  • 锚框设计得当则性能优异

缺点

  • 锚框设计对超参数敏感
  • 大量重复预测
  • 对异常长宽比效果差

无锚框式检测

将检测视为关键点估计:

  1. 直接预测目标中心
  2. 从中心特征回归尺寸
  3. 无需锚框

代表模型:YOLOv8、CenterNet、FCOS

优点

  • 无锚框超参数
  • 更少重复预测
  • 对异常目标泛化更好

缺点

  • 较新,成熟度较低
  • 训练可能不稳定

基于 Transformer 的检测

将检测视为集合预测:

  1. 学习目标查询
  2. 查询关注图像特征
  3. 直接输出集合,无需 NMS

代表模型:DETR、Deformable DETR

优点

  • 端到端,无手工设计组件
  • 架构清晰
  • 适合研究

缺点

  • 收敛慢
  • 小目标检测困难
  • 计算成本较高

模型选择指南

[任务需求?]

├─ 实时边缘设备? ──────▶ YOLOv8n(无锚框,最快)

├─ 生产 API? ──────────▶ YOLOv8s/m(无锚框,均衡)

├─ 最高精度? ──────────▶ YOLOv8l/x 或 DETR

├─ 密集场景? ──────────▶ DETR(处理重叠)

├─ 新类别? ────────────▶ OWL-ViT(开放词汇)

└─ 文本条件? ──────────▶ OWL-ViT 或 Grounding DINO

接下来阅读

Released under the MIT License.