Bootstrap

CVPR 2022 | 针对目标检测的重点与全局知识蒸馏(FGD)

关注公众号,发现CV技术之美

本篇文章由粉丝 @美索不达米亚平原 投稿,原文地址:

https://zhuanlan.zhihu.com/p/477707304

本文介绍我们 CVPR 2022 关于目标检测的知识蒸馏工作: Focal and Global Knowledge Distillation for Detectors,只需要 30 行代码就可以在 anchor-base, anchor-free 的单阶段、两阶段各种检测器上稳定涨点,现在代码已经开源。

db67859bed912a948706a08ccae44551.png


  • 论文链接:https://arxiv.org/abs/2111.11837

  • 项目链接:https://github.com/yzd-v/FGD


      01      

针对问题

1. 目标检测中前背景不平衡问题

前背景的不平衡对于目标检测而言是一个重要的问题,这个问题同样影响着知识蒸馏。

知识蒸馏旨在使学生学习教师的知识,以获得相似的输出从而提升性能。为了探索学生与教师在特征层面的差异,我们首先对二者的特征图进行了可视化。可以看到在空间与通道注意力上,教师与学生均存在较大的差异。其中在空间注意力上,二者在前景中的差异较大,在背景中的差异较小,这会给蒸馏中的学生带来不同的学习难度。

ddc39090b4e9919467902314a7d16fa8.png

为了进一步探索前背景对于知识蒸馏的影响,我们分离出前背景进行了蒸馏实验,全图一起蒸馏会导致蒸馏性能的下降,将前景与背景分开学生能够获得更好的表现。

dc197f080618beb3bda0a214dbf5a5e7.png

针对学生与教师注意力的差异,前景与背景的差异,我们提出了重点蒸馏Focal Distillation:分离前背景,并利用教师的空间与通道注意力作为权重,指导学生进行知识蒸馏,计算重点蒸馏损失。

2.全局信息的丢失

如前所述,Focal Distillation将前景与背景分开进行蒸馏,割断了前背景的联系,缺乏了特征的全局信息的蒸馏。为此,我们提出了全局蒸馏Global Distillation:利用GcBlock分别提取学生与教师的全局信息,并进行全局蒸馏损失的计算。

e01cec9adad8328aaa7dd77ecc054cf0.png


      02      

整体框架


FGD仅需要获取学生与教师的特征图,便可完成重点蒸馏损失与全局蒸馏损失的计算,可以很方便的应用到各种类型的检测器上。

1a4dc1f40b7e2a73677a3751c2e9e163.png


      03      

实验结果


我们对anchor-based与anchor-free的单阶段与二阶段检测器进行了实验,在COCO2017上学生检测器均获得了大幅的AP和AR提升。

411fc4deeabb259b4bd1dca1d480ee5d.png

我们采用了具有更强的检测器对学生进行蒸馏,发现当使用更强的模型作为教师进行蒸馏时,FGD为模型能带来更大的性能的提升。例如RetinaNet-R50在ResNet-101和ResNeXt-101的老师蒸馏下,分别可达到39.7和40.7的mAP。

6d37092794544c2fec515db5cfd19923.png

对于使用FGD蒸馏完成后的学生模型,我们再次进行了注意力的可视化。可以看到,经过FGD训练后的学生,空间注意力和通道注意力的分布与教师都非常相似,这表明学生通过蒸馏学到了教师的知识并获得了更好的特征,由此实现了性能的提升。

73919e0674a02925ef78d5a3fc77f87a.png


      04      

更多蒸馏设置

代码基于MMDetection实现,易于复现,且已添加更多的教师与学生蒸馏设置,相关结果也在代码中给出,欢迎大家使用。

31f766d40780ef0ed5ac1624f2642fdf.png

9187880697a33e2dd67459c3484de3e7.png

END

欢迎加入「目标检测交流群👇备注:OD

6fc05a7061548a3f9c8055f71450274a.png

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;