前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论文阅读理解 - R-FCN: Object Detection via Region-based Fully Convolutional Networks

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

作者头像
AIHGF
修改2020-06-12 10:50:51
8920
修改2020-06-12 10:50:51
举报
文章被收录于专栏:AIUAIAIUAI

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

摘要

  • 全卷积网络,全部是卷积层,移除了最后的全连接层(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

这里写图片描述
这里写图片描述

相关

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年06月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • R-FCN: Object Detection via Region-based Fully Convolutional Networks
    • 摘要
      • Introduction
        • R-FCN
          • 基础网络结构
          • 推断
          • À trous and stride
          • 可视化
        • Result
          • 相关
          相关产品与服务
          图像识别
          腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档