专栏首页用户5033944的专栏RPN(Region Proposal Network)提取候选框
原创

RPN(Region Proposal Network)提取候选框

前言

RPN全称是Region Proposal Network,也可理解为区域生成网络,或区域候选网络;它是用来提取候选框的。

一、RPN的由来

在RCNN和Fast RCNN等物体检测架构中,提取候选框的方法通常是传统的Selective Search,比较耗时。

在Faster RCNN中,RPN专门用来提取候选框,这也是RPN第一次被使用;RPN耗时少。

Faster RCNN = RPN + Fast RCNN

二、RPN思路流程

RPN网络的任务是找到proposals。输入:feature map。输出:proposal。

RPN总体流程:

  1. 生成anchors(anchor boxes)。
  2. 判断每个 anchor box 为 foreground(包含物体) 或者 background(背景) ,二分类;softmax分类器提取positvie anchors 。
  3. 边界框回归(bounding box regression) 对 anchor box 进行微调,使得 positive anchor 和真实框(Ground Truth Box)更加接近。
  4. Proposal Layer生成proposals。

三、feature maps与锚框 anchor boxes

feature maps 的每一个点都配9个锚框,作为初始的检测框。重要的事说三遍:

锚框作为初始的检测框!、 锚框作为初始的检测框!、 锚框作为初始的检测框!

虽然这样得到的检测框很不准确,但后面可通过 bounding box regression 来修正检测框的位置。

下面介绍那9个anchor boxes 锚框,先看看它的形状:

这里一共有9个框框,绿色3个,红色3个,蓝色3个。有3种形状,长宽比分别是1:1, 1:2, 2:1

四、判断anchor boxes是否包含物体

在feature map上,设置了密密麻麻的候选anchor boxes 锚框。为什么会有这么多?因为 feature maps 的每一个点都配9个锚框,如果一共有1900个点,那一共有1900*9=17100个锚框了。

设 feature maps 的尺寸为 W*H,那么总共有 W*H*9个锚框。(W:feature maps的宽;H:feature maps 的高。)

然后用cnn去判断哪些anchor box是里面有目标的positive anchor,哪些是没目标的negative anchor。所以,RPN做的只是个二分类。

关于cnn的模型结构,可以参考下图:

五、修正边界框

已知anchor box 包含物体称为positive anchors,那怎么调整,才能使得 anchor box 与 ground truth 更接近?

图中红框为positive anchors,绿框为真实框(Ground Truth Box,简称GT)

positive anchors 和GT的梯度可以有dx, dy, dw, dh四个变换表示,bounding box regression通过线性回归学习到这个四个梯度,使positive anchors 不断逼近GT,从而获得更精确的proposal。

bounding box regression 思路,简单一点的,可以先做平移,再做缩放,最终包含物体anchor box和真实框很接近。

六、Proposal(最有可能包含物体的区域)

通过上面的判断anchor boxes是否包含物体,对有物体的anchor boxes通过回归进行修正它的尺子,最终包含物体anchor box和真实框很接近。RPN会输出一些框框,和这些框框包含物体的概率。

总结一下,Proposal 的输入有三个:

  • softmax 分类矩阵
  • Bounding Box Regression 坐标矩阵
  • im_info 保存了缩放的信息

输出为:

  • rpn_rois: RPN 产生的 ROIs (Region of Interests,感兴趣的区域)
  • rpn_roi_probs: 表示 ROI 包含物体的概率

RPN 只挑选出了可能包含物体的区域(rpn_rois)以及其包含物体的概率(rpn_roi_probs)。在后续处理中,设定一个阈值 threshold,如果某个ROI包含物体的概率的概率大于阈值,再判断其类别;否则直接忽略。

参考:https://zhuanlan.zhihu.com/p/106192020https://zhuanlan.zhihu.com/p/31426458

https://www.cnblogs.com/Terrypython/p/10584384.html

本文只提供参考学习,谢谢。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深度学习目标检测算法——Faster-Rcnn

    Faster-Rcnn代码下载地址:https://github.com/ShaoqingRen/faster_rcnn 一 前言   Faster rcnn是...

    深度学习思考者
  • 【个人整理】faster-RCNN的背景、结构以及大致实现架构(一)

    前言:faster-RCNN是区域卷积神经网络(RCNN系列)的第三篇文章,是为了解决select search方法找寻region proposal速度太慢的...

    小草AI
  • 深度学习——目标检测(2)Fast-RCNNFASTER RCNNRCNN网络的演进

    前言:RCNN虽然能进行目标检测,但检测的精确度,尤其是速度方面太慢了,没秒才0.03帧。在RCNN基础上做了改进就有了FAST RCNN和FASTER RCN...

    DC童生
  • 重温目标检测--Faster R-CNN

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

    用户1148525
  • 目标检测领域笔记一:四种算法入门与优缺对比

    RCNN-> SPP net -> Fast RCNN -> Faster RCNN

    我在鹅厂做安全
  • 02. OCR学习路径之文本检测(上)Faster R-CNN算法简介

    由于目前已经几乎不再使用传统的方法来做OCR,后续我们主要分享基于深度学习的OCR算法。该算法一般需要训练两个模型,一个是文本检测模型,一个是文字识别模型。

    Aalto
  • R-CNN目标检测第三弹(Faster R-CNN)

    今天,重看了 R-CNN 的终极改进版本 Faster R-CNN(NIPS 版)-本文提到的paper,若为特别指明,说的就是此版本。 先说一个学术趣事吧,...

    用户1332428
  • 论文阅读学习 - Faster R-CNN

    [Paper - Faster R-CNN: Towards Real-Time Object Detection with Region Proposal N...

    AIHGF
  • 经典论文解读 : Faster R-CNN,RPN网络的诞生

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

    唐国梁Tommy
  • 论文阅读理解 - R-FCN: Object Detection via Region-based Fully Convolutional Networks

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

    AIHGF
  • 目标检测系列之二(R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN)

    目标检测系列之二(R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN)

    Minerva
  • 目标检测资源总结

    blog.csdn.net/l7H9JA4/article/details/79620247

    用户3578099
  • 基础知识 | 目标检测中Anchor的认识及理解

    从上图可以看出其框架做了很多重复的计算,在第二步之后,如果有2k个proposals,那后面就要执行2k边,太低效。于是,出现了改进的SSP-Net,如下图:

    计算机视觉研究院
  • 论文阅读: Faster R-CNN

    RP原本主要用SS (Selective Search) 来生成,只能在CPU上跑。一张图片生成~2,000个proposal,效率0.5fps,实在太慢。 ...

    JNingWei
  • 【深度学习】从R-CNN到Mask R-CNN的思维跃迁

    发现之前写R-CNN系列的文章,侧重于结构设计层面的,比较零散,我写一个侧重于从R-CNN到Mask R-CNN设计思路是如何演变的,对R-CNN、Fast R...

    黄博的机器学习圈子
  • Faster R-CNN

    Fast-RCNN基本实现端对端(除了proposal阶段外),下一步自然就是要把proposal阶段也用CNN实现(放到GPU上)。这就出现了Faster-R...

    用户1908973
  • 目标检测

    A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detectio...

    用户1148525
  • 无人机数车--Drone-based Object Counting by Spatially Regularized Regional Proposal Network

    Drone-based Object Counting by Spatially Regularized Regional Proposal Network ...

    用户1148525
  • R-CNN,Fast R-CNN,Faster-RCNN快速理解

    检测资源合集http://objectdetection.cn/2018/05/14/awesome-object-detection/

    水球喵子

扫码关注云+社区

领取腾讯云代金券