前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVPR2022:局部和全局知识蒸馏用于目标检测(源代码开源)

CVPR2022:局部和全局知识蒸馏用于目标检测(源代码开源)

作者头像
计算机视觉研究院
发布2022-04-06 11:47:52
7290
发布2022-04-06 11:47:52
举报
文章被收录于专栏:计算机视觉战队

关注并星标

从此不迷路

计算机视觉研究院

公众号IDComputerVisionGzq

学习群扫码在主页获取加入方式

论文地址: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

学习群|扫码在主页获取加入方式

 往期推荐 

🔗

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机视觉战队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Focal Distillation
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档