知识蒸馏是一种有效的模型压缩方法。然而,将知识蒸馏应用于检测任务仍然是一个具有挑战性的课题。有两个关键点导致检测任务的蒸馏性能较差。
- 前景和背景特征之间的严重失衡,
- 小目标缺乏足够的特征表示。
为了解决上述问题,作者提出了一种新的蒸馏方法,即双重关系知识蒸馏(DRKD),包括逐像素关系蒸馏和逐实例关系蒸馏。像素关系蒸馏在图空间中嵌入像素特征,并应用图卷积来捕获全局像素关系。通过提取全局像素关系,学生检测器可以学习前景和背景特征之间的关系,避免了由于特征不平衡问题而直接提取特征的困难。
此外,作者发现实例关系补充了小目标独立特征之外的宝贵知识。因此,设计了实例关系蒸馏,它计算不同实例的相似性以获得关系矩阵。更重要的是,设计了一个关系过滤器模块来突出显示有价值的实例关系。
所提出的双重关系知识蒸馏是通用的,可以很容易地应用于单阶段和两阶段检测器。本文的方法实现了最先进的性能,这将基于ResNet50的Faster R-CNN从38.4%提高到41.6%mAP,并将基于ResNet50的RetinaNet从37.4%提高到40.3%mAP。
1、简介
近年来,随着深度学习技术的发展,目标检测取得了巨大进展。检测框架可大致分为两种类型,单阶段检测器和两阶段检测器。这些深度学习方法取得了优异的性能,远远超过了传统的检测方法。然而,这些深度学习方法需要高计算成本,限制了在机器人和手机等移动设备上的部署。
如何平衡计算成本和检测性能仍然是一个具有挑战性的课题。知识蒸馏是解决上述问题的有效方法。它采用师生学习的形式,将知识从大模型转移到小模型。通常,学生模型可以直接部署在移动设备上。由于知识蒸馏原理简单有效,因此它被广泛应用于计算机视觉任务,如分类、分割和目标检测。
然而,知识蒸馏在目标检测方面仍然面临许多挑战。前景和背景之间的不平衡是一个重要问题。通常,前景像素远少于背景像素。在现有的知识蒸馏方法中,学生模型从教师模型中以相同的优先级学习所有像素特征。因此,将更多地关注背景特征,限制前景特征的学习。
由于前景特征对于检测至关重要,因此提取所有特征直接导致较差的性能。一些工作试图解决这个问题。NLD提取注意特征进行蒸馏,使检测器聚焦于目标区域。DeFeat的蒸馏方法试图分别提取前景和背景特征。这些方法可以获得某些结果,但不考虑实例之间的关系。此外,很难从小实例特征中提取有效的知识,导致小目标检测的性能较差。目前的蒸馏方法很少考虑这个问题,这也限制了它们的性能。
为了解决上述问题,作者提出了双重关系知识蒸馏(DRKD),以使学生模型能够从教师模型中学习像素和实例之间的关系。作者观察到像素关系对前景和背景特征之间的不平衡不敏感,可以使检测器聚焦在前景上,如图1所示。
此外,实例关系可以提供超越独立特征的有价值的知识,特别是对于小目标。例如,如图2所示,图1中从索引0到索引7有7个目标。坐标轴上的数字表示同一图片中实例的索引。索引根据同一图片中实例的大小排序。作者发现,小尺寸实例之间有更多的马赛克,这意味着实例关系补充了小目标独立特征之外的宝贵知识。因此,作者设计了两种关系蒸馏,即像素关系蒸馏和实例关系蒸馏。
提出了逐像素关系蒸馏,使检测器专注于前景特征的学习。采用图卷积来捕获全局像素关系。图卷积捕获了比注意力模块更好的特征表示,以提高模型性能。
首先,将坐标空间中的特征嵌入到图形空间中。然后,应用图卷积来捕获图空间中的关系特征。最后,将关系特征投影回原始坐标空间。原始坐标空间中的关系特征称为逐像素关系特征。通过提取像素关系特征,检测器可以更加关注前景特征的学习,解决了不平衡问题。
基于小目标与其他大小目标具有更丰富的关系这一事实,实例关系蒸馏旨在为小实例获得更丰富的表示。首先,嵌入式高斯函数被应用于评估不同实例的关系,这在注意力机制中被广泛使用。计算不同大小实例之间的相似度以获得关系矩阵。
此外,作者观察到不同的关系对实验中的蒸馏有不同的贡献。因此,设计了一个关系过滤模块来强调有价值的关系。过滤后的关系矩阵被提取以将实例关系从教师检测器传递到学生检测器。同时,在本文的框架中,将裁剪的前景特征(称为实例特征)用于提取,以进一步提高检测精度。实验证明,实例关系蒸馏可以提高小目标的检测精度。这项工作的贡献总结如下:
- 提出了基于图卷积的逐像素关系蒸馏。与注意力机制相比,图卷积可以更有效地捕获全局上下文,实现更好的蒸馏效果。
- 提出了实例关系蒸馏,以获得更丰富的小目标表示。实验证明,实例关系蒸馏可以提高小目标的检测精度。
- 双重关系知识蒸馏实现了最先进的性能,它将基于ResNet50的Faster RCNN从38.4%提高到41.6%mAP,并将基于ResNet50的RetinaNet从37.4%提高到40.3%mAP。所提出的双重关系知识蒸馏是通用的,可以很容易地应用于单阶段和两阶段检测器。
2、本文方法
提出了双关系知识蒸馏(DRKD),使学生检测器能够从教师检测器中学习像素级和实例级关系,如图3所示。
2.1、Pixel-wise Relation Distillation
像素关系蒸馏帮助学生检测器学习前景和背景特征之间的关系,解决特征不平衡问题。采用名为GloRe的图形卷积模块来捕获全局像素关系。它可以比注意力机制更有效地捕捉全局背景,实现更好的蒸馏效果。
具体来说,分别从教师和学生的骨干中提取多尺度特征,并将其提供给不同的GloRe模块,以捕获全局像素关系。然后,提取像素级关系特征,将全局关系从教师传递给学生。蒸馏损失如等式(1)所示。
此外,为了最小化学生模型和教师模型之间的特征差异,在学生模型一侧添加了自适应卷积。
基于图节点特征,使用图卷积来捕获节点之间的关系,该关系由Equ(3)定义A表示邻接矩阵,其随机初始化并通过训练更新。在训练过程中,邻接矩阵学习节点之间边的权重。边的权重反映了节点之间的关系。基于邻接矩阵和状态更新矩阵,对节点特征进行更新以获得相关的特征。
2.2、Instance-wise Relation Distillation
基于小实例与其他大小实例具有更丰富的关系这一事实,实例关系蒸馏旨在为小实例获得更丰富的表示。应用嵌入高斯函数对实例特征的相似性进行建模。此外,作者设计了一个关系过滤模块来强调有价值的关系。实例关系模块如图4所示。
1、Instance Feature Extraction
为了捕获实例关系,需要提取实例特征。根据输入和特征图的比率,使用目标坐标从特征图中提取实例特征。提取的实例特征被调整为相同的大小,如等式(5)所示。
2、Instance-wise Relation Module and Distillation
2.3、Overall Loss Function
根据以上分析,整体损失函数由4个部分组成。
该伪代码如下:
3、实验
3.1、消融实验
3.2、实例特征大小选择
3.3、关系滤波实验
3.4、超参数选择
3.5、SOTA对比
4、参考
[1].Dual Relation Knowledge Distillation for Object Detection.
作者:小书童
文章来源:集智书童
推荐阅读
- CPU也可以起飞的RTMPose来袭 | 作者手把手带你设计一个超轻超快的模型
- 全新卷积模块DRConv | 进一步提升卷积的表示能力
- 全新剪枝框架 | YOLOv5模型缩减4倍,推理速度提升2倍
- 3D检测新SOTA | PointPillar与Faster RCNN结合会碰撞出怎样的火花
- 全新FPN开源 | CFPNet即插即用,助力检测涨点,YOLOX/YOLOv5均有效
- 基于深度学习的超分辨率图像技术一览
更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。