【R-FCN】《R-FCN: Object Detection via Region-based Fully Convolutional Networks》

提出R-FCN,一种全卷积目标检测方法,利用位置敏感得分图提高检测速度和精度,达到2.5-20倍于Faster R-CNN的速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

NIPS-2016



1 Motivation

Faster RCNN two stage :fully convolutional subnetwork + RoI-wise subnetwork apply a costly per-region subnetwork hundreds of times.

为了进一步提速,作者用 fully convolutional with almost all computation shared on the entire image. 减少头部的计算时间,

但是呢,如果简单的把 fully connected(Alex、VGG)层换成 fully convolutional (ResNet、GoogleNet)会导致 inferior detection accuracy that does not match the network’s superior classification accuracy,这是因为 image-level classification task favors translation invariance 但是 object detection task needs localization representations that are translation-variant to an extent,会有冲突。

ResNet的做法是 creates a deeper RoI-wise subnetwork ,虽然提高了精度,但是速度有所下降 due to the unshared per-RoI computation.(越深的网络对位置信息越不敏感,所以 resnet 把 roi poolng 操作提前了,放在 conv 之间而不是最后一个 conv,这样头部就能保留更多的对位置敏感的信息,代价就是,头部计算量会增加,因为不共享计算——参数是共享的,但每个 roi 的计算是独立的,roi 是有重叠区域的,可以理解为重叠区域的计算是重复了)

本文的目的就要想办法解决这种冲突

2 Innovation

在faster RCNN 的基础上 propose position-sensitive score maps to address a dilemma between translation-invariance in image classification and translation-variance in object detection.

3 Advantages

  • region-based detector is fully convolutional with almost all computation shared on the entire image
  • 2.5-20× faster than the Faster R-CNN counterpart
  • 83.6% mAP on the PASCAL VOC 2007,82.0% the 2012

4 Methods

faster rcnn 头部不是 shared。这里的头部是 shared

4.1 Structures

  • Backbone:ResNet101 = convolutional layers(100) + average pooling + 1000-class fc layer,作者只用100个convolutional layer来提取 feature map

  • Position-sensitive score maps & Position-sensitive RoI pooling

最后一层 convolutional layer 的 channel 设计为 k 2 ( C + 1 ) k^2(C+1) k2C+1,C是类别数量

我们把score maps 上的 RoI 分成 k*k 个bins
这里写图片描述

ROI pooling 操作如下,

  • r c ( i , j ) r_c(i, j) rc(i,j) is the pooled response in the ( i , j ) − t h (i,j)-th (i,j)th bin for the c − t h c-th cth category
  • Θ \Theta Θ denotes all learnable parameters of the network
  • z i , j , c z_{i,j,c} zi,j,c is one of score map out of the k 2 ( C + 1 ) k^2(C+1) k2(C+1) score maps
  • ( x 0 , y 0 ) (x_0,y_0) (x0,y0) denotes the top-left corner of an RoI
  • n n n is the number of pixels in the bin

需要注意的是,pooling 后的第 i,j,c-th bin 是由 第 i,j,c-th score map对应的第 i.j bin 累加得到 ,也即是各类中每个 score maps 只 pooling 某一个bins,比如白色的 score maps 只对右下角部分的像素进行操作。
这里写图片描述
再来一张
在这里插入图片描述

作者 address bbox regression in a similar way, feature map 通过 4 k 2 4k^2 4k2 channel 的 conv 产生 4 k 2 4k^2 4k2 channel 的 score maps,然后 producing a 4 k 2 4k^2 4k2-d vector for each RoI,接着 vote 成 4-d vector,表示 ( t x , t y , t w , t h ) (t_x,t_y,t_w,t_h) txtytwth,这种情况是 class-agnostic,对于 class-specific 来说, 4 k 2 ∗ C 4k^2*C 4k2C 即可。

4.2 train

4.3 inference

  • 300 RoI
  • non-maximum suppression:0.3

4.4 À trous and stride

ResNet 101 中, stage 1-4 unchanged,stage 5 中,把第一个 stride = 2 的conv 变成1,然后用 À trous to compensate for the reduced stride

这样 ResNet stride from 32 to 16,提高了 score maps 的分辨率

提升效果如下,2.6 个 点

这里写图片描述

4.5 Visualization

如果每个bins 的响应都很高,vote 后的 score 会很高,反之,则 low
这里写图片描述

5 Experiments

5.1 Experiments on PASCAL VOC

5.1.1 验证结构的效果

  • training :07+12

  • test:07
    这里写图片描述

  • Standard Faster RCNN:76.4% mAP,RoI pooling 插入 stage4 和 stage5之间(见文章最后的 Faster RCNN-RES101 结构图)

  • naive Faster RCNN:RoI pooling after conv5,an inexpensive 21-class fc layer is evaluated on each RoI,为了对比的公平,用了 À trous trick

  • class-specific RPN:RPN 的二分类(object or not)换成了 21 类,也用了À trous trick

  • R-FCN(without position-sensitivity)k = 1,相当于 global pooling within each RoI

5.1.2 与Faster RCNN pk,速度和精度,kk = 77

  • 单技能释放PK
    mining from a larger set of candidates has no benefit,所以作者采用 RoI = 300 (both training and inference)
    这里写图片描述

  • 组合拳PK
    这里写图片描述

Faster R-CNN +++ 就是 ResNet 论文里面的 Box refinement + Global context + Multi-scale testing

5.1.3 Impact of Depth

这里写图片描述

5.1.4 Impact of Region Proposals

这里写图片描述

5.2 Experiments on MS COCO

R-FCN vs Faster RCNN 不打组合拳是 R-FCN厉害,组合后 Faster RCNN 厉害,但是 R-FCN 会快很多
这里写图片描述

6 总结

去掉头部 fc,但是损失了定位能力,作者设计了 position sensitive score map 配合 pooling vote 来弥补提速后带来定位性能的丢失


Faster RCNN-RES101 结构图

这里写图片描述

参考

【1】R-FCN论文阅读(R-FCN: Object Detection via Region-based Fully Convolutional Networks )
【2】详解R-FCN - 麦田守望者的文章 - 知乎 https://zhuanlan.zhihu.com/p/30867916

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值