这是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. 新版蜀山剑侠传3D立体格斗全方位剖析

    国人终极格斗<蜀山剑侠传>,突破传统横版格斗"二次元"瓶颈,率先开辟3D立体横版格斗网游先河,实现"有纬度"的空间化立体式全景3D战斗体验!游戏大量 ...

  2. autoResizing autoLayout和sizeClass

    原文网址: http://www.cnblogs.com/cxbblog/p/4166876.html 1. autoResizing autoresizing是苹果早期的ui布局适配的解决办法,iO ...

  3. luoguP2408不同子串个数

    传送门 可以知道每一个子串都是后缀的前缀,那么对于第\(i\)小的后缀的贡献就可以表示为n-sa[i]+1 然而会存在重复的子串,注意height数组的定义,对于sa[i-1]和sa[i],只有hei ...

  4. 黑马Lambda表达式学习 Stream流 函数式接口 Lambda表达式 方法引用

  5. D - Fliptile

    #include <stdio.h> #include <iostream> #include <math.h> #include <algorithm> ...

  6. python使用rabbitmq实现简单的消息转发

    准备: 1.下载elang语言的支持环境http://www.erlang.org/download.html (rabbitmq使用它开发的) 2.下载rabbitmq软件http://www.ra ...

  7. socket模拟服务器,客户端下载东西(ftp)

    服务端(ftp_server.py) import hashlib,socket,os server = socket.socket() server.bind(("localhost&qu ...

  8. TYVJ 2032 搜索

    P2032 「Poetize9」升降梯上 描述 开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘的是一条直通塔顶的轨道.一辆停在轨道底部的电梯.和电梯内一杆控制电梯升降的巨 ...

  9. Metasploits之ms10_018

    漏洞详情:https://technet.microsoft.com/library/security/ms10-018 一准备: 1:kali Linux系统 192.168.195.129 2:W ...

  10. ubuntu dpkg命令总结

    dpkg是Debian系统的后台包管理器,类似RPM.也是Debian包管理系统的中流砥柱,负责安全卸载软件包,配置,以及维护已安装的软件包.由于ubuntu和Debian乃一脉相承,所以很多命令是不 ...