一、前言
之前的Faster RCNN对Fast RCNN产生region porposal的问题给出了解决方案,并且在RPN和Fast RCNN网络中实现了卷积层共享。
但是这种共享仅仅停留在第一卷积部分,RoIpooling及之后的部分没有实现完全共享,可以当做是一种“部分共享”,这导致两个损失:1.信息损失,精度下降。2.由于后续网络部分不共享,导致重复计算全连接层等参数,时间代价过高。(另外还需要多说一句,全连接层计算量是要大于全卷积层的)
因此RFCN(Region-based fully convolutional network)试图以Faster RCNN和FCN为基础进行改进。
二、结构
2.1问题
第一个问题,如何改进不完全共享问题
FCN(Fully convolutional network)针对不完全共享问题进行了改进,即:将一般的backbone网络中用于分类的全连接层替换为全卷积层,这样一来整个网络结构均是由卷积层构成,因而称为全卷积网络。
第二个问题,目标检测的需求
很显然,目标检测问题包括两个子问题:第一是确定物体种类,第二是确定物体位置,确定物体种类时我们希望保持位置不敏感性(translation invariance也就是说不管物体出现在哪个位置都能正确分类)以及保持位置敏感性(translation variance我们当然希望不论物体发生怎样的位置变化都能确定物体位置)
这两个需求看起来比较矛盾,RFCN做出了一个折中,实际上也不算折中吧,就是这样一个问题:我们知道全卷积网络提取特征非常强,因此用于物体分类很nice,但是普通的卷积网