rpn网络结构再分析
这是rpn网络train阶段的网络结构图

rpn_conv1之前的网络是特征提取层,也是和fast rcnn共享的层。rpn_conv1是一层1*1的卷积,这一层是单独为rpn网络多提取一层特征,这一层之后就接两个输出channel层不同的1*1的卷积(即分别进行score的预测和坐标补偿值的预测),这样保证feature map的大小不变。
rpn_cls_score:bach_size*18*width*height
rpn_cls_score_reshape:batch_size*2*(9*width)*height
rpn_bbox_pred:batch_size*36*width*height。每4个channel对应一种类型的anchor(即一个尺寸和一个ratio),因为有9种类型的anchor,所有一共也就有36个channel。以前4个channel为例,第一个channel的feature map每一个值是每个位置中心点x方向的补偿值dx,第二个channel的feature map每一个值是每个位置中心点y方向的补偿值dy,第三个channel的feature map每一个值是每个位置宽度的补偿值dw,第四个channel的feature map每一个值是每个位置长度的补偿值dh。再来说一下这前四个channel的每个feature map,这4个channel的feature map的相对应位置都是对应的一个anchor,比如4个channel的第一个值都是对应的第一种类型anchor的第一个anchor。每个feature map是width*height大小,也就有width*height个值,生成rpn本身就是在这个feature map上进行滑动生成(width*height*anchor类别数)个anchor,这样的话,第一个feature map的第一个值对应的应该是第一种类型的anchor在这个位置上dx补偿值。
为什么不直接从rpn_conv1生成rpn_cls_score_reshape?
channel变成2很好实现,但feature map的宽度是个问题。因为rpn_cls_score_reshape的feature map的宽度是9*width,而rpn_conv1是width,直接卷积变成宽度的9倍,我目前还没看到过,reshape成9倍就很好实现。并且对于后面的rpn生成也有帮助,这个后续还要写一些东西
那为什么又要转成rpn_cls_score_reshape的形状呢?
主要是为了分成两类,然后计算概率值,最开始只是一个score值
rpn网络结构再分析的更多相关文章
- 对HI3531的GPIO使用的再分析
在一个嵌入式系统中使用最多的莫过于 通用输入输出 GPIO口.看到论坛中经常有朋友问海思为什么没有提供GPIO驱动.其实不然. 在海思SDK xxx/osdrv/tools/board_tools/ ...
- Node.js开发入门—HelloWorld再分析
在Node.js开发入门(1)我们用http模块实现了一个简单的HelloWorld站点,这次我们再来细致分析下代码.了解很多其它的细节. 先看看http版本号的HelloWorld代码: 代码就是这 ...
- HRNET网络结构简单分析
hrnet相关的两篇文章 CVPR2019 Deep High-Resolution Representation Learning for Human Pose Estimation High- ...
- Permutations II 再分析
记得第一遍做这题的时候其实是没什么思路的,但是第二次的时候,我已经有"结果空间树"的概念了.这时候再看https://oj.leetcode.com/problems/permut ...
- 再分析 返回值加引用&,const
本文主要分析,返回&,和返回值加const的作用. 返回& 定义一个数组模板: template<class T>class Array{ enum{size = 100} ...
- SparkHiveContext和直接Spark读取hdfs上文件然后再分析效果区别
最近用spark在集群上验证一个算法的问题,数据量大概是一天P级的,使用hiveContext查询之后再调用算法进行读取效果很慢,大概需要二十多个小时,一个查询将近半个小时,代码大概如下: try: ...
- CRM项目再分析建表
今天老师带着我们分析了一点项目的业务,我们就觉得有些地方呢 有一些不妥额地方,然后呢 我们就在原来表的基础上做了一些修改! 我们也把我们组的项目业务的工作分配了一下! 但是我们遇到了一个组员不和我们 ...
- Deep Belief Network简介——本质上是在做逐层无监督学习,每次学习一层网络结构再逐步加深网络
from:http://www.cnblogs.com/kemaswill/p/3266026.html 1. 多层神经网络存在的问题 常用的神经网络模型, 一般只包含输入层, 输出层和一个隐藏层: ...
- ffmpeg tutorial01 再分析
如下图
随机推荐
- 【转】Visual Studio 选择相同变量高亮
转:http://www.cnblogs.com/stone_w/p/3613760.html 前段时间一直在使用matlab,今天需要使用vs2008,而用惯了matlab,习惯了其中一项选中变量高 ...
- Unity3D研究院之游戏对象的访问绘制线与绘制面详解(十七)
一眨眼学习Unity3D 也有一段时间了,基本已经拿下了这套游戏引擎,回过头来想想以前写的RPG 游戏引擎,越来越发现以前写的就是垃圾.人果然是要不断学习与不断进步,好好学习,天天向上.哇咔咔- 加油 ...
- suse 11入门学习
1 去掉显示隐藏文件的默认配置 vi /etc/bash.bashrc 找到 ; then LS_OPTIONS="-A -N $LS_OPTIONS -T 0" else LS_ ...
- 利用Web服务生成产品编号 执行添加操作
为什么我想要执行添加操作,却添加不成功,系统提示我comm.ExecuteNonQuery有错误 已找到原因 在 string strsql = "insert into tb_goods( ...
- 解决nginx负载均衡高可用keepalived只针对物理机的问题
在高可用keepalived软件,在默认的情况下仅仅在对方机器宕机或keepalived停掉的时候才会接管业务. 但是在实际工作过程中,例如在nginx负载均衡工作实例中,nginx服务已停止,而ke ...
- CF1138D.Camp Schedule
传送门 虽然是D,但是还是Sb题,把模式串跑一遍KMP,然后把按顺序放,每次放完之后跳到对应的前缀,继续放. 如果最后1的数量还有剩,再将最后的位数全部放1 代码: #include<cstdi ...
- JS时间框架之舍弃Moment.js拥抱Day.js
什么是Day.js Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样. 如果您曾经用过 Moment.js, 那么您已经知道如 ...
- 搭建hustoj现场环境
所需:就用了台普通电脑作为web以及数据库端,两台数据库实验室提供的服务器拿来做评测机. 根据提示将三台都装上hustoj 当然我是用之前比赛遗留下来的judge { 可以用以下来代替 wget ht ...
- IDEA 快捷键MacOS
Alt + Enter 导入包,自动修正 Command + N 查找类 Command + Shift + N查找文件 Command + Alt + L格式化代码 Command + Alt + ...
- 8. 字符串转换整数 (atoi)
8. 字符串转换整数 (atoi) 方法一 import re import math class Solution(object): def myAtoi(self, str): "&qu ...