前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论文阅读学习 - Faster R-CNN

论文阅读学习 - Faster R-CNN

作者头像
AIHGF
修改2020-06-12 11:20:07
4750
修改2020-06-12 11:20:07
举报
文章被收录于专栏:AIUAIAIUAI

Faster R-CNN

[Paper - Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks]

[Code-Caffe]

摘要: 目标检测依赖于 region proposal 算法. Faster R-CNN 提出 Region Proposal Network(RPN),与检测网络共享整张图片的卷积特征,region proposal 计算量几乎很少. RPN 是全卷积网络,能够同时预测 object 边界和每个位置 object 的 score. RPNs 是 end-to-end 训练的,以生成高质量的 region proposals. Fast R-CNN 利用 region proposals 来进行目标检测. 基于 VGG-16,检测速率在 GPU 上是 5帧/秒.

Faster R-CNN 的基本结构

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

其大致可以包括四部分:

  • Conv Layers - 输入是 image,输出是提取的图片的 feature maps,被用作 RPN 和全连接层的共享特征;
  • RPN - 基于 feature maps 来生成 region proposals. 主要是对 anchors 采用 softmax 来确定其是 foreground 或 background,并对 anchors 进行 bounding box 回归,进而获得理想的 proposals;
  • RoI Pooling - 输入是 feature map 和 proposals,输出是提取的 proposal feature maps,被用于全连接层对类别判定;
这里写图片描述
这里写图片描述
  • Classifier - 基于 proposal feature maps 来对 proposal 的类别进行计算,并再次进行 bounding box 回归,以得到准确的 object 检测框位置.
这里写图片描述
这里写图片描述

1. Region Proposal Networks(RPN)

region-based 检测器(如 Fast R-CNN)用到的卷积特征图(feature maps),也可以用来生成 region proposals.

RPN 采用任意尺寸的图片作为输入,并输出 object proposals 的矩形框集合,每个矩形框都有一个 object score.

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

生成 region proposals 的过程:

  • 针对最后一个共享卷积层输出的 conv feature map,采用一个小网络对其平滑. 该小网络全连接到输入 conv feature map 的一个 n×n 的空间窗口(spatial window). 这里 n=3. n×n 的卷积层后接 ReLUs 层.
  • 每个滑窗被映射为一个低维向量(256-d/ZF,512-d/VGG).
  • 低维向量被输入到两个并列 1×1 的卷积层——边界框回归层(reg) 和边界框分类层(cls).

在实际网络中的 RPN 结构(VGG16-test.prototxt):

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

1.3 优化

  • RPN,全卷积网络,可以利用 SGD 和 BP 进行 end-to-end 的训练;
  • image-centric 的采样策略;
  • 每个 mini-batch 由包含许多 positive 和 negative anchors 的单张图片构成;
  • 随机采样一张图片的 256 个 anchors 来计算 mini-batch 的 loss,采样的 positive anchors 和 negative anchors 的比例为 1:1;如果一张图片的 positive anchors 少于 128,则用 negative anchors 来补全 mini-batch.
  • 采用均值为 0,方差为0.01 的 Gaussian 分布来初始化网络新加入的层;
  • 采用 ImageNet 分类任务的预训练模型来初始化其它网络层;
  • PASCAL 数据集上,前 60K 次 mini-batches,learning_rate=0.001,后 20K 次迭代,learning_rate=0.0001;
  • momentum=0.9,weight_decay=0.0005. ​

1.4 Region Proposal 和目标检测共享卷积层特征

4-step 训练算法,以通过交替优化来学习共享特征:

  • [1] - 训练 RPN;采用 ImageNet 训练模型进行网络初始化,并针对 region proposal 任务进行 end-to-end 的 fine-tuned.
  • [2] - 基于 RPN 生成的 proposals,采用 Fast R-CNN 来训练一个单独的检测网络;检测网络也是采用 ImageNet 训练模型初始化;此时,两个网络是不共享卷积层的.
  • [3] - 采用检测网络来初始化 RPN 的训练,但固定共享卷积层,只 fine-tune RPN 的网络层;现在,两个网络共享卷积层.
  • [4] - 固定共享卷积层,fine-tune Fast R-CNN 的 FC 层.

至此,两个网络共享了相同的卷积层,形成了统一网络.

2. 训练网络

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

3. 测试网络

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

Reference

[1] - 机器学习随笔 - Faster R-CNN

[2] - 机器视觉目标检测补习贴之R-CNN系列 — R-CNN, Fast R-CNN, Faster R-CNN

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Faster R-CNN
    • 1. Region Proposal Networks(RPN)
      • 1.3 优化
      • 1.4 Region Proposal 和目标检测共享卷积层特征
    • 2. 训练网络
      • 3. 测试网络
        • Reference
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档