《R-FCN:Object Detection via Region based Fully Convolutional Networks》阅读笔记
1)方法:
- 提出基于区域的全卷积网络(准确,高效进行目标检测。与以前的基于区域的检测器(如Fast/ Faster R-CNN)数百次应用昂贵的每个区域子网相比,基于区域的检测器是完全卷积的,几乎所有计算都在整个图像上共享。
- 提出位置敏感得分图(解决图像分类中的平移不变性与目标检测中的平移差异性之间的难题。)
2)应用:
可以采用分类器主干(例如最新的残差网络(ResNets))进行对象检测。在具有101层ResNet的PASCAL VOC数据集(例如2007年度的83.6%mAP)上显示出竞争性结果。
3)结果:
在每张图像170ms的测试时间速度下实现,比Faster R-CNN的速度快2.5-20倍。通过特征图引入位置敏感得分图,增强位置信息,提高检测精度。
4) 核心思想:
继承Faster R-CNN的思想(即利用CNN完成proposals预选框的预测;通常其结构分为两部分:Fully Convolutional subnetwork before Rol Layer(利用普通分类网络提取共享特征)和Rol-wise subnetwork(有全连接层组成两个并行**loss网络函数(Softmax\smoothL1)**对Rol进行分类与回归。
由于Rol-wise subnetwork 非共享(分类与回归),不能有效感知位置信息,R-FCN通过提出的(positionsensitive maps)弥补不足。
5)position-sensitivescore map(使用一组专门的卷积层作为FCN输出)
若一个 RoI 含有一个类别 c物体,将该 RoI 划分为 k x k 个区域该物体的各个相应部位。其每个相应的部位都由特定的特征图对其进行特征提取。R-FCN在共享卷积层的最后再接上一层卷积层(位置敏感得分图 position-sensitive score map)。 通道数 channels=k x k x (C+1)。
C :物体类别种数;1 个背景类别:每个类别都有 k x k 个 score maps,分别对应每个类别的不同位置。每个通道对某类特定位置的特征提取工作。
6) 位置敏感池化(Position-sensitive Rol pooling)
将每个Rols 分为k*k个小块,提取其不同的位置的小块相应特征图上的特征进行池化。得到池化特征(包含各个位置上的特征信息。)(在单独类别上,将不同的位置信息相加即为特征图对应类别的响应,从而对其进行相应分类。
7) Position sensitive regression
仿照分类思路,将特征通道数组合为 4 *k * k 的形式,每小块的位置都对应了相应的通道,对其进行位置回归的特征提取。
将不同小块位置的四个回归值融合,得到位置回归的响应,进行后续的位置回归工作。
8) 训练(高响应区域)
不同位置,只对目标区域有明显相应(表明提取能力对位置敏感)
9) 测试
通过不同的数据集、以及前人网络的对比实验,最终得出结论。