摘要
知识蒸馏在目标检测方面只取得了微不足道的进步。本文提出了一种基于不一致特征模仿(IBFI)和全局关系模仿(GRI)的目标检测知识蒸馏方法。IBFI计算分类头和回归头的差值,以平衡检测器的分类和定位能力。GRI使学生能够模仿老师的关系信息。
介绍
到目前为止,KD在图像分类方面已经取得了很大的成功,但由于它涉及到分类和定位任务,所以不能直接迁移到目标检测中。
目前,用于目标检测的最广泛的蒸馏方法是特征模仿,将教师的特征传递给学生。不幸的是,这些特征充斥着冗余,其中一些可能不利于检测。因此,转移所有的特征可能会产生可怕的后果。实际上,改进蒸馏结果的关键步骤是在特征映射上找到有用的区域。以往的作品强调前景区域的重要性,并试图将前景和背景分开来。其中,Defeat提出把proposal区域作为前景,并将改区域的知识传递给学生。然而,经典的目标检测方法通常有两个分支(即分类分支和回归分支),他们彼此独立。因此,他们的结果通常是不一致的。例如,某个锚点的分类得分可能很高,但其回归的边界框与真实值之间的IoU可能很低。因此,只要分类或定位不准确,最终的检测准确率就很低。
为了解决上述问题,我们提出了一种新的特征模仿方法,提高高度不一致的区域。特别是,网络将重点关注检测器的分类和定位能力高度不一致的区域。然后,该领域的知识转移给学生。在老师的指导下,学生能够减少自己的不一致。此外,考虑到相关信息(RI)对于目标检测也至关重要,我们提出了一个新的模块,分类提取学生和教师的RI,让学生学习教师的关系知识,从而进一步提高检测性能。
简而言之,我们的贡献可以概括为两方面:
(1)不同于以往的基于特征的蒸馏方法主要关注前景-背景不平衡问题。我们研究了分类和定位能力之间的差异,其中我们基于不一致的特征模仿方法引导学生模仿不一致的特征映射。
(2)我们提出了一个新的模块来提取全局的关系信息,然后让学生模仿老师的关系信息。
相关工作
现有的方法大多通过解决前景与背景不平衡问题来提高蒸馏效果。然而,我们分析了检测器在分类和定位能力上的差异,提出了一种新的基于特征的方法来提高检测性能。
方法
通常,目标检测器需要完成分类和定位任务,这两个任务是由两个平行分支组成。基于特征的方法将特征映射划分为前景和背景区域,并在提取过程中对其赋予不同的权重。然而,这种设计范式不可避免地造成了分类评分与定位质量在空间分布上的不一致。为了解决这个问题,需要在特征图上突出显示具有重要信息的关键区域,以便引导学生在蒸馏过程中要模仿这些特征。此外,全局关系也是检测的关键,需要提取并传递给学生。鉴于此,我们的网络总体架构如图2所示。其核心组件包括:基于不一致的特征模仿(IBF)、关系信息提取模块(RIEM)和全局关系模仿(GRI)。教师和学生的颈部特征被用作IBFI的输入。然后,IBFI迫使学生专注于这些区域*分类和定位结果不一致),并模仿它们的特征。RIEM从教师和学生中提取关系信息(RI),而GRI则将教师的RI提炼给学生。
基于不一致的特征模仿(IBFI)
IBFI作为我们网络的核心部分,根据教师的分类和回归结果生成发散图,引导学生模仿教师的特征。基于GT生成二进制掩码(0或1),然后使用该掩码将特征映射划分为前景特征和背景特征。IBFI的流程图如图3所示,
它使用以下指标度量检测器的分类和定位能力。对于分类任务,分类头的输出归一化为[0,1],然后将值最高的类别作为目标输出。
s
c
l
s
=
m
a
x
1
<
i
<
c
s
o
f
t
m
a
x
(
h
c
l
s
i
)
s_{cls} = max_{1<i<c} softmax(h_{cls}^i)
scls=max1<i<csoftmax(hclsi)
对于特定点的分类头的原始初始是一个C-dimensional向量,其中C为类别数。将的值视为探测器的分类能力。
对于回归任务,探测器的定位能力用每个边界框与GT之间的IoU来反映,计算公式为:
s
r
e
g
=
m
a
x
l
<
i
<
N
o
v
e
r
l
a
p
s
(
b
r
e
g
,
G
T
i
)
s_{reg} = max_{l<i<N} overlaps(b_{reg},GT_i)
sreg=maxl<i<Noverlaps(breg,GTi)
表示某个锚点的边界框,它是一个四维向量,为IoU值。
根据式(1)和(2),分别表示分类头和回归头对锚属于某一对象的置信度得分。在此基础上,提出了一种新的蒸馏方案,重点研究了之间高度不一致问题。为了衡量这种不一致性,散度值计算为:
d
i
v
e
r
=
∣
s
c
l
s
−
s
r
e
g
∣
diver = |s_{cls} - s_{reg}|
diver=∣scls−sreg∣
在蒸馏领域,对于某一领域,从教师传递给学生的知识的数量应该与其diver成正比。在此基础上,我们构造特征映射的损失函数如下:
L
f
e
a
′
=
∑
k
=
1
C
∑
i
=
1
H
∑
j
=
1
W
d
i
v
e
r
i
,
j
(
F
k
,
i
,
j
T
−
ϕ
(
F
k
,
i
,
j
S
)
)
2
L_{fea}^{'} = \sum_{k=1}^C \sum_{i=1} ^H \sum_{j=1}^W diver_{i,j}(F_{k,i,j} ^T - \phi (F_{k,i,j}^S))^2
Lfea′=k=1∑Ci=1∑Hj=1∑Wdiveri,j(Fk,i,jT−ϕ(Fk,i,jS))2
将相应数量的知识转移给学生,以缩小学生的分类和回归能力之间的差距。是一个函数,它将S重塑为与T具有相同的维度。此外,我们将前景和背景分开提取,并使用蒙版M将它们区分为:
式中(i,j)表示特征映射上的坐标,g表示ground truth,蒸馏函数的完全损失写为:
其中,用于平衡前景和背景的超参数。
关系信息提取模块(RIEM)和全局关系模拟模块(FRI)
关系信息(RI)被认为是“任何和所有可能影响场景和其中对象的感知方式的信息”。这种信息包括外观和几何特征、物体大小和位置。在实际应用中,通常一个物体与其周围的背景和其他物体密切相关。因此,我们可以从其周围推断出相关信息。这些信息有助于学生在知识蒸馏过程中更有效地收敛。考虑到这一点,我们提出了关系信息提取模块(RIEM)来提取教师和学生的RI,并提出了全局关系模仿(GRI)来提取学生的知识,以提高其检测能力。
RIEM的管道如图4所示。RIEM的输入是由教师和学生的FPN输出形成的特征图。
它将被馈送到两个平行分支(即中间分支和上分支)。对于中间分支,我们使用卷积层生成一个形状为的新特征图,该特征图表征了输入特征图的每个位置与所有其他位置之间的干洗,然后将其重塑为。然后,我们将softmax层应用于数据的输出,并在其输出和特征映射(形状为)之间进行矩阵乘法,进一步探索RI。最后,我们在输出中使用了两个卷积层,以便分支可以有效地学习RI。在这里,我们使用一个瓶颈结构(1x1Conv -LN-ReLU-1x1Conv)以减少计算。中间分支的计算过程如下:
其中是卷积核为1x1的卷积层。分别用于将特征映射重塑为HW ×1×1和C×HW。LN层是规范化操作。
对于上述分支,我们将平均池化层应用到特征图的变量中,以表征每个通道对特征图的重要性,并且我们还将两个卷积层(Layer Norm和ReLU)应用到这个输出中:
其中AvgPool表示平均池化。
最后,我们计算的点积,并将其与给定的feature map相加,形成重要通道的RI,如下所示:
W
(
F
)
=
W
1
(
F
)
∗
W
2
(
F
)
+
F
W(F) = W_{1}(F) * W_2(F) + F
W(F)=W1(F)∗W2(F)+F
然后,我们将通过蒸馏教师对学生的全局关系模仿来执行全局关系模仿(GRI)。在本文中,我们选择L2损失进行知识转移。关系损失计算如下:
总损失