前言
目前人们已经提出很多方法以解决目标检测中的尺度变化问题,如下图所示:
- (a):特征化的图像金字塔,通过在不同尺度的图像上应用CNN得到不同尺度的特征图,由于每个尺度的图像都要经过一个深度CNN来提取特定尺度的特征图,因此速度很慢。
- (b):FPN,虽然能够得到融合的多尺度特征,但并不适合非常小和非常大的目标。对于一个非常小的目标来说,有可能经过很大倍数的上采样之后,依然不能达到网络所要求的分辨率(通常是224×224224 \times 224224×224),并且FPN生成的高级语义特征对于检测小目标或大目标来说可能是不充足的,而且这种方法的计算量很大。
- (c):在Fast/Faster R-CNN中使用的单一尺度的特征。
- (d):SSD中利用特征金字塔层级形式的CNN层,生成不同尺度的特征图,在每个特征图上分别进行预测,较浅的层预测小目标,较深的层预测大目标。但是,SSD检测小目标的性能并不是那么好。
(e)就是本文提出的轻量级的特征化的图像金字塔网络(LFIP),它是在SSD的基础上进行改进的,首先对输入图像进行迭代地下采样以构建图像金字塔,然后将其送入一个较浅的卷积块,生成特征金字塔,就是图(e)中红色的部分,也就是对图像金字塔的每个层级进行特征化。然后通过attention模块将特征金字塔中的多尺度特征与SSD特征相结合,以增强特征图的判别能力。最后引入前向融合模块(forward fusion module)将当前层和前一层的特征进行融合。
方法实现
如上图所示是本文在SSD的基础上改进的结构,称为LFIP-SSD,由两部分组成:标准的SSD网络和LFIP网络,LFIP网络对输入图像进行迭代的下采样,然后送入一个轻量级的卷积块以生成不同尺度的特征图,使用feature attention模块将这些特征图注入SSD网络中,然后将当前层经过结合的特征与前一层通过forward fusion模块融合到一起。
1. 特征提取策略
- 图(a)是SSD中的特征提取,它通过重复的卷积操作和池化操作得到不同大小的特征图,虽然这些特征图语义信息很强,但损失了一部分判别性的信息,而这些判别性信息有助于准确的目标分类;
- 图(b)是本文提出的特征提取方法,首先通过插值或池化对输入图像进行下采样,以满足SSD中不同层所要求的尺寸大小,然后将这些经过下采样的图像经过一个较浅的卷积块,同样能够得到不同尺度的特征图。这种方法的计算效率更高,并且包含的判别性信息更多,更有助于多尺度检测。
2. LFIP
在前面已经说过,标准的特征化的图像金字塔的效率非常低,因为每个尺度的图像都要经过一个深度CNN以提取不同尺度的特征图。因此,本文提出一种简单高效的方法来构建一个轻量级的特征化图像金字塔LFIP,如下图所示,该方法包括迭代的下采样部分和一个轻量级的卷积块:
给定一个输入图像III,首先通过迭代进行的下采样构建图像金字塔IpI_pI