关注并星标
从此不迷路
计算机视觉研究院
公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式
论文地址:https://arxiv.org/pdf/2111.11837.pdf
源代码: https://github.com/yzd-v/FGD
计算机视觉研究院专栏
作者:Edison_G
知识蒸馏已成功应用于图像分类。然而目标检测要复杂得多,大多数知识蒸馏方法都失败了。
01
前言
在目标检测中,教师和学生的特征在不同的区域有很大的差异,尤其是在前景和背景中。如果我们平均蒸馏它们,特征图之间的不均匀差异将对蒸馏产生负面影响。
Distilling the Knowledge in a Neural Network
因此,研究者提出了局部和全局蒸馏(FGD)。局部蒸馏分离了前景和背景,迫使学生将注意力集中在老师的关键像素和通道上。全局蒸馏重建不同像素之间的关系,并将其从教师传递给学生,以补偿局部蒸馏中丢失的全局信息。由于我们的方法只需要在特征图上计算损失,FGD可以应用于各种检测器。我们在各种不同backbone的检测器上进行了实验,结果表明,学生检测器实现了良好的mAP提升。例如,基于ResNet-50的RetinaNet、FasterRCNN、RepPoints和Mask RCNN使用了我们的蒸馏方法在COCO2017上实现了40.7%、42.0%、42.0%和42.1%的MAP,分别比基线高3.3、3.6、3.4和2.9。
02
背景
深度学习在各个领域取得了巨大的成功。为了获得更好的性能,我们通常使用更大的backbone,这需要更多的计算资源和更慢的推理。为了克服这个问题,人们提出了知识蒸馏。知识蒸馏是一种将大型教师网络中的信息继承到一个紧凑的学生网络中,并在推理过程中不增加额外成本而获得强大性能的方法。然而,大多数蒸馏方法都是为图像分类而设计的,这导致了目标检测的微小提升。
众所周知,前景背景的极端不平衡是目标检测中的一个关键问题。不平衡的比率也会影响目标检测的蒸馏。对于这个问题人们也做了一些努力。Chen等人分配权重以抑制背景。Mimick蒸馏学生的RPN网络提出的感兴趣区域。FGFI和TADF分别使用细粒度和高斯Mask来选择蒸馏区域。Defeat分别蒸馏前景和背景。然而,蒸馏的关键区域在哪里还不清楚。
为了探索学生和教师的特征之间的差异,研究者进行了空间和通道注意力的可视化。如上图所示,学生的注意力和老师的注意力在前景中的差异非常显著,而在背景中的差异相对较小。这可能会导致学习前景和背景上的不同的困难。
在今天分享中,研究者进一步探讨了前景和背景的知识蒸馏对目标检测的影响。通过分离蒸馏过程中的前景背景来设计实验。令人惊讶的是,如下表所示,前景和背景同时蒸馏的性能最差,甚至比只在前景或背景中蒸馏的性能更差。
这一现象表明,特征图中的不均匀差异会对蒸馏产生负面影响。此外,如上图所示,每个通道之间的注意力也非常不同。再深入一步,不仅前景和背景之间存在负面影响,像素和通道之间也存在负面影响。因此,研究者建议进行局部蒸馏。在分离前景和背景的同时,局部蒸馏还计算教师特征中不同像素和通道的注意力,使学生能够聚焦于教师的关键像素和通道。
然而,仅仅关注关键信息是不够的。众所周知,全局上下文在检测中也起着重要作用。许多关系模块已成功应用于检测,如non-local、GcBlock、relation network,极大地提高了检测器的性能。为了弥补局部蒸馏中丢失的全局信息,研究者进一步提出了全局蒸馏。在全局蒸馏中,研究者利用GcBlock提取不同像素之间的关系,然后把它们从教师蒸馏到学生。
03
新框架
FGD的说明如下图,包括局部蒸馏和全局蒸馏。局部蒸馏不仅可以分离前景和背景,还可以使学生网络更好地关注教师网络特征图中的重要信息。全局蒸馏弥合了学生和教师的全局上下文之间的差距。
大多数检测器都使用FPN来利用多尺度语义信息。来自FPN的特征融合了来自backbone的不同层次的语义信息,并用于直接预测。从老师那里转移这些特征的知识显著提高了学生的表现。一般来说,特征的蒸馏可以表述为:
这种方法对所有部分都一视同仁,缺乏对不同像素之间全局关系的蒸馏。为了克服上述问题,研究者提出了FGD,它包括局部蒸馏和全局蒸馏,如上图。这里我们将详细介绍新方法。
Focal Distillation
对于前景和背景的不平衡,研究者提出了局部蒸馏来分离图像,并引导学生聚焦于关键像素和通道。蒸馏区域的比较如下图所示。
- Binary Mask 将图片的前景信息和背景信息进行分离,在GT里的像素是前景,标为1,不在的则统统标为0;
- Scale Mask 是为了处理蒸馏过程中的目标尺寸问题——大目标占有的像素多,在损失中的占比也就高,这会在一定程度上影响小目标的蒸馏效果——GT中的像素,即前景像素,在计算对应的 loss 时需要除以GT的“面积”(即H×W,相当于是归一化了一下);不在GT中的像素,即背景像素,在计算 loss 时同理;
- Attention Mask 是为了让蒸馏过程更关注于特征图上的关键区域,用特征值的绝对值平均值的softmax来作为特征图的空间/通道权重。
除此之外,本文还使用了一个 attention loss 来迫使学生网络生成的 attention map 和教师网络的尽量接近:
Distillation
不同像素之间的关系具有有价值的知识,可用于提高检测任务的性能。研究者利用局部蒸馏来分离图像,并迫使学生将注意力集中在关键部位。然而,这种蒸馏切断了前景和背景之间的关系。因此,研究者提出了全局提取,其目的是从特征图中提取不同像素之间的全局关系,并将其从教师蒸馏到学生。
04
实验及可视化
不同蒸馏方法和不同检测框架在COCO数据集上的结果。T和S分别表示教师和学生检测器。FGFI只能应用于基于anchor的探测器。†的意思是使用继承策略。我们使用GIOULoss、norm-on-bbox和center-sampling等技巧训练FCOS,这与GID相同。
在COCO数据集上使用更强的教师检测器的更多检测器的结果 †意味着使用继承策略,只有当学生和教师具有相同的head结构时才能使用继承策略。
不同检测器的空间和通道注意力mask的可视化 通道注意力mask中的每个像素都意味着一个通道 教师检测器:RetinaNet-ResNeXt101 学生检测器:RetinaNet-ResNet50。
部分摘自于:CSDN 象牙山首富_
© THE END
转载请联系本公众号获得授权
计算机视觉研究院学习群等你加入!
计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!
扫码关注
计算机视觉研究院
公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式
往期推荐