[2021ICLR]Improve Object Detection with Feature-based Knowledge Distillation 论文笔记

动机

认为目标检测知识蒸馏效果不好的问题出在两个地方。

1.前背景像素比例不平衡问题。提出了基于注意力引导的提取方法,利用==注意机制(而非gt)找到前景物体的关键像素点==,使学生更加努力地学习前景物体的特征。具体做法是在backbone处,利用attention生成一个fine-grained mask 而非二值mask,并且生成的mask包含空间mask Ms∈RH,W和通道mask Mc∈Rc两个部分。

2.对不同像素之间的关系也是应该做蒸馏的。non-local提取的目的是让学生不仅学习单个像素的特征,而且学习非局部模块==捕获的不同像素之间的关系==,来进行蒸馏。

method

1.Attention Guide Distillation

前面提到会利用注意力机制分别生成空间mask Ms∈RH,W和通道mask Mc∈Rc。空间和通道注意力图gs和gc分别通过下式计算得到,即空间注意力图通过计算每个像素计算所有通道的绝对值求和得到,通道注意力图通过对每个通道所有像素点求和得到。A代表特征图,小写的s和c代表空间和通道。

在这里插入图片描述
student和teacher网络都会计算上述的两个注意力图gs和gc。然后再将student和teacher的两个注意力图gs和gc分别相加,并做softmax,得到空间mask Ms∈RH,W和通道mask Mc∈Rc。得到的注意力图都会除以一个T值(0≤T≤1)。T越小,那么高attention的像素就会被方法,在知识蒸馏中就会更关注。
在这里插入图片描述在这里插入图片描述
在损失设计上,作者做了两个损失,包括注意力图的L2损失LAT和基于attention-mask的feature损失LAM

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

2.Non-local Distillation

作者用non-local模块来建模空间中任意两个像素点之间关系,non-local模块如下所示。non-local的输入和输出是相同尺寸的,s和t之间的non-local损失为L2损失。

[2021ICLR]Improve Object Detection with Feature-based Knowledge Distillation 论文笔记_第1张图片在这里插入图片描述

总的蒸馏损失包括上述三个损失,用三个参数来平衡。作者实验证明网络对这三个参数不敏感。
在这里插入图片描述

3.作者实验表明,在检测方向,越强的teacher能够蒸馏出更强的student

结论

attention guide distillation的方法与Paying More Attention to Attention这篇文章很相似,但是本文除了利用生成空间的attention map来蒸馏之外,还生成了通道attention map并蒸馏,此外,将两个attention map作为mask来进行特征蒸馏。作者认为attention map能够从细粒度方面让网络更加关注重要的前景信息,而非bounding box这种形式,其包含了不少外部信息,即非细粒度特征。

然后提出non-local来对特征图任意两个像素点之间的关系,并对这个关系进行蒸馏。

作者提出的方法在九种模型(包括一阶段、两阶段、anchor free、anchor base)上做了实验,在所有的一阶段/两阶段算法都共用同一个超参数,实验也说明了超参数的影响极小,并且放出了实验日志和代码,可以说是非常良心的工作了。

后续有篇工作和这一篇有一些相似,算是在这篇论文的基础上做的工作,点数也更高,中了CVPR2022:Focal and Global Knowledge Distillation for Detectors

你可能感兴趣的:(目标检测,知识蒸馏,目标检测,深度学习,计算机视觉)