深度学习完全攻略!(连载八:RCNN模型理解)

这一节,我们直接进入到RCNN的学习中。这一系列主要包括RCNN, fast-RCNN和faster-RCNN模型的理解。

 

本文已同步至订阅号:麻瓜智能,欢迎订阅。

本文主要参考文献:

Girshick, R. , et al. "Rich feature hierarchies for object detection and semantic segmentation." 2014 IEEE Conference on Computer Vision and Pattern Recognition IEEE, 2014.

 

第一 什么是目标检测

之前博客里面有写到人脸检测,感兴趣可以参考:《》。这种方法是在整幅图里面找到人脸,并知道人脸在哪。信息爆炸时代,尤其是现在AI横行的时代,检测人脸已经不能满足我们的需求。我们还想要知道一幅图中有没有猪脸,马脸,鱼脸,马屁股,车轱辘,如果有的话,它在哪.应为我们实在太懒了,我们想让设备告诉我是什么,它在哪,而不是我手动画圈.

第二 RCNN是什么

RCNN的拓补图,借用文中的图.

RCNN主要分为四个部分:

  1. 输入图像
  2. 提取目标候选区域(每幅图产生2000个候选目标区域)
  3. 对每个候选区域用CNN做特征提取(固定长度的特征向量,文中采用4096长度的向量)
  4. 对提取好的特征,用SVM做分类(参考我的另外一篇博客《》)
  5. 文中用到了目前为止一直在用的技术,fine-tuning,尤其是在训练样本不充足的情况下,这种方式很有用。

现在对(2)(3)(4)中每一步做说明

步骤(2)

怎么提取候选区域

这里面用到了两个技术:selective search和区域扩展。

Selective search

这种方法主要是用来产生候选区域的。怎么选择呢?

  1. 先用某种方法,对图像进行分割,分割的结果就是产生很多很多的大的小的区域,保存到R中;
  2. 对于这些大的小的区域,进行如下的操作

(2.1)计算每个相邻邻域对(ri,rj),计算其相似度,把所有这些相似度保存到一个集合S里面

(2.2)找到S中最大的那个相似度,把R中对应的这两个邻域块ri和rj合并,得到rt,也就是R中用rt代替了ri和rj;

(2.3)在S中把ri 和rj有关的相似度都删掉;

(2.4)计算rt和它的邻域的相似度,并把相似度保存到S中;

(2.5)重复步骤(2)知道S为空

相似性度量方法可参考推荐博客:

https://www.cnblogs.com/zyly/p/9259392.html

区域扩展:为啥要进行区域扩展呢?因为,对于CNN网络来说,它需要的输入图像大小是固定为某个值的,所以,如果想用CNN提取候选区域的特征向量,就得把候选区域的尺寸扩展到CNN需要的大小(比如227*227)。怎么扩展呢?

用原文的图来说明:

如图所示,(A)是原始图像,(B)是把候选区扩展成正方形(227*227),然后把候选区之外的部分用灰色填充,然后对于灰色的地方,用原图中对应位置的像素值进行填充(C)只用灰度值填充(D)直接放大到正方形大小。在上面的图中可以看到有黑色的框框标注的地方,这是在227*227的图上,在底部增加了padding,原文中padding的大小是16个像素,如果原图中对应位置有像素值,就是原图填充,如果没有对应的原图像素值,就用灰度填充。

 

步骤(3)

如何用CNN提取候选区域的特征向量。

这个其实也不需要说太多,CNN的一个主要作用就是提取图像的高级特征。现成的有很多的网络可以实现特征的提取。

 

步骤(4)

用SVM对特征向量做分类,这一部分可以参考我的另外一篇博客《支持向量机与支持向量回归(support vector machine and support vector regression)

 

第三 RCNN的关键技术

在参考论文中,作者也提出了一些关键技术,现在对其做说明。关于候选区域的处理已经在上面的内容中做了介绍,不再陈述。

(3.1)bounding box regression

为什么要做边框回归呢?

在上面第二节中,对每一个候选区域进行特征提取(用CNN),再对特征做分类,假设就是我们需要的类别。有可能存在一个问题,被确定类别的候选框跟这个类别真实的边框还有一些差距,导致用IOU指标去评价的时候,不能很好的处理。如果能够学习得到一组参数,使得那些被选中的候选框更接近真实的就完美了。所以就有了bound ing box回归。

怎么做呢?

好吧,还是推荐一篇博客吧。

https://blog.csdn.net/zijin0802034/article/details/77685438/

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值