简单看看FPN

本文解析了FPN(Feature Pyramid Network)的工作原理,如何通过融合不同层次特征提升小目标检测性能,并讨论了其在实际测试中的显存占用情况。作者还提到模型结构计算方法对显存的影响,尤其是矩阵运算的复杂性。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

看看FPN

利用图像金字塔的原理,增加网络对低层信息的关注。
底层信息中有更多的像素级的信息,细节信息,空间特征等;高层信息更多的是语义特征,帮助理解。
更好的检测小目标。


看看论文的图

在这里插入图片描述
在这里插入图片描述
skip层的细节
其他大佬那里扒来


看看测试

显卡:RTX3060
CUDA: 11.3
cudnn: 8.2.1.32

想看看显存占用和计算的差异,使用pytorch用ResNet18简单测了下,只用到backbone和FPN输出层,没有其他层了,目的也不是对比结果。

torchstat输出结果
renet18
在这里插入图片描述
显存: 2093m


resnet18+3*fpn
在这里插入图片描述
显存:2093m


显存没有差别,估计主要显存还是消耗在图像数据的计算和resnet backbone的中间计算访存量。
看起来影响显存的主要问题并不是模型,和模型结构的计算方法有关,比如attention方法由于计算的是矩阵相乘而不是elementwise的操作,导致占用显存特别多。


FPN还是提供了一个特征金字塔,然后通过对特征金字塔上进行RPN等后续操作来提升对不通尺度目标的检测准确度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值