这是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. 一个github搞定微信小程序支付系列

    详情请前往github下载示例代码 源码中包含 支付.退款 功能 so easy,项目经理再也不用担心微信支付啦 是的,已经over了

  2. vm安装mac

    需要 vm虚拟机:vm10 mac系统:   mac10.9 vm安装mac补丁 :    unlokc-all-v120 vm tools for mac10.9: darwin6.0.3.iso ...

  3. bzoj 3778: 共鸣【计算几何+dp】

    枚举起点,然后设f[i][j]为上凸壳上一个点是i当前点是j的最大面积,g是下凸壳,然后合并的时候枚举结束点t合并上下凸壳即可 这样的好处是每次转移都是往凸多边形里加一个三角形(s,i,j),所以判断 ...

  4. P3270 [JLOI2016]成绩比较(拉格朗日插值)

    传送门 挺神仙的啊-- 设\(f[i][j]\)为考虑前\(i\)门课程,有\(j\)个人被\(B\)爷碾压的方案数,那么转移为\[f[i][j]=\sum_{k=j}^{n-1}f[i-1][k]\ ...

  5. 你了解SVN, CVS等版本控制器吗?

    版本控制器SVN, CVS是两种版本控制器, 需要配套相关的SVN, CVS服务器, SCM是xcode里面配置版本控制的地方, 版本控制的原理就是A和B同时开发一个项目, A写完当天的代码之后把代码 ...

  6. 用生产者消费模型爬取智联招聘python岗位信息

    爬取python岗位智联招聘 这里爬取北京地区岗位招聘python岗位,并存入EXECEL文件内,代码如下: import json import xlwt import requests from ...

  7. sql server之exists用法

  8. insert后面value可控的盲注(第一次代码审计出漏洞)

    这个叫诗龙的cms真的很感谢他的编写人,全站注入~~一些特别白痴的就不说了,这里有一个相对有点意思的 很明显的注入,然后去直接利用报错注入想爆出数据结果发现没有开报错模式. 报错注入http://ww ...

  9. Linux 查找bom头文件,清除bom头命令

    1.查找bom头文件 grep -r -I -l $'^\xEF\xBB\xBF' ./ 2.替换bom头文件 find . -type f -exec sed -i 's/\xEF\xBB\xBF/ ...

  10. 我也质疑下petshop

           很多人都研究过petshop,我开始认识分层架构也是从研究这个petshop开始的.但是我发现很多人一谈三层架构就是 petshop那一套东西.实体类,DAL,BLL那一套东西.首先我不 ...