R-FCN: Object Detection via Region-based Fully Convolutional Networks

首页:https://blog.csdn.net/u014236392/article/details/86767950
论文:R-FCN: Object Detection via Region-based Fully Convolutional Networks
official code - caffe:https://github.com/daijifeng001/R-FCN
unofficial code - caffe:https://github.com/YuwenXiong/py-R-FCN

1.

提出了基于区域的全卷积网络,以实现准确和高效的目标检测。提出了位置敏感分数图,以解决图像分类中的平移不变性与目标检测中的平移变化之间的困境。

2. 网络架构

R-FCN: Object Detection via Region-based Fully Convolutional Networks
算法步骤:
(1)选择一张需要处理的图片,并对这张图片进行相应的预处理操作;
(2)将预处理后的图片送入一个预训练好的分类网络中(这里使用了ResNet-101网络的Conv4之前的网络),固定其对应的网络参数;
(3)在预训练网络的最后一个卷积层获得的feature map上存在3个分支,第1个分支就是在该feature map上面进行RPN操作,获得相应的ROI;第2个分支就是在该feature map上获得一个 K×K×(C+1) 维的位置敏感得分映射(position-sensitive score map),用来进行分类;第3个分支就是在该feature map上获得一个4×K×K维的位置敏感得分映射,用来进行回归;
(4)在 K×K×(C+1) 维的位置敏感得分映射和4×K×K维的位置敏感得分映射上面分别执行位置敏感的ROI池化操作(Position-Sensitive Rol Pooling,这里使用的是平均池化操作),获得对应的类别和位置信息。

3. 分类网络的位置不敏感性和检测网络的位置敏感性

(1)分类网络的位置不敏感性:简单来讲,对于分类任务而言,我希望我的网络有一个很好地分类性能,随着某个目标在图片中不断的移动,我的网络仍然可以准确的将你区分为对应的类别。如上图左边所示,不管你这只鸟在图片中如何移动,我的分类网络都想要准确的将你分类为鸟。即我的网络有很好地区分能力。实验表明,深的全卷积网络能够具备这个特性,如ResNet-101等。
(2)检测网络的位置敏感性:简单来讲,对于检测任务而言,我希望我的网络有一个好的检测性能,可以准确的输出目标所在的位置值。随着某个目标的移动,我的网络希望能够和它一起移动,仍然能够准确的检测到它,即我对目标位置的移动很敏感。我需要计算对应的偏差值,我需要计算我的预测和GT的重合率等。但是,深的全卷积网路不具备这样的一个特征。
总之,分类网络的位置不敏感性和检测网络的位置敏感性的一个矛盾问题,而我们的目标检测中不仅要分类也要定位,那么如何解决这个问题呢,R-FCN提出了Position-sensitive score maps来解决这个问题。

4. 具体细节解释

具体细节如位置敏感得分图等的解析参考博客