标题: Adaptive Knowledge Distillation for Lightweight Remote Sensing Object Detectors Optimizing
作者: Yiran Yang , Student Member, IEEE, Xian Sun , Senior Member, IEEE, Wenhui Dia
原文地址:https://ieeexplore.ieee.org/document/9775159
文章目录
Abstract
本文提出了一个用于传递特征知识的多尺度核心特征模仿MFCI模块,并设计了严格监督回归蒸馏SSRD模块来让学生模型有效模仿教师模型更精确的回归输出。与传统深度模型相比,轻量级检测器的性能要弱小许多。而知识蒸馏KD(一种训练方法)就可以有效地解决该问题。但是由于遥感图像的背景较为复杂,物体大小变化大,所以不能够直接运用KD方法。为此,本文提出了自适应强化监督蒸馏ARSD框架来提升轻量级模型检测能力。然后在几个数据集上运行该模型并发现其性能不仅要优于现有的蒸馏状态最先进的方法 (SOTA) 。并且该模型的效果也超越了一些经典的重/轻量级检测器。
MCFI模块:它可以自适应地选择对象的多尺度核心特征进行蒸馏,并通过区域加权策略更加关注小对象的特征;
SSRD模块:选择最优回归结果进行蒸馏;
Index Term——Adaptive knowledge distillation (KD), lightweight model, object detection, remote sensing imagery.
Introduction
现在许多在遥感领域的物体检测方法都是用基于R卷积神经网络(CNN)的方法。但是遥感图像的增加会给模型带来巨大压力,再加上现有探测器通常结构复杂、计算成本高、存储量大,都是巨大挑战。而轻量级物体检测器能够解决这些问题。
但是轻量级的探测器通常不会有很高的性能:它们面临着特征表示能力弱、虚警高、边界盒回归不精确等问题——知识蒸馏KD方法:轻量级学生模型模仿了来自教师模型的暗知识,在不增加额外成本的情况下提高了其准确性;
- 核心问题:应该传递哪些暗知识?——选择特征映射和回归结果作为暗知识进行蒸馏
暗知识(Tacit Knowledge)是一种难以形式化、难以传播的知识形式。它由个人在长期实践和体验中积累的、难以表达的感性认知构成。暗知识与形式知识相对,后者可以通过语言或其他形式准确表达
但是上述方案存在以下问题:
- 特征模仿:现有的KD方法就是学习高效目标检测模型、提取目标检测器以及提取目标检测器来进行检测。但是这些方法都只能传递单一的最高级特征信息,而且以前的方法对于大小目标的知识权重相同,但是遥感图像中小目标所占比例很大,使得特征图中只有很少特征,如下图所示:
就无法探测到许多小物体;
在特征蒸馏中,蓝色和绿色区域分别表示教师模型和学生模型的单尺度特征图,虚线框表示具有相同权重的特征交付区域;
在回归蒸馏中,Bs、Bt和Bgt分别表示学生模型和教师模型的回归结果和基础真值。然后Bs直接模仿Bt和Bgt。在单尺度特征等权蒸馏和误导性教师回归蒸馏下,可能会得到较差的结果;
- 回归蒸馏法:现有的方法都没有关注对轻量级模型的优化,而且它们的回归性能往往较差。一方面,当教师的回归结果比学生的回归结果差时,可能会给出错误的指导。另一个方面,如果老师的回归结果比锚点的差,学生模型往往会预测出低质量的边界框;
为了解决但尺度特征模仿问题,就有人提出了多尺度特征模仿,但是通常都是将整个图像的多尺度冗余特征传递给学生,而这会削弱其特征表征能力——多尺度核心特征模拟MCFI模块,该模块可以自适应地选择目标的多尺度核心特征进行模拟,并设计了一种面积加权策略,更加关注小目标的特征。
而对于蒸馏回归问题,则是只模仿正样本回归结果,但是并非所有正样本都是精确的——严格监督回归蒸馏SSRD模块,选择最优回归进行蒸馏。还通过位置加权策略,让学生学会预测教师模型的高质量回归输出;
上面的两个模块就是本文的自适应强化强度蒸馏ARSD框架的关键部分,如下图所示:
MCFI模块和SSRD模块传递了教师模型中所选择的知识。该框架有效地解决了小目标的探测问题
贡献
- 提出了一个称为ARSD的统一蒸馏框架,它可以解决轻量级目标检测器在遥感中的优化问题;
- 针对遥感图像的特征模仿问题(就是模仿的特征可能与自然特征存在较大差异),本文提出了MCFI模块,它能够自适应地选择对象地核心信息来进行蒸馏;
- 为了决解回归蒸馏的问题(解决回归任务中地样本分布偏差问题),本文设计了一个SSRD模块,用以帮助学生模仿教师模型的准确回归输出;
综述
一、相关工作
1.1 目标检测
当今基于CNN的检测器,无论是两/单阶段都需要巨大的计算量来实现目标,它们通常都会有一个巨大的骨架。因此,有人专注于轻量级骨架的设计。
与自然图像相比,遥感图像具有背景复杂,多尺度物体的特点,而这些特点会使得轻量级检测器效果下降——基于深度学习的遥感图像的物理检测算法,如:用于融合多尺度背景信息并用加权损失来关注小物体的ASFP组件、CBD模块将主力已和可变形卷积结构结合等等。
1.2 知识蒸馏
该学习方法的基本思想是:使用一个较为复杂的模型(老师模型)来辅助训练一个更小的模型(学生模型)。学生模型可以学习老师模型的只是,并在此基础上进行微妙来适应新任务。
知识蒸馏的过程可以概括为:
- 先训练一个老师模型,该模型通常更大更复杂,但性能更好;
- 然后使用老师模型的输出(如概率或损失)作为软标签(软目标),来辅助训练学生模型;
- 学生模型用这些软标签进行监督,可以学习到老师模型已经获得的知识;
- 同时学生模型结合新任务中少量的硬标签数据(真实标注),进一步微调模型,最终学生模型可以达到比较好的性能。
对于用于分类任务的KD来说,教师模型用来传递暗信息,也就是教师模型输出层的软标签,给学生模型。就比如:FitNet通过教师中间层的信息来提炼学生模型以及学生模仿教师注意力图等
分类任务中关于KD的工作很难直接迁移到更复杂的检测任务中去。比如:学生模型只模仿教师模型特征图中靠近物体的区域的FGFI、只模仿正样本的输出结果的TAR以及赋予不同权重的DeFeat方法。
二、方法
2.1 问题设置
KD就是从教师模型到学生模型的知识传递,这通常通过增加蒸馏损失来实现。KD可以表示为:
L
d
i
s
t
i
l
l
a
t
i
o
n
=
∑
k
=
1
K
λ
k
N
k
L
k
(
T
k
,
S
k
,
R
k
)
L_{distillation}=\sum_{k=1}^{K}\frac{λ_k}{N_k}L_k(T^k, S^k,R^k)
Ldistillation=k=1∑KNkλkLk(Tk,Sk,Rk)
其中,K代表知识种类,Tk和Sk分别代表教师和学生的知识,Lk代表损失,λk为蒸馏质量,Nk为归一项,Rk代表知识传递的规则,而以往的方法通常会传递一些噪声/遗漏关键知识
2.2 框架
本文所提出的框架如下图所示:
学生模型利用MCFI模块来模仿教师模型的多尺度核心特征知识,这样能够消除背景噪声,更加关注小目标的特征;SSRD模块传递高质量回归知识,这有助于学生学习预测更精确的回归输出;
通过这两个模块,可以将老师模型中核心知识自适应地传递给学生模型
而在训练阶段,只更新学生模型的参数
此处使用ResNet来作为主干网络,用以提取多尺度特征,并通过FPN进行融合。然后特征被送到怕检测头中,其中又分为分类/检测头两种头。中心性分支同时与回归头平时存在。此外,为了实现轻量化,在实验时讲学生FPN层通道数降为四分之一(VHR-10)/二分之一(DOTA,DIO)。
下图则是展示了适应层,用于匹配特征图通道数:
也就是通过一个一维卷积来使得学生的特征图与老师的特征图相等
2.3 MCFI模块
这个模块有利于学生模仿教师地对象地多尺度核心知识
- 特征图模仿:对象检测任务的特征图中的大多数区域都是背景。如果学生直接学习老师模型容易学到许多噪声——MCFI模块可以自适应的选择对象的多尺度核心特征,并更加关注小对象的特征;
具体方法:要针对检测任务与数据的特点,选择与对象相关的特征区域进行迁移,从而避免学生学习过多的噪声;
- 自适应的多尺度特征选择:该方法可以从多尺度特征途中选择不同尺寸物体的核心信息来防止荣誉特征信息削弱学生模型的特征表示能力;
对于给定输入图像
I
∈
R
W
×
H
I\in R^{W \times H}
I∈RW×H(其中W和H分别代表图像的宽和高)。让
b
m
=
(
x
1
m
,
y
1
m
,
x
2
m
,
y
2
m
)
b^m=(x^m_1,y^m_1,x^m_2,y^m_2 )
bm=(x1m,y1m,x2m,y2m)表示一个物体边界框的坐标。其中,m∈[1, M],M表示图像中物体数量。然后先计算输入图像的面积IΦ并计算第m个物体的面积bmΦ:
I
Φ
=
W
∗
H
I_Φ=W * H
IΦ=W∗H
b Φ m = ( x 2 m − x 1 m ) ∗ ( y 2 m − y 1 m ) b^m_Φ=(x^m_2-x^m_1)*(y^m_2-y^m_1) bΦm=(x2m−x1m)∗(y2m−y1m)
为了估计属于尺度特征图的每个对象的信息,本文根据其面积计算出目标尺度公里数:
k
m
=
m
a
x
(
⌊
log
2
b
Φ
m
I
Φ
⌋
,
1
)
k^m=max(\lfloor \log_2\sqrt{b^m_Φ\over I_Φ}\rfloor,1)
km=max(⌊log2IΦbΦm⌋,1)
此处设定k0为K,km∈[1,K],K代表特征图的尺度数。
根据上面的公式,物体面积越小,将选择较低尺度的特征。低尺度的特征通常具有更多的小物体信息,更有利于对其进行检测
让F={F1, F2, …,FK}代表一组多尺度的特征图。那么对于某个尺度特征图
F
k
∈
R
W
k
×
H
k
×
C
F_k \in R^{W_k\times H_k \times C}
Fk∈RWk×Hk×C,其中Wk、Hk和C分别代表宽,高和通道数。如此一来,某一制度特征图的缩放比计算就是:
S
k
w
=
W
k
W
,
S
k
h
=
H
k
H
S^w_k=\frac{W_k}{W}, S^h_k=\frac{H_k}{H}
Skw=WWk,Skh=HHk
让
b
m
=
(
x
1
t
m
,
y
1
t
m
,
x
2
t
m
,
y
2
t
m
)
b^m=(x^m_{1_t},y^m_{1_t},x^m_{2_t},y^m_{2_t} )
bm=(x1tm,y1tm,x2tm,y2tm)表示物体在相应比例尺特征图上经过缩放转换的坐标,计算方法如下:
x
1
t
m
=
S
k
w
x
1
m
,
y
1
t
m
=
S
h
w
y
1
m
x^m_{1_t}=S^w_kx^m_1, y^m_{1_t}=S^w_hy^m_1
x1tm=Skwx1m,y1tm=Shwy1m
x 2 t m = S k w x 2 m , y 2 t m = S h w y 2 m x^m_{2_t}=S^w_kx^m_2, y^m_{2_t}=S^w_hy^m_2 x2tm=Skwx2m,y2tm=Shwy2m
通过第m个物体的转换坐标和目标比例,我们生成一个 M m ∈ R W k × H k M^m \in R^{W_k\times H_k} Mm∈RWk×Hk的掩码,它可以突出第m个物体的特征并过滤掉背景:
M m = 1 [ ( i , j ) ∈ b t m ] M^m=1[(i,j)\in b^m_t] Mm=1[(i,j)∈btm]
其中i∈[1, Wk], j∈[1,Hk]。
在掩码Mm中,物体所在区域值为1,背景所在区域值为0,这样就可以得到核心特征
f
m
∈
R
W
k
×
H
k
×
C
f^m \in R^{W_k\times H_k\times C}
fm∈RWk×Hk×C:
f
m
=
γ
(
B
t
m
,
k
m
,
F
)
f_m=\gamma (B^m_t,k^m,F)
fm=γ(Btm,km,F)
= 1 [ ( i , j ) ∈ b t m ] ∗ F k =1[(i,j)\in b^m_t]*F_k =1[(i,j)∈btm]∗Fk
= M m ∗ F k =M^m*F_k =Mm∗Fk
其中,γ()是本文的自适应多尺度特征的选择函数
- 面积加权的策略:在上述部分中已经获得了所有物体的特征,并对所有大小的物体给予相同的模仿权重。但是还需要一个区域加权的策略来解决小物体比例小的问题:
-
首先,根据 b Φ m b^m_Φ bΦm和 I Φ I_Φ IΦ来计算第m个物体的归一化面积:
S m = b Φ m I Φ S_m=\sqrt{b^m_Φ\over I_Φ} Sm=IΦbΦm -
其次,本文设计了一个与物体面积相关大的单挑递减函数:
w m = e − S m + 1 w_m=e^{-S_m}+1 wm=e−Sm+1
其展示效果下图所示:
采用指数函数作为主函数。随着物体体积减小,其重量不断增大
- 然后,就可以得到面积加权掩码:
M m ∗ = M m ∗ w m M^{m*}=M^m*w_m Mm∗=Mm∗wm
通过循环来获得图像中所有物体的核心特征,从而得到一组掩码 M = M 1 ∗ , M 2 ∗ , . . . , M M ∗ M={M^{1*}, M^{2*},...,M^{M*}} M=M1∗,M2∗,...,MM∗。本文将相同的比例与OR操作相结合,最后获得了多尺度掩码 M = M 1 , M 2 , . . . , M K M={M_1,M_2,...,M_K} M=M1,M2,...,MK
这样一来,学生就可以自适应地模仿教师模型地多尺度核心信息。MFCI损失定义如下:
L
M
C
F
I
=
∑
k
=
1
K
[
1
2
N
p
k
∑
i
=
1
W
k
∑
j
=
1
H
k
∑
c
=
1
C
M
k
(
F
i
j
k
c
t
−
F
i
j
k
c
S
)
2
]
L_{MCFI}=\sum^{K}_{k=1}[\frac {1}{2N^k_p}\sum^{W_k}_{i=1}\sum^{H_k}_{j=1}\sum^{C}_{c=1}M_k(F^t_{ijkc}-F^S_{ijkc})^2]
LMCFI=k=1∑K[2Npk1i=1∑Wkj=1∑Hkc=1∑CMk(Fijkct−FijkcS)2]
N p k = ∑ i = 1 W k ∑ j = 1 H k M k N^k_p=\sum^{W_k}_{i=1}\sum^{H_k}_{j=1}M_k Npk=i=1∑Wkj=1∑HkMk
其中,K代表特征映射尺度的个数。 F i j k c t 和 F i j k c S F^t_{ijkc}和F^S_{ijkc} Fijkct和FijkcS分别表示教师/学生模型的特征映射。 N p k N^k_p Npk表示掩码Mk中正点的数量
MCFI模块如下图所示:
2.4 SSRD模块
这个模块就是本文所提出的模块,学生模型将从具有SSRD的教师模型中学习更精确的回归输出。
- 严格监督回归选择:在检测模型中,回归头负责预测每个锚点相对于其对应的地面真值的坐标偏移——回归头揭示了图像中物体的潜在位置(物体可能出现但未被检测出来的位置。这些位置包含了我们的检测模型尚未发现的物体实例。),但是为了避免噪声影响,只使用正样本进行监督。
对于单阶段模型(一次完成检测任务的全部步骤),当学生和教师模型输入相同图像时,正样本相同。
B
t
/
s
/
a
/
g
B_{t/s/a/g}
Bt/s/a/g被定义为教师/学生模型的解码正样本回归输出、正样本锚框(就是默认框)以及GT。定义如下:
B
σ
=
{
b
σ
1
,
b
σ
2
,
.
.
.
,
b
σ
N
}
,
σ
=
t
,
s
,
a
B_σ = \{b^1_σ,b^2_σ,...,b^N_σ\}, σ=t,s,a
Bσ={bσ1,bσ2,...,bσN},σ=t,s,a
B g = { b 1 , b 2 , . . . , b M } B_g=\{b^1,b^2,...,b^M\} Bg={b1,b2,...,bM}
N代表正样本数量,M是GT的数量
为了防止教师模型误导学生(简单来说就是老师的东西不一定能直接套给学生,以及老师的错误会传给学生)——定义一个评价准则P来衡量回归结果质量,对应计算公式如下:
P
σ
n
=
m
a
x
(
I
o
U
(
b
σ
n
,
B
G
)
)
,
σ
=
t
,
s
,
a
P_σ^n=max(IoU(b_σ^n,B_G)),σ=t,s,a
Pσn=max(IoU(bσn,BG)),σ=t,s,a
IoU代表计算两个边界框集的重叠率,max代表获取预测框与所有真值之间的最大IoU值;
锚点就是图片中的每个像素点,锚框就是以锚点为中心,由算法预定义的多个不同长宽比的先验框(就是候选框);
此外,还通过一个映射函数
Ψ
(
⋅
)
\Psi(·)
Ψ(⋅)来得到正样本索引R:
Ψ
(
p
)
:
{
1
,
p
>
0
0
,
p
≤
0
\Psi(p) : \begin{cases} 1,p>0\\0,p\leq0 \end{cases}
Ψ(p):{1,p>00,p≤0
采用不同的啊ψ()就会得到不同的R,当R=1时,就进行蒸馏(就是要这个样本)。下面分析不同的选择方法:
-
- 弱监督选择:只有当教师模型的预测边界框P大于锚的P时才选择正样本:
R o n = Ψ ( P t n − P a n ) R^n_o=\Psi(P^n_t-P^n_a) Ron=Ψ(Ptn−Pan)
然而,如果学生模型的预测边界框要优于教师模型,选择这样的样本就会误导学生;
- 弱监督选择:只有当教师模型的预测边界框P大于锚的P时才选择正样本:
-
- 中监督选择:限制教师的预测边界框P大于学生的:
R m n = Ψ ( P l n − P s n ) R^n_m=\Psi(P^n_l-P^n_s) Rmn=Ψ(Pln−Psn)
- 中监督选择:限制教师的预测边界框P大于学生的:
采用这种基于P的选择方法,监督的预测框有可能会选择学生模型或老师模型预测的框的P值并不高于anchor框的P值。这会导致学生模型学习到较低质量的预测框
-
- 强监督选择:只有满足下面的条件才能模仿教师预测边界框的输出:
R s n = Ψ ( P t n − P s n ) ∗ Ψ ( P s n − P a n ) R^n_s=\Psi(P^n_t-P^n_s)*\Psi(P^n_s-P^n_a) Rsn=Ψ(Ptn−Psn)∗Ψ(Psn−Pan)
- 强监督选择:只有满足下面的条件才能模仿教师预测边界框的输出:
从而消除前两种选择方式的缺点,使学生能够从教师模型中学到更精确的输出
- 位置加权策略:前面方法所选样品的蒸馏权值均相等,无法有效区分不同箱体的位置质量——赋予位置质量越高的回归框更大的蒸馏权值
从IoU值、类别准确性、位置偏差、尺度匹配度、长宽比以及置信度等方面来进行判断
让
b
a
n
=
{
x
1
n
,
y
1
n
,
x
2
n
,
y
2
n
}
b^n_a=\{x^n_1,y^n_1,x^n_2,y^n_2\}
ban={x1n,y1n,x2n,y2n}为回归前正样本的边界框,
b
m
=
{
x
1
m
,
y
1
m
,
x
2
m
,
y
2
m
}
b^m=\{x^m_1,y^m_1,x^m_2,y^m_2\}
bm={x1m,y1m,x2m,y2m}表示对应的GT。然后就可以计算从锚的中心到GT的四面的距离:
l
n
=
∣
x
1
n
+
x
2
n
2
−
x
1
m
∣
,
t
n
=
∣
y
1
n
+
y
2
n
2
−
y
1
m
∣
l^n=|\frac{x^n_1+x^n_2}{2}-x^m_1| ,t^n=|\frac{y^n_1+y^n_2}{2}-y^m_1|
ln=∣2x1n+x2n−x1m∣,tn=∣2y1n+y2n−y1m∣
r n = ∣ x 2 m − x 1 n + x 2 n 2 ∣ , b n = ∣ y 2 m − y 1 n + y 2 n 2 ∣ r^n=|x^m_2-\frac{x^n_1+x^n_2}{2}| ,b^n=|y^m_2-\frac{y^n_1+y^n_2}{2}| rn=∣x2m−2x1n+x2n∣,bn=∣y2m−2y1n+y2n∣
b a n b^n_a ban的位置质量 Q n Q^n Qn计算公式如下:
Q n = m i n ( l n , r n ) m a x ( l n , r n ) ∗ m i n ( l n , r n ) m a x ( l n , r n ) Q^n=\sqrt{{min(l^n,r^n)\over{max(l^n,r^n)}}*{min(l^n,r^n)\over{max(l^n,r^n)}}} Qn=max(ln,rn)min(ln,rn)∗max(ln,rn)min(ln,rn)
Q n ∈ [ 0 , 1 ] Q^n \in [0,1] Qn∈[0,1]
随着锚点中心越来越靠近GT中心,Qn的值趋近于1,即方框定位质量高
坐标原点表示GT中心,(x, y)是锚点的中心。锚箱重量随中心点距离的增加而减小。该重量用于提高高质量锚的蒸馏
本文采用Qn作为正样本回归蒸馏的权值,方法定义如下:
R
s
q
n
=
R
s
n
∗
Q
n
R^n_{sq}=R^n_s*Q^n
Rsqn=Rsn∗Qn
用严格监督选择方法来对所有正样本进行循环,得到集合 R = { R s q 1 , R s q 2 , . . . . , R s q N } R=\{R^1_{sq},R^2_{sq},....,R^N_{sq}\} R={Rsq1,Rsq2,....,RsqN}
再利用指标R,只提取出正样本的高质量回归,那么其损失函数定义如下:
L
S
S
R
D
=
1
N
r
e
g
∑
n
=
1
N
R
n
∗
L
g
i
o
u
(
b
t
n
,
b
s
n
)
L_{SSRD}=\frac{1}{N_{reg}}\sum^{N}_{n=1}R^n*L_{giou}(b^n_t,b^n_s)
LSSRD=Nreg1n=1∑NRn∗Lgiou(btn,bsn)
L g i o u ( b t n , b s n ) = 1 − I ( b t , b s ) U ( b t , b s ) + E ( b t , b s ) − U ( b t , b s ) E ( b t , b s ) L_{giou}(b^n_t,b^n_s)=1-\frac{I(b_t,b_s)}{U(b_t,b_s)}+\frac{E(b_t,b_s)-U(b_t,b_s)}{E(b_t,b_s)} Lgiou(btn,bsn)=1−U(bt,bs)I(bt,bs)+E(bt,bs)E(bt,bs)−U(bt,bs)
N r e g = { ∑ n = 1 N R n , ∑ n = 1 N R n > 0 1 , o t h e r w i s e N_{reg}=\begin{cases} \sum^{N}_{n=1} R^n{,\sum^{N}_{n=1} R^n>0} \\ 1{,otherwise}\end{cases} Nreg={∑n=1NRn,∑n=1NRn>01,otherwise
其中,Lgiou代表了广义的交集大于联合(GOIU)的损失。I/U/E(bt,bs)代表学生预测框和相应的教师预测框的交集/联合/最小包围框;
- 交集:预测框交集表示多个预测框重合的部分。它代表了多个预测框同时预测到的目标区域,可以看作是预测框之间的共识。交集框的面积往往较小,但定位肯定较准确,可以用来提高预测精度。
- 联合:预测框联合表示将多个预测框合并为一个框。联合框包含了多个预测框所覆盖的整个区域,面积较大,但定位准确度可能较差。联合框可以用于检测 to 不清晰或部分遮挡的目标。
- 最小包围框:预测框最小包围框表示刚好可以覆盖住所有预测框的最小框。它比联合框的面积要小,覆盖范围更加精确,定位质量与联合框有一定差异。最小包围框在一定程度上兼顾了交集框和联合框的特点。
这三种框合并方式各有优点,主要应用场景也有差异:
- 交集框:主要用于提高定位精度,过滤误差框,得到更准确预测。适用于较清晰目标检测场景。
- 联合框:主要用于检测目标不是很清晰或部分遮挡的情况。可以包括更广范围,减少漏检,但定位精度相对较差。
- 最小包围框:在一定程度上兼顾了定位精度和漏检率,覆盖范围比联合框精细但比交集框宽泛。适用于目标状态一般,既要考虑定位精度又需要避免一定漏检的场景。
详细的模块展示如下图所示:
假设图像中有两个对象,不同颜色的框代表不同的预测等。这里先计算出教师、学生和锚的回归精确度 P σ n , σ = { t , s , a } P_σ^n,σ=\{t,s,a\} Pσn,σ={t,s,a}。然后采用严格监督回归选择来选取最优蒸馏样品,如图中1所示。最后,选取的所有样本在教师模型和学生模型的回归结果间计算SSRD损失。并采用如图7所示的位置加权策略来提高回归框权重质量。
- 优化
利用检测损失Ldet和蒸馏损失I来对学生模型进行优化:
- 检测损失定义如下:
L d e t = λ 1 L c l s + λ 2 L r e g + λ 3 L c e n L_{det}=λ_1L_{cls}+λ_2L_{reg}+λ_3L_{cen} Ldet=λ1Lcls+λ2Lreg+λ3Lcen
其中, L c l s 采用焦点损失, L r e g 采用 G I O U 损失, L c e n 是二元交叉熵( B C E )损失,此处设定 λ 1 = λ 3 = 1 , λ 2 = 2 L_{cls}采用焦点损失,L_{reg}采用GIOU损失,L_{cen}是二元交叉熵(BCE)损失,此处设定λ_1=λ_3=1,λ_2=2 Lcls采用焦点损失,Lreg采用GIOU损失,Lcen是二元交叉熵(BCE)损失,此处设定λ1=λ3=1,λ2=2
- 蒸馏损失定义如下:
L d i s t i l l = λ 4 L M C F I + λ 5 L S S R D L_{distill}=λ_4L_{MCFI}+λ_5L_{SSRD} Ldistill=λ4LMCFI+λ5LSSRD
如此一来,总的损失就是:
L
=
L
d
e
t
+
L
d
i
s
t
i
l
l
L=L_{det}+L_{distill}
L=Ldet+Ldistill
下面的伪代码描述了ARSD框架的整个训练过程:
有伪代码了,具体代码。。再说吧
三、实验结果
3.1 数据集
- DOTA:该数据集包含2806个大图像和188282个实例,并分为15个类别。每张原始图像大小为40004000,而在实验中减为10241024,重叠200像素;
- NWPU VHR-10:该数据集包含520张图像来作为训练集,130张图像作为测试集。数据集包含10个类别,大小固定为1000*600
- DIOR:该数据集包含23463张图像和192472个实例。每张图像大小为800*800;
3.2 实现细节
- 模型设置:
- 教师模型:在数据集DOTA和DIOR上使用ResNet101作为教师的骨干。由于NWPU数据集较小,因此使用ResNet50作为教师模型的主干;
50和101就是说明两个模型的层数不同,从而导致参数量不同,对于小的数据集,使用ResNet50即可;
- 学生模型:为了轻量化,学生模型使用ResNet18为主干。此外,对于DOTA和DIOR数据集,FPN通道数量减少一半,而对于NWPU,则是减少到四分之一;
- 训练策略:(不用写PPT)具体设置如下表所示:
使用随机梯度下降优化损失,预热学习率设置为0.001,轮数设置为500。动、重量衰减分别设置为0.9和0.0001。采用ImageNet预训练模型进行骨干初始化。在测试阶段,DOTA和DIOR的非最大抑制IoU阈值为0.4,NWPU的阈值为0.6;
- 评价指标:采用平均平均精度mAP来评价模型的准确性。
AP与TP,FP,FN,精度以及召回率的关系:
TP:当检测结果所预测的边界框和GT框超过一定阈值时,将结果视为TP,否则就是FP。
FN:当基础真值没有匹配的预测结果时,将标记假FN;
而精确度和召回率的定义如下:
p r e s i s i o n = T P T P + F P presision=\frac{TP}{TP+FP} presision=TP+FPTPr e c a l l = T P T P + F N recall = \frac{TP}{TP+FN} recall=TP+FNTP
根据置信度对预测结果进行排序,就可以得到不同的精确度和召回率,也就可以绘制PR曲线,AP就是PR曲线下边的面积,然后计算所有类别AP的平均值以获得mAP。
另外,本文还采用了FPS、浮点运算数FLOPs和网络参数数量Params来作为评估模型和轻量级性能的指标。
3.3 消融实验
通过消融实验研究了每个蒸馏模块(MCFI和SSRD)如何促进模型性能,该实验在DOTA数据集上进行。
- ARSD框架:MCFI模块可应用于FPN层/分类头,而且它可以提高轻量化模型的精度(不论单独/组合使用)。而SSRD模块只能应用于回归头,它也促进了性能。上述模块的表现结果如下表所示:
- MCFI模块的效果:经过FPN层后,就会获得5个比例特征图,然后学生根据不同的方法来模仿老师的不同特征,如下表所示:
FGFI是指细粒度模仿,*表示特征选择的阈值对于所有尺度特征都是固定的,而°表示阈值不同。这两种细粒度模拟更关注背景信息。
MCFI使学生能够了解GT的特征,从而消除噪声。I表示没有面积加权策略的MCFI模块。最后是增加面积加权策略,使学生模型更容易关注小物体。
从上表结果中可以看出,MCFI模块完成了最优结果,准确率较基本模型提升了3.15%
本文还对FPN特征进行了面积加权策略蒸馏实验:即使用一个单调递减的函数作为加权函数。随着目标面积的增加,其对应特征区域的权重逐渐减小,如下表所示:
可以看出,三种加权函数中指数函数优于线性函数,基本指数函数效果最好
桥梁(Br)、环形交叉路口(Ra)、直升机(Hc)、篮球场(Bc)、棒球场(Bd)、足球场(Sbf)
如下图所示,Br、Ra、Hc的生长比Bc、Bd、Sbf要大:
它们都有更少的实例,但是Br, Ra和Hc有更多的小对象。结果表明,MCFI模块对小物体的关注程度更高证明了MCFI模块的有效性。
- SSRD模块的作用:在分类和FPN中加入MCFI模块后,本文还使用了回归蒸馏的方法,如下表所示:
不管用哪种损失函数,Rs都是最好的。L1和GIOU表示学生和教师回归结果之间的优化损失,Q表示位置加权策略;
与L1损失相比,GIOU损失达到了更好的效果。在使用GIOU损失并同时应用位置质量Q后,SSRD模块帮助模型实现了最佳性能,检测精度与基线相比增加了4.48%
- 超参数优化:就是之前提到的λ4/5,测试结果如下表所示:
对FPN特征蒸馏来进行超参数实验,从而找到最佳的λ4。从表中不难看出,当λ4=0.01时,模型达到最佳性能;
而当λ5=0.1时,模型达到最佳性能
- 轻量化分析:由于结果设计,文本所得到的学生模型十分轻量化,如下图所示:
无论在哪个数据集中,与教师模型相比,ARSD的推理速度更快,模型参数更小,FLOPs更少。因此,我们的轻量级模型更适合部署在智能终端上
- 定性分析:如下图所示:
第一行为最基本的可视化结果,第二行为ARSD结果;
不难看出,ARSD模型在(a)中具有更好的特征提取能力,即小目标的特征更加明显。此外,在(b)中没有缺失,在©中没有虚报(绿色),在(d)中红框框起来的那个汽车也表明了更优的效果
3.4 与最先进的蒸馏方法比较
使用了六种蒸馏方式来进行性能比较,结果如下表所示:
可以看出来,本文所提出的ARSD模型在三个数据集上都做到了最好,这证明了该框架的有效性。
- DOTA:与其他方法相比,我们的ARSD在DOTA的数据集中取得了4.48%的最佳改进;
- NWPU:ARSD达到了4.36%的最高性能提升;
- DIOR:实现了4.9%的最优改进;
3.5 与重量级检测器比较
在三个数据集上的实验结果如下表所示:
证明了ARSD框架的有效性。我们的轻量化模型不仅具有更高的精度,而且在轻量化性能方面具有更大的优势
下图则是三个数据集上的部分可视化结果:
可以看出,不论是大还是小数据集,对于不同尺度的物体都有着很好的检测结果。
3.6 与轻量级对象检测器的比较
比较结果如下表所示:
在训练阶段占用了大量的GPU内存,并且有较大的
从表8可以看出来,虽然他们的模型参数与我们的接近,但他们的推理速度比我们的慢,准确率也比我们的低10%左右
因此,我们的模型在性能和轻量级之间有一个更好的权衡
总结
本文就是提出了一种用于遥感图像中轻量化目标探测器优化的ARSD框架。本文设计了MCFI模块和SSRD模块来从教师模型上选择知识转移到学生模型中。这样一来,本文的ARSD模型就可以在不增加额外开销的情况下提高轻量级模型的检测性能,并在几个经典数据集上实验证明了此方法。
未来展望
从这篇文章中不难看出,即使是小物体检测,经过ARSD框架后都可以得到有效的提升,那么对于相对容易的海面上的热带气旋检测是否也可以这样来实现呢?这是我目前研究方向的一个改进想法。