目标检测中的多尺度特征

  • 目标检测中最具挑战性的问题就是目标的尺度变化问题(scale variance)。在目标检测中,物体的形状和尺寸大小不一,甚至可能出现一些极小、极大或者极端形状(如细长型、窄高型等)的物体,这就给目标的准确识别和精准定位带来了极大困难。
  • 现有的针对目标尺寸变化问题而提出的算法中,较为有效的算法主要有图像金字塔和特征金字塔,这两者的共同思想就是利用多尺度特征来检测不同尺寸的物体。

1. 图像金字塔(image pyramid)

  • 图像金字塔是指将图像缩放至不同分辨率,并用同一个CNN对不同分辨率的图像来提取不同尺寸的特征。由于CNN网络的感受野大小是固定的,那么不同尺寸的特征图就可以关注不同区域的图像:高分辨率特征图在高分辨图像中的感受野区域更接近小物体,所以高分辨率图像更适合检测小物体,同理,低分辨率图像只适合检测小物体。因此,图像金字塔能有效解决目标尺度变化问题,有效提高目标检测性能
    在这里插入图片描述

1.1 多尺度训练/测试(multi-scale training/testing)

  • 现阶段的目标检测网络通常允许任意大小的输入(比如全卷积网络或RoI pooling),所以可以使用多尺度训练,提高检测器对目标尺度变化的鲁棒性。在测试阶段使用多尺度测试时,检测器会选择更加合适的大小的物体,从而提高对不同尺寸目标的检测准确度,但是多尺度测试会使检测时间成倍增加。

1.2 SNIP(Scale Normalization for Image Pyramids)

  • SNIP通过实验发现,当目标的尺寸在合适范围内,且目标的形状较多时,检测器具有更好的性能。SNIP借助图像金字塔,只训练和测试合适大小的物体,从而提高了目标检测的准确度。SNIP的2个创新点为:为减小domain-shift,在梯度回传时只将和预训练模型所基于的训练数据尺寸相对应的RoI的梯度进行回传;为保证满足要求的RoI的数量和种类足够多,借鉴多尺度训练的思想,引入图像金字塔来处理数据集中的不同尺寸的数据。

2. 特征金字塔(feature pyramid)

  • 图像金字塔来测试时带来的时间损耗是非常大的,每个不同分辨率的输入图像都要通过同一个CNN,这个过程存在着大量的冗余计算,为解决此问题,研究人员提出了特征金字塔,即输入单一分辨率图像,得到不同分辨率的特征图,而如何获取并利用这些多尺度特征图,则有非常多的方法。总的来说,可以分为以下几类。
  1. 直接的多尺度特征预测,如SSD,MSCNN,DSOD;
  2. 多尺度特征融合+单尺度特征预测,如ION,HyperNet,TDM,YOLOv2;
  3. 多尺度特征融合+多尺度特征预测,如RON,FPN,ZIP,DSSD,STDN,PANet,MLFPN,NAS-FPN,BiFPN。

2.1 直接的多尺度特征预测

  • 直接的多尺度特征预测的网络结构简图如下所示,即,直接利用网络中不同分辨率的特征图来检测不同大小的物体,分辨率较高的浅层特征图由于具有丰富的细节信息和较小的感受野,适合用来检测小物体;分辨率较低的深层特征图由于具有较强的语义信息和较大的感受野,适合用来检测大物体。但由于浅层特征的语义信息不够强,所以对小物体的检测效果还不够好。
    在这里插入图片描述

  • SSD直接在backbone network后添加多个卷积层,并直接在不同大小的特征图上预测。而DSOD同样延续了这一做法。
    在这里插入图片描述

  • MSCNN同样是直接在不同尺寸的特征图上预测,但MSCNN在每个特征图后加入反卷积,增大了特征的分辨率。
    在这里插入图片描述

2.2 多尺度特征融合+单尺度特征预测

  • 为增强低分辨特征图的语义信息和高分辨率特征图的细节信息,通常的做法是将高低分辨率特征图进行特征融合,得到同时具有强语义信息和丰富位置信息的单一分辨率特征图,并在该特征图上预测。但这类算法在多尺度特征融合方式上各有不同。
  • ION使用skip pooling进行多尺度特征融合
    在这里插入图片描述
  • HyperNet的多尺度特征融合方式如下:小尺寸特征用max pooling做下采样,大尺寸特征用反卷积做上采样,最后直接将多个特征按通道数concatenate成单尺度特征。
    在这里插入图片描述
  • TDM则由深到浅逐渐将相邻层聚合起来
    在这里插入图片描述在这里插入图片描述

2.3 多尺度特征融合+多尺度特征预测

  • 目的是使不同分辨率的特征同时具有较强的语义信息和丰富的位置信息。

  • FPN通过引入多尺度特征融合,并进行多尺度特征预测,减小了目标尺寸变化的影响,大大提高了目标检测的准确度。在相邻特征层融合时,FPN采用的上采样方式是双线性插值,特征叠加方式为逐元素相加。
    在这里插入图片描述

  • DSSD则通过反卷积进行特征上采样,而特征叠加方式为逐元素相乘
    在这里插入图片描述

  • RON的上采样方式是反卷积,特征叠加方式为逐元素相加
    在这里插入图片描述

  • STDN在得到一系列相同分辨率的特征图后,用平均池化做下采用,用超分辨率转化做上采样。多尺度特征融合体现在其骨干网络DenseNet中
    在这里插入图片描述

  • PANet则在FPN的基础上再添加一条bottom-up通道,目的是进一步融合信息,使高分辨率图像也具有较强的语义信息。

  • NAS-FPN则采用网络结构搜索的方法,得出新的特征融合模块,然后重复使用该模块。

  • BiFPN则构建了带有自学习权重的特征融合模块BiFPN layer,然后重复使用该模块。
    在这里插入图片描述

  • MLFPN则经过特征融合后得到多尺度多层级的特征图。
    在这里插入图片描述