【Detection】

第一阶段:两阶段检测(Two Stage Detection)

两阶段检测的核心是先提取候选区域,再对区域进行分类与定位,精度较高但速度相对较慢。

  1. R-CNN(2014)

这是两阶段检测的开篇工作,流程分为三步:

  1. 区域候选:用 Selective Search 提取约 2000 个候选框

  2. 特征提取:将每个候选框缩放到固定尺寸,单独输入 CNN 提取特征

  3. 后处理:SVM 做分类、NMS(非极大值抑制)去重、Bbox 回归修正框的位置

  • 相关改进:针对传统 NMS 的缺陷,衍生出 Soft-NMS、IoU-Net、Softer-NMS 等优化方案

  • 存在问题:每个候选框单独过 CNN,计算冗余速度慢;多阶段训练,特征无法端到端更新

  1. Fast R-CNN(2015)

针对 R-CNN 的缺陷做了优化,实现了特征共享:

  1. 整张图输入 CNN 得到全局特征图,不再单独处理每个候选框

  2. 提出ROI Pooling:将不同尺寸的候选区域,池化到固定尺寸的特征向量

  3. 多任务损失:同时完成分类(交叉熵)与定位(Smooth L1)的端到端训练,还可通过 SVD 加速全连接层

  • 相关改进:针对 ROI Pooling 的量化误差,后续提出了 ROI Align(双线性插值解决量化问题)、Precise ROI Pooling(无量化的精确池化)
  1. Faster R-CNN(2015)

将候选框提取也替换为网络模块,实现了完全的端到端检测:

  1. Backbone:用 VGG/ResNet 等网络提取全局特征

  2. RPN(区域候选网络):

  • 引入 Anchor 机制:预定义 3 种尺度、3 种宽高比,共 9 种锚框,覆盖不同大小的目标

  • 分支预测:对每个 Anchor,预测前景 / 背景分类,以及框的偏移回归

  • Proposal 层:根据 RPN 的结果筛选出候选区域

  1. 后续接 Fast R-CNN 的检测头,完成最终的分类与定位
  • 训练方式:可采用交替训练 RPN 与检测头,也可直接端到端联合训练

第二阶段:单阶段检测(One Stage Detection)

单阶段检测去掉了单独的候选区域阶段,直接从图像端到端输出检测结果,大幅提升了检测速度,同时逐步追平两阶段的精度。

  1. YOLO 系列

YOLO V1(2015)

  • 核心思路:将图像划分为 7×7 的网格,每个网格负责预测中心落在该网格的目标,每个网格预测 2 个检测框

  • 输出:7×7×(5×2+20),包含框的坐标、置信度、分类概率

  • 损失函数:加权多任务损失,对坐标、置信度、分类分别计算损失,对正负样本做权重平衡

  • 缺陷:对密集目标、小目标、非常规宽高比的目标检测效果差

YOLO V2(2016)

针对 V1 的缺陷做了大量优化:

  • 加入 BN 层、高分辨率分类器,提升特征质量

  • 引入 Anchor 机制,通过 K-Means 聚类从数据集自动得到 5 种 Anchor 尺寸,替代手动设计

  • 加入细粒度特征融合、多尺度训练,提升对不同大小目标的适配性

YOLO V3(2018)

  • 采用残差结构的 Darknet 作为 Backbone

  • 引入FPN(特征金字塔),实现 3 个尺度的检测,每个尺度对应 3 种 Anchor,分别检测大中小目标

  • 分类用 Logistic 替代 Softmax,支持多标签分类

YOLO V4(2020)

整合了大量工程 Trick,在速度与精度上做了平衡:

  • 数据增强:Mosaic、CutMix、自对抗训练(SAT)

  • 网络改进:Mish 激活函数、改进的 SAM/PAN 结构

  • 损失函数:采用 CIoU Loss,同时考虑重叠面积、中心距离、宽高比

  • 正则化:Label Smoothing、Dropblock 等

  1. RetinaNet(2018)

解决了单阶段检测的核心痛点:正负样本极度不平衡

  • 核心创新:Focal Loss,通过降低易分样本的损失权重,让模型更关注难分的正样本,解决了类别不平衡导致的精度问题

  • 结构:ResNet+FPN + 全卷积检测头,实现了高精度的单阶段检测

  1. SSD

另一种经典的单阶段检测算法,利用多尺度特征图做检测,不同层检测不同大小的目标,衍生出 FaceBoxes 等面向特定场景的优化版本。


第三阶段:无锚框检测(Anchor Free Methods)

这是当时的研究趋势,解决了 Anchor 机制的缺陷:Anchor 需要手动调超参数、难适配不同数据集、正负样本不平衡、计算冗余等问题。

  1. CenterNet(2019)
  • 核心思路:将目标建模为中心点,只需要检测目标的中心,再回归目标的宽高即可

  • 结构:

    1. Backbone:可选 Hourglass、DLA、ResNet 等

    2. 三个预测头:

    • Center Heatmap:预测中心点的位置,用 Focal Loss 训练

    • Offset:补偿下采样带来的离散误差,用 L1 Loss

    • Size:预测目标的宽高,用 L1 Loss

  • 优势:不需要 NMS 后处理(通过 3×3 最大池化即可完成去重),速度快精度高,还可扩展到 3D 检测、姿态估计等多任务

  1. FCOS(2019)
  • 核心思路:基于像素的检测,对每个落在目标内的像素,预测该像素到目标四边的距离

  • 结构:

    • 用 FPN 做分尺度检测,解决目标重叠的问题

    • 加入Center-ness分支,给边缘的低质量预测降低权重,提升检测质量

  • 损失:分类用 Focal Loss,回归用 IoU Loss,需要 NMS 做后处理

相关推荐
2301_766558653 小时前
4. 矩阵跃动小陌GEO动态监测算法原理解析,30分钟适配大模型更新的技术逻辑
人工智能·算法·矩阵
沉睡的无敌雄狮3 小时前
大模型更新频繁,搜索占位不稳定?矩阵跃动小陌GEO动态算法快速适配解决方案
人工智能·算法·矩阵
蛐蛐蛐3 小时前
在openEuler(昇腾平台)上基于Conda安装CANN和PyTorch的完整过程
人工智能·pytorch·conda
AI成长日志3 小时前
【扩散模型专栏】文本到图像生成实战:Stable Diffusion架构解析与代码实现
人工智能·stable diffusion·架构
fundoit3 小时前
Windows 下 PyTorch 环境搭建指南
人工智能·pytorch·windows
陈天伟教授3 小时前
人工智能应用- AI 增强显微镜:01.显微镜的瓶颈
前端·人工智能·安全·xss·csrf
Mintopia3 小时前
Pencil.dev 设计 → 规格 → 代码 → 校验
前端·人工智能
Deepoch3 小时前
Deepoc具身模型开发板:巡检机器人的“全天候工业视觉”中枢
人工智能·科技·机器人·开发板·巡检机器人·具身模型·deepoc
AI精钢3 小时前
Sora死了
人工智能·云原生·aigc