目标检测:特征金字塔网络(Feature Pyramid Network)
概述
由于在目标检测任务中,对与大目标的检测,需要feature map每个点的感受野大一点(高层语义特征),对于小目标,需要感受也小一点(底层纹理特征),传统的检测任务我们往往是通过最后卷积层输出的供给下游检测任务使用,这样每一个点的感受野很大,对于小目标检测不友好,作者基于传统卷机网络固定的结构提出了一种新的架构一边融合底层信息于高层信息。
核心思想
我们先介绍FPN其中的一个模块,如下图:
这有一些类似residual block,我们发现,这个模块分为从左到右横向连接和从上到下的纵向连接,横向连接是1 * 1 卷积层,为了保持前后维度一致,纵向连接为上采样层,采用最邻近插值法来二倍夸大feature map 的 h 于 w,最邻近插值法实现原理为:
了解了这个模块的原理,回到上面的架构图:
假设输入的图像为640 640 3,在上图左下角,通过Backbone为ResNet50的网络,conv4的输出为40401024, conv5的输出 20 20 2048的feature map,按照以前的方法,我们会直接拿着个进行分类回归,而FPN结构为把conv5的输出用 1 1卷积层降维(channel ==256),然后把这个output进行下采样通过上面介绍的插值法,hw 于conv4的 hw一致,把这和结果定义为结果1,然后在把conv4的output通过1 1降维的256,这个结果定义为结果2,然后把结果1 于结果2进行add融合,得到新的feature map,此时的feature map 要比以往的更强大,具有更丰富的语义信息。
之后通过一个3 * 3的卷积层用来消除混叠效应,重复上诉操作,就得到上图的结果{p2,p3,p4,p5,p6}。