摘要
有两个关键点导致检测任务的蒸馏性能不佳。一是前景和背景特征严重不平衡,二是小对象缺乏足够的特征表示。为了解决上述问题,我们提出了一种新的知识蒸馏方法——双关系知识蒸馏(DRKD),包括逐像素关系蒸馏和逐实例关系蒸馏。逐像素关系蒸馏将像素特征嵌入图空间中,并利用图卷积捕获全局像素关系。通过提取全局像素关系,学生检测器可以了解前景和背景特征之间的关系,避免了由于特征不平衡问题而直接提取特征的困难。此外,我们发现实例关系为小对象的独立特征之外补充了有价值的知识。为此,设计了基于实例的关联蒸馏,计算不同实例之间的相似度,得到关联矩阵。更重要的是,关系过滤模块被设计用来突出显示有价值的实例关系。所提出的双关系知识蒸馏具有通用性,可以很容易地应用于一级和两级检测器。
介绍
我们提出了双关系知识蒸馏(DRKD),使学生模型能够从教师模型中学习像素和实例之间的关系。我们发现,逐像素关系对前景和背景特征之间的不平衡不敏感,可以使检测器聚焦于前景,如图1所示。此外,实例关系可以提供独立特征之外的有价值的知识,特别是对于小对象。
因为小实例之间有很多镶嵌,这意味着实例关系补充了小对象的独立特征之外的有价值的知识,因为设计了两种关系蒸馏:像素关系蒸馏和实例关系蒸馏。
提出了逐像素关系蒸馏,使检测器专注于前景特征的学习。我们采用图卷积来捕获全局像素关系。图卷积比注意力模块捕获更好的特征表示,以提高模型的性能。首先,坐标空间中的特征嵌入到图空间中,然后,图卷积用于捕获图空间中的关系特征。最后,将关联特征投影会原始坐标空间。输出特征成为逐像素关系特征。通过提取逐像素关系特征,检测器可以更关注前景特征的学习,如图1所示,解决了不平衡问题。
基于小实例与其他大小的实例具有更丰富的关系这一事实,面向实例的关系蒸馏被设计为为小实例获得更丰富的表示。首先,应用嵌入高斯函数来评估不同实例之间的关系,该函数在注意机制中得到了广泛的应用。计算不同大小实例之间的相似度,得到关联矩阵。此外,在实验中我们观察到不同的关系对蒸馏有不同的贡献。因此,关系筛选器模块被设计用来增强有价值的关系。过滤后的关系矩阵被蒸馏,以将实例关系从教师检测器转移到学生检测器。同时,利用裁剪后的前景特征进行蒸馏,进一步提高框架的检测精度。实验证明,基于实例的关系蒸馏可以提高小目标的检测精度。本工作的贡献可归纳为以下几点:
1、我们提出了基于图卷积的逐像素关系蒸馏。与注意机制相比,图卷积可以更有效地捕获全局上下文,达到更好的蒸馏效果。
2、我们提出了基于实例的关系蒸馏,以获得更丰富的小实例表示。实验表明,基于实例的关系蒸馏可以提高小目标的检测精度。
方法
提出了双关系知识蒸馏(DRKD),使学生检测器能够从教师检测器那里学习逐像素和逐实例关系,如图3所示。
逐像素关系蒸馏
逐像素关系蒸馏帮助学生检测器学习前景和背景特征之间的关系,解决特征不平衡问题。采用图卷积模块GloRe来捕获全局像素关系。它可以比注意力机制更有效地捕获全局上下文,达到更好的蒸馏效果。
具体来说,我们从教师和学生的backbone中提取多尺度特征,并将其提供给不同的GloRe模块,用于捕获全局像素关系。然后,提取逐像素的关系特征将全局关系从教师转移到学生呢。蒸馏损失如式(1)所示,此外,为了最小化学生模型和教师模型之间的特征差异,在学生模型一侧加入自适应卷积。
L
P
R
=
1
k
∑
i
=
1
k
∣
∣
ϕ
(
t
t
)
−
f
(
ϕ
(
s
i
)
)
∣
∣
L_{PR} = \frac{1}{k} \sum_{i=1} ^k ||\phi (t_t) - f(\phi(s_i))||
LPR=k1i=1∑k∣∣ϕ(tt)−f(ϕ(si))∣∣
k是特征个数,分别表示来自教师和学生的特征。表示GloRe模块。f表示自适应卷积。如图3(b)所示,GloRe包含三部分:图嵌入、图卷积和重投影。首先将坐标特征投影到低维图特征空间中。对于输入特征,我们首先通过线性层将其投影变换为。然后通过的投影得到图节点特征,投影矩阵为。投影方法是原始特征的线性组合,如式(2)所示。图节点特征可以聚合多个区域的信息:
是一个可学习的投影矩阵。V是图节点特征。
基于图节点特征,利用图卷积来捕获节点之间的关系,该关系由方程(3)定义。
A为邻接矩阵,随机初始化,随训练更新。在训练过程中,邻接矩阵学习节点间边的权重。边的权值反映了节点之间的关系。基于邻接矩阵和状态更新矩阵。更新节点特征,得到关系感知特征。
是单位矩阵,是节点邻接矩阵,是图节点特征。表示状态更新矩阵。表示图空间中的关系感知特征。
最后,将关系感知特征投影回坐标特征空间,如式所示。
是逐像素关系矩阵,B是可学习投影矩阵,表示图空间中的关系感知特征。
实例关系蒸馏
基于小实例与其他大小的实例具有更丰富的关系这一事实,面向实例的关系蒸馏被设计为为小实例获得更丰富的表示。采用嵌入高斯函数对实例特征的相似度进行建模。此外,我们还设计了一个关系过滤模块来强调有价值的关系。面相实例的关系模块如图4所示。
实例特征提取
为了捕获与实例相关的关系,我们需要提取实例特征。根据输入与特征图的比值,利用目标坐标的GT从特征图中提取实例特征。提取的实例特征被调整为相同的大小。如等式(5):
表示ROI Align。x为输入特征映射。C表示GT的坐标。o表示输出特征的大小。
实例关系模块和蒸馏
如图4所示,输入特征X,N表示同一图像中的实例数,D表示实例特征的通道,K表示实例特征映射的大小。面向实例的关系模块可以表示为:
其中表示实例特征,表示全连通层。是图4关系过滤器中关系矩阵的权重。表示图4的关系过滤器。表示和之间的实例关系特性。我们将实例关系蒸馏函数定义为(7):
此外,实例特征也有助于解决前景和背景之间的不平衡问题。实例蒸馏也使检测器关注地学习前景特征并加速学生检测器的收敛。因此,我们直接提取实例特征,进一步提高蒸馏性能。L2损失用于蒸馏。在学生检测器的一侧应用自适应卷积,以最小化学生和教师之间的特征差异: