RPN网络解读

RPN网络解读RPN网络源码解读在高层的featuremap初次计算anchorbox点数值604099代表一个特征维度生成9个anchorbox,但特征层w,h为啥是60,40不应该是相等的?毕竟backbone网络一系列操作(下采样),w,h同时缩小的。下不管了,不是今天主要问题。step1:也就是说原始生成大约20000boxs,再进行2k排序(每个boxs得分为目标或背景的概率,不管是背景还是目标都要得分高的)设定阈值为12000,也就是说最多保留12000,也有的源码设定2000。step2

大家好,又见面了,我是你们的朋友全栈君。

RPN网络源码解读

在高层的feature map初次计算anchor box点数值 60x40x9。9代表一个特征维度生成9个anchor box, 但特征层w,h为啥是60,40不应该是相等的?毕竟backbone网络一系列操作,w,h同时缩小的?解读源码之后才明白,原来图像预处理并不是对原图像简单的resize操作,因为这样的话迫使原图变形了,源码上给出的处理是:一个batch中最大原图的W作为该batch的W;一个batch中最大原图的H作为该batch的H,遍历整个batch进行0填充,使batch内的原图都一样大。那么问题来了,每个batch的W,H都不一样了啊,对,就是不一样,以至于经过backbone后feature map的w,h都不一样,生成的anchor也都不一样多,但是batch内的一定是一样的。

step1:原始生成大约20000boxs,再进行2k排序(每个boxs得分为目标或背景的概率,不管是背景还是目标都要得分高的)设定阈值为12000,也就是说最多保留12000,也有的源码设定2000。

step2:score排序完保留12000个,再进行NMS非极大抑制,这里的非极大抑制要设定阈值,注意下面的话是关键:先选出score打分最高的,根据这个得分框剔除重合度高的,何为重合度高?就是IOU值大的。其实我们知道得分就够了,并不需要知道它是背景还是目标(我之前的解读就是错误的,我以为是利用GT的IOU值,你想想如果利用GT的话,剔除的更多的岂不是正样本?负样本怎么剔除,负样本本来就与GT的IOU重合度低)这样的话就保留2000个boxs,这2000个就是属于那种最可能是目标或者最可能是背景的框了。
step3:上面生成的anchor boxs(2000个)是用来训练fastrcnn网络?不,在源码中还是进行了进一步的筛选(进一步筛选就是计算与GTBOX的IOU值,这一条件作为判断,IOU值大的自然就保留下来,很遗憾一开始的RPN网络选出大多数都是背景,难道就让fastrcnn计算一堆背景么,实际处理有个技巧,就是把GT加进出充当正样本),最终一张图片剩余的是512个proposal,然后将这512个boxs映射到feature map上,然后进行ROI pooling操作,输入全连接层+交叉熵损失层或者smooth损失函数进行各个目标和背景的分类,并同时进行框的回归参数修正,损失目标函数是一个联合损失,有目标的要回归,背景就不必计算回归损失了,没必要,也没有GTBOXS作为参考。
总结:以上所述操作就是RPN网络筛选proposal用于训练fastrcnn网络的内容(ps:这绝不是用于训练RPN网络的anchorboxs框),你觉得RPN网络的sore得分选出来的框再来训练自己还有意思么,这就好比,我自己出题给自己做,然后再打分,这也违背了监督式学习
下面再写RPN网络的训练过程,以及RPN训练的监督框是怎么来的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152306.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月23日 下午3:16
下一篇 2022年6月23日 下午3:16


相关推荐

  • java redis 没密码配置_jeeplus设置Redis密码

    java redis 没密码配置_jeeplus设置Redis密码接手过来的jeeplus系统原本没有设置redis密码,近期要上线,为保证redis安全性,运维要求添加redis密码,且在线上环境为redis设置了密码。接下来我需要修改程序内容来迎合运维此项修改,方式如下:设置Redis密码涉及到以下三个文件,分别是:jeeplus.properties、spring-context-jedis.xml和JedisUtils.java。以上三个文件的含义为如下…

    2025年9月18日
    7
  • 回文字符串(Palindromic_String)「建议收藏」

    回文字符串(Palindromic_String)「建议收藏」一、基本概念回文字符串:是一个正读和反读都一样的字符串。二、问题与算法(1)判断思想:1、初始化标志flag=true;2、输入字符串str,并获取其长度len;3、定义并初始化游标i=0,j=len-1,分别指向字符串开头和末尾;4、比较字符str[i]和str[j],若i==j,转至7,否则往下执行5;5、若str[i]和str[j]相等…

    2022年6月5日
    38
  • pve虚拟机单网口(虚拟机做软路由)

    PVE虚拟网口扩展实现一线多拨PVE网口设置可以看到这里有两个物理网口我的物理网口enp3s0没有对应的vmbr1,需要先创建LinuxBridge,步骤如下:ROS虚拟网口设置这是关键一步,需要创建四个虚拟网口对应一个LAN口设置四个虚拟网口,完成如下:完成!…

    2022年4月16日
    694
  • Windows命令:tasklist

    Windows命令:tasklistTASKLIST Ssystem Uusername P password M module SVC V FIfilter FOformat NH 描述 该工具显示在本地或远程机器上当前运行的进程列表 参数列表 Ssystem 指定连接到的远程系统 U domain user 指定应该在哪个用户上下文执行这个命令 P

    2026年3月18日
    2
  • 腾讯混元最新开源翻译模型发布,在国际机器翻译比赛获得30个语种冠军

    腾讯混元最新开源翻译模型发布,在国际机器翻译比赛获得30个语种冠军

    2026年3月13日
    2
  • Spring中Model,ModelMap以及ModelAndView之间的区别

    Spring中Model,ModelMap以及ModelAndView之间的区别1 场景分析在许多实际项目需求中 后台要从控制层直接返回前端所需的数据 这时 Model 大家族就派上用场了 2 三者区别 ModelModel 是一个接口 它的实现类为 ExtendedMode 继承 ModelMap 类 publicclassE ModelMapMode 继承 Lin

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号