详解RPN网络[通俗易懂]

详解RPN网络[通俗易懂]引言RPN(RegionProposalNetwork)是Faster-RCNN网络用于提取预选框(也就是RCNN中使用selectivesearch算法进行RegionProposal的部分),我们知道RCNN及Fast-RCNN中一个性能瓶颈就是提取预选框的部分,而RPN很好地对这个部分进行了优化,原因在于它将卷积神经网络引入了进来,使用特征提取的形式生成出预选框的位置从而降低了selectivesearch算法带来的计算时间上的开销。RPN(RegionProposalNetwor

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

引言

RPN(Region Proposal Network)是Faster-RCNN网络用于提取预选框(也就是RCNN中使用selective search算法进行Region Proposal的部分),我们知道RCNN及Fast-RCNN中一个性能瓶颈就是提取预选框的部分,而RPN很好地对这个部分进行了优化,原因在于它将卷积神经网络引入了进来,使用特征提取的形式生成出预选框的位置从而降低了selective search算法带来的计算时间上的开销。

RPN( Region Proposal Network) :-

在这里插入图片描述
CNN从特征图中学习分类的方式,RPN也从特征图中学习生成这些候选框。一个典型RPN网络如图所示。它的网络流程如下:

step1

在第一步中,我们的输入图像通过卷积神经网络,其最后一层将特征图作为输出;

step2

在这一步骤中,滑动窗口通过上一步骤得到的特征图进行运行。滑动窗口的大小为n*n(这里是3×3)。对于每个滑动窗口,生成一组特定的锚,但有3种不同的长宽比(1:1, 1:2, 2:1)和3种不同的长宽(128, 256和512)的方框,如下所述:

  1. 有3种不同的长宽比和3种不同的方框,所以特征图中每个像素共可有9种方案;
  2. 在特征图大小为W * H的情况下,锚箱的总数量和特征图每个位置的锚数量为K,可以给出W * H * K。

下图显示了尺寸为(600, 900)的图像的(450, 350)位置的9个锚点。
在这里插入图片描述
在上图中,三种颜色代表三种比例或尺寸(128×128, 256×256, 512×512)。让我们把绿色的盒子/锚单列出来。这三个盒子的高度宽度比例分别为1:1、1:2和2:1。

step3

现在,我们已经为特征图的每个位置设置了9个锚定框。但可能有很多盒子里没有任何物体。因此,模型需要学习哪些锚箱可能有我们的对象。有我们的物体的锚箱可以被归类为前景,其他的则是背景。同时,模型需要学习前景框的偏移量,以适应物体。 这就把我们带到了下一个步骤。

step4

锚箱的定位和分类是由边界箱调节器层和边界箱分类器层完成的。边界盒分类器计算地面真实盒与锚定盒的物性得分,并以一定的概率(又称物性得分)将锚定盒分类为前景或背景。
Bounding box Regressor层学习x,y,w,h值相对于已分类为前景的Anchor Box的偏移(或差异),其中(x,y)是盒子的中心,w和h是宽度和高度。由于RPN是一个模型,每个模型都有一个成本函数来训练,所以RPN也是如此。 RPN的损失函数可以表示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

举例

让我们用一个例子来回顾RPN的整个流程。假设我们有一张大小为600×800的图像,在通过卷积神经网络(CNN)块后,这幅输入图像缩小为38×56的特征图,特征图的每个位置都有9个锚点盒。那么我们就有38 * 56 * 9=1192个建议或锚箱需要考虑。而每个锚箱都有两个可能的标签(前景或背景)。如果我们把特征图的深度定为18(9个锚点x 2个标签),我们将使每个锚点都有一个有两个值的向量(通常称为预测值),代表前景和背景。如果我们将预测值送入softmax/logistic回归激活函数,它将预测标签。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大肚能容天下难容之事_研学讲解

    大肚能容天下难容之事_研学讲解DCGAN入门前言DCGAN介绍所需环境代码解刨训练集获取所需参数构造前期准备工作代码编写日志输出训练节点保存训练节点读取生成优化器权重初始化图像数据集读取运行额外参数核心代码生成器G(x)判别器D(x)主函数结果展示学以致用前言根据之前的两片入门级别的GAN文章,相信各位对GAN有一丝丝了解。知道对抗网络究竟是干什么的就能读懂这篇文章了=·=DCGAN介绍DCGAN的英文全名为:DeepConvolutionGenerativeAdversarialNetworks顾名思义,DCG

    2025年7月4日
    3
  • android之按钮单击事件及监听器的实现方式

    第一种,匿名内部类作为事件监听类. Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { System.out.println(

    2022年3月9日
    78
  • USB转RS485串口电路设计「建议收藏」

    USB转RS485串口电路设计「建议收藏」USB转串口芯片的串口信号一般为TTL/CMOS电平,在实现半双工RS485串口时需要外接485电平转换芯片,设计中需要有信号来控制485转接芯片的发送和接收使能端,建议选择自带485控制引脚的转接芯片(如CH340/CH342系列芯片的TNOW引脚),该引脚默认为低电平,当串口处于发送状态时会自动拉高处于有效状态,发送完成再恢复低电平。同理,可以延伸到其他应用场景,如单片机串口转485电路设计中可以使用GPIO口来控制485转接芯片的发送和接收使能。以MAX485为例:1.DE..

    2022年6月10日
    58
  • 学习资料下载地址[通俗易懂]

    学习资料下载地址

    2022年1月20日
    54
  • Ubuntu18.04 Cmake升級

    Ubuntu18.04 Cmake升級

    2020年11月8日
    209
  • mysql系列:全网最全索引类型汇总「建议收藏」

    mysql系列:全网最全索引类型汇总「建议收藏」前言除了常见的普通索引,唯一索引,组合索引,大家还能说一下mysql中有哪些其他类型的索引吗?今天和大家一起总结mysql中有哪些索引类型。一、mysql中有哪些索引类型?聚簇索引(ClusteredIndex)非聚簇索引主键索引(PRIMARYKEY)辅助索引(SecondaryIndexes)HASH索引BTREE索引T-TREE索引R-Tree索引自适应hash索引(AdaptiveHashIndex)唯一索引(UNIQUEIndexs)普通索引(No

    2022年5月22日
    36

发表回复

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

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