PFPNet 笔记
前言
1.本文重点是PFPNet的网络结构和MSCA模块,尽量用较少篇幅表达清楚论文算法,其他一些不影响理解算法的东西不做赘述
2.博客主要是学习记录,为了更好理解和方便以后查看,当然如果能为别人提供帮助就更好了,如果有不对的地方请指正(论文中的链接是我经过大量搜索,个人认为讲解最清楚的参考)
创新点
1.利用MSCA模块将spp输出的多尺度特征图进行融合
2.提出PFPNet(Parallel Feature Pyramid Network)
PFPNet
1.首先回顾一下目标检测网络结构的演变过程
(a)上面结构是cnn提取特征,然后在最后的特征图上进行预测,如YOLOv1
(a)下面结构是提取特征之后在几个特征图上分别预测,如SSD
(c)是利用spp进行多尺度池化,然后融合,最后在一个特征图上预测,如SPPNet
(b)上虽然也在最后的特征图上预测,但是这个特征图是前面基层特征图融合得到的
(b)下是多尺度特征图融合后分别在几个特征图上预测,如FPN
(d)就是PFPNet了,可以看到前面是spp,只是后面融合方式不同(MSCA:multi-scale context aggregation)
2.PFPNet网络结构
网络流程是,输入图片经过cnn特征提取,然后经过spp输出三种尺度的特征图,再经过bottleneck层减少通道数,三种尺度的分别得到低通道数的特征图,接着将和进行融合,最后在融合后的三种尺度的特征图P上分别预测
其中参数:
D:基础网络特征提取后得到的特征图的通道数
:经过spp后特征图的通道数(spp是池化,所以通道数不变,=D)
:特征图的通道数,=D/(N-1)
:特征图P的通道数
N:spp输出不同尺度特征图的个数(图中N=3)
3.具体融合过程(MSCA)
MSCA是对通道进行concat操作(特殊方式的融合)。以为例,按照常规的融合应该是,和下采样得到的特征图和上采样得到的特征图三者进行concat;但是MSCA的操作是和下采样得到的特征图和上采样得到的特征图三者从concat,也就是说和尺寸相同的特征图选,因为的通道数多,这样特征信息就多,对网络性能有帮助,最后通过卷积层得到,、同理
所以融合后特征图的通道数:+(N-1)=D+(N-1)D/(N-1)=2D。也就是说一半来自,一半来自