CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)

欢迎关注“

计算机视觉研究院

计算机视觉研究院专栏

作者:Edison_G

近年来,知识蒸馏已被证明是对模型压缩的一种有效的解决方案。这种方法可以使轻量级的学生模型获得从繁琐的教师模型中提取的知识。

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第1张图片

长按扫描二维码关注我们

回复“GID”获取论文

1、简介

然而,以往的蒸馏检测方法对不同的检测框架具有较弱的泛化性,并且严重依赖于GT,忽略了实例之间有价值的关系信息。因此,研究者提出了一种新的基于鉴别实例的检测方法,而不考虑GT的正负区别,称为通用的实例蒸馏(GID)。

新提出的方法包含了一个通用的实例选择模块(GISM),以充分利用基于特征、基于关系和基于响应的知识进行蒸馏。大量的结果表明,学生模型在各种检测框架中取得了显著的AP改进,甚至优于教师。具体来说,ResNet-50的RetinaNet在COCO数据集上使用GID在mAP中达到39.1%,超过基线36.2%,甚至优于基于ResNet-101的38.1%AP教师模型。

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第2张图片

2、背景及动机

由Hinton等人【Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network, 2015】提出的知识蒸馏(KD)是解决上述问题的一种很有前途的方法。知识蒸馏是将大模型的知识传递给小模型,从而提高小模型的性能,达到模型压缩的目的。目前,知识的典型形式可分为三类:反应型知识、特征型知识和关系型知识。然而,大多数蒸馏方法主要是针对多分类问题而设计的。 

直接将分类特定蒸馏方法迁移到检测模型中的效果较差,因为检测任务中正实例和负实例的比例极不平衡。 

一些为检测任务设计的蒸馏框架处理了这个问题,并取得了令人印象深刻的结果,例如。Li【Quanquan Li, Shengying Jin, and Junjie Yan. Mimicking very efficient network for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 2017】通过提取RPN和Wang等人【Tao Wang, Li Yuan, Xiaopeng Zhang, and Jiashi Feng. Distilling object detectors with fine-grained feature imitation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2019】抽样一定比例的正负实例来解决这个问题。进一步提出只提取近GT区。然而,蒸馏的正负实例之间的比率需要精心设计,而仅蒸馏与GT相关的区域可能会忽略背景中潜在的信息区域。此外,目前的检测蒸馏方法不能同时在多个检测框架中工作:如two-stage, anchor-free。因此,研究者希望设计一种通用的蒸馏方法,用于各种检测框架,以有效地使用尽可能多的知识,而不涉及正或负。

3、新框架优势

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第3张图片

通过上图可以知道,新框架有如下优势:

(i)可以对一个图像中实例之间的关系知识进行建模,以便进行蒸馏。Hu【Han Hu, Jiayuan Gu, Zheng Zhang, Jifeng Dai, and Yichen Wei. Relation networks for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2018】演示了关系信息对检测任务的有效性。然而,基于关系的知识蒸馏在目标检测中还没有被探索。 

(ii)避免手动设置正、负区域的比例,或只选择与GT有关的区域进行蒸馏。虽然GT相关的领域几乎是信息丰富的,但极其困难和简单的实例可能是无用的,甚至来自背景的一些信息块也可以帮助学生学习教师的泛化。此外,研究者还发现,自动选择学生和教师之间的一些判别实例进行蒸馏,可以使知识传递更加有效。这些判别实例被称为一般实例(GIS),因为新方法不关心正实例和负实例之间的比例,也不依赖于GT标签。

(iii)新方法对各种检测框架具有强大的泛化能力。基于学生和教师模型的输出计算GIS,而不依赖于特定检测器的某些模块或特定检测框架的某些关键特性,如anchor。

4、General Instance Distillation

先前的工作【Tao Wang, Li Yuan, Xiaopeng Zhang, and Jiashi Feng. Distilling object detectors with fine-grained feature imitation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2019】提出,目标附近的特征区域有相当多的信息,这对于知识蒸馏是有用的。然而,研究者发现,不仅目标附近的特征区域,而且即使是来自背景区域的判别块也有意义的知识。基于这一发现,设计了通用实例选择模块(GISM),如下图所示。

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第4张图片

该模块利用教师和学生模型的预测来选择蒸馏的关键实例。此外,为了更好地利用教师提供的信息,提取并利用基于特征、基于关系和基于响应的知识进行蒸馏,如下图所示。实验结果表明,新的蒸馏框架对于目前最先进的检测模型是通用的。

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第5张图片

5、实验

为了验证该方法的有效性和鲁棒性,在不同的检测框架和异构主架构上进行了实验,并在COCO和Pascal VOC数据集的少数类检测上进行了实验。具体来说,在【Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. In C. Cortes, N. D. Lawrence, D. D. Lee, M. Sugiyama, and R. Garnett, editors, Advances in Neural Information Processing Systems 28, pages 91–99. Curran Associates, Inc., 2015】中的设置之后,对于PascalVOC数据集,选择在VOC2007中分割的5k训练图像和在VOC2012中分割的16k训练图像进行训练,在VOC2007中分割的5k测试图像进行测试。对于COCO,选择默认的120k训练图像分割进行训练,5k Val图像分割进行测试。所有蒸馏性能均以AP进行评价。

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第6张图片

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第7张图片

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第8张图片

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第9张图片

绿色、红色、黄色和青色框分别表示GT、正、半正和负实例。为了进一步分析了每种类型的一般实例的贡献,并验证了GISM的有效性,对每种类型的一般实例进行了实验。引入了一个名为interp over proposals (IoP),以帮助分离这些GI:

GI的每个类型定义如下:

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第10张图片

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第11张图片

© THE END

我们开创“计算机视觉协会”知识星球一年有余,也得到很多同学的认可,我们定时会推送实践型内容与大家分享,在星球里的同学可以随时提问,随时提需求,我们都会及时给予回复及给出对应的答复。

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第12张图片

如果想加入我们“计算机视觉研究院”,请扫二维码加入我们。我们会按照你的需求将你拉入对应的学习群!

计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

CVPR2121目标检测 | 少见的知识蒸馏用于目标检测(附论文下载)_第13张图片

计算机视觉研究院

长按扫描二维码关注我们

回复“GID”获取论文

你可能感兴趣的:(计算机视觉,机器学习,人工智能,深度学习,编程语言)