摘要
知识蒸馏(KD)见证了其在对象检测中学习紧凑模型的强大能力。以前的目标检测 KD 方法主要集中在模仿深度特征,而不是模仿分类 logits,因为它在提取定位信息方面效率低下。在本文中,通过重新定义位置信息的知识蒸馏过程,我们提出了一种新的位置蒸馏(LD)方法,可以有效地将位置知识从教师转移到学生。此外,我们还启发式地引入了有价值的区域位置概念,可以帮助选择性地提取特定区域的语义和定位知识。结合这两个新组件,我们首次证明 logits 模仿可以胜过特征模仿,并且定位知识蒸馏比语义知识蒸馏对象检测器更重要和更有效。我们的蒸馏方案既简单又有效,可以很容易地应用于不同的密集物体检测器。实验表明,我们的 LD 可以在 COCO 基准上以单尺度 1× 训练计划将 GfocalResNet-50 的 AP 分数从 40.1 提高到 42.1,而不会牺牲推理速度。
1.介绍
定位是对象检测中的一个基本问题。边界框回归是迄今为止目标检测中最流行的定位方法,其中 Dirac delta 分布表示直观且流行多年。然而,定位模糊性仍然是一个常见的问题,其中对象不能通过它们的边缘被确定地定位。例如,图1所示,“elephant”的底部边缘和“surfboard”的右侧边缘难以定位。对于轻量级检测器,这个问题甚至更糟。缓解这个问题的一种方法是知识蒸馏(KD),它作为一种模型压缩技术,已被广泛验证可用于通过转移大型教师网络捕获的通用知识来提高小型学生网络的性能。
![]() | |
谈到对象检测中的KD,先前的工作已经指出用于分类的传统logit模仿技术是低效的,因为它只传递语义知识(即分类),而忽略了位置信息提取的重要性。因此,现有的用于对象检测的KD方法主要集中于加强师生对之间的深层特征的一致性,并利用各种模拟区域进行蒸馏提取。图2展示了用于对象检测的三种流行的KD流水线。然而,由于语义知识和本地化知识在特征图上是混合的,因此很难判断为每个位置转移混合知识是否有利于性能,以及哪些区域有利于某种类型知识的转移。受上述问题的驱动,本文不再简单地提取特征图上的混合知识,我们提出了一种新的分而治之的提取策略,分别转移语义和位置知识。对于语义知识,我们使用原始分类KD,对于位置知识,我们通过将边界框转换为概率分布,重新描述了定位知识的传递过程,并提出了一种简单而有效的位置提取方法。这与以前的工作大不相同,以前的工作将教师的输出视为额外的回归目标(即图2中的伪BBox回归)。益于概率分布表示,我们的LD可以有效地将教师学到的丰富的位置知识传递给学生。此外,基于提出的分治策略,我们进一步引入有价值的定位区域(VLR)来帮助有效地判断哪些区域有利于分类或定位学习。通过一系列的实验,我们第一次证明了原始的logit模仿可以比特征的模仿更好,位置知识的提炼比语义知识更重要和更有效。我们相信,基于语义和位置知识各自的有利区域来分别提取它们可能是训练更好的对象检测器的有前途的方法。
![]() | |
(其中分类head上是logit mimicking(分类KD),特征图上是Feature imitation (teacher与student特征图之间的L2 loss),定位head上是伪bbox regression,即把teacher预测框当成额外的回归目标。
L2loss:均方误差是最常用的回归损失函数,它是我们的目标变量和预测值的差值平方和。)
我们的方法是简单的,可以很容易地配备在任何密集的对象检测器,以改善其性能,而不会引入任何推理开销。对MS COCO的大量实验表明,在没有花哨功能的情况下,我们可以将具有ResNet-50-FPN主干的强基线GFocal [25]的AP分数从40.1提升到42.1,将AP75从43.1提升到45.6。我们使用ResNeXt-101-32x4d-DCN主干的最佳型号可以实现50.5 AP的单标度测试,这超过了相同主干、颈部和测试设置下的所有现有检测器。
2.相关工作
在这一部分,我们对相关的工作进行了简要的回顾,包括BBOX回归、位置质量评估和知识提取
2.1BBOX回归
Bbox回归是目标检测中最流行的定位方法。R-CNN系列采用多元回归阶段细化检测结果,而[2,29,37–39,45]采用one-stage回归。在[41,54,61,62]中,提出了基于IoU的损失函数来提bbox的定位质量。最近,bbox表示已经从Dirac delta分布[29,37,40]发展到高斯分布[6,16],并进一步发展到概率分布[25,35]。Bbox的概率分布更全面地描述了Bbox的不确定性,是迄今为止最先进的Bbox表示方法。
2.2 位置质量评估
顾名思义,位置质量评估 (LQE) 预测一个分数,该分数衡量检测器预测的边界框的定位质量。 LQE 通常用于在训练期间配合分类任务 [24],即增强分类和位置之间的一致性。它也可以应用于后处理期间的联合决策[19,37,45],即在执行 NMS 时同时考虑分类分数和 LQE。早期的研究可以追溯到 YOLOv1 [37],其中预测的对象置信度用于惩罚分类分数。然后,提出了 box/mask IoU [18,19] 和 box/polar center-ness [45, 49] 来分别对物体检测和实例分割的检测不确定性进行建模。从边界框表示的角度来看,Softer-NMS [16] 和 Gaussian YOLOv3 [6] 预测边界框每个边缘的方差。 LQE 是一种对本地化模糊建模的初步方法。
2.3知识蒸馏
知识蒸馏 [1, 17, 31, 34, 43, 55] 旨在学习由优秀教师网络引导的紧凑高效的学生模型。 FitNets [42] 建议模仿来自教师模型隐藏层的中间级提示。知识蒸馏首先应用于 [4] 中的对象检测,其中提示学习和 KD 都用于多类对象检测。之后Li等人提议模仿 Faster R-CNN 区域提议中的特征。王等人。 [48] 模仿了靠近锚盒位置的细粒度特征。最近,戴等人。 [7] 引入了通用实例选择模块来模拟师生对之间判别补丁中的深层特征。 DeFeat [14] 在对目标区域和背景区域进行特征模仿时利用不同的损失权重。与上述基于特征模仿的方法不同,我们的工作引入了定位蒸馏,并提出基于有价值的定位区域分别传递分类和定位知识,以提高蒸馏效率。
3.Proposed Method
在本节中,我们介绍所提出的蒸馏方法。我们没有在特征图上提取混合知识,而是提出了一种新的分而治之的蒸馏策略,该策略根据各自的首选区域分别提取语义和定位知识。为了转移语义知识,我们简单地在分类头上采用分类 KD [17],而对于定位知识,我们提出了一种简单而有效的定位蒸馏(LD)。这两种技术都在单个头部的逻辑上运行,而不是深度特征。然后,为了进一步提高蒸馏效率,我们引入了有价值的定位区域(VLR),可以帮助判断哪种类型的知识有利于不同区域的迁移。在下文中,我们首先简要回顾边界框的概率分布表示,然后过渡到所提出的方法。
3.1引言
对于给定的边界框 B,常规表示有两种形式,即 {x, y, w, h}(中心点坐标,宽度和高度)[29, 37, 40] 和 {t, b, l, r }(从采样点到上、下、左、右边缘的距离)[45]。这两种形式实际上遵循 Dirac delta 分布,该分布仅关注真实位置,但不能对边界框的模糊性进行建模,如图 1 所示。这在以前的一些工作中也得到了清楚的证明 [16, 25]。
在我们的方法中,我们使用最近的边界框概率分布表示[25, 35],它更全面地描述了边界框的定位不确定性。设 e ∈ B 是边界框的一条边。它的值一般可以表示为:
其中x是[emin, emax]范围内的回归坐标,Pr(x)是相应的概率。传统的Dirac delta表示是等式的一个特例。 (1),其中当x = egt时Pr(x) = 1,否则Pr(x) = 0。通过将连续回归范围[emin, emax]量化为均匀离散化变量e = [e1, e2,··· , en]T ∈ Rn 有 n 个子区间,其中 e1 = emin 和 en = emax,给定边界框的每条边可以使用 SoftMax 函数表示为概率分布。
3.2位置蒸馏
在本小节中,我们将介绍定位蒸馏 (LD),这是一种提高目标检测蒸馏效率的新方法。我们的 LD 是从边界框的概率分布表示 [25] 的角度演变而来的,边界框最初是为通用目标检测而设计的,并带有丰富的定位信息。图1中的模糊边缘和清晰边缘将分别通过分布的平坦度和锐度来体现。
我们的 LD 的工作原理如图 3 所示。给定一个任意密集对象检测器,按照 [25],我们首先将边界框表示从四元表示转换为概率分布。我们选择 B = {t, b, l, r} 作为边界框的基本形式。与{x, y, w, h}形式不同,{t, b, l, r}形式中每个变量的物理意义是一致的,方便我们将每条边的概率分布限制为相同区间范围。根据[60],两种形式之间没有性能差异。因此,当给出 {x, y, w, h} 形式时,我们将首先将其切换为 {t, b, l, r} 形式。
设z是定位头为边e的所有可能位置预测的n个逻辑值,分别由老师和学生的zT和zS表示。
![]() | |
设z是定位头为边e的所有可能位置预测的n个逻辑值,老师和学生分别由zT和zS表示。与 [25,35] 不同,我们使用广义 SoftMax 函数 S(·, τ) = SoftMax(·/τ) 将 zT 和 zS 转换为概率分布 pT 和 pS。注意,当 τ = 1 时,它等价于原始的 SoftMax 函数。当 τ → 0 时,趋向于狄拉克 delta 分布。当 τ → ∞ 时,它将退化为均匀分布。经验上,τ > 1 被设置为软化分布,使概率分布携带更多信息。
用于测量两个概率分布pT,pS ∈ Rn之间的相似性的局部化提取通过下式获得:
其中LKL代表KL-Divergence损失。然后,边界框B的所有四条边的LD可以被公式化为:
讨论。我们的LD是第一次尝试采用logit mim-icking来提取目标检测的定位知识。尽管boxes的概率分布表示已经被证明在通用对象检测任务中是有用的[25],但是没有人探索它在定位知识提炼中的性能。我们结合了盒的概率分布表示和KLDivergence损失,并证明了这种简单的logit mim-icking在提高对象检测器的提取效率方面表现良好。这也使得我们的LD与之前的相关作品大相径庭,反而强调了特征模仿的重要性。在我们的实验部分,我们将对所提出的LD的优点进行更多的数值分析。
3.3有价值的定位区域
以前的作品大多通过最小化L2损失来迫使学生模仿老师的深层特征。然而,一个直截了当的问题应该是:我们应该不加区别地使用整个模仿区域来提取混合知识?根据我们的观察,答案是否定的。在这一小节中,我们描述了有价值的定位区域(VLR),以进一步提高提取效率,我们认为这将是一种有希望的训练更好的学生检测器的方法。
具体来说,提取区域分为两部分,主要蒸馏区和有价值局部区域。主蒸馏区域通过标记分配,即检测头的正位置,直观地确定。通过算法1可以获得有价值的定位区域。首先,对于第l-th FPN水平,我们计算所有anchor boxes Bal和ground-truth boxes Bgt之间的DIoU[61]矩阵Xl。然后,我们设定DIoU的下界为αvl = γαpos,其中αpos为标签分配的正IoU阈值。VLR可以定义为Vl = {αvl <= Xl <= αpos}。我们的方法只有一个超参数γ,它控制VLRs的范围。当γ = 0时,anchor boxes与GT boxs之间的DIoUs满足0≤xilj≤αpos的所有位置将被确定为VLRs。当γ → 1时,VLR会逐渐收缩到空。这里我们使用DIoU[61],因为它给予靠近物体中心的位置更高的优先权。
类似于标签分配,我们的方法将属性分配给多级FPN中的每个位置。这样,也将考虑GTboxs外的一些位置。因此,我们实际上可以把VLR看作是主蒸馏区的向外延伸。注意,对于无锚检测器,如FCOS [45],我们可以使用特征图上的预设锚框,并且不改变其回归形式,使得定位学习保持为无锚类型。而对于基于锚的检测器,如RetinaNet [27],通常在每个位置设置多个锚,我们展开锚盒来计算DIoU矩阵,然后分配它们的属性。
3.4总蒸馏过程
训练学生的总损失S可以表示为:
其中前三项与任何基于回归的检测器的分类和边界框回归分支完全相同,即Lcls是分类损失,Lreg是边界框回归损失,LDFL是分布焦点损失[25]。IMain和IVL分别是主要提取区域和有价值的定位区域的提取掩码,LKD是KD损失[17],CS和CT分别表示学生和教师的分类头输出logits,Cgt是基础真实类标签。所有蒸馏损失将根据其类型用相同的权重因子进行加权,例如,LD损失遵循bbox回归,KD损失遵循分类。此外,值得一提的是,DFL损失项可以禁用,因为LD损失具有足够的导向能力。此外,我们可以启用或禁用四种蒸馏损失,以便以单独蒸馏区域的方式蒸馏学生
4.实验
在本节中,我们进行了全面的消融研究和分析,以证明在具有挑战性的大规模MS COCO [28]基准测试中提出的LD和蒸馏方案的优越性