提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
看看FPN
利用图像金字塔的原理,增加网络对低层信息的关注。
底层信息中有更多的像素级的信息,细节信息,空间特征等;高层信息更多的是语义特征,帮助理解。
更好的检测小目标。
看看论文的图
看看测试
显卡: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等后续操作来提升对不通尺度目标的检测准确度。