论文阅读理解 - R-FCN: Object Detection via Region-based Fully Convolutional Networks

2020-06-12 10:50:51 浏览数 (1)

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

  • Paper
  • Code

摘要

  • 全卷积网络,全部是卷积层,移除了最后的全连接层(fc).
  • 几乎所有的计算都是在整张图像上共享的.
  • position-sensitive score maps 位置敏感分数图, 平衡图像分类所需的平移不变性和目标检索所需的平移变化性间的矛盾.

Introduction

目标检测的框架根据ROI pooling 层可以分为两个子网络: - 共享的,全卷积子网络,独立于ROI; - 各个ROI子网络,不共享计算

图像分类中,要求网络对于平移不变性越强越好,比如图像中的猫,不管平移到图像的哪个位置,仍是猫; 目标检测则要求网络对平移变化越敏感越好,需要平移变化来定位图像中目标位置.

一般假设在图像分类网络中,网络卷积层越深, 网络的加深,使得其对位置信息的保留越来越少,对平移变化越不敏感. 但目标检测需要对图像中目标的位置信息能较好的感知.

在ResNet-101做目标检测的框架中,是将ROI pooling层插入到前面的卷积层,其后面的卷积层不共享计算,降低了平移不变性,ROI后的卷积层对不同的区域块不再具有平移不变性. 该方法引入了相当数量的逐区域层.

提出R-FCN(Region-based Fully Convolutional Network )框架,解决目标检测任务: - R-FCN是共享的、全卷积网络结构 - 采用指定的卷积层的输出,来构建 position-sensitive score maps 集合. 各个score map分别编码了对于某个相对空间位置的位置信息,如物体的左边(to the left of an object). - 在FCN网络层的上面,添加一个位置敏感的ROI pooling 层,来处理来自score maps的信息, 后面不需要权重层(conv/fc). - End-to-end - 所有的训练层都是卷积层,在整张图像上共享计算

R-FCN

two-stage 目标检测策略: - region proposal 候选区域 - region classification 区域分类

  • 采用RPN(Region Proposal Network)网络提取候选区域,RPN是全卷积网络结构. R-FCN和RPN共享特征.
  • 给定候选区域(ROIs),R-FCN网络将ROIs分类到不同的物体类别和背景.
  • position-sensitive RoI pooling 层根据最后一个卷积层来学习特定的position-sensitive score maps. 如Figure 1所示. 产生score map之后,再根据proposal产生一个长宽各为k,channel数目为C 1的score map。具体产生score map的方法是,假如k=3,C=20,那么score map的20个类每个类都有3×3的feature,一共9个格子,每一个格子都记录了空间信息。而这每一个类的每一个格子都对应前面那个channel数为3×3×21的大map的其中一个channel的map。现在把score map中的格子对应的区域的map中的信息取平均,然后这个平均值就是score map格子中的值。最后把score map的值进行vote(avg pooling)来形成一个21维的向量来做分类即可. 当分类正确时,该类通道的位置敏感分数图 (中间) 的大多数橙色实线网格内的响应在整个 RoI 位置范围内最强. [忘了从哪里看到的了,找到了补上参考链接]. Figure3 和 Figure4 给出了一个示例.

基础网络结构

  • 如果与 ground-truth box 的 IoU 大于 0.5的ROIs,设为positive examples; 小于0.5,设为negative examples.
  • 单尺度训练(single-scale training),将图像裁剪为最短边为 600 pixels的尺寸
  • 单个GPU训练一张图片,共8GPUs,选取 B=128B=128B=128 个 ROIs作为备选.
  • fine-tune R-FCN,weight_decay = 0.0005, momentum=0.9,20K次 mini-batches的 lr=0.001, 10K次mini-batches的 lr=0.0001.

推断

如Figure 2 所示. - 输入图像是单尺度的,尺寸为 600×600 - RPN和R-FCN的 feature map是计算是共享的 - RPN 提取 ROIs,R-FCN 估计各个类的 scores,以及回归边界框. - 最后进行 NMS(non-maximum suppression) 后处理,IoU 阈值为 0.3.

À trous and stride

  • R-FCN 继承了FCN的网络的特点
  • R-FCN 将 ResNet-101 的有效步长由 32 pixels 减少到 16 pixels,以增加 score map 的分辨率
  • 在 conv4 stage之前的网络层保持不变(stride=16)
  • 第一个 conv5 网络块的步长由 stride=2 修改为 stride=1,所有 conv5 stage的卷积 filters 根据 “hole algorithm” 进行修改,以补偿减少的步长.

可视化

如 Figure 3 和Figure 4,图示了当 k×k=3×3k×k=3×3k×k=3×3时,由 R-FCN 学习得到 position-sensitive score maps. - 这些得到的 maps 应该对于物体的相对位置具有较强的响应. 例如,“top-center-sensitive” 对于物体的 top-center 附近的位置应该具有high socre. - 如果候选 box 能够与真实物体重叠较精确,如Figure 3, 则ROI的 k2k2k^2 个单元格中的大部分被激活,且得到的投票分数较高. - 如果候选 box 与真实物体不能正确重叠,如Figure 4,则ROI 的 k2k2k^2 个单元格中的一些是不被激活的,且投票分数较低.

Result

相关

  • R-FCN:基于区域的全卷积网络来检测物体
  • R-FCN: Object Detection via Region-based Fully Convolutional Networks

0 人点赞