Ch07 CNN与CV修订于 二〇二六年七月二日

7.9 目标检测 — 从 R-CNN 到 YOLO

目标检测不是”这张图是什么”,而是”这张图里有什么,分别在哪里”。需要同时预测物体的类别和边界框(bounding box)。

7.9.1 两阶段检测器:先找候选区域,再分类

R-CNN(2014):用选择性搜索(Selective Search)生成约 2000 个候选区域,每个区域裁剪出来,缩放到固定大小,送入 CNN 分类。问题:太慢——每张图要跑 2000 次 CNN 前向传播,一张图需要几十秒。

Fast R-CNN(2015):整张图只跑一次 CNN,得到特征图,然后从特征图上提取候选区域的特征(RoI Pooling)。速度从几十秒提升到约 2 秒/张。关键创新:共享卷积计算——不用为每个候选区域重新跑 CNN。

Faster R-CNN(2015):用**区域提议网络(RPN,Region Proposal Network)**替代选择性搜索。RPN 是一个小网络,在特征图上滑动,直接预测”这里可能有物体”。候选区域从 2000 个降到 300 个,且全部在 GPU 上完成。Faster R-CNN 是第一个”端到端”的检测器——从输入图片到输出检测框,全部在神经网络中完成。

Faster R-CNN 的工作流程:

输入图片 → CNN提取特征图 → RPN生成候选区域 → RoI Pooling提取区域特征 → 分类+框回归

7.9.2 单阶段检测器:一步到位

YOLO(You Only Look Once,2015):Joseph Redmon 提出的单阶段检测器,把检测变成回归问题——把图片分成 S×S 的网格,每个网格直接预测 B 个边界框和类别概率。一张图只跑一次 CNN,速度极快(45 FPS,Fast YOLO 达到 155 FPS)。

YOLO 的演进:

  • YOLOv1(2015):开创性工作,但定位不准,小物体检测差。
  • YOLOv2/YOLO9000(2016):引入锚框(Anchor Box)、BatchNorm、多尺度训练,可以检测 9000 类物体。
  • YOLOv3(2018):用 FPN(特征金字塔)在三个尺度上检测,小物体检测大幅改善。骨干网络换成 Darknet-53。
  • YOLOv4(2020):集成大量”tricks”(CSPNet、PANet、Mish 激活、CIoU loss、Mosaic 增强),在 COCO 上达到当时最佳。
  • YOLOv5(2020):Ultralytics 的 PyTorch 实现,不是官方 YOLO 但社区最流行。易用性极佳。
  • YOLOv8(2023):Ultralytics 统一了检测、分割、姿态估计、分类到一个框架。anchor-free 设计,解耦头。
  • YOLOv9(2024):PGI(Programmable Gradient Information)解决深度网络中的信息瓶颈。
  • YOLOv10(2024):NMS-free 训练——推理时不需要非极大值抑制,端到端一气呵成。
  • YOLOv11(2024):Ultralytics 最新版,在精度和速度之间取得新的平衡。

YOLO 的核心优势:速度。YOLO 系列始终是实时检测的首选——自动驾驶、视频监控、无人机、手机 AR 都依赖 YOLO 级别的速度。

SSD(Single Shot MultiBox Detector,2016):在多个尺度的特征图上同时做检测——浅层大特征图检测小物体,深层小特征图检测大物体。比 YOLOv1 更准,比 Faster R-CNN 更快,是一个重要的中间方案。

DETR(Detection Transformer,2020):Facebook 提出用 Transformer 做检测——把检测视为”集合预测”问题,用 Transformer 编码器-解码器直接输出一组检测框(不需要锚框、不需要 NMS)。DETR 结构极其简洁,但训练收敛慢(需要 500 epoch vs Faster R-CNN 的 12 epoch)。Deformable DETR(2021)解决了收敛慢的问题,DETR v2(2024)进一步提升了效率。

7.9.3 检测指标:mAP 和 IoU

IoU(Intersection over Union,交并比):预测框和真实框的重叠面积 ÷ 两者并集面积。IoU > 0.5 通常视为”检测正确”,IoU > 0.75 是”严格标准”。

mAP(mean Average Precision,平均精度均值):在不同 IoU 阈值(通常 0.5:0.05:0.95)下计算每个类别的 AP,然后取平均。mAP@0.5 是最常用的指标,mAP@0.5:0.95 更严格(COCO 数据集的标准指标)。

7.9.4 2026 年检测技术选型

场景推荐方案理由
实时视频检测(>30 FPS)YOLOv11速度和精度的最佳平衡
高精度离线检测DETR v2 / Co-DETR基于 Transformer,精度最高
小物体检测YOLOv11 + SAHI(切片推理)将大图切片后逐片检测
移动端/边缘设备YOLOv8-Nano / MobileNet-SSD模型 < 5MB
医学影像检测Faster R-CNN + 特定域预训练小物体多,需要精确框
端到端自动驾驶DETR 变体 + 时序信息需要理解物体运动

← 上一节:7.8 CNN 的训练技巧 | 下一节:7.10 图像分割:像素级的理解 →

关联5

知识图谱

局部图谱 · 点节点跳转