RFCN的理解

  • Post author:
  • Post category:其他



一、RFCN思想的出发点是


图像分类任务更偏向与平移不变性,因此,ImageNet 分类的领先结果证明,尽可能具有平移不变性的深度(完全)卷积架构更可取 ;但是目标检测任务需要在一定程度上需要平移可变性的定位信息。例如,候选框内目标的变化应该产生积极的响应,来描述一个候选框与目标重叠的程度,但是,图像分类中的深度网络对这种变化是不敏感的。

我们在做目标检测任务时,其实是深度学习的多任务,一个任务是定位,估计目标的位置坐标,一个是分类任务,给出目标的标签,这两个任务共享基础网络的卷积,也就是共享基础网络提取的特征,然后分类任务使用这个特征去做分类,定位位置使用这个特征去做定位,但是定位和分类这两个位置在空间位置上是相互矛盾的,一个小猫不论在图片中的哪个位置上都是猫,因此分类任务对位置空间不敏感,在ImageNet的分类任务可以看出,深度学习网络不需要关注位置信息,但是定位任务对位置空间超级敏感,位置的变换都要得到响应的反馈,因此二者是相互矛盾的。

把RoI 池化层插入到卷积中——这种特定于区域的操作打破了平移不变性,并且在跨不同区域进行评估时,RoI 后的卷积层不再具有平移不变性 。


二、Position-sensitive score maps


在这里插入图片描述
C是类别数,k是将我们的ROI区域分成3×3的小bin,每个bin依此表示{top-left, top-center, top-right, …, bottom-right} 9个位置,我们来直接理解通道0 这样一张feature map的意思,通道0上的每个位置,预测的是对应原图区域,是类别0,且为类别0的左上角的概率;通道1上每个位置,预测的是类别1,且为类别1的左上角的概率;通道2上每个位置,预测的是类别2,且为类别2的左上角的概率。。。,通道0~C+1预测的都是第一个bin,也就是3×3中的(0,0)bin;

那么C+1~2*(C+1)开始,例如通道噢C+1,预测的是类别0,且为类别0 的top-center的位置的概率,也就是3×3中的(0,1)那个bin;


三、Position-sensitive RoI pooling


在这里插入图片描述

从上图的feature map中也可以看出,同一种颜色表示该通道的feature map上预测的是同一个bin,不同颜色是不同的bin,每一种颜色都有C+1张,代表c+1个类别,上图的过程是这样的:送来一个大小为wxh的ROI区域块,我们先把这个ROI的区域框按照w/k、h/k的方法分成kxk的区域块,这里k=3,那么就有9个bin,对于第(0,0)位置上的bin,我们只看只负责预测(0,0)bin的通道,也就是上图的桔黄色的feaure map块,因此我们在桔黄色的feature map块的每张通道上都做平均池化,得到了1x(c+1)的池化结果,放到(0,0)位置上;

然后ROI上(0,1)位置上的bin,同样的方法,只看黄色的feature map块,然后在该feature map块上做每个通道的平均池化,得到得到了1x(c+1)的池化结果,放到(0,1)位置上;

这样就得到了3x3x(C+1)的池化结果,vote时,是将每个通道的3×3=9个数值相加,得到一个总的预测值,vote之后是1x(C+1)的向量,可以做后续的sotmax



版权声明:本文为weixin_45209433原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。