本文主要是介绍[FPN][2017] Feature Pyramid Network,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、目的
在消耗少量的computation和memory前提下,使用feature pyramids,在不同scale识别物体
2、结构
1)bottom-up(backbone)
- 包含不同的特征stage,尺度以2倍递变
- 每个stage是一个金字塔level,选取每个stage的最后一层(特征最强)输出的feature map作为reference set。
例如ResNet的每个stage的输出为 ,对应的stride={4, 8, 16, 32}
2)top-down
- 逐步上采样低分辨率、语义更强的高level特征图,融合进高分辨率的特征图中;
- 最近邻
3)lateral connection
- 将bottom-up的低level、高定位精度(分辨率)的特征融合进top-down(element-wise相加)
- bottom-up的特征通过conv 1 x 1(无非线性层),尺寸与top-down的相应feature map相同;增加该网络复杂性,结果提升很小
- 不同level的输出channel数相同(256)
- merge后的feature map经过conv 3 x 3,以消除上采样的混叠效应
例如ResNet的每个pyramid level的输出为,对应着
3、不同的pyramid策略
a) 所有level的语义特征都很具有代表性,但inference时间久,无法end-to-end训练,因此只能用于test,导致train和test不一致
c)不同level的语义特征有较大的gap,高分辨率的feature map包含较多的low-level特征,不利于物体识别
d)克服a和c的缺点
4、用于检测任务
1)pyramid不同level共享分类器和回归器(不共享的情况下,accuracy相似)
2)每个level的anchor是single-scale的,不同level实现multi-scale
* ~
的anchor大小分别为
。当需要
大小的anchor时,需要对
进行stride=2的下采样(max pool),引入
。
3)anchor分配
是RoI为w x h =
的level,这里设置为4
5、结论
1)RPN的Average Recall(AR)↑,R-CNN的detection结果↑
2)复用高分辨率的特征图,有利于小物体的检出
这篇关于[FPN][2017] Feature Pyramid Network的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!