7--目标检测算法(R-CNN系列)

7.1  R-CNN

        R-CNN首先从输入图像中选取若干提议区域(找出可能的感兴趣区域),并标注它们的类别和边界框(如偏移量),用卷积神经网络对每个提议区域进行前向传播以抽取其特征,用每个提议区域的特征来预测类别和边界框。该模型如下图所示:

        具体地,R-CNN的步骤如下:

  1. 对输入图像使用选择性搜索来选取多个高质量的提议区域,这些提议区域通常是在多个尺度下选取的,并具有不同的形状和大小。每个提议区域都将被标注类别和真实边界框。

  2. 选择一个预训练的卷积神经网络,并将其在输出层之前截断。将每个提议区域变形为网络需要的输入尺寸,并通过前向传播输出抽取的提议区域特征。

  3. 将每个提议区域的特征连同其标注的类别作为一个样本。训练多个支持向量机对目标分类,其中每个支持向量机用来判断样本是否属于某一个类别。

  4. 将每个提议区域的特征连同其标注的边界框作为一个样本,训练线性回归模型来预测真实边界框。

       R-CNN模型通过预训练的卷积神经网络有效地抽取了图像特征,但它的速度很慢。 因为一个图可能出现上千的提议区域,在进行目标检测时,就需要进行上千次的卷积神经网络向前传播。

7.2 Fast R-CNN

        R-CNN对每个提议区域,卷积神经网络的前向传播是独立的,而没有共享计算。但由于这些区域通常有重叠,独立的特征抽取会导致重复的计算。 Fast R-CNN在此基础上进行改进:仅在整张图象上执行卷积神经网络的前向传播。该模型如下图所示:

        该模型的大概步骤是:使用CNN对整个图片的特征进行提取特征,得到一定大小的feature map,接下来对原始图片进行锚框的选择,并映射到feature map上。再使用 RoI pooling 对 feature map 上的锚框进行特征抽取后输入到一个全连接层,对每个锚框的类别和偏移量进行预测。

        选择性搜索的算法思路:

        假设现在图像上有n个预分割的区域,表示为R={R1, R2, ..., Rn}, 计算每个region与它相邻region(注意是相邻的区域)的相似度,这样会得到一个n*n的相似度矩阵(同一个区域之间和一个区域与不相邻区域之间的相似度可设为NaN),从矩阵中找出最大相似度值对应的两个区域,将这两个区域合二为一,这时候图像上还剩下n-1个区域; 重复上面的过程(只需要计算新的区域与它相邻区域的新相似度,其他的不用重复计算),重复一次,区域的总数目就少1。

        这里提到的兴趣池化层(Rol pooling)的作用是从形状各异的兴趣区域中均抽取出形状相同的特征,与之前提到的池化层不同的是,兴趣池化层可以直接指定输出的形状。具体的计算如下图所示,这里高度和宽度都应向上取整,其中的最大元素作为该子窗口的输出。

7.3  Faster R-CNN

         Faster R-CNN 提出Fast R-CNN的选择性搜索替换为区域提议网络,从而减少提议区域的生成数量,并保证目标检测的精度。 该模型如下图所示:

        区域提议网络的计算步骤如下:

  1. 使用填充为1的3×3的卷积层变换卷积神经网络的输出,并将输出通道数记为c。这样,卷积神经网络为图像抽取的特征图中的每个单元均得到一个长度为c的新特征。

  2. 以特征图的每个像素为中心,生成多个不同大小和宽高比的锚框并标注它们。

  3. 使用锚框中心单元长度为c的特征,分别预测该锚框的二元类别(含目标还是背景)和边界框。

  4. 使用非极大值抑制,从预测类别为目标的预测边界框中移除相似的结果。最终输出的预测边界框即是兴趣区域汇聚层所需的提议区域。

        注意,这里区域提议网络作为Faster R-CNN模型的一部分,是和整个模型一起训练得到的。即Faster R-CNN的目标函数不仅包括目标检测中的类别和边界框预测,还包括区域提议网络中锚框的二元类别和边界框预测。 

7.4 Mask R-CNN

        Mask R-CNN将兴趣区域汇聚层替换为了兴趣区域对齐层,使用双线性插值(bilinear interpolation)来保留特征图上的空间信息,从而更适于像素级预测。

        对于pooling来说,假如有一个3 * 3的区域,需要对它进行2 * 2的RoI pooling操作,那么会进行取整从而切割成为不均匀的四个部分,然后进行 pooling 操作,这样切割成为不均匀的四部分的做法对于目标检测来说没有太大的问题,因为目标检测不是像素级别的,偏移几个像素对结果没有太大的影响。但是对于像素级别的标号来说,会产生极大的误差;RoI align 不管能不能整除,如果不能整除的话,会直接将像素切开,切开后的每一部分是原像素的加权。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值