Anchors是一组大小固定的参考窗口:三种尺度{128128,252256,512*512}×三种长宽比{1:1,1:2,2:1},如下图所示,表示RPN网络中对特征图滑窗时每个滑窗位置所对应的原图区域中9种可能的大小,相当于模板,对任意图像任意滑窗位置都是这9中模板。

继而根据图像大小计算滑窗中心点对应原图区域的中心点,通过中心点和size就可以得到滑窗位置和原图位置的映射关系,由此原图位置并根据与Ground Truth重复率贴上正负标签,让RPN学习该Anchors是否有物体即可。

2、RPN网络

RPN网络前面的5层借用的是ZF网络,这个网络的结构图我截个图放在下面,并分析下为什么是这样子的;

1、首先,输入图片大小是 2242243(这个3是三个通道,也就是RGB三种)

2、然后第一层的卷积核维度是 773*96 (所以大家要认识到卷积核都是4维的,在caffe的矩阵计算中都是这么实现的);

3、所以conv1得到的结果是11011096 (这个110来自于 (224-7+pad)/2 +1 ,这个pad是我们常说的填充,也就是在图片的周围补充像素,这样做的目的是为了能够整除,除以2是因为2是图中的stride, 这个计算方法在上面建议的文档中有说明与推导的);

4、然后就是做一次池化,得到pool1, 池化的核的大小是33,所以池化后图片的维度是5555*96 ( (110-3+pad)/2 +1 =55 );

5、然后接着就是再一次卷积,这次的卷积核的维度是5596256 ,得到conv2:2626*256;

6、后面就是类似的过程了,我就不详细一步步算了,要注意有些地方除法除不尽,作者是做了填充了,在caffe的prototxt文件中,可以看到每一层的pad的大小;

7、最后作者取的是conv5的输出,也就是1313256送给RPN网络的;

我们看看RPN部分的结构:

1、前面我们指出,这个conv feature map的维度是1313256的;

2、作者在文章中指出,sliding window的大小是33的,那么如何得到这个256-d的向量呢? 这个很简单了,我们只需要一个33256256这样的一个4维的卷积核,就可以将每一个3*3的sliding window 卷积成一个256维的向量;

这里读者要注意啊,作者这里画的示意图 仅仅是 针对一个sliding window的;在实际实现中,我们有很多个sliding window,所以得到的并不是一维的256-d向量,实际上还是一个3维的矩阵数据结构;可能写成for循环做sliding window大家会比较清楚,当用矩阵运算的时候,会稍微绕些;

3、然后就是k=9,所以cls layer就是18个输出节点了,那么在256-d和cls layer之间使用一个1125618的卷积核,就可以得到cls layer,当然这个1125618的卷积核就是大家平常理解的全连接;所以全连接只是卷积操作的一种特殊情况(当卷积核的大小是1*1的时候);

4、reg layer也是一样了,reg layer的输出是36个,所以对应的卷积核是11256*36,这样就可以得到reg layer的输出了;

5、然后cls layer 和reg layer后面都会接到自己的损失函数上,给出损失函数的值,同时会根据求导的结果,给出反向传播的数据

RPN网络的anchor机制相关推荐

  1. anchor free 目标检测_《目标检测》系列之二:目标检测中的Anchor机制回顾

    前段时间,YOLOv4&v5大火,很多人忽视了yolov5在anchor上的一些细节变化,因此,本文从Faster RCNN着手,逐步分析SSD.YOLOv4&v5的anchor机制. ...

  2. faster-rcnn 之 RPN网络的结构解析以及RPN代码详解

    [首先]:大家应该要了解卷积神经网络的连接方式,卷积核的维度,反向传播时是如何灵活的插入一层:这里我推荐一份资料,真是写的非常清晰,就是MatConvet的用户手册,这个框架底层借用的是caffe的算 ...

  3. 三维目标检测中的RPN网络总结

    更过内容更新于个人博客 twn29004.top 常见的RPN网络 Faster-RCNN中的RPN网络 在Backbone生成的特征图中,使用大小为3×33\times 33×3的卷积处理特征图,针 ...

  4. 【mmdetection源码解读(二)】RPN网络

    以下仅为个人理解,若有不正之处还请指出,欢迎交流! 在two-stage目标检测方法中,通过骨干网络获得的特征图需要送进RPN网络产生区域建议候选框,下面就结合mmdetection中的源码详细解释这 ...

  5. 通俗理解faster-rcnn的rpn网络

    其实rpn网络非常简单,只是被各种五花八门的人解读的比较玄学,下图中虚线下面部分就是rpn网络: 虚线上面是几个卷积池化,说白了就是提特征,在虚线这一层的上面会得到C个H*W的特征图,这个特征图大小是 ...

  6. RPN网络(区域候选网络源码)

    ​​​​​RPN网络前面是一个提特征的网络,比如VGG,Res等,传给RPN网络的是一个特征图,RPN网络首先加了一个3*3*256*256的卷积层,之后在这个卷积之后,各自接了两个全连接层,一个输出 ...

  7. Faster RCNN RPN网络

    1 Faster RCNN 2 RPN 网络 注意的点 (1)两次reshape的作用 将(n,18,37,50)改为(n,2,37*9,50),然后做softmax(intput,1),dim=1, ...

  8. 大改ShuffleNetV2网络,注意力机制,csp,卷积裁剪

    大改ShuffleNetV2网络,注意力机制,csp,卷积裁剪 1.背景 在移动端场景中,目前有很多不错的轻量级网络可以选择,例如google的mobilenet系列,efficient lite系列 ...

  9. 毕设日志——增加多尺度对应的不一样scale的RPN网络

    4.25 错误 4.27 修改anchor不同的RPN,即conv5-3和conv4-3融合 本来想运行一个epoch,结果运行成下面的没有指定epoch个数的: CUDA_VISIBLE_DEVIC ...

最新文章

  1. 炼一项专业技能c语言,C语言程序设计_安徽新华电脑专修学院
  2. 锐捷网络GSN全局安全政府行业解决方案
  3. VTK:InfoVis之SCurveSpline
  4. 【Java ORM】手写ORM框架:源代码、jar、生成JavaDoc文档
  5. python怎么做软件程序_如何打包和发布Python程序
  6. 【原】继承AbstractRoutingDataSource再通过AOP实现动态数据源切换
  7. CentOS7编译安装libc++和libc++abi
  8. 学生成绩管理系统V3.0链表版
  9. Tomcat startup.bat 后台运行,不再弹出 Dos 黑框
  10. Java中BufferedReader和scanner的对比
  11. 2020 恒生电子 面经
  12. python随机生成字符串_python 怎样随机生成中文字符?
  13. 改变世界的程序员—Jack Dorsey (程序员 2011-6)
  14. ppt怎么加注解文字_ppt幻灯片怎么给图片添加注释?
  15. 2021-02-18docker
  16. 计算机控制面板属性在哪里打开,win7如何打开系统属性面板|win7打开系统属性面板的方法...
  17. 计算机文化基础形考作业,(精华版)国家开放大学电大专科《计算机文化基础》网络课形考任务6作业及答案(2页)-原创力文档...
  18. 使用MQTTNet包实现客户端与服务端通讯
  19. Android7.1 控制背光流程
  20. java全拼,Java获取汉字全拼和首拼

热门文章

  1. (笔记)labview各种进制转换(通讯得到的负数补码转换成负数原码)
  2. PreAct ResNet
  3. IDEA 创建Maven Web项目
  4. 我以后的生活态度,处事方式
  5. 前额皮质如何影响我们的工作效率?
  6. 邮件发送(邮件服务器和邮件客户端)
  7. css字符标签,【CSS学习】字符实体
  8. 图形学笔记(七)画一个 3D 的彩色的立方体
  9. 我的世界服务器修改地狱亮度,《我的世界》hypixel服务器画面亮度调节方法 存档导出介绍...
  10. Geant4程序 T1program