FPN总结

FPN(Feature Pyramid Network)解决了两阶段检测器faster RCNN中小目标检测不佳的问题,通过融合高层语义信息和低层空间信息,构建具有多尺度信息的特征金字塔。FPN包括自底向上和自顶向下路径,以及横向连接。在RPN和Fast R-CNN中,FPN的引入提高了目标检测的性能,特别是在处理不同尺度的目标时。在训练时,采用特定的策略和超参数设置,如调整学习率和正负样本选择。
摘要由CSDN通过智能技术生成

经典的two stage检测网络有:faster RCNN和SSD,它们用于做bbox regression的模型各有不同,faster RCNN是VGG,feature map经过不断地下采样,最后的feature map送入RPN层,这样不断地下采样使得小检测框的像素非常小,无法进行训练的到,得到很好的结果。而SSD则是分别对不同尺寸的feature map进行bbox regression,这就导致尺寸较大的feature map没有高级语义,对于全局语义没有很好地提取,无法判断出物体的位置和大小,同样对小检测框没有很好的检测效果。FPN则解决了这个问题。
在这里插入图片描述
(a)是图像金字塔,我记得MTCNN中用的就是这个,这个很占用时间;(b)是常规的卷积网络,faster RCNN用的是这个;(c)是SSD的结构,SSD为了避免使用low-level的特征,放弃了浅层的feature map,而是从conv4_3开始建立金字塔,而且加入了一些新的层。因此SSD放弃了重利用更高分辨率的feature map,但是这些feature map对检测小目标非常重要。这就是SSD与FPN的区别;(d)是FPN,FPN是为了自然地利用CNN层级特征的金字塔形式,同时生成在所有尺度上都具有强语义信息的特征金字塔。所以FPN的结构设计了top-down结构和横向连接,以此融合具有高分辨率的浅层layer和具有丰富语义信息的深层layer。这样就实现了从单尺度的单张输入图像,快速构建在所有尺度上都具有强语义信息的特征金字塔,同时不产生明显的代价。

下面说一下长得很像的两个网络:
在这里插入图片描述
上面那张图并不是FPN,他只是用最后一张合成的feature map做预测,真实的feature map是每一层都用anchor做预测。事实证明,FPN的效果更好,因为在不同层使用anchor可以增加对于尺寸变化的鲁棒性。当然第一个也有anchor,它的数量即使远远大于FPN,效果也不如FPN,因为缺少鲁棒性。

下面说一下融合方式:
在这里插入图片描述

Bottom-up pathway

resnet的网络结构是这样的:他有4个stage,每个stage中的feature map尺寸都是一样的,stage之间用步长为2的3*3卷积做降采样。对于我们的特征金字塔,我们为每个stage定义了一个金字塔级别。我们选择每个stage的最后一层的输出作为我们的特征映射的参考集。因为每个阶段的最深层都应该具有最好的特征。具体来说,对于ResNets,我们使用每个stage最后一层的特征激活输出。对于conv2、conv3、conv4和conv5输出,我们将这些最后剩余块的输出表示为{C2、C3、C4、C5},并注意它们对输入图像的像素步长为{4、8、16、32}。由于conv1的内存占用很大,所以我们没有将它包括在金字塔中。

Top-down pathway and lateral connections.

自顶向下路径通过从更高的金字塔层次上采样,从而产生更高分辨率的特征。这些特征通过自下而上的连接得到增强。每一个横向连接都融合了自底向上和自顶向下路径上相同空间尺度的特征图。自底向上的特征映射具有较低的语义级别,但更有利于定位,因为它的子采样次数更少。
它的连接过程为:首先使用上采样(如最近邻),然后使用1*1卷积核,改变channel,然后进行像素间相加最后用3*3的卷积核处理已经融合的特征图,解决上采样带来的混叠效应。为了后面的应用能够在所有层级共享分类层,这里固定了3*3卷积后的输出通道为d,这里设为256.因此所有额外的卷积层(比如P2)具有256通道输出。这些额外层没有用非线性(实验发现作用很小)。{C2, C3, C4, C5}层对应的融合特征层为{P2, P3, P4, P5},对应的层空间尺寸是相通的。

FPN for RPN

RPN是一个与类别无关的,滑动窗口的检测器,它通过一个33的滑动卷积核,完成二分类和bbox的回归。他首先是一个33的卷积核,然后再是两个1*1的卷积核。但是现在要将FPN嵌在RPN网络中,生成不同尺度特征并融合作为RPN网络的输入。在每一个scale层,都定义了不同大小的anchor,对于 P 2 P_{2} P

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPN (Feature Pyramid Network) 是一种用于目标检测和语义分割任务的神经网络架构。它由 Tsung-Yi Lin 等人在论文 "Feature Pyramid Networks for Object Detection" 中提出。 FPN 的主要目标是解决目标检测任务中的多尺度问题。传统的目标检测方法通常使用单一尺度的特征图进行预测,这会导致小目标难以被准确检测到,而大目标则可能丢失细节信息。FPN 使用了一种金字塔式的特征提取方法,将不同尺度的特征图进行融合,以便在不同尺度上进行目标检测。 FPN 的核心思想是通过建立自顶向下和自底向上的路径来构建特征金字塔。自底向上的路径从底层的高分辨率特征图开始,通过下采样操作逐渐降低分辨率,生成一系列特征图。自顶向下的路径则通过上采样操作逐渐增加分辨率,将高层语义信息传递到低层特征图中。最后,不同层级的特征图通过横向连接进行融合,形成一个多尺度的特征金字塔。 在目标检测任务中,FPN 可以用作特征提取网络的一部分,提供多尺度的特征图用于目标检测器的预测。它可以帮助检测器更好地适应不同尺度的目标,并提高检测精度。 在语义分割任务中,FPN 可以用于生成密集的像素级预测。通过将特征金字塔的不同层级特征图进行上采样和融合,可以得到高分辨率的语义分割结果。 总结来说,FPN 是一种有效解决多尺度问题的神经网络架构,可用于目标检测和语义分割任务。通过构建特征金字塔,提供多尺度的特征图,从而提高模型在不同尺度上的表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值