一、目标检测之FPN
Feature Pyramid Networks for Object Detection(用于目标检测的特征金字塔网络)
- 论文链接:https://arxiv.org/abs/1612.03144
- 论文翻译:http://noahsnail.com/2018/03/20/2018-03-20-Feature Pyramid Networks for Object Detection论文翻译——中英文对照/
- 论文详解:
1、https://blog.csdn.net/WZZ18191171661/article/details/79494534
2、https://xmfbit.github.io/2018/04/02/paper-fpn/ - 论文代码:
1、(pytorch) https://github.com/kuangliu/pytorch-fpn
2、(caffe) https://github.com/unsky/FPN
二、FPN算法
1、FPN框架
步骤:
- 首先,选择一张需要处理的图片,然后对该图片进行预处理操作;
- 然后,将处理过的图片送入预训练的特征网络中(如ResNet等),即构建所谓的bottom-up网络;
- 接着,如上图所示,构建对应的top-down网络(即对层4进行上采样操作,先用1x1的卷积对层2进行降维处理,然后将两者相加(对应元素相加),最后进行3x3的卷积操作,最后生成一个feature map,目的是减少上采样的混叠效应(aliasing effect);
- 接着,在图中的4、5、6层上面分别进行RPN操作,即一个3x3的卷积后面分两路,分别连接一个1x1的卷积用来进行分类和回归操作;
- 接着,将上一步获得的候选ROI分别输入到4、5、6层上面分别进行ROI Pool操作(固定为7x7的特征);
- 最后,在上一步的基础上面连接两个1024层的全连接网络层,然后分两个支路,连接对应的分类层和回归层;
2、FPN框架细节
图: Faster R-CNN+FPN
三、FPN总结
FPN能够很好的处理小目标:
- FPN可以利用经过top-down模型后的那些上下文信息(高层语义信息);
- 对于小目标而言,FPN增加了特征映射的分辨率(即在更大的feature map上面进行操作,这样可以获得更多关于小目标的有用信息);