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
本人钱多多,研究僧预备役磕盐,欢迎大家交流指正