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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • influx数据同步「建议收藏」

    influx数据同步「建议收藏」经过测试,通过设置influxdb可以将多个influx数据库实时汇总到一台服务器的同一个数据库里。1、test_A数据库创建保留策略influx-execute“CREATESUBSCRIPTION“momServices_sub”ON“test_A”.“autogen”DESTINATIONSANY‘http://192.168.50.50:8086’”-database“Test_All”momServices_sub:同步规则名mom_services:要做数据同步的

    2025年7月28日
    0
  • bs和cs的区别与优缺点_CS和CIS的联系与区别

    bs和cs的区别与优缺点_CS和CIS的联系与区别一,B/S结构(baiBrowser/Server,浏du览器/服务器模式),zhi是WEB兴起后的一种网络结构模式,WEB浏览器是客户端dao最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser英[‘braʊzə]美[‘braʊzɚ]),如NetscapeNavigator或InternetExplorer,服务器安装SQLServer、Oracle、MYSQL等数据库。浏览器通过WebServ

    2022年10月16日
    0
  • PO 模式

    PO 模式啊啊

    2022年5月1日
    68
  • javascript字符串包含单双引号_js的字符串方法

    javascript字符串包含单双引号_js的字符串方法您可以使用include()方法,indexOf()或正则表达式来检查JavaScript字符串是否包含字符或短语。include()是检查字符串是否包含一个字母或一系列字母的最常用方法,并且是专门为此目的而设计的。在任何编程语言中,检查字符串是否包含子字符串都是常见的任务。例如,假设您正在构建在线游戏。您可能需要检查用户名是否包含禁止使用的短语,以确保所有用户名都适合您的游戏。JavaScript字符串包含有三种方法可检查JavaScript字符串是否包含另一个字符或字符序列:in

    2022年10月7日
    0
  • 成为java高手的八大条件

    成为java高手的八大条件

    2022年2月21日
    32
  • 利用番茄钟来求职「建议收藏」

    利用番茄钟来求职「建议收藏」利用番茄钟来求职

    2022年4月21日
    36

发表回复

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

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