Better to Follow, Follow to Be Better

Better to Follow, Follow to Be Better: Towards Precise Supervision of Feature Super-Resolution for Small Object Detection 阅读记录

论文链接

Abstract

作者认为下列两点可以提高特征超分辨的性能:

  1. 使用适当的高分辨特征作为训练特征超分辨网络的监督信号。
  2. 匹配训练特征图像对的感受野。

introduction

Related Work

Mismatch of Relative Receptive Fields

在这里插入图片描述
上图中 I 1.0 I^{1.0} I1.0表示原图, I 0.5 I^{0.5} I0.5表示原图下采样0.5倍,我们的目标是获取感兴趣区域的高分辨特征和低分辨特征,使用该特征对监督训练特征超分辨网络。这个地方可能会遇到感受野不匹配的问题:

  • 在超分辨感兴趣区域的过程中,如果使用相同的特征提取网络提取特征,会导致感兴趣区域的感受野不同。

如果我们用感受野不匹配的特征对去训练的话,将会严重误导超分辨模型。


这里作者举例证明,为什么使用相同的特征提取网络会提取到感受野不匹配的特征对。
首先我们需要搞清楚不同特征层之间感受野的映射关系。

在这里插入图片描述
上图的左边是特征提取网络的输入图像,右边网络输出的特征,这里我们只考虑水平维度。输入图像中的灰色框代表感兴趣区域,用右图中的灰色框表示它映射到特征图上位置。右图中的蓝色框表示特征图上的一个像素,它映射到原图中也是蓝色的框。

这里一共有四个参数:

  1. I w I_w Iw表示输入图像宽度;
  2. D D D表示特征提取网络下采样的比率;
  3. w w w表示特征中感兴趣区域的宽度;
  4. R w R_w Rw表示特征图中一个像素映射到原图中的感受野。

I w I_w Iw是已知的,当网络一定的条件下 D D D也是已知的,我们可以根据网络结构和和 D D D计算出 R w R_w Rw的值(可以参考CNN 感受野计算公式)。有了这几个参数我们就可以根据下方的公式计算出特征图中宽度为 w w w的感兴趣区域映射到原图中的感受野。

A R F ( w ) = R w + ( w − 1 ) ∗ D ARF(w) = R_w+(w-1)*D ARF(w)=Rw+(w1)D
R R F ( w , I w ) = ( R w + ( w − 1 ) ∗ D ) / I w RRF(w,I_w) = (R_w+(w-1)*D)/I_w RRF(w,Iw)=(Rw+(w1)D)/Iw

其中ARF代表绝对感受野,RRF表示相对感受野。

搞清楚感受野的计算方式以后就可以用数学的方法证明:为什么使用相同的网络对原图和下采样以后的图片进行特征提取获得感兴趣区域的感受野不同。

我们期望的情况是,来自原图的感兴趣区域的特征的相对感受野与来自其下采样以后图片的感兴趣区域的特征的相对感受野的比值为1,这里假设我们对原图做0.5倍下采样,然后计算其相对感受野的比值:

D R R F 1 / 2 ( w , I w ) = R R F ( w / 2 , I w / 2 ) R R F ( w , I w ) = 2 − w c + w DRRF_{1/2}(w,I_w) = \frac {RRF(w/2,I_w/2)} {RRF(w,I_w)} = 2 - \frac{w}{c+w} DRRF1/2(w,Iw)=RRF(w,Iw)RRF(w/2,Iw/2)=2c+ww

这里的 c = R w / D − 1 c=R_w/D-1 c=Rw/D1,是一个常量。我们可以发现当 w w w远大于 c c c时,使用同一个网络提取的特征对的感受野几乎一样,但是对于小目标, w w w就会很小,这时的两个特征的感受野就会大不相同。

如果超分辨的是整个特征图,就没必要考虑这个问题,但是如果是局部超分辨特征图,就要解决感受野匹配的问题。

Our Approach

为了提高特征超分辨网络对小目标的超分性能,作者从两个方面入手:1、对生成器的训练过程进行直接监督;2、使用空洞卷积匹配训练图像对的感受野。模型的整体结构如下:
在这里插入图片描述
这附图对网络结构的描述是非常清晰的,有两个权值共享的特征提取网络,其主要目的是匹配感受野。使用GAN的思想训练超分辨网络,最后使用超分辨特征预测小目标,使用基础特征预测大目标。


SR Target Extractor的主要目的就是提取目标特征( T 1.0 i T^i_{1.0} T1.0i)并扩大该特征的感受野使之与 F 0.5 i F^i_{0.5} F0.5i的感受野相匹配 。

这里需要注意一个问题,该网络的参数需要和Feature Extractor保持一致,也就是说,不能通过修改卷积核的方式增加感受野。所以作者采用扩张率为2的空洞卷积来增加感受野。为了考虑每一个节点,空洞卷积的stride为1,然后再后面跟一个没有参数的池化层。最终的链接方式如下图中的( c )。
在这里插入图片描述
这里作者通过空洞卷积扩大目标特征( T 1.0 i T^i_{1.0} T1.0i)的感受野,但是并没有证明它的感受野是否与 F 0.5 i F^i_{0.5} F0.5i相匹配。


SR Feature Generator是超分辨网络。上图中的黑线部分表示使用它的过程,淡蓝色线表示训练它的过程。训练目标如下图:
在这里插入图片描述
这里输入Generator网络的特征除了 F i F_i Fi还有 F s u b , i F{sub,i} Fsub,i,其中 F i F_i Fi是第i个目标所对应的最终特征, F s u b , i F{sub,i} Fsub,i表示第i个特征再提取特征的过程中的某中间层的特征。作者这样做的原因是特征提取网络的最深层会携带更少的小目标信息。

SR Feature Discriminator是鉴别网络,引入它是为了使用GAN的思想去训练超分辨网络。这里鉴别网络使用三个多层感知机构成。


很明显,这么多的网络模块不会同时训练,同时训练的话可能收敛速度会很慢。作者首先训练基础的网络,其中包括特征提取器、RPN和大目标检测器。然后冻结这三个子网络,使用生成对抗学习的思想训练生成器和鉴别器。

这里注意,作者使用 Feature Extractor 权值初始化 SR Target Extractor 的权值;使用 Lauge Predictor 的权值初始化 Small Predictor。

一旦生成器和鉴别器都收敛,就需要对大小预测器进行微调,同时冻结所有其他预测器。

所以说GAN不好训练。


预测阶段就很简单,其中有一个点需要提一下,预测过程会根据建议区域的尺寸选择是否进行图像超分辨。


Experiments

Tsinghua-Tencent 100K 数据集测试结果:

在这里插入图片描述
在这里插入图片描述


voc和coco数据集上的测试结果:
在这里插入图片描述

Conclusion