标题:Localization Distillation for Dense Object Detection
会议:CVPR2022
论文地址:https://ieeexplore.ieee.org/document/9878414/
官方代码:https://github.com/HikariTJU/LD
作者单位:南开大学、天津大学、哈尔滨工业大学
文章目录
- Abstract
- 1. Introduction
- 2. Related Work
- 2.1. Bounding Box Regression
- 2.2. Localization Quality Estimation
- 2.3. Knowledge Distillation
- 3. Proposed Method
- 3.1. Preliminaries
- 3.2. Localization Distillation
- 3.3. Valuable Localization Region
- 3.4. Overall Distillation Process
- 4. Experiment
- 4.1. Experiment Setup
- 4.2. Ablation Studies and Analysis
- 4.3. Comparison with the State-of-the-Arts
- 5. Conclusion
Abstract
在目标检测中,知识蒸馏(KD)在学习小型模型方面具有强大的能力。以前用于目标检测的KD方法大多侧重于模仿那些要模仿区域内的深层特征,而不是模仿分类logit,因为它在蒸馏定位信息方面效率很低,而且没有什么改进。本文通过重新表述定位知识蒸馏过程,提出了一种新的定位蒸馏(LD)方法,可以有效地将定位知识从教师迁移给学生。此外,我们还启发式地引入了有价值定位区域的概念,可以帮助选择性地蒸馏特定区域的语义和定位知识。结合这两个新组件,我们首次展示了逻辑模仿(logit mimicking,logit蒸馏,也就是分类蒸馏)可以超越特征模仿(feature imitation,feature蒸馏),并且对于蒸馏目标检测器来说,定位知识蒸馏比语义知识蒸馏更重要、更有效。我们的蒸馏方案简单有效,可以很容易地应用于不同的稠密目标检测器。实验表明,我们的LD能够在不牺牲推理速度的情况下,将使用单尺度1×训练计划的GFocal-ResNet-50在COCO基准上的AP分数从40.1提升到42.1。
1. Introduction
定位是目标检测中的一个基本问题。边界框回归是目前目标检测中最流行的定位方式,其中Dirac delta分布表示直观且流行多年。然而,目标无法按照其边缘自信定位的定位模糊仍然是一个常见的问题。例如图1所示,“大象”的下边缘和“冲浪板”的右边缘定位起来是模糊的。对于轻量级的检测器来说,这个问题会更加严重。缓解这一问题的方法之一是知识蒸馏(KD)。知识蒸馏作为一种模型压缩技术,已被广泛验证可以通过迁移大型教师网络捕获的泛化知识来提高小型学生网络的性能。
说到目标检测中的KD,先前的工作已经指出,原始的用于分类的logit mimicking技术效率低下,因为它只传递了语义知识(即分类),而忽略了定位知识蒸馏的重要性。因此,现有的用于目标检测的KD方法大多侧重于增强教师-学生对(teacher-student pair)之间深层特征的一致性,并利用各种模仿区域(imitation region)进行蒸馏。图2展示了三种用于目标检测的流行的KD pipeline。然而,由于语义知识和定位知识在特征图上是混合的,很难判断为每个位置传递混合知识是否对性能有利,以及哪些区域有利于某类知识的传递。
受上述问题的启发,在本文中,我们提出了一种新的分而治之的蒸馏策略,将语义和定位知识分开迁移,而不是简单地蒸馏特征图上的混合知识。对于语义知识,我们使用原始的分类KD。对于定位知识,我们重新表述了定位的知识迁移过程,通过将边界框转换为概率分布,提出了一种简单有效的定位蒸馏(LD)方法。这与以前的工作,将教师的输出作为额外的回归目标(即图2中的伪BBox回归)有很大的不同。得益于这种概率分布表示,我们的LD可以高效地将教师学习到的丰富定位知识迁移给学生。此外,在提出的分而治之的蒸馏策略基础上,我们进一步引入有价值的定位区域(valuable localization region,VLR),以帮助高效地判断哪些区域有利于分类或定位学习。通过一系列的实验,我们首次表明,原始的logit mimicking可以比feature imitation更好,并且定位知识蒸馏比语义知识更重要、更高效。我们相信,基于各自的有利区域分别蒸馏语义和定位知识可能是一种有前途的方法来训练更好的目标检测器。
我们的方法很简单,可以很容易地在任何稠密目标检测器中配备以提高它们的性能,而不会引入任何推理开销。在MS COCO上的大量实验表明,不加任何修饰,我们可以将使用ResNet-50-FPN作为主干的强大基线GFocal的AP分数从40.1提升到42.1,AP
75
_{75}
75从43.1提升到45.6。我们使用ResNeXt-101-32x4d-DCN主干的最佳模型可以实现50.5 AP的单尺度测试,超过了相同主干、颈部和测试设置下的全部现有检测器。
2. Related Work
在这一节,我们对相关工作进行简要的回顾,包括边界框回归、定位质量估计和知识蒸馏。
2.1. Bounding Box Regression
边界框回归是目标检测中最流行的定位方法。R-CNN系列采用多个回归阶段来细化检测结果,而许多单阶段检测器则采用单个阶段回归。在一些方法中,IoU-based损失函数被提出来改进边界框的定位质量。最近,边界框表示已经从Dirac delta分布逐渐演变到高斯分布,再到概率分布。边界框的概率分布对于边界框的不确定性描述得更为全面,被证实是目前最先进的边界框表示方法。
2.2. Localization Quality Estimation
顾名思义,定位质量估计(Localization Quality Estimation,LQE)预测一个分数,衡量检测器预测的边界框的定位质量。LQE通常用于在训练过程中协助分类任务,即增强分类与定位的一致性。它也可以用于后处理中的联合决策制定(joint decision-making),即在执行NMS时同时考虑分类分数和LQE。早期的研究可以追溯到YOLOv1,其中预测的目标置信度被用来惩罚分类分数。然后,box/mask IoU和box/polar中心度被提出,分别对目标检测和实例分割的检测不确定性进行建模。从边界框表示的角度,Softer-NMS和Gaussian YOLOv3对边界框的每条边进行方差预测。LQE是一种初步的方法来建模定位模糊性。
2.3. Knowledge Distillation
知识蒸馏旨在通过极好的教师网络指导来学习小型高效的学生网络。FitNets提出模仿(mimic)来自教师模型隐藏层的中间层提示。Chen等人首次将知识蒸馏用于目标检测,其中的提示学习(hint learning)和KD均用于多类目标检测。随后,Li等人提出模仿Faster R-CNN区域建议(region proposal)中的特征。Wang等人在靠近锚框的位置模仿细粒度的特征。最近,Dai等人引入通用实例选择模块(General Instance Selection Module)来模仿教师-学生对之间有识别力的块(discriminative patches)内的深层特征。DeFeat在对目标区域和背景区域进行特征模仿时采用了不同的损失权重。与上述基于特征模仿(feature imitation)的方法不同,我们的工作引入了定位蒸馏,并提出基于有价值的定位区域分别迁移分类和定位知识,使蒸馏更加高效。
3. Proposed Method
在本节中,我们介绍所提出的蒸馏方法。与蒸馏特征图上的混合知识不同,我们提出了一种新的分而治之的蒸馏策略,根据各自的偏好区域分别蒸馏语义和定位知识。对于迁移语义知识,我们在分类头上简单地采用了分类KD,而对于定位知识,我们提出了一种简单而有效的定位蒸馏(LD)。这两种技术都是在个别头部(individual heads)的logit上操作,而不是深层特征。然后,为了进一步提高蒸馏效率,我们引入了有价值的定位区域(VLR),可以帮助判断对于不同的区域,哪种类型的知识有利于迁移。接下来,我们首先简要回顾边界框的概率分布表示,然后过渡到所提出的方法。
3.1. Preliminaries
对于一个给定的边界框
B
\mathcal{B}
B,传统的表示有两种形式,即
{
x
,
y
,
w
,
h
}
\{x,y,w,h\}
{x,y,w,h}(中心点坐标、宽度和高度)和
{
t
,
b
,
l
,
r
}
\{t,b,l,r\}
{t,b,l,r}(采样点到上、下、左、右边的距离)。这两种形式实际上都遵循图1所示的Dirac delta分布,只关注真值的位置而不能建模边界框的模糊性。这在以往的工作中也被明确地证明了。
在我们的方法中,我们使用边界框最近的概率分布表示,这对于描述边界框的定位不确定性更加全面。令
e
∈
B
e\in\mathcal{B}
e∈B表示边界框的一条边。其值一般可以表示为:
e
^
=
∫
e
m
i
n
e
m
a
x
x
P
r
(
x
)
d
x
,
e
∈
B
(1)
\hat{e}=\int_{e_{\mathrm{min}}}^{e_{\mathrm{max}}}x\mathrm{Pr}(x)dx,~~~~e\in\mathcal{B}\tag{1}
e^=∫eminemaxxPr(x)dx, e∈B(1)其中,
x
x
x是范围在
[
e
m
i
n
,
e
m
a
x
]
[e_{\mathrm{min}},e_{\mathrm{max}}]
[emin,emax]的回归坐标,
P
r
(
x
)
\mathrm{Pr}(x)
Pr(x)是对应的概率。传统的Dirac delta表示是公式1的一个特例,也就是当
x
=
e
g
t
x=e^{gt}
x=egt时
P
r
(
x
)
=
1
\mathrm{Pr}(x)=1
Pr(x)=1否则
P
r
(
x
)
=
0
\mathrm{Pr}(x)=0
Pr(x)=0的情况。通过将连续的回归范围
[
e
m
i
n
,
e
m
a
x
]
[e_{\mathrm{min}},e_{\mathrm{max}}]
[emin,emax]量化为具有
n
n
n个子区间的均匀离散变量
e
=
[
e
1
,
e
2
,
⋅
⋅
⋅
,
e
n
]
T
∈
R
n
\mathcal{e}=[e_1,e_2,···,e_n]^{\mathrm{T}}\in\mathbb{R}^n
e=[e1,e2,⋅⋅⋅,en]T∈Rn,其中
e
1
=
e
m
i
n
e_1=e_{\mathrm{min}}
e1=emin且
e
n
=
e
m
a
x
e_n=e_{\mathrm{max}}
en=emax,给定边界框的每条边都可以通过SoftMax函数表示成概率分布。
3.2. Localization Distillation
在本小节中,我们提出定位蒸馏(LD),这是一种提高目标检测蒸馏效率的新方法。我们的LD是从边界框的概率分布表示的角度演变而来的,边界框最初是为通用目标检测而设计的,携带了丰富的定位信息。图1中模糊和清晰的边缘将分别通过分布的平整度和尖锐度来体现。
LD的工作原理如图3所示。给定一个任意的稠密目标检测器,我们首先将边界框表示从四元表示转换为概率分布。我们选择
B
=
{
t
,
b
,
l
,
r
}
\mathcal{B}=\{t,b,l,r\}
B={t,b,l,r}作为边界框的基本形式。不同于
{
x
,
y
,
w
,
h
}
\{x,y,w,h\}
{x,y,w,h}形式,
{
t
,
b
,
l
,
r
}
\{t,b,l,r\}
{t,b,l,r}形式中每个变量的物理意义是一致的,便于我们将每条边的概率分布限制在相同的区间范围内。根据ATSS,这两种形式在性能上没有差异。因此,当给定的是
{
x
,
y
,
w
,
h
}
\{x,y,w,h\}
{x,y,w,h}形式时,我们首先将其转换为
{
t
,
b
,
l
,
r
}
\{t,b,l,r\}
{t,b,l,r}形式。
令
z
\boldsymbol{z}
z表示定位头为边缘
e
e
e所有可能位置预测的
n
n
n个logit,教师和学生的分别用
z
T
\boldsymbol{z}_T
zT和
z
S
\boldsymbol{z}_S
zS表示。不同于GFL,我们使用广义SoftMax函数
S
(
⋅
,
τ
)
=
S
o
f
t
M
a
x
(
⋅
,
τ
)
\mathcal{S}(·,\tau)=\mathrm{SoftMax}(·,\tau)
S(⋅,τ)=SoftMax(⋅,τ)将
z
T
\boldsymbol{z}_T
zT和
z
S
\boldsymbol{z}_S
zS转换为概率分布
p
T
\boldsymbol{p}_T
pT和
p
S
\boldsymbol{p}_S
pS。注意当
τ
=
1
\tau=1
τ=1时,它就等价于原始的SoftMax函数。当
τ
→
0
\tau\to 0
τ→0时,它趋向于Dirac delta分布。当
τ
→
∞
\tau\to\infty
τ→∞时,它将退化为均匀分布。经验上设定
τ
>
1
\tau>1
τ>1来软化分布,使得概率分布携带更多信息。
衡量两个概率
p
T
,
p
S
∈
R
n
\boldsymbol{p}_T,\boldsymbol{p}_S\in\mathbb{R}^n
pT,pS∈Rn之间相似性的定位蒸馏为:
L
L
D
e
=
L
K
L
(
p
S
τ
,
p
T
τ
)
=
L
K
L
(
S
(
z
S
,
τ
)
,
S
(
z
T
,
τ
)
)
\begin{align} \mathcal{L}_{\mathrm{LD}}^e&=\mathcal{L}_{\mathrm{KL}}(\boldsymbol{p}_S^\tau,\boldsymbol{p}_T^\tau)\tag{2}\\ &=\mathcal{L}_{\mathrm{KL}}(\mathcal{S}(\boldsymbol{z}_S,\tau),\mathcal{S}(\boldsymbol{z}_T,\tau))\tag{3} \end{align}
LLDe=LKL(pSτ,pTτ)=LKL(S(zS,τ),S(zT,τ))(2)(3)其中,
L
K
L
\mathcal{L}_{\mathrm{KL}}
LKL表示KL散度(KL-Divergence)损失。那么,边界框
B
\mathcal{B}
B所有四条边的LD可以表示为:
L
L
D
(
B
S
,
B
T
)
=
∑
e
∈
B
L
L
D
e
(4)
\mathcal{L}_{\mathrm{LD}}(\mathcal{B}_S,\mathcal{B}_T)=\sum_{e\in\mathcal{B}}\mathcal{L}_{\mathrm{LD}}^e\tag{4}
LLD(BS,BT)=e∈B∑LLDe(4)讨论。 我们的LD是首次尝试采用logit mimicking来为目标检测蒸馏定位知识。尽管框的概率分布表示在通用目标检测任务中已经被证明是有用的,但还没有人探索其在定位知识蒸馏中的表现。我们结合框的概率分布表示和KL散度损失,证明了这种简单的logit mimicking技术在提高目标探测器蒸馏效率方面表现很好。这也使得我们的LD与以往的相关工作截然不同,相反,它们强调feature imitation的重要性。在实验部分,我们将展示更多关于所提出的LD优势的数值分析。
3.3. Valuable Localization Region
以往的工作大多通过最小化
l
2
l_2
l2损失来迫使学生的深层特征模仿教师的深层特征。然而,一个直观的问题是:我们是否应该不加区分地使用整个模仿区域来蒸馏混合知识?根据我们的观察,答案是否定的。以往的工作已经指出,分类和定位的知识分布模式是不同的。因此,在本小节中,我们描述了有价值的定位区域(VLR),以进一步提高蒸馏效率,我们认为这将是一个很有前途的方法来训练更好的学生检测器。
具体地,将蒸馏区域分为两部分,主蒸馏区域(main distillation region)和有价值的定位区域(valuable localization region)。主蒸馏区域是由标签分配来直观地确定,即检测头的正位置。有价值的定位区域可以通过算法1得到。首先,对于第
l
l
l层FPN,我们计算所有锚框
B
l
a
\boldsymbol{B}_l^a
Bla和真值框
B
g
t
\boldsymbol{B}^{gt}
Bgt之间的DIoU矩阵
X
l
\boldsymbol{X}_l
Xl。然后,设定DIoU的下界为
α
v
l
=
γ
α
p
o
s
\alpha_{vl}=\gamma\alpha_{pos}
αvl=γαpos,其中
α
p
o
s
\alpha_{pos}
αpos是标签分配的正IoU阈值。VLR可以定义为
V
l
=
{
α
v
l
⩽
X
l
⩽
α
p
o
s
}
\boldsymbol{V}_l=\{\alpha_{vl}\leqslant\boldsymbol{X}_l\leqslant\alpha_{pos}\}
Vl={αvl⩽Xl⩽αpos}。我们的方法只有一个超参数
γ
\gamma
γ,它控制VLR的范围。当
γ
=
0
\gamma=0
γ=0时,所有预设锚框与GT框之间的DIoU满足
0
⩽
x
i
l
j
⩽
α
p
o
s
0\leqslant x_{i_lj}\leqslant\alpha_{pos}
0⩽xilj⩽αpos的位置将被确定为VLR。当
γ
→
1
\gamma\to1
γ→1时,VLR将逐渐收缩为空。这里我们使用DIoU,因为它赋予靠近目标中心的位置更高的优先级。
与标签分配类似,我们的方法跨越多层(multi-level)FPN给每个位置分配属性。这样一来,GT框外的一些位置也会被考虑。因此,我们实际上可以将VLR看作是主蒸馏区域向外的延伸。注意,对于anchor-free的检测器,如FCOS,我们可以使用特征图上的预设anchor,并且不改变其回归形式,使定位学习保持为anchor-free类型。而对于anchor-based的检测器,通常每个位置会设置多个anchor,我们展开锚框来计算DIoU矩阵,然后分配它们的属性。
3.4. Overall Distillation Process
训练学生
S
\boldsymbol{S}
S的总损失可以表示为:
L
=
λ
0
L
c
l
s
(
C
S
,
C
g
t
)
+
λ
1
L
r
e
g
(
B
S
,
B
g
t
)
+
λ
2
L
D
F
L
(
B
S
,
B
g
t
)
+
λ
3
I
M
a
i
n
L
L
D
(
B
S
,
B
T
)
+
λ
4
I
V
L
L
L
D
(
B
S
,
B
T
)
+
λ
5
I
M
a
i
n
L
K
D
(
C
S
,
C
T
)
+
λ
6
I
V
L
L
K
D
(
C
S
,
C
T
)
(5)
\begin{align} \mathcal{L}&=\lambda_0\mathcal{L}_{\mathrm{cls}}(\mathcal{C}_S,\mathcal{C}^{gt})+\lambda_1\mathcal{L}_{\mathrm{reg}}(\mathcal{B}_S,\mathcal{B}^{gt})+\lambda_2\mathcal{L}_{\mathrm{DFL}}(\mathcal{B}_S,\mathcal{B}^{gt})\\ &+\lambda_3\mathbb{I}_{\mathrm{Main}}\mathcal{L}_{\mathrm{LD}}(\mathcal{B}_S,\mathcal{B}_T)+\lambda_4\mathbb{I}_{\mathrm{VL}}\mathcal{L}_{\mathrm{LD}}(\mathcal{B}_S,\mathcal{B}_T)\\ &+\lambda_5\mathbb{I}_{\mathrm{Main}}\mathcal{L}_{\mathrm{KD}}(\mathcal{C}_S,\mathcal{C}_T)+\lambda_6\mathbb{I}_{\mathrm{VL}}\mathcal{L}_{\mathrm{KD}}(\mathcal{C}_S,\mathcal{C}_T) \end{align}\tag{5}
L=λ0Lcls(CS,Cgt)+λ1Lreg(BS,Bgt)+λ2LDFL(BS,Bgt)+λ3IMainLLD(BS,BT)+λ4IVLLLD(BS,BT)+λ5IMainLKD(CS,CT)+λ6IVLLKD(CS,CT)(5)其中,前三项与任何regression-based检测器的分类和边界框回归分支完全相同,即,
L
c
l
s
\mathcal{L}_{\mathrm{cls}}
Lcls是分类损失,
L
r
e
g
\mathcal{L}_{\mathrm{reg}}
Lreg是边界框回归损失,
L
D
F
L
\mathcal{L}_{\mathrm{DFL}}
LDFL是分布focal loss。
I
M
a
i
n
\mathbb{I}_{\mathrm{Main}}
IMain和
I
V
L
\mathbb{I}_{\mathrm{VL}}
IVL分别是主蒸馏区域和有价值定位区域的蒸馏掩码,
L
K
D
\mathcal{L}_{\mathrm{KD}}
LKD是KD损失,
C
S
\mathcal{C}_S
CS和
C
T
\mathcal{C}_T
CT分别表示学生和教师分类头输出的logits,
C
g
t
\mathcal{C}^{gt}
Cgt是真值类别标签。所有的蒸馏损失都将根据其类型由相同的权重系数加权,例如LD损失遵循bbox回归,KD损失遵循分类。此外,值得一提的是,由于LD损失具有足够的引导能力,因此可以禁用DFL损失项。而且,我们可以启用或禁用四种类型的蒸馏损失,从而以分离蒸馏区域的方式来蒸馏学生。
4. Experiment
在本节中,我们进行了全面的消融实验和分析,以证明所提出的LD和蒸馏方案在具有挑战性的大规模MS COCO基准上的优越性。
4.1. Experiment Setup
介绍了一些实现细节。
4.2. Ablation Studies and Analysis
LD中的温度
τ
\tau
τ。 我们的LD引入了一个超参数,即温度
τ
\tau
τ。表1a报告了不同温度下LD的结果,其中教师模型是AP为44.7的ResNet-101,学生模型是ResNet-50。这里只采用主蒸馏区域。与表1a中的第一行相比,不同温度一致地导致了更好的结果。在本文中,我们简单地将LD中的温度设为
τ
=
10
\tau=10
τ=10,在所有其它实验中都是固定的。
LD vs. 伪BBox回归。 教师有界回归(TBR)损失是在定位头上增强学生的初步尝试,即图2中的伪bbox回归,表示为:
L
T
B
R
=
λ
L
r
e
g
(
B
s
,
B
g
t
)
,
i
f
ℓ
2
(
B
s
,
B
g
t
)
+
ε
>
ℓ
2
(
B
t
,
B
g
t
)
(6)
\mathcal{L}_{\mathrm{TBR}}=\lambda\mathcal{L}_{\mathrm{reg}}(\mathcal{B}^s,\mathcal{B}^{gt}),\mathrm{if}~\ell_2(\mathcal{B}^s,\mathcal{B}^{gt})+\varepsilon>\ell_2(\mathcal{B}^t,\mathcal{B}^{gt})\tag{6}
LTBR=λLreg(Bs,Bgt),if ℓ2(Bs,Bgt)+ε>ℓ2(Bt,Bgt)(6)其中,
B
s
\mathcal{B}^s
Bs和
B
t
\mathcal{B}^t
Bt分别表示学生和教师的预测框,
B
g
t
\mathcal{B}^{gt}
Bgt表示真值框,
ε
\varepsilon
ε是预定义的边距,
L
r
e
g
\mathcal{L}_{\mathrm{reg}}
Lreg表示GIoU损失。这里只采用主蒸馏区域。从表1b可以看出,在公式6中使用适当的阈值
ε
=
0.1
\varepsilon=0.1
ε=0.1时,TBR损失的确可以获得性能增益(+0.4 AP和+0.7 AP
75
_\mathrm{75}
75)。然而,它使用粗糙的bbox表示,不包含任何检测器定位不确定性的信息,导致次优结果。相反,我们的LD直接产生了41.1 AP和44.9 AP
75
_\mathrm{75}
75,因为它利用了包含丰富定位知识的bbox的概率分布。
VLR中的各种
γ
\gamma
γ。 新引入的VLR有参数
γ
\gamma
γ,控制VLR的范围。如表1c所示,当
γ
\gamma
γ在0到0.5范围内时,AP是稳定的。在该范围内AP的变化在0.1左右。随着
γ
\gamma
γ的增大,VLR逐渐收缩为空。性能也逐渐下降至41.1,即仅在主蒸馏区域进行LD。参数
γ
\gamma
γ的灵敏度分析实验表明,在VLR上进行LD对性能有积极的影响。在剩下的实验中,为简单起见,我们将
γ
\gamma
γ设置为0.25。
分离蒸馏区域的方式。 关于KD和LD的作用及其偏好区域有几个有趣的观察。我们在表2中报告了相关的消融实验结果,其中“Main”表示在主要蒸馏区域即标签分配的正位置进行logit mimicking,“VLR”表示有价值的定位区域。可以看出,进行“Main KD”、“Main LD”以及两者结合都能分别提高+0.1、+1.0和+1.3 AP学生性能。这表明主蒸馏区域包含了对分类和定位都有价值的知识,并且与LD相比,分类KD的好处较小。然后,我们在更大的范围上实行蒸馏,即VLR。可以看出,“VLR LD”(表2第5行)在“Main LD”(第3行)的基础上可以进一步提升+0.7 AP。然而我们观察到,进一步加入“VLR KD”会产生有限的改进(表2的第2行和第5行)甚至没有改进(表2的最后两行)。这再次表明,定位知识蒸馏比语义知识蒸馏更加重要和有效,我们分而治之的蒸馏方案,即“Main KD”+“Main LD”+“VLR LD”,是对VLR的补充。
Logit Mimicking vs. Feature Imitation。 我们将提出的LD与几种SOTA的feature imitation方法进行了比较。我们采用分离蒸馏区域的方式,即在主蒸馏区域进行KD和LD,在VLR上进行LD。由于现代检测器通常配备了FPN,因此在以往工作的基础上,我们重新实现了它们的方法,并将所有的feature imitation都强加到多层FPN上以进行公平比较。这里,“FitNets”蒸馏整个特征图。“DeFeat”意味着feature imitation在GT框外的损失权重大于在GT框内的损失权重。“Fine-Grained”在靠近锚框的位置蒸馏深层特征。“GI Imitation”根据学生和教师有识别力的预测来选择蒸馏区域。“Inside GT Box”意味着我们使用FPN层上具有相同stride的GT Box作为feature imitation区域。“Main Region”意味着我们在主蒸馏区域内模仿特征。
从表3中我们可以看到,在整个特征图内蒸馏获得了+0.6 AP增益。通过对GT框外的位置设置更大的损失权重(DeFeat),性能要略优于对所有位置使用相同损失权重。Fine-Grained关注GT框附近的位置,产生了41.1的AP,与使用主区域进行feature imitation的结果相当。GI imitation搜索有识别力的块进行feature imitation,得到41.5的AP。由于学生和教师的预测差距较大,模仿区域可能出现在任何地方。
尽管这些feature imitation方法有了显著的改进,但它们并没有明确地考虑知识分布的模式。相反,我们的方法可以通过分离蒸馏区域的方式来迁移知识,直接产生了42.1的AP。值得注意的是,我们的方法是在logit上而不是在特征上操作的,这表明只要采取适当的蒸馏策略,logit mimicking并不比feature imitation差,就像我们的LD一样。此外,我们的方法与上述feature imitation方法是正交的。由表3可知,结合这些feature imitation方法,我们的性能可以得到进一步的提升。特别地,结合GI imitation,我们将强大的GFocal基线提高了+2.3 AP和+3.1 AP
75
_\mathrm{75}
75。
我们进一步进行了实验来检查分类得分和框概率分布的平均误差,如图4所示。可以看出,Fine-Grained特征模仿和GI imitation不出所料减少了这两个误差,因为语义知识和定位知识混合在特征图上。我们的“Main LD”和“Main LD+VLR LD”的分类得分平均误差与Fine-Grained和GI imitation相当或更大,但框概率分布的平均误差更低。这表明这两种仅有LD的设置可以显著减小教师和学生之间框概率分布的距离,而不能为分类头减小这种误差也是合理的。如果我们在主蒸馏区域实行KD,得到“Main KD+Main LD+VLR LD”,则分类得分的平均误差和框概率分布的平均误差都可以减小。
我们还在P5和P6 FPN层上可视化了每个位置学生和教师之间定位头logit的L1误差总和。在图5中,与“Without Distillation”相比,GI imitation确实减小了教师和学生之间的定位偏差。注意,我们特别选择了一个AP性能略优于GI imitation的模型(Main LD+VLR LD)进行可视化。我们的方法可以更显著地减小这种误差,缓解定位模糊。
对轻量级检测器的LD。 接下来,我们采用分离蒸馏区域的方式,即Main KD+Main LD+VLR LD,在轻量级检测器上验证了我们的LD。我们选择mmDedetection提供的44.7 AP的ResNet-101作为教师来蒸馏一系列轻量级的学生。如表4所示,我们的LD可以稳定地提升学生的性能。从这些结果我们可以得出结论,我们的LD可以稳定地提高所有学生的定位精度。
扩展到其它稠密目标检测器。 我们的LD可以灵活地集成到其它稠密物体检测器中,无论是anchor-based的还是anchor-free的。我们将分离蒸馏区域方式的LD应用到最近流行的几种检测器,如RetinaNet(anchor-based)、FCOS(anchor-free)和ATSS(anchor-based)。根据表5中的结果,LD可以一致地提高这些稠密检测器大约2 AP。
4.3. Comparison with the State-of-the-Arts
和SOTA的对比实验,具体的实验结论可以参照原文。
5. Conclusion
在本文中,我们提出了一种用于稠密目标检测的灵活的定位蒸馏,并设计了一个有价值的定位区域,以分离蒸馏区域的方式蒸馏学生检测器。我们证明①logit mimicking可以比feature imitation更好;②在蒸馏目标检测器时,分离蒸馏区域的方式对于分类和定位知识的迁移非常重要。我们希望我们的方法能够为目标检测领域提供新的研究思路,以开发更好的蒸馏策略。此外,LD在稀疏目标检测器(DETR系列)和其它相关领域的应用,如实例分割、目标追踪和3D目标检测等,值得进一步研究。