前言
FPN虽然通过top-down特征融合为浅层特征提供了充足的语义信息,但深层特征可能会缺少位置或空间信息,而空间信息的损失会导致特征不对齐,即anchor和卷积特征之间存在一些偏移,也就是说anchor在经历多次卷积之后,在深层特征上的位置可能和初始位置不一致。除此之外,在较深的卷积层中很容易丢失小目标。
由此,本文提出了一种新的网络结构,称为图像金字塔引导网络(Image Pyramid Guidance Network,IPG-Net),它主要包括三部分:IPG子网(image pyramid guidance sub-network),基于ResNet的backbone和融合模块。
本文的贡献如下:
- 提出IPG-Net以解决较深的卷积层中的空间信息不足问题和小目标易丢失问题;
- 提出IPG子网以提取图像金字塔特征;
- 设计融合模块。
方法实现
上图是IPG-Net的整体结构,图(a)是标准的FPN,图(b)就是IPG-Net,包括IPG子网、backbone和融合模块,绿色框表示IPG子网,它的作用是从图像金字塔中提取浅层特征以提供空间信息和细节信息,这些被提取的特征称为图像金字塔特征,负责对backbone进行引导从而使backbone保持空间信息和小目标的特征。红色框就是backbone。蓝色框是融合模块,用于将backbone中的深层特征与IPG子网中的浅层特征融合起来。蓝色箭头表示FPN中的横向连接,最右侧的蓝色特征图表示最终的FPN的输出。
图(b)中的图像金字塔用于为backbone的每一层提供更充足的空间信息。对于backbone中的每一层,通过IPG子网计算相应层级的图像金字塔特征,然后使用融合模块将图像金字塔特征融合到backbone中,最终生成特征金字塔FPN。
1. IPG子网
IPG子网的输入是一个图像金字塔,该图像金字塔可以被表示为:
其中 H H H和 W W W是原始输入图像的大小, n n n是图像金字塔的层级,这里 n = 4 n=4 n=4,与标准ResNet的深度相对应。IPG子网的结构如下图所示:
IPG子网由两部分组成:一个是 7 × 7 7\times 7 7×7的卷积后跟 2 × 2 2 \times 2 2×2的最大池化,还有一个是残差块。残差块接收想同维数的特征作为输入,输出的特征具有不同的维数,但都与backbone中的特征维数相同。
IPG子网的输出可以被表示为:
其中 f ( ⋅ ) f(\cdot) f(⋅)表示IPG子网, F H 2 i × W 2 i F_{ \frac{H}{2^i} \times \frac{W}{2^i}} F2i</