【目标检测】R-CNN

前言

原论文地址:Rich feature hierarchies for accurate object detection and semantic segmentation

Faster R-CNN合集:

  1. 【目标检测】R-CNN
  2. 【目标检测】Fast R-CNN
  3. 【目标检测】Faster R-CNN

总体结构

在这里插入图片描述

算法流程

  1. 一张图像生成 1k~2k 个候选区域(使用Selective Search方法)
  2. 对每一个候选区域,使用深度网络提取特征
  3. 特征送入每一类的SVM分类器,判别是否属于该类
  4. 使用回归器精细修正候选框位置

1. 候选区域生成

  利用Selective Search算法通过图像分割分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体。

  如上图,使用SS(Selective Search)算法可以得到若干个候选框,这些候选框就可能包含着我们需要的目标。

2. 对每个候选区域,使用深度网络提取特征

  将2000个候选区域缩放到 227×227 pixel,接着将候选区域输入事先训练好的AlexNet CNN网络,获取4096维(这个维数是AlexNet定义的)的特征,得到 2000×4096维矩阵。

在这里插入图片描述

3. 特征送入每一类的SVM分类器,判定类别

  将 2000×4096 维特征与 20 个 SVM 组成的权值矩阵4096×20相乘,获得2000×20维矩阵表示每个建议框是某个目标类别的得分。分别对上述2000×20维矩阵中每一列即每一类进行非极大值抑制剔除重叠建议框,得到该列即该类中得分最高的一些建议框。

说明:

  1. 这里的 SVM分类器是二分类器,所以对于判别每一个类别,都有一个专门的分类器。
  2. 2000×20维矩阵是一个评分矩阵,表示这2000个建议框属于每一种类别(共20类)的分数。
  3. 如下图,左面表示一个建议框拥有的4096维特征(应该是行向量), 将这个特征输入到 SVM 分类器中,就能判别这个建议框是属于哪个类别。
  4. 矩阵相乘示意图

    假设第一个类别判断的是狗,2000×20矩阵的第一行第一列 = 2000×4096维矩阵的第一行(代表第一个建议框的特征) × \times × 4096×20维矩阵的第一列(代表检测出狗的参数),就得到了第一个建议框是狗的分数,以此类推,我们就能得到2000个建议框中分别是每一类别的分数。

非极大值抑制剔除重叠建议框:
   I o U ( I n t e r s e c t i o n   o v e r   U n i o n ) IoU (Intersection\ over\ Union) IoU(Intersection over Union)表示 ( A ∩ B ) / ( A ∪ B ) (A\cap B)/(A\cup B) (AB)/(AB)

  对于每一个类别,首先寻找得分最高的目标,然后计算其他目标与该目标的 IoU值,删除所有 IoU值大于给定阈值的目标,然后把这个最高得分的目标存起来,再在剩下的建议框中重复上述操作,直到遍历完所有建议框。
在这里插入图片描述
  如上图,通过SVM分类器后,A建议框判别为向日葵的概率为98%(是评分最高的一个),B建议框判别为向日葵的概率为86%,通过计算IoU,删除B,保留A。(注意这里并不代表每一次都保留A而把其他的剔除,上面讲到用完A这个得分最高的目标后会把它存起来,也就是说第二次的剔除流程中已经没有A了,再从剩余的那些建议框中选择最高得分的目标进行之前的操作)

4. 使用回归器精细修正候选框位置

  对NMS(Non-Maximum Suppression,非极大值抑制)处理后剩余的建议框进一步筛选。接着分别用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。(依旧针对CNN输出的特征向量进行预测)

  如上图,黄色框口P表示建议框Region Proposal,绿色窗口G表示实际框Ground Truth(这是人工标定的),红色窗口 G ^ \hat G G^ 表示Region Proposal进行回归后的预测窗口,可以用最小二乘法解决的线性回归问题。

R-CNN框架

在这里插入图片描述

存在的问题

  1. 测试速度慢:
    测试一张图片约53s (CPU)。用Selective Search算法提取候选框用时约2秒,一张图像内候选框之间存在大量重叠,提取特征操作冗余。
  2. 训练速度慢:
    过程及其繁琐 。
  3. 训练所需空间大:
    对于SVM和bbox回归训练,需要从每个图像中的每个目标候选框提取特征,并写入磁盘。对于非常深的网络,如VGG16,从VOC07训练集上的5k图像上提取的特征需要数百GB的存储空间。

参考来源:1.1Faster RCNN理论合集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

friedrichor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值