RPN网络的anchor机制
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机制相关推荐
- anchor free 目标检测_《目标检测》系列之二:目标检测中的Anchor机制回顾
前段时间,YOLOv4&v5大火,很多人忽视了yolov5在anchor上的一些细节变化,因此,本文从Faster RCNN着手,逐步分析SSD.YOLOv4&v5的anchor机制. ...
- faster-rcnn 之 RPN网络的结构解析以及RPN代码详解
[首先]:大家应该要了解卷积神经网络的连接方式,卷积核的维度,反向传播时是如何灵活的插入一层:这里我推荐一份资料,真是写的非常清晰,就是MatConvet的用户手册,这个框架底层借用的是caffe的算 ...
- 三维目标检测中的RPN网络总结
更过内容更新于个人博客 twn29004.top 常见的RPN网络 Faster-RCNN中的RPN网络 在Backbone生成的特征图中,使用大小为3×33\times 33×3的卷积处理特征图,针 ...
- 【mmdetection源码解读(二)】RPN网络
以下仅为个人理解,若有不正之处还请指出,欢迎交流! 在two-stage目标检测方法中,通过骨干网络获得的特征图需要送进RPN网络产生区域建议候选框,下面就结合mmdetection中的源码详细解释这 ...
- 通俗理解faster-rcnn的rpn网络
其实rpn网络非常简单,只是被各种五花八门的人解读的比较玄学,下图中虚线下面部分就是rpn网络: 虚线上面是几个卷积池化,说白了就是提特征,在虚线这一层的上面会得到C个H*W的特征图,这个特征图大小是 ...
- RPN网络(区域候选网络源码)
RPN网络前面是一个提特征的网络,比如VGG,Res等,传给RPN网络的是一个特征图,RPN网络首先加了一个3*3*256*256的卷积层,之后在这个卷积之后,各自接了两个全连接层,一个输出 ...
- Faster RCNN RPN网络
1 Faster RCNN 2 RPN 网络 注意的点 (1)两次reshape的作用 将(n,18,37,50)改为(n,2,37*9,50),然后做softmax(intput,1),dim=1, ...
- 大改ShuffleNetV2网络,注意力机制,csp,卷积裁剪
大改ShuffleNetV2网络,注意力机制,csp,卷积裁剪 1.背景 在移动端场景中,目前有很多不错的轻量级网络可以选择,例如google的mobilenet系列,efficient lite系列 ...
- 毕设日志——增加多尺度对应的不一样scale的RPN网络
4.25 错误 4.27 修改anchor不同的RPN,即conv5-3和conv4-3融合 本来想运行一个epoch,结果运行成下面的没有指定epoch个数的: CUDA_VISIBLE_DEVIC ...
最新文章
- 炼一项专业技能c语言,C语言程序设计_安徽新华电脑专修学院
- 锐捷网络GSN全局安全政府行业解决方案
- VTK:InfoVis之SCurveSpline
- 【Java ORM】手写ORM框架:源代码、jar、生成JavaDoc文档
- python怎么做软件程序_如何打包和发布Python程序
- 【原】继承AbstractRoutingDataSource再通过AOP实现动态数据源切换
- CentOS7编译安装libc++和libc++abi
- 学生成绩管理系统V3.0链表版
- Tomcat startup.bat 后台运行,不再弹出 Dos 黑框
- Java中BufferedReader和scanner的对比
- 2020 恒生电子 面经
- python随机生成字符串_python 怎样随机生成中文字符?
- 改变世界的程序员—Jack Dorsey (程序员 2011-6)
- ppt怎么加注解文字_ppt幻灯片怎么给图片添加注释?
- 2021-02-18docker
- 计算机控制面板属性在哪里打开,win7如何打开系统属性面板|win7打开系统属性面板的方法...
- 计算机文化基础形考作业,(精华版)国家开放大学电大专科《计算机文化基础》网络课形考任务6作业及答案(2页)-原创力文档...
- 使用MQTTNet包实现客户端与服务端通讯
- Android7.1 控制背光流程
- java全拼,Java获取汉字全拼和首拼