RCNN系列(一)——开天辟地的rcnn

1)为什么叫rcnn

这个问题大家有没有思考过,为什么不叫mcnn,wcnn呢?我觉得这个问题弄清楚了,能解释一半的关键问题。

CNN众所周知,自从在2012年的ILSVRC上大展身手之后,就获得了越来越多的关注,人们发现CNN能够很好的挖掘图像的底层特征以及语义信息,在图像识别领域得到了广泛的应用。本文中,作者希望能够将识别及检测放到一个框架中进行,常用的方法是采用滑窗,但是这样的话整个时间以及计算成本是非常高的。因而引入了region proposals进行图像预处理,用来生成两千个目标区域,从而降低了相应的成本,并且取得了不错的效果。又因为引入了region proposals所以人们将这种网络框架称为rcnn。我为什么讲,了解了这个就了解了一半呢,是因为region proposal是本框架的重点部分(但是不知道为什么论文中并没有详细描述)。

2)什么是region proposals

想必看完了第一部分,大家心里一定猴急猴急的,什么是region proposal呢,别着急,听我慢慢来讲。

文章中采用的region proposal的策略是selectively search,他的目的是为了找出可能包含目标物体的区域,大大降低了后续算法的复杂度。那么selectively search是怎么实现的呢?首先是利用基于图表示的图像分割方法。我们这里采用他的GC版本作为例子讲解。将图像中每个像素点视为节点,相邻的两像素之间存在一条边,边的权重对应两像素点差的绝对值。然后通过下列步骤进行区域的初步划分:

0.将边按照权重值以非递减方式排序

1.最初的分割记为S(0),即每一个节点属于一个区域

2.按照以下的方式由S(q-1)构造S(q):记第q条边连接的两个节点为vi和vj,如果在S(q-1)中vi和vj是分别属于两个区域并且第q条边的权重小于两个区域的区域内间距,则合并两个区域。否则令S(q) = S(q-1)。

3.从q=1到q=m,重复步骤2

4.返回S(m)即为所求分割区域集合

按照这个方法求得一些初始的区域R,然后计算出这些区域的相似度s(ri,rj)

然后按照下面步骤生成最后的区域:

1.      找出相似性最大的区域max(S)={ri,rj}

2.      合并rt=ri∪rj

3.      从S集合中,移走所有与ri,rj相关的数据

4.      计算新集合rt与所有与它相邻区域的相似性s(rt,r*)

5.      R=R∪rt

当然这里关于相似度的计算也有很多策略,这里就不做过多的叙述了。

3)论文的整体框架

a.输入一张多目标图像,采用selective search算法提取约2000个建议框;

b.先在每个建议框周围加上16个像素值为建议框像素平均值的边框,再直接变形为227×227的大小(这里的277这个尺寸,是因为采用的alexnet作为输入,他的尺寸要求是277*277,如果换成其他网络对应修网络就行);

c.先将所有建议框像素减去该建议框像素平均值后,再依次将每个227×227的建议框输入AlexNet CNN网络获取4096维的特征,2000个建议框的CNN特征组合成2000×4096维矩阵;

d.将2000×4096维特征与20个SVM组成的权值矩阵4096×20相乘,举例这有20个种类,而SVM是二分类器,所以就需要二十个SVM,获得2000×20维矩阵表示每个建议框是某个物体类别的得分;

e.分别对上述2000×20维矩阵中每一列即每一类进行非极大值抑制剔除重叠建议框,得到该列即该类中得分最高的一些建议框;

f.分别用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。

4)什么是非极大值抑制?

在第一步中,我们选出了大约两千个候选框,那么势必会出现下图这样的现象,对于同一个目标会出现许多不同的候选框,那么这些候选框我们只需要选择他准确度最高的那个,这个过程被称为非极大值抑制。

这个过程是怎么做的呢?

1.对于2000*20维矩阵每列按照大小进行排序

2、从每列最大的得分建议框开始,分别与该列后面的得分建议框进行IoU计算,若IoU>阈值,则剔除得分较小的建议框,否则认为图像中存在多个同一类物体; 

3、从每列次大的得分建议框开始,重复步骤②;

4、重复步骤③直到遍历完该列所有建议框;

5、 遍历完2000×20维矩阵所有列,即所有物体种类都做一遍非极大值抑制;

6、最后剔除各个类别中剩余建议框得分少于该类别阈值的建议框

5)最后也许有同学注意到,最后的步骤中还提到了一个回归器,解释一个这个回归器?

尽管下面经过非极大值抑制,我们得到了与参考标签最接近的建议框,但是要他们毕竟之间可能还存在尺寸,位置上的差异性。所以使用回归器经过训练之后可以对建议框进行修正,提高最终的检测精度。

参考:

1、https://blog.csdn.net/u014696921/article/details/52824097  R-CNN论文详解

2、https://blog.csdn.net/charwing/article/details/27180421  Selective Search for Object Recognition

PS,有兴趣可以看看我最近的博客detection:SSD通俗篇

 

本人钱多多,研究僧预备役磕盐,欢迎大家交流指正

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

与贰

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

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

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

打赏作者

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

抵扣说明:

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

余额充值