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

原文链接

[1506.01497] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks (arxiv.org)

Abstract

当时的物体检测网络依靠候选区生成算法来猜测物体位置。SPPnet与Fast RCNN降低了检测部分的运行时间,但是却暴露出了候选区生成算法十分耗时这一瓶颈。Faster RCNN提出了候选区生成网络(RPN:Region Proposal Network),RPN能够和检测网络共享全图的卷积特征,从而让候选区生成几乎不消耗多余的时间。RPN是一个能够同时产生边框坐标信息和分类置的信度全卷积网络。RPN通过端到端的训练可以为后续的Fast RCNN生成更高质量的候选区,并且通过简单的交替优化可以让两个网络共享部分卷积层参数。

Introduction

Fast RCNN在检测网络已经几乎达到了能够满足实时检测的速度,但候选区生成运算需要消耗大量时间的问题仍是一个瓶颈。问题在于Selective Search的方法计算量大且需要使用CPU来计算。

本文中提出的RPN是全卷积网络,能够和检测网络共享卷积层参数,从而只需要很少的额外运算量。为了将RPN和Fast RCNN统一在一起,作者提出了交替微调两个网络参数的训练方法。

Region Proposal Networks

RPN网络可以接受任意大小的图像作为输入,输出目标的矩形候选框(Region Proposal)的集合,每个候选框均有一个目标得分。

为生成Region Proposal:使用滑动窗口在Conv feature map上滑动,生成一个一维的向量(256-d大小)。再通过两个1*1全卷积层(cls layer 和 reg layer)输出目标分类的概率与边界框回归参)。(细节如下图)

RPN示意图

Translation-Invariant Anchors

Faster-RCNN中的Anchors由三种尺度(128128,256256,512512)及三种比例(1:1,1:2,2:1),所以每个位置在原图上有9个anchor box。对于一张1000x600x3的图像,大约有60x40x9(20k)个anchor(6040为特征图大小),忽略跨越边界的anchor以后,剩下约6k个anchor。对于RPN生成的候选框之间存在大量重叠,基于候选框的cls得分,采用非极大值抑制,IoU设为0.7,这样每张图片只剩2k个候选框。

A Loss Function for Learning Region Proposals

取和确知框IOU最高的和大于0.7的anchor标记为正例,小于0.3的为负例,其余的对计算损失函数不产生贡献。

损失函数定义为

其中i是anchor的索引,pi是对anchor的分类置信度,pi*是确知分类置信度(正例为1,负例为0),ti是边框坐标参量化的四个值,ti*表征确知框的参量,Lclass使用log loss,Lreg使用smooth L1 loss,只有作为正例时(pi*≠0)Lreg才对损失计算有贡献。两部分损失由{pi}, {ti}分别计算,并由NclassNreg归一化,λ为二者的平衡参量。

边框坐标参量化映射关系为

其中(x,y)为边框的中心坐标,(w,h)为宽和高,(tx, ty,tw,th)为网络的输出,xa,ya,wa,ha为anchor预设的中心坐标和宽高。

除此之外,Faster RCNN中采用的BBox回归与SPP及Fast RCNN中的不同。在Faster RCNN中,用作回归的特征图是相同尺寸的,但k个不同的回归元参数独立不共享,从而可以从相同的特征图中识别出不同大小的物体。

Optimization

RPN作为全卷积网络,可以使用随机梯度下降和反向传播进行端到端训练。采用“以图片为中心”的采样策略,一个小批次的输入来自于一张图片所包含的正例与负例anchor。为了解决负例占多数的问题,使一个批次中随机采样的256个anchor正例与负例的比例为1:1,当正例不足128时在用多的负例补充。

Sharing Convolutional Features for Region Proposal and Object Detection

同时训练两个网络时的问题在于,Fast RCNN需要用到RPN的输出结果,因此无法在RPN的参数还未确定时训练Fast RCNN。为了解决这一问题,作者提出了四步交替优化的训练算法:

第一步:训练RPN

第二步:利用第一步生成的RPN参数训练Fast RCNN

第三步:使用检测网络的参数来训练RPN,但是保持共享的卷积层参数不变,只改变RPN独占的参数

第四步:保持共享卷积层参数不变,只微调Fast RCNN的全连接层参数

Faster RCNN论文总结相关推荐

  1. faster rcnn论文_【论文解读】精读Faster RCNN

    Faster R-CNN论文链接: Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 推荐代 ...

  2. 【Faster R-CNN论文精度系列】从Faster R-CNN源码中,我们“学习”到了什么?

    [Faster R-CNN论文精度系列] (如下为建议阅读顺序) 1[Faster R-CNN论文精度系列]从Faster R-CNN源码中,我们"学习"到了什么? 2[Faste ...

  3. (目标检测)Faster R-CNN 论文解读+复现

    Faster R-CNN xyang 声明:本篇文章借用了他人理解,如有侵权,请联系,另如需转载,请注明出处 关于最新最全的目标检测论文,可以查看awesome-object-detection &l ...

  4. 目标检测——Faster R-CNN论文阅读

    论文阅读--Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks 文章目录 论文阅读--Faste ...

  5. faster rcnn论文_faster-rcnn论文思路及代码编译

    先给出全套的程序及参考文献链接: https://github.com/facebookresearch/Detectron​github.comhttps://github.com/rbgirshi ...

  6. Faster R-CNN论文笔记——FR

    转载自:http://blog.csdn.net/qq_17448289/article/details/52871461 在介绍Faster R-CNN之前,先来介绍一些前验知识,为Faster R ...

  7. Faster R-CNN论文及源码解读

    R-CNN是目标检测领域中十分经典的方法,相比于传统的手工特征,R-CNN将卷积神经网络引入,用于提取深度特征,后接一个分类器判决搜索区域是否包含目标及其置信度,取得了较为准确的检测结果.Fast R ...

  8. Faster R-CNN论文详解

    原文链接:http://lib.csdn.net/article/deeplearning/46182 paper链接:Faster R-CNN: Towards Real-Time Object D ...

  9. 最详细的Faster RCNN论文笔记

    个人博客:http://www.chenjianqu.com/ 原文链接:http://www.chenjianqu.com/show-76.html 论文:Shaoqing Ren, Kaiming ...

  10. 经典神经网络 | Faster R-CNN论文解析

    论文题目:Faster R-CNN: T owards Real-Time Object Detection with Region Proposal Networks 论文链接:https://ar ...

最新文章

  1. mediav聚效广告代码片段
  2. Ubuntu下内存泄露检测工具Valgrind的使用
  3. c# 网站在服务器上第一次请求都需要耗时很久,最.net面试题目.doc
  4. 巧妙启用Windows 2003的远程桌面
  5. C语言学习之分别用while、for 编写程序,计算2*4*6*......*100的值
  6. 数据结构:二叉查找树 BST 平均查找长度 ASL 的计算
  7. Cacti使用配置及FAQ
  8. 在Sql Server 2005使用公用表表达式CTE简化复杂的查询语句
  9. MySQL事务隔离级别解密
  10. C++函数指针和仿函数【转】
  11. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第4节 方法引用_3_方法引用_通过类名引用静态成员...
  12. 三星研究院:发现腾讯的“阿喀琉斯之踵”,互联网营销
  13. Excel 2010启用宏
  14. 宅男也可变形男-我是如何在11个月零27天减掉80斤的
  15. FreeTextBox编辑框遇到的问题
  16. 安徽师大附中%你赛day2T3 巧克力 解题报告
  17. 什么是电线老化?如何辨别?
  18. 个人腾讯云服务器的搭建
  19. python 报错:UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xa5‘ in position 65
  20. 网页视频倍速播放的方法

热门文章

  1. 机器学习基石 5.4 Break Point
  2. 三级等级保护之安全管理中心
  3. 【Python游戏】Python基于pygame和random模块开发的一个拼图小游戏 | 附带源码
  4. 学习 Java,使用哪个版本最好
  5. python 答题辅助_答题辅助python代码实现
  6. Spring Bean的生命周期(一图看懂bean生命周期)
  7. Sparksql练习题
  8. 通信电子线路高如云pdf_通信电子线路 第三版 教学课件 高如云 封面及目录.pdf...
  9. 【C语言】入门基础选择题附答案
  10. xbox one 手柄按键测试软件,Xbox One手柄映射工具(ReWASD)