这是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网络结构再分析的更多相关文章

  1. 对HI3531的GPIO使用的再分析

    在一个嵌入式系统中使用最多的莫过于 通用输入输出 GPIO口.看到论坛中经常有朋友问海思为什么没有提供GPIO驱动.其实不然. 在海思SDK  xxx/osdrv/tools/board_tools/ ...

  2. Node.js开发入门—HelloWorld再分析

    在Node.js开发入门(1)我们用http模块实现了一个简单的HelloWorld站点,这次我们再来细致分析下代码.了解很多其它的细节. 先看看http版本号的HelloWorld代码: 代码就是这 ...

  3. HRNET网络结构简单分析

    hrnet相关的两篇文章 CVPR2019   Deep High-Resolution Representation Learning for Human Pose Estimation High- ...

  4. Permutations II 再分析

    记得第一遍做这题的时候其实是没什么思路的,但是第二次的时候,我已经有"结果空间树"的概念了.这时候再看https://oj.leetcode.com/problems/permut ...

  5. 再分析 返回值加引用&,const

    本文主要分析,返回&,和返回值加const的作用. 返回& 定义一个数组模板: template<class T>class Array{ enum{size = 100} ...

  6. SparkHiveContext和直接Spark读取hdfs上文件然后再分析效果区别

    最近用spark在集群上验证一个算法的问题,数据量大概是一天P级的,使用hiveContext查询之后再调用算法进行读取效果很慢,大概需要二十多个小时,一个查询将近半个小时,代码大概如下: try: ...

  7. CRM项目再分析建表

    今天老师带着我们分析了一点项目的业务,我们就觉得有些地方呢 有一些不妥额地方,然后呢  我们就在原来表的基础上做了一些修改! 我们也把我们组的项目业务的工作分配了一下! 但是我们遇到了一个组员不和我们 ...

  8. Deep Belief Network简介——本质上是在做逐层无监督学习,每次学习一层网络结构再逐步加深网络

    from:http://www.cnblogs.com/kemaswill/p/3266026.html 1. 多层神经网络存在的问题 常用的神经网络模型, 一般只包含输入层, 输出层和一个隐藏层: ...

  9. ffmpeg tutorial01 再分析

    如下图

随机推荐

  1. PhpStorm插件之CodeGlance

    安装插件 File->Setting->Pluugins   搜索  CodeGlance 如何使用 安装完插件后,RESTART IDE,随便打开一个文件都可看到效果

  2. 51nod 1068【简单博弈】

    思路 手动打表, N 1 : A出1 A胜: 2 : A出2 A胜: 3 : A只能出2的整数幂&&这个数<=3,所以只能出1,2:A出1的时候,B就是2的情况,B胜:A出2的时 ...

  3. lightoj1004【基础DP】

    从低端到顶端求个最大值: 思路: 基础DP,递推 #include<cstdio> #include<queue> #include<map> #include&l ...

  4. hdu1848(sg函数打表)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1848 题意:中文题诶- 思路:直接sg函数打表就好了 代码: #include <iostrea ...

  5. bootstrap添加多个模态对话框支持

    bootstrap添加多个模态对话框支持 (2015-03-04 21:05:35) 转载▼ 标签: 房产   因为项目需要,在页面交互上要弹出多个dialog窗口,而bootstrap的modal支 ...

  6. 17..userinfo.txt 文件中存放以下结构:

    alex:alex3714 wusir:123456 meet:meet123 1.让用户选择: 1.注册 2.登录 2.用户选择注册就将账号和密码添加到userinfo.txt中,如果用户名存在就提 ...

  7. linux 搭建unixODBC ,并对接 PostgreSQL 9.3.4

    环境:suse 11 ,64位的操作系统 unixODBC 版本:2.3.2 PostgreSQL 9.3.4 1 编译安装 unixODBC 下载 unixODBC :http://www.unix ...

  8. ZooKeeper-3.3.4集群安装配置(转载)

    ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization).命名服务(Naming S ...

  9. bzoj2806 [Apio2012]dispatching【可并堆】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 保存可并堆模版代码. #include <cstdio> #include ...

  10. ssrs 里 表头 分页后显示

    1. 列组,箭头,高级 2.点击行组,静态 3. 设置静态行组 属性