摘要
文章指出,在目标检测中,教师和学生在不同领域的特征差异很大,尤其是在前景和背景中。如果我们 平等地蒸馏它们,特征图之间的不均匀差异将对蒸馏产生负面影响。因此,我们提出了局部和全局蒸馏。局部蒸馏分离前景和背景,迫使学生专注于教师的关键像素和通道。全局蒸馏重建了不同像素之间的关系,并将其从教师传递给学生,补偿了局部蒸馏中缺失的全局信息。由于我们的方法只需要计算特 征图上的损失, FGD 可以应用于各种探测器。
总结
提出了局部和全局蒸馏,局部蒸馏分离前景和背景,迫使学生专注于教师的关键像素和通道。
全局蒸馏重建了不同像素之间的关系,并将其从教师传递给学生,补偿了局部蒸馏中缺失的全局信息。
1、介绍
众所周知,前景 - 背景类不平衡是物体检测的一个关键点,不平衡的比例也损害了物体检测的蒸馏。对于这个问题,chen 分配权重以抑制背景, Mimick 提取学生的区域建议网络提出的积极区域。 FGFI 和 TADF分别使用细粒度和高斯掩模来选择蒸馏区域。击败分别提取前景和背景。然而,蒸馏的关键在哪里,仍然不清楚。
为了探究学生和教师特征之间的差异,我们对注意力的空间和通道进行了可视化。如图 1 所示,学生的注意力和教师的注意力在前景中差异非常显著,而在背景中的差异相对较小。
这可能会导致学习前景和背景的不同困难。文章中,进一步探讨了知识蒸馏的前景和背景对目标检测的不同影响。我们通过在蒸馏中解耦前景和背景来设计实验。令人惊讶的是,如表1 所示,在前景和背景一起蒸馏的性能是最差的,甚至比只使用前景或背景还要差。这一现象表明,特征中的不均匀差异会对蒸馏产生负面影响。更深入的思考,不仅前景和背景之间存在负面影响,像素和通道之间也存在负面影响。因此,提出局部蒸馏,在分离前景和背景的同时,局部蒸馏还计算教师特征中不同像素和通道的注意力,像学生能够专注于教师的关键像素和通道。
总结
局部蒸馏,在分离前景和背景的同时,局部蒸馏还计算教师特征中不同像素和通道的注意力,使学生能 够关注教师的关键像素和通道 。
然而,仅仅关注关键信息是不够的。众所周知,全局上下文在检测中起着重要作用。许多关系模块已成功应用于检测,如非局部、GcBlock 、关系网络,极大地提高了检测器的性能。为了弥补局部蒸馏中提出的全局信息,我们进一步提出了全局蒸馏。在局部蒸馏中,我们利用GcBlock 提取不同像素之间的关系,然后从教师到学生提取它们。
总结
只关注局部是不够的,因此在局部蒸馏中,利用 GcBlock 蒸馏不同像素之间的关系。
提出了局部和全局蒸馏( FGD ),将局部蒸馏和全局蒸馏相结合,如图 2 所示。
所有损失函数仅根据特征进行计算 ,因此 FGD 可以直接用于各种探测器,包括两级模型、基于锚的一级和无锚的一级模型。
本文贡献:
1 、我们认为老师和学生关注的像素和通道是完全不同的,如果我们提取像素和通道而不区分它们,这将导致微不足道的改进。
2 、我们提出了局部和全局蒸馏,使学生不仅关注教师的关键像素和通道,而且能够学习像素之间的关系。
2、相关工作
基于特征的知识蒸馏方法,可以应用于几乎所有检测器。 Li 等人选择从 RPN 中采样的特征来计算蒸馏损失。很多方法对所有像素和通道都一视同仁。FKD 分别使用注意力掩码和非局部模块来引导学生蒸馏关系。然而,它将前景和背景蒸馏在一起。
蒸馏检测的关键问题是选择有价值的蒸馏区域。先前的蒸馏方法平等地处理所有像素和通道或将所有区域提取在一起。大多数方法缺少全局上下文信息的提炼。此外,我们捕捉了不同像素之间的全局关系,并将其提取给学生,这带来了另一个改进。
3、方法
大多数探测器都使用 FPN 作为 neck ,他们是从 backbone 中得到的不同尺度的特征图。从老师那里转移这些知识显著提高了学生的表现。通常,特征的蒸馏可以公式化为:
其中, 分别表示 来自教师和学生的特征,f是用于将重塑到相同 尺寸的自适应层。 H , W 表示高宽 ,C 表示通道。然而,这种方法对所有部分一视同仁,缺乏对不同像素之
间全局关系的提炼。为了克服上述问题,提出了 FGD ,包括局部蒸馏和全局蒸馏。
3.1局部蒸馏
对于前景和背景的不平衡,我们提出了局部蒸馏来分离图像,并引导学生关注关键像素和通道。蒸馏区的比较见图3.
首先,我们设置一个二进制掩码 M 来分离背景和前景 :
其中 r 表示 GTbox ,并且 i,j 分别是特征图的水平坐标和垂直坐标。 如果 (i,j) 落在 GT 内 ,则 ,否则为0.
规模较大的目标由于拥有更多的像素,将占据更多的损失,这将影响小目标的蒸馏。在不同的图像中, 前景和背景的比例差异很大。因此,为了平等对待不同的目标,平衡前景和背景的损失,我们将比例掩 码 S 设置为 :
其中 和 表示 GT 框 r 的高度和宽度。如果一个像素属于不同的目标,我们选择
最小的框来计算 S 。SENet和 CBAM 表明,关注关键像素和通道有助于基于 CNN 的模型获得更好的结果。 z 等人使用一种简单 的方法来获得空间注意力掩码并提高蒸馏性能 。在本文中,我们 应用类似的方法来选择局部像素的通 道,然后得到相应的注意力掩码。我们分别计算不同像素和不同通道的绝对平均值。
其中 H 、 W 、C表示特征的高度、宽度和通道。和是 空间和通道注意力图,然后
注意力掩码可以公式化为 :
T 的用于调整分布的温度超参数。
学生和老师的掩码之间存在显著差异。在训练过程中,我们使用老师的掩码来引导学生。对于二进制掩码M ,比例掩码 S,注意力掩码和,我们提出特征损失如下:
和分别表示教师检测器的空间注意力掩码和通道注意力掩码。分别表示教师检测器和学生检测器的特征图。是 平衡背景和前 景之间损失的超参数。
除此之外,我们使用注意力损失来 迫使学生检测器模仿教师检测器的空间和通道注意力掩码 ,其 公式为:
t 和 s 表示教师和学生, l 表示 L1 损失 , 是 平衡损失的超参数。
局部损失是特征损失和注意力损失的总和。
3.2全局蒸馏
不同像素之间的关系,具有宝贵的知识,可用于提高检测任务的性能。在 3.1 节中,我们利用局部蒸馏来分离图像,并迫使学生专注于关键部分。然而,这种局部蒸馏切断了前景和背景之间的关系 。因此,我们提出了全局提取 , 旨在从特征图中提取不同像素之间的全局关系,并将其从教师蒸馏到学生 。
如图 4 所示:
我们 利用 GcBlock 来捕捉单个图像中的全局关系信息,并迫使学生检测器从教师那里学习关系。 全局损失如下:
表示卷积层。 LN 表示归一化, 是 特征中的像素数,是平衡损失的超参数。
3.3总损失
总之,训练学生检测器的总损失如下:
是检测器的原始损失。
蒸馏损失仅从特征图上计算,该特征图可以从检测器的颈部获得,因此,它可以很容易地应用于不同的 探测器。