【深度学习】Two-Stage目标检测算法

目标检测算法综述
本文详细介绍了目标检测领域的经典算法,包括R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、R-FCN及FPN等,并对比了它们之间的差异与优势。还介绍了实例分割算法Mask R-CNN及其关键组件。

本文参考自 第八章_目标检测.md

Two stage目标检测算法:
先进行区域生成(region proposal,RP)(一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。
任务:特征提取—>生成RP—>分类/定位回归。
常见的two stage目标检测算法有:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等。

一、目标追踪

  • 分类
  • 分类+位置
  • 多目标检测
  • 图像分割
    在这里插入图片描述
    在这里插入图片描述

二、R-CNN

在这里插入图片描述
在这里插入图片描述
R-CNN简要步骤:

  • 输入测试图像

  • 利用选择性搜索Selective Search算法在图像中从下到上提取2000个左右的可能包含物体的候选区域(Region Proposal)

  • 因为取出的区域大小各自不同,所以需要将每个 Region Proposal 缩放 (warp) 成统一的227×227的大小并输入到CNN,将CNN的fc7层的输出作为特征

  • 将每个Region Proposal提取到的CNN特征输入到SVM进行分类

三、SPP-Net

参考文章:【目标检测】SPPnet论文详解

在这里插入图片描述

1.SPP-Net特点

  • 网络的输入图片可以是任意尺寸

  • 深度卷积神经网络的基础结构分为:卷积层(conv layers)→池化层(pooling layers)→全连接层(fc layers)

  • 我们在设计网络的时候,全连接层的输入维数必须提前固定。从全连接层往前推的话,就必须保持第一层卷积的输入尺寸是固定的,例如224×224(ImageNet)、32×32(LenNet)等。这也就要求我们在检测图片时,需要将图片经过crop(裁剪)、warp(拉伸)等操作把图片变换成固定尺寸,才能输入神经网络。这些操作在一定程度上会导致图片信息的丢失或者变形。

    对此SPPnet提出的解决方案是在最后一层卷积层后用空间金字塔池化层(Spatial Pyramid Pooling)代替普通池化层。

2.空间金字塔池化(SPP)

  • 论文中举例:把卷积操作之后的特征图(feature maps),以不同大小的块(池化框)来提取特征,分别是4×4,2×2,1×1,将这三张网格放到下面这张特征图上,就可以得到16+4+1=21种不同的块(Spatial Bins),我们从这21个块中,每个块提取出一个特征(提取方式有平均池化、最大池化等),这样就得到了固定的21维特征向量。

  • 以不同的大小格子的组合方式来池化的过程就是空间金字塔池化。

  • 这么一来,我们只要设计m个n×n大小的网格就可以生成任意维数的特征向量,而不需要在意经过多层卷积操作后的特征图的大小是多少,这也意味着我们不需要在意网络输入的图片尺寸。

  • 使用金字塔池化,使得任意大小的特征图都能够转换成固定大小的特征向量,这就是空间金字塔池化的意义(多尺度特征提取出固定大小的特征向量)

3.SPP-Net过程

  • 首先通过选择性搜索,对待检测的图片进行搜索出2000个候选窗口。这一步和R-CNN一样。
  • 特征提取阶段:这一步就是和R-CNN最大的区别了,这一步骤的具体操作如下:
    • 把整张待检测的图片,输入CNN中,进行一次性特征提取,得到feature maps
    • 然后在feature maps中找到各个候选框的区域
    • 再对各个候选框采用金字塔空间池化,提取出固定长度的特征向量。
      而R-CNN输入的是每个候选框,然后在进入CNN,因为SPP-Net只需要一次对整张图片进行特征提取,速度会大大提升。
  • 最后一步也是和R-CNN一样,采用SVM算法进行特征向量分类识别

四、Fast R-CNN

参考文章:【目标检测】Fast R-CNN论文详解

相比R-CNN最大的区别,在于RoI池化层和全连接层中目标分类与检测框回归微调的统一。

在这里插入图片描述

1.Fast R-CNN解决R-CNN的三个问题

  • 测试速度慢

    R-CNN中用CNN对每一个候选区域反复提取特征,而一张图片的2000个候选区域之间有大量重叠部分,这一设定造成特征提取操作浪费大量计算。

    Fast R-CNN将整个图像归一化后直接送入CNN网络,卷积层不进行候选区的特征提取,而是在最后一个池化层加入候选区域坐标信息,进行特征提取的计算。

  • 训练速度慢

    同测试速度慢理由

  • 训练所需空间大

    R-CNN中目标分类与候选框的回归是独立的两个操作,并且需要大量特征作为训练样本。

    Fast R-CNN将目标分类与候选框回归统一到CNN网络中来,不需要额外存储特征。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值