RPN(Region Proposal Network)

学习RPN前最好先过一遍RCNN和Fast RCNN,本文的图来自原论文和bvBV1af4y1m7iL,有纰漏之处欢迎在评论区指出

RPN什么用?

RPN module tells the Fast R-CNN module where to look.

PRN takes an image of any size and predicts object bounds and object scores at each position.

RPN怎么生成region proposals?

ROI在原图上
在骨干网络输出的feature map上用一个小的n * n滑动窗口(filter,论文中n=3,ZF感受野:171,VGG感受野:228)滑动,

每个滑动窗口的输出特征会被降维成一维向量(ZF:256-d,VGG:512-d),

之后送进两个并联的FCN:box-regression layerreg)和box-classfication layercls),filter大小为1*1。

接下来介绍anchors。

Anchors

在每个滑动窗口会同时预测多个region proposals,每个位置最多有k个anchor boxes(论文k=9),cls有2k个scores,reg有4k个coordinates。k个候选框是相对于k个参照框参数化的,参照框称为anchor(box)。

cls有2k个scores,reg有4k个coordinates(坐标)。

cls中每2个值为一组,对应一个anchor box,两个值一个是为背景的概率一个是为前景的概率。

reg中每4个值为一组,对应一个anchor box,4个值分别为中心坐标、box的宽和高。

anchor在滑窗的中心,anchor box的面积和高宽比有三种(见下图),所以在每个滑动的位置有k=9个anchor boxes(见下图)。对于一个大小为W * H的feature map,共有W * H * K个anchor boxes(filter=3 * 3,s=1,padding=1)。

size大于感受野也可以准确预测物体在实验中得到过验证的,类似窥一斑而知全豹。

上图9个anchor box

非极大值抑制

1.对候选框得分进行排序,选取最高分,遍历其他框,和最高分框重叠面积大于阈值就删除

2.从没处理的框中选取最高分,repeat

最后剩的2000个候选框给fast rcnn

Loss Function

1.为每个anchor分配一个binary class label来判断是不是要检测的物体。

正样本和负样本的采集(训练数据采样):

给两类anchor boxes分配正标签(正样本):

​ 1.anchor box中和ground-truth box有最高的IoU。(情况比较少,但下面2的情况可能找不到一个正样本,1就后备使用)

​ 2.anchor box和任意一个ground-truth box的IoU超过0.7。(情况多)

负样本:和任意一个ground-truth box的IoU低于0.3。

0.3-0.7之间的anchor boxes丢弃

2.RPN损失函数如下:

i:mini-batch中一个anchor的index

pi:第i个anchor是前景预测概率

pi*:ground-truth label,当anchor box是正样本为1,负样本为0

ti:向量,表示第i个anchor的predicted bounding-box的参数化坐标,针对原图

ti*:表示第i个正anchor对应的ground-truth box

Ncls:mini-batch size,256

Nreg:anchor 位置个数(2400,不是anchor box的个数,anchor box个数还要乘上k)

λ:balancing parameter(?),=10

上式赋值后可以粗略化简

分类损失(图来自bvBV1af4y1m7iL):

回归损失:Lreg前乘上pi * 表示这个regression loss 只在正样本时使用(pi * =1)

对于边界框回归,4个参数化坐标转化关系示如下:

x、y、w、h分别代表predicted box(最终调整过的的box)的中心坐标、宽和高

xa、ya、wa、ha分别代表anchor box的中心坐标、宽高

x *、y *、w * 、h * 分别代表ground-truth box的中心坐标、宽高

平移量tx、ty、尺度因子tw、th都是直接通过回归器预测出来的predicted bounding-box,不是算的

获取完两个层的输出就可以算Loss反向传播了

边界框回归器见下图(用来回归修正predicted box):

用途:

this can be thought of as bounding-box regression from an anchor box to a nearby ground-truth box.

训练

RPN(Region Proposal Network)相关推荐

  1. 目标检测方法简介:RPN(Region Proposal Network) and SSD(Single Shot MultiBox Detector)

    原文引用:http://lufo.me/2016/10/detection/ 最近几年深度学习在计算机视觉领域取得了巨大的成功,而在目标检测这一计算机视觉的经典问题上直到去年(2015)才有了完全使用 ...

  2. RPN(Region Proposal Network)提取候选框

    前言 RPN全称是Region Proposal Network,也可理解为区域生成网络,或区域候选网络:它是用来提取候选框的. 目录 一.RPN的由来 二.RPN思路流程 三.feature map ...

  3. High Performance Visual Tracking with Siamese Region Proposal Network全文翻译

    摘要   近年来,视觉对象跟踪一直是一个基本主题,许多基于深度学习的跟踪器在多个基准测试中取得了最先进的性能.然而,这些跟踪器中的大多数很难以实时速度获得最佳性能.在本文中,我们提出了 Siamese ...

  4. 论文阅读:Saliency-Guided Region Proposal Network for CNN Based Object Detection

    论文阅读:Saliency-Guided Region Proposal Network for CNN Based Object Detection (1)Author (2)Abstract (3 ...

  5. High Performance Visual Tracking with Siamese Region Proposal Network 论文学习

    文章目录 论文阅读总结 Translation Abstract 1 Introduction 2 Related Works 2.1 Trackers based on Siamese networ ...

  6. 走进VOT--《High Performance Visual Tracking with Siamese Region Proposal Network》阅读翻译

    前言:siamRPN是Siamfc之后的又一突破.SiamFC的缺点: Siamese的方法只能得到目标的中心位置,但是得不到目标的尺寸,所以只能采取简单的多尺度加回归,这即增加了计算量,同时也不够精 ...

  7. CVPR 2018 Siam-RPN:《High Performance Visual Tracking with Siamese Region Proposal Network》论文笔记

    理解出错之处望不吝指正. 本文模型叫做Siam-RPN.本文将Siamese Network和RPN结合,提出了一种端到端的离线训练方法,并把tracking过程视为one-shot detectio ...

  8. 目标检测中Regional Proposal到底是什么,RPN和Region Proposal、Proposals三者联系

    候选区域-Region Proposal 目标检测是计算机视觉当中很重要的一个任务,不仅要识别出图像中包含物体的类别,还要对各个物体进行较精确的定位,定位的方式为给出一个包含该物体的框. 简单来说就是 ...

  9. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks(更快的RCNN:通过区域提议网络实现实时)

    原文出处 感谢作者~ Faster R-CNN: Towards Real-Time Object Detection with Region ProposalNetworks Shaoqing Re ...

最新文章

  1. 工业计算机是服务器吗,工控机服务器能通用吗_服务器和工控机有什么区别
  2. 处理android11以上无法删除相册图片的问题
  3. 函数参数-函数参数的使用以及作用
  4. mysql 5.5 主从同步_Windows下mysql5.5主从同步
  5. linux内存管理简介,Linux操作系统的内存管理特性简介 (3)
  6. 数据结构 算法与应用C 语言描述答案,数据结构算法与应用-C语言描述.pdf
  7. 程序员为什么爱穿格子衫和卫衣?
  8. 用CONVERT命令转换FAT到NTFS,合适吗?
  9. php 字母数字混合排序,JavaScript_基于JS实现数字+字母+中文的混合排序方法,在上篇文章给大家介绍了JavaScr - phpStudy...
  10. 避免无法预知和依赖于实现环境的行为
  11. HITS 算法(Hypertext Induced TopicSelection)
  12. 人口会一直增长下去吗_想要一直美下去?护肤雷区你避开了吗?
  13. android可以设计的软件,不懂APP如何设计?送你10条Android设计原则
  14. 流媒体相关资源下载地址(整理)
  15. 阿里2018届实习生内推经历
  16. Mysq连接l数据库有效文章
  17. noip 2015 pj 普及组 第四题 推销员 salesman
  18. 巴比特观察丨CryptoPunks再次爆火,幕后推手找到了!
  19. Res2Net 算法的介绍
  20. 自己刚学html的时候记得笔记,别嫌丑,我就是这么学过来的

热门文章

  1. windows服务器搭建原神私服教程(附客户端+服务端+环境配置)
  2. 联奕“云计算”数字校园整体解决方案,让高校云计算不再是“浮云”
  3. 犀思云|让专线连接世界
  4. 2022-7-28 第八组wly 各种类
  5. 读书笔记:mini-batch学习 ← 斋藤康毅
  6. TMR磁传感器应用笔记|安防报警篇
  7. HDMI(三):VGA
  8. 关于数字化校园建设的一些思考
  9. 无人驾驶传感器------毫米波雷达
  10. Oauth2与Spring Security