目标检测 Feature Pyramid Networks for Object Detection(FPN)论文笔记
程序员文章站
2023-12-24 13:04:33
...
目标检测 Feature Pyramid Networks for Object Detection(FPN)论文笔记
原文: Feature Pyramid Networks for Object Detection
作者: Tsung-Yi Lin, Piotr Dollar, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie
下载地址: https://arxiv.org/abs/1612.03144
1 简介
- 长久以来,在不同尺度下识别物体一直是计算机视觉一大挑战。传统的解决方法是对一张图像进行缩放,形成图像金字塔,然后从每层分别提取特征,形成对应的特征金字塔(如Figure1(a))。这种方法曾经在深度学习方法之前很受欢迎,但之后逐渐被CNN一系列方法替代。因为CNN网络已经能够自动提取高级特征,并且鲁棒性更强(如Figure1(b)),而且金字塔结构相对而言太耗时间了。
- 即便如此,CNN系列的检测网络对于小物体还是不够理想,所以还是可以考虑使用金字塔。SSD(Single Shot Detector)对此进行过尝试(如Figure1(c))。**网络的浅层分辨率高,但特征表示较为低级;深层的分辨率低,但有更高级的特征表示。**SSD从每层的特征中进行预测,为了避免计算量过大,前面的浅层信息没有使用。但本文表明这些高分率的浅层信息也是很有用的。
- 作者根据以上提出了FPN(Feature Pyramid Networks)(如Figure1(d))。网络首先通过bottom-up pathway由浅到深提取特征(就是正常的网络结构),再通过top-down pathway和lateral connections生成在每个等级都有丰富语义的特征金字塔。
- 过去有一些研究方法采用的是Figure2上半部的结构,即只在top-down pathway的最后一层做预测。而本文的方法在每一层都有预测(Figure2下半部)。
2 FPN介绍
2.1 Bottom-up pathway
- bottom-up pathway就是平常见到的前向传播网络,从原图开始,一层一层计算特征。作者将一些尺度相同的层称为同一“stage”。下一个stage的分辨率比上一个降低了1倍。在后面的特征金字塔中,只取每个stage的最后一层参与其构成。
- 由于使用的是Resnet作为主干,作者将其分成5个stage,每个stage最后的conv输出标记为
{C1,C2,C3,C4,C5} 。第一层占用的内存太多,因此只取{C2,C3,C4,C5} 四个stage构成特征金字塔。它们对于输入图像的步长等于{4,8,16,32} 。
2.2 Top-down pathway and lateral connections
- 先从C5开始,通过最近邻方法把特征图升采样2倍;对应的需要相加的bottom-up map用1*1卷积核的网络调整其通道数(本文中通道数d=256),这样二者就可以逐元素相加了(过程见Figure3)。Top-down pathway就这样一层一层向下传递。
- 迭代开始时,为了产生 the coarsest resolution map,C5首先用一个1*1的卷积层处理。
- 得到每个相加的特征图后,作者再次用3*3的卷积处理,得到最后的特征图
{P2,P3,P4,P5} 。
3 应用
本章中作者说明如何将上面提出的特征金字塔用到目标检测当中
3.1 FPN for RPN
- 在FPN中,作者只用了一种尺度的anchor,由于不同层的feature pyramid上对应的尺寸已经不同,所以都使用同一个尺度的anchor就足够了。于是乎
{P2,P3,P4,P5,P6} 对应的anchor面积为{322,642,1282,2562,5122} 。另外,还有{1:2,1:1,2:1} 三种长宽比,所以anchor的种类共有15种。 - anchor的标签还是遵循以前的方法。如果某个anchor IoU大于0.7,或是某个ground-truth最大IoU,则为正标签。反之如果IoU小于0.3,则为负标签。
- 注意到上面多了一个
P6 ,它只是单纯为了多一个更大的anchor,从P5 2倍上采样得到。这个只在本小节有,下面的Fast R-CNN依然只到P5。 - 作者还提到参数共享问题,不过没看明白,直接贴原文了:
3.2 FPN for Fast R-CNN
- 作者认为,对于不同尺度的ROI,ROI Polling层也要用不同尺度的特征图输入。具体要用哪一层,作者给出如下公式计算。其中
w 和h 是ROI的尺寸,k0 是指当w∗h=2242 时使用哪一层P? 输入。当ROI更小时,就要考虑用更精细的特征图,即P? 下标更小。
4 实验
- 论文的实验篇幅太长了,这里就不多说明,想看详细实验分析建议阅读原文 : )