# R-FCN

## R-FCN思路

前面的目标检测方法都可以细分为两个子网络：共享的全卷积网络和不共享计算的与RoI相关的子网络（比如全连接网络）。

R-FCN将最后的全连接层之类的换成了一个位置敏感的卷积网络，从而让所有计算都可以共享。具体来说，先把每个提名区域划分为 $$k\times k$$ 个网络，比如R-FCN原论文中 $$k$$ 的取值为3，则对应的9个网格分别表示左上、上中...右下，对应于figure3、4中的九宫格及figure2中的不同颜色的块，每个网络都有对应的编码，但预测时会有 $$C+1$$ 个输出， $$C$$ 表示类别数量， $$+1$$ 是因为有背景类别，全部的输出通道数量为 $$k^2\times(C+1)$$ 。

![](https://686859917-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LK1Q5wVABDXPa7Mueaw%2F-LWTltOc4sppB87x8UoR%2F-LWU-8qgB-8JT0UuJ29o%2FTimLine%E6%88%AA%E5%9B%BE20190118112808.png?alt=media\&token=22755565-ece8-4809-ae1f-c75f1c70ac33)

![](https://686859917-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LK1Q5wVABDXPa7Mueaw%2F-LWTltOc4sppB87x8UoR%2F-LWU-JN6rdejYlm4aaoO%2FTimLine%E6%88%AA%E5%9B%BE20190118112857.png?alt=media\&token=e820685e-423c-4879-850b-bf396df15663)

![](https://686859917-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LK1Q5wVABDXPa7Mueaw%2F-LWTltOc4sppB87x8UoR%2F-LWU2PbBqqmPCYYW9gfe%2FTimLine%E6%88%AA%E5%9B%BE20190118114208.png?alt=media\&token=9f9c834b-d474-4d5a-8906-f069776d3b42)

![](https://686859917-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LK1Q5wVABDXPa7Mueaw%2F-LWTltOc4sppB87x8UoR%2F-LWU2RNrUw5fD9r8z-_K%2FTimLine%E6%88%AA%E5%9B%BE20190118114228.png?alt=media\&token=fc9d8ebf-5371-4af3-85f6-cc916bbb7267)

需要注意的是，figure3、4和figure2中的不同位置都存在一个九宫格，但是池化时只有一个起作用，比如bottom-right层只有右下角的小块起作用。那么问题来了，这一层其他的8个框有什么作用呢？答案是它们可以作为其他RoI（偏左或偏上一些的RoI）的右下角。

## R-FCN步骤

（1）区域提名：使用RPN（Region Proposal Network，区域提名网络），RPN本身是全卷积网络结构的

（2）分类与回归：利用和RPN共享的特征进行分类。当进行bbox回归时，则将 $$C$$ 设置为4。

## Source

{% embed url="<https://arxiv.org/abs/1605.06409>" %}
