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训练的监督框是怎么来的。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Hash一致算法_一致性hash是如何做数据迁移

    Hash一致算法_一致性hash是如何做数据迁移概述这里存在一种场景,当一个服务由多个服务器组共同提供时,key应该路由到哪一个服务.这里假如采用最通用的方式key%N(N为服务器数目),这里乍一看没什么问题,但是当服务器数目发送增加或减少时,分配方式则变为key%(N+1)或key%(N-1).这里将会有大量的key失效迁移,如果后端key对应的是有状态的存储数据,那么毫无疑问,这种做法将导致服务器间大量的数据迁移,从而照成

  • pyinstaller 打包exe

    pyinstaller 打包exe环境:虚拟环境win10:21H2conda:4.11.0python:3.8.0所包含一些特殊的库:tensorflow-gpu:2.7pyqt5:5.15.6pyqt-tools:1.0.0pyinstaller:4.9pymysql:1.0.2pyyaml:6.0打包过程:1.在虚拟环境里安装pyinstallerpipinstallpyinstaller2.以管理员权限进入anacondaPromptcondaactiva

  • Google API 地图离线版「建议收藏」

    Google API 地图离线版「建议收藏」GoogleMapAPIV3离线版可以不在线调用GoogleMapJavaScritp的情况下,仍然可以使用GoogleMap的服务。Google地图在中国最后申请的牌照时间已经过了,仍然没有看到官方通过的说明,很有可能Google地图在7月份会被停掉,这对我们这些经常使用Google地图,或者二次开发者来说,会是一个巨大的悲哀!这对国内的地图服务商或许是一件好事,可

  • 刷屏专用超长复制_跪求超超长刷屏字符剑。。

    该楼层疑似违规已被系统折叠隐藏此楼查看此楼….飘过…..飘过……飘过…….飘过……..飘过……..飘过……..飘过……..飘过…….飘过……飘过…..飘过….飘过…飘过..飘过.飘过.飘过.飘过..飘过…飘过….飘过…..飘过……飘过…….飘过……..飘过……..飘过….

  • 自学python 一个简单的股票工具,源代码分享[通俗易懂]

    自学python 一个简单的股票工具,源代码分享[通俗易懂]项目名称:股票工具想要的功能:1获取数据实时某支股票的‘买一量’‘卖一量’#获取数据2数据分析对’买一量’‘卖一量’的判断进入时候提醒2.1买一量,大于、小于多少时,提示买入卖出2.2卖一量,大于、小于多少时,提示买入卖出2.3涨幅计算行动效果图:后面是源代码:#设置fromurllibimportrequestimportr…

  • goland 激活码 2021 11月_在线激活

    (goland 激活码 2021 11月)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

发表回复

您的电子邮箱地址不会被公开。

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