特征金字塔:FPN(Feature Pyramid Networks)

参考:
【论文笔记】FPN —— 特征金字塔
神经网络学习小记录29——特征金字塔-Feature Pyramid Networks(FPN)

1、introduction

在目标检测中,对于小目标的检测是一个难点,如果我们使用传统的多级卷积运算,可能导致像素占比少的小目标在该过程中丢失,所以如何提取高级特征还能保留小目标的信息是一个问题。

在FPN论文中总结出针对这个问题的几种解决方法。

1.1、Featurized Image Pyramid

通过图像金字塔来构建不同尺度的特征金字塔,如下图所示。
特征金字塔:FPN(Feature Pyramid Networks)_第1张图片
该方法对于图像金字塔中每个尺寸的图像都进行特征提取,无论是高分辨还是低分辨,无论是大目标还是小目标都能提取到较强的信息。

但是缺点也很明显,相当于给一个推理网络投喂一个图像金字塔,其计算量是巨大的,无法形成一个端到端的实时性的检测网络。

而且训练时,网络是针对了某个分辨率训练好的(偏好性?),不能有很好的适应性。

1.2、Single Feature Map

更常见的网络结构,显然无法进行多分辨率的检测,也对小尺寸目标无法很好完成检测。
特征金字塔:FPN(Feature Pyramid Networks)_第2张图片
当然在计算量上,相比上一种结构有很大的优势。

1.3、Pyramidal Feature Hierarchy

1.2中单图像多级特征图,所以也可以联合利用所产生的所及特征图,比如SSD
特征金字塔:FPN(Feature Pyramid Networks)_第3张图片
但问题是,SSD利用多级特征并不是从低层特征开始的,而是从较高的层开始的,所以存在低层特征图语义信息不够和低层特征图的分辨率也不高的问题。

1.4、Feature Pyramid Networks

FPN即特征金字塔,来自论文《Feature Pyramid Networks for Object Detection》。
特征金字塔:FPN(Feature Pyramid Networks)_第4张图片
这种网络结构,能够在增加较少计算量的前提下融合低分辨率语义信息较强的特征图和高分辨率语义信息较弱但空间信息丰富的特征图。

2、结构详解

我们来看看这个“堆叠”是怎么实现的?
特征金字塔:FPN(Feature Pyramid Networks)_第5张图片
对于不同级的特征图尺寸不同,高语义内容的特征层尺寸小,但是含小目标的信息越少,低语义内容的特征层尺寸大,但是含小目标的信息越多。

从上图可以看出,高语义内容的特征层经过上采样和下层进行堆叠,保证小目标的特征与信息。

特征金字塔:FPN(Feature Pyramid Networks)_第6张图片

深度学习中常用矩阵加操作,将不同表征的信息融合在一起,也就是多个矩阵逐像素相加,但是我曾经想着逐像素相加形成少许几个矩阵,还能表示曾经的多个信息吗?比如特征金字塔将高分辨率和低分辨率这种,生产的新特征富含了高分辨特征和低分辨特征,怎么想想也觉得怪。

但是新的想法帮助我理解了这个问题,虽然只是突发奇想,不一定是对的。

我们知道比如光波、声波,当多个不同的来源叠加时,我们仍然能够将其分离,比如光纤通信,比如多个人同时给你讲话,虽然能量上叠加了,但是仍然能保持自己的特征。那么图像也是一种信息,可以理解为一种波,那么可能也能够在叠加时保持自己的特征,虽然在算法上只是简单的叠加了,实际上各种特征并没有改变,只是隐藏在了cat操作之下了。

你可能感兴趣的:(深度学习DL,cnn,目标检测)