Fast rcnn在cpu上用ss提取region proposal,将提取的region proposal用于cnn提取特征。为了将提取region proposal的部分转移到gpu进行操作,作者将cnn可以用来提取特征想法与提取region proposal结合起来,将提取的特征映射回原图提取proposal。

Faster Rcnn的整个流程图如下

一、RPN(region proposal network)

1.将输入图像进行reshape成MXN (800X600),并将reshape的信息储存到 im_info

2.将reshape后的图像输入到conv layer提取Feature Map(800/16  X600/16 = 50 X 38,下采样16次)

3.将Feature Map进行sliding window式的多通道图像卷积(filter = 3),历遍每一个点。

具体是将每一个点映射回MXN的图像中,以该点为中心预测9个anchor boxes,

anchor box128、256、512三个尺寸,以及radio为(0.5 ,1,2)

所以anchor box的最小尺寸为64 X 64,最大为1024X1024,(这两个数据可能有误)可以cover图中的各种尺度

4.将得到的anchor boxes分别输入到softmax网络和bbox regression网络进行打分

softmax网络用于判定anchor boxes中的物体是属于foreground还是background)

(18的原因是9个anchor box的尺寸,每个都有是前景与背景的两种可能)

foreground与background的判断

与任意GT相比,拥有最高的IOU的anchor为前景(可以低于0.7)

与任意GT相比,IOU>0.7为前景

与任意GT相比,IOU<0.3为背景

其余的非负非正,则没有用

bbox regression网络用于对anchor boxes进行初步微调

(36 的原因是9个anchor box的尺寸,每个都有对应的4个偏移量)

5.将softmax网络得到的fg、bg参数、bbox regression网络得到的4个偏移量、参数feat_stride=16以及im_info中的内容结合在一起得到,得到来自原图的proposals

得到的proposals太多了,要用对得到的proposal进行筛选

①生成anchors,利用对所有的anchors做bbox regression回归(这里的anchors生成和训练时完全一致)

②提取修正位置后的foreground anchors

③限定超出图像边界的foreground anchors为图像边界(防止后续roi pooling时proposal超出图像边界)

④剔除非常小(width<threshold or height<threshold)的foreground anchors

⑤进行nonmaximum suppression

⑥再次按照nms后的foreground softmax scores由大到小排序fg anchors,提取前post_nms_topN(e.g. 300)结果作为proposal输出(注意:这里的输出)

二、proposals提取后进入Fater RCNN进行训练

相当于另外一种RPN 与 Fast-Rcnn的联合训练

实际中训练过程分为6个步骤:

  1. 在已经训练好的model上,训练RPN网络,对应stage1_rpn_train.pt
  2. 利用步骤1中训练好的RPN网络,收集proposals,对应rpn_test.pt
  3. 第一次训练Fast RCNN网络,对应stage1_fast_rcnn_train.pt
  4. 第二训练RPN网络,对应stage2_rpn_train.pt
  5. 再次利用步骤4中训练好的RPN网络,收集proposals,对应rpn_test.pt
  6. 第二次训练Fast RCNN网络,对应stage2_fast_rcnn_train.pt

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

Fater-Rcnn原理详解相关推荐

  1. 目标检测系列——开山之作RCNN原理详解

  2. 【原创】R-CNN及Selective Search原理详解

    R-CNN原理详解: 候选区域生成 Selective Search方法 算法流程 计算相似度 给区域打分 特征提取 类别判定 位置调整 总结 R-CNN论文链接: R-CNN R-CNN将CNN引入 ...

  3. CRF(条件随机场)与Viterbi(维特比)算法原理详解

    摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html C ...

  4. LVS原理详解(3种工作方式8种调度算法)--老男孩

    一.LVS原理详解(4种工作方式8种调度算法) 集群简介 集群就是一组独立的计算机,协同工作,对外提供服务.对客户端来说像是一台服务器提供服务. LVS在企业架构中的位置: 以上的架构只是众多企业里面 ...

  5. jQuery中getJSON跨域原理详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp28 jQuery中getJSON跨域原理详解 前几天我再开发一个叫 河蟹工 ...

  6. nginx配置文件及工作原理详解

    nginx配置文件及工作原理详解 1 nginx配置文件的结构 2 nginx工作原理 1 nginx配置文件的结构 1)以下是nginx配置文件默认的主要内容: #user nobody; #配置用 ...

  7. EMD算法之Hilbert-Huang Transform原理详解和案例分析

    目录 Hilbert-Huang Transform 希尔伯特-黄变换 Section I 人物简介 Section II Hilbert-Huang的应用领域 Section III Hilbert ...

  8. 图像质量损失函数SSIM Loss的原理详解和代码具体实现

    本文转自微信公众号SIGAI 文章PDF见: http://www.tensorinfinity.com/paper_164.html http://www.360doc.com/content/19 ...

  9. 目标检测 RCNN算法详解

    原文:http://blog.csdn.net/shenxiaolu1984/article/details/51066975 [目标检测]RCNN算法详解 Girshick, Ross, et al ...

  10. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

最新文章

  1. python交叉编译第三方库_第三方库交叉编译
  2. Oracle数据库空间管理
  3. 浅析Web2.0技术
  4. JavaScript怎么上传图片
  5. ogg批量配置_Macos上一款批量文件重命名工具A Better Finder Rename 11
  6. c语言编写modbus程序,C语言编写modbus协议
  7. 抓取流量分析恶意软件或泄密流量(精)
  8. python_9(模块补充)
  9. cesium加载批量模型
  10. 计算机专业的八字,生辰八字自动计算器软件 生辰八字在线计算器
  11. Mac 平台下功能强大的Shimo软件使用指南
  12. 软件是怎么开发出来的?怎么进行软件开发流程详解
  13. 苹果6plus一直没信号服务器,苹果6sPlus信号弱或者无服务解决方法
  14. 当我们讨论“平台”,我们在说什么
  15. 在虚拟机上跑vxworks的总结
  16. 乐普生物再递表背后:连年巨亏,暂未放弃A股,最多撑到年底?
  17. 深度学习目标检测 RCNN F-RCNN SPP yolo-v1 v2 v3 残差网络ResNet MobileNet SqueezeNet ShuffleNet
  18. MySQL——数据库 ——简单程序代码大全
  19. Ceph原理、部署、存储集群、块存储及对象存储centos7.5
  20. python3.9下错误,pip安装matplotlib卡在Building wheel for matplotlib (setup.py)..不动的原因与解决

热门文章

  1. 电脑按键坏掉之后的解决办法
  2. c语言动态分配内存keil,keil5中结构体分配内存问题
  3. 使用openCV进行边缘检测、二值化、轮廓、轮廓检测、BGR、灰度图、二值化,专栏:各种openCV实践的案例
  4. Windows11 Windows安全中心无法打开 Windows Defender无法打开
  5. SYD88811新DTM测试
  6. 氮化镓 服务器电源管理系统报价,基于LMG341x GaN FET的服务器电源单元(PSU)电路设计...
  7. 程序员年底失业,到底是该年前找工作好还是年后找工作好?
  8. Premiere Pro 快捷键大全(2023版)
  9. Python下安装Pywifi进行WiFi密码破解
  10. AcWing 285. 没有上司的舞会