R-FCN论文笔记(R-FCN: Object Detection via Region-based Fully Convolutional Networks)

R-FCN是一种目标检测算法,采用全卷积结构,结合位置敏感分数图解决平移不变性与平移变换性的矛盾。它通过在ResNet基础上增加位置敏感RoI池化层,实现共享计算,提高检测速度。训练过程中,使用多任务损失函数,包括分类和边界框回归损失。检测时,通过RoI池化、NMS处理,完成目标检测。
摘要由CSDN通过智能技术生成

前言

较早的目标检测算法,比如SPP-net,Fast R-CNN和Faster R-CNN,它们的网络结构可以通过RoI池化层分为两个子网络:一个是独立于RoI,共享计算的全卷积子网络,其实这部分就是对整个图像进行处理,提取出输入图像的特征图。另一个是RoI-wise子网络,在这个子网络中并不共享计算,也就是对每个RoI(region of interest)进行分类与回归以完成最终的目标检测。这一类目标检测算法的检测精度较高,但检测速度由于RoI的存在而变得较慢。
还有另一类完全使用卷积网络来进行目标检测的算法,它们的网络结构是基于ResNets和GooLeNets等由全卷积设计的图像分类网络。但是这虽然提升了检测速度,检测精度却完全不行。为了解决这个问题,ResNet在两组卷积层中插入了一个RoI池化层,形成了一个更深的RoI-wise子网络,这么做提升了检测精度,但检测速度却下降了。
为什么会出现这种情况呢?这是因为图像识别中增长的平移不变性(translation invariance)与目标检测中的平移变换性(translation variance)之间存在矛盾。在图像识别中,基于图像级别的识别任务更侧重于平移不变性,比如移动图像中的一个目标,并不会改变图像识别的结果。因此深度卷积网络尽可能保持平移不变性是最好的,ImageNet图像分类任务也证明了这一点。在目标检测中,需要对目标位置进行表达,这在一定程度上属于平移变换性。比如,平移候选框中的一个目标,那么会得到候选框与目标重叠程度的反馈。
R-FCN由共享计算的全卷积结构组成,就像FCN那样。论文提出位置敏感分数图(position-sensitive score maps),它是通过将一些专门化的卷积层作为FCN的输出得到的,目的是将平移变换性融入FCN,每个score map相对于空间位置来对位置信息进行编码。在FCN的顶层,添加一个位置敏感RoI池化层(position-sensitive RoI pooling layer)来管理分数图中的信息,这个层后面没有其他卷积层或全连接层。整个架构的学习是端到端的,所有的可学习的层都是卷积层,并且在整个图像上共享,但是要对目标检测所需的空间信息进行编码。
在这里插入图片描述
上表比较了不同的region-based检测方法。可以看到,R-FCN中共享计算的卷积层网络是最深的,RoI-wise子网络的深度为0;而R-CNN有最深的RoI-wise子网络,但没有共享计算的卷积层。


2.R-FCN的结构

像R-CNN一样,R-FCN也是two-stage的目标检测算法:首先生成候选区域,然后对候选区域进行分类与回归。其中,用RPN生成候选区域,根据Faster R-CNN中的方法,实现RPN和R-FCN之间的权值共享。整体结构如下图:
在这里插入图片描述
R-FCN的网络结构是基于ResNet-101设计的,在ResNet-101中有一百个卷积层,后面是全局平均池化层和一个处理1000个类别的全连接层。在R-FCN中去掉了平均池化层和全连接层,只使用卷积层从输入图像中提取出特征图,但是对于ResNet-101中最后一个2048-d的卷积,要用一个随机初始化的1024-d 1×1的卷积层对其进行降维,然后添加一个通道数为 k 2 k^{2} k2 ( C + 1 ) (C+1) (C+1)的卷积层生成score maps。为什么通道数是 k 2 k^{2} k2 ( C + 1 ) (C+1) (C+1)呢? 因为最后一个卷积层要为每个类别生成 k 2 k^{2} k2个score maps,总共有 C + 1 C+1 C+1个类,因此最后一个卷积层的通道数为 k 2 k^{2} k2 ( C + 1 ) (C+1) (C+1)。RPN生成的候选区域(RoIs)被应用到score maps上。在R-FCN中,所有的可学习的层都是卷积层,并且在整个图像上共享计算,每个RoI的计算基本可以忽略。

在conv4以及它之前的所有层没有改变,但是将conv5_1中的步长由2变为1,并且conv5中所有的卷积操作改为空洞卷积,来弥补步长,即在特征图信息损失较少(特征图较大)的情况下,增大感受野。实验证明,在使用空洞卷积后,mAP提升了2.6个百分点。


3.R-FCN的实现方法

在这里插入图片描述
上图说明了R-FCN中的关键结构。图像的特征图在经过最后一个通道数为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值