【论文笔记】Cross-Domain Few-Shot Object Detection via Enhanced Open-Set Object Detector
何文轩v2021 2024-08-23 12:01:07 阅读 65
目录
原文地址主要内容(待更新)Abstract1 Introduction2 Related Works3 CD-FSOD: Setup, Metrics, and Benchmark3.1 Task Configurations3.2 Metrics for Domain Difference3.3 Benchmark of Different Domains
4 Methodology4.1 Overview of CD-ViTO4.2 Key Components of Our CD-ViTO
5 Experiments5.1 Evaluated Methods5.2 Main Results on CD-FSOD5.3 Analysis on the Proposed Modules
6 Conclusion7 Implementation Details(此节开始为追加内容)8 More Results8.1 Results on Standard FSOD8.2 Ablation Results on Each Module8.3 More Visualization Results8.4 More Discussion with Related Works
9 More Details of Proposed Benchmark9.1 Target Datasets9.2 Domain Metrics
原文地址
Cross-Domain Few-Shot Object Detection via Enhanced Open-Set Object Detector
主要内容(待更新)
Abstract
本文研究了具有挑战性的跨域小样本目标检测(CD-FSOD),旨在研发在极少标签样本的新域仍精确的目标检测器。当基于transformer的开放集(open-set)检测器,如DE-ViT在传统小样本目标检测表现较好时,它在CD-FSOD上的推广仍不明确:(1)这样的开放集检测方法能够轻易地泛化到CD-FSOD吗?(2)如果不能,面对巨大的域差,模型应该怎样改进增强?为解答第一个问题,我们使用了风格、类间方差(ICV)和无法定义的边界(indefinable boundaries,IB)等方法来衡量域差。基于这些测量方法,建立新的基准(benchmark),名为CD-FSOD,用于评估目标检测方法。它揭示了大部分现有的方法都不能在跨域上泛化。从技术上讲,我们观察到效果变差和前面提出的测量方法:风格、ICV和IB有关。因此,提出了几个新的模块解决这些问题。一,可学习实例功能使初始固定实例域目标类别一致,增强特征独特性。二,实例重新赋权值模块将更高的重要性赋予低IB值的高质量实例。三,域提示器可以在不改变语义内容的情况下通过合成假想域弹性地将特征设置成不同样式。这些技术共同促进了跨域视觉Transformer(Cross-Domain Vision Transformer)到CD-FSOD(CD-ViTO)的发展,极大地提升了DE-ViT。实验数据证明了我们模型的有效性。数据集和代码可以从http://yuqianfu.com/CDFSOD-benchmark.获得。
1 Introduction
2 Related Works
3 CD-FSOD: Setup, Metrics, and Benchmark
3.1 Task Configurations
任务公式化。形式上,给出源数据集,记为
D
S
=
{
I
,
y
}
\mathcal{D}_S = \{I, y\}
DS={ I,y},
y
∈
C
S
y \in \mathcal{C}_S
y∈CS,分布为
P
S
\mathcal{P}_S
PS;给出新的目标数据集,记为
D
T
=
{
I
,
y
}
\mathcal{D}_T = \{I, y\}
DT={ I,y},
y
∈
C
T
y \in \mathcal{C}_T
y∈CT,分布为
P
T
\mathcal{P}_T
PT。和FSOD一样,CD-FSOD支持带标签数据,因为源类
C
S
\mathcal{C}_S
CS有大量标签实例,但是
C
T
\mathcal{C}_T
CT中每个新目标类的实例只有少量标签实例。所有目标类对于模型来说都是新的(没见过的),即
C
S
∩
C
T
=
∅
\mathcal{C}_S \cap \mathcal{C}_T = \varnothing
CS∩CT=∅。此外,不同于FSOD模型假设源数据的分布
P
S
\mathcal{P}_S
PS与目标数据的分布
P
S
\mathcal{P}_S
PS一致,CD-FSOD模型采取了更切实际的假设:
P
S
≠
P
T
\mathcal{P}_S \neq \mathcal{P}_T
PS=PT。模型在
D
S
\mathcal{D}_S
DS上训练,在
D
T
\mathcal{D}_T
DT上测试。
N-way K-shot协议。为评估CD-FSOD模型的FSL(Few-Shot Learning,小样本学习)能力,采用N-way K-shot评估协议。具体来说,对于
C
T
\mathcal{C}_T
CT中的每个新类,提供K个标签样本,称为支持集
S
S
S;其余无标签样本作为查询集
Q
Q
Q。数学形式为
∣
S
∣
=
N
×
K
,
N
=
∣
C
T
∣
|S| = N \times K, N = |\mathcal{C}_T|
∣S∣=N×K,N=∣CT∣。
训练策略。采用“预训练,微调,测试”的流水线,这在很多CD-FSL方法中使用过。该流水线具体为:先在源数据集
D
S
\mathcal{D}_S
DS上训练,然后使用来自目标数据集
D
T
\mathcal{D}_T
DT的少量的支持集
S
S
S微调可训练参数,最后在查询集
Q
Q
Q上测试。训练和微调的典型目标函数有边界框回归损失和类别损失。
3.2 Metrics for Domain Difference
我们意图通过以下3个方面评估数据集来解决困难与挑战。
风格。我们识别风格在各种域相关的任务如域适应、域泛化以及跨域小样本学习中的核心作用。常见的风格有:真实,卡通,素描等等。
类间方差(Inter-class variance, ICV)。ICV,学习任务中广泛使用的度量标准,衡量不同类之间的差异性。ICV值越高越容易识别语义标签。比较粗糙的数据集如COCO的ICV值较高,而细粒度的数据集的ICV值较低。
无法定义的边界(Indefinable Boundaries, IB)。IB,借自伪装目标检测领域,反映出目标物体与背景的混淆程度。高混淆度为目标检测器带来困难与挑战。例如,检测干净背景中的人比较简单直接,但识别珊瑚礁中的鱼就非常困难了。我们将ICV值分为大、中、小3个级别,IB值分为轻微、中度、重度3个级别。数据集的ICV和IB级别测量方法的相关细节请见追加材料。
3.3 Benchmark of Different Domains
基于风格、ICV和IB度量方法,我们仔细地审查并重构了现有的目标检测数据集,构建了基准(benchmark)CD-FSOD。该基准包括7个数据集。COCO,目标检测任务广泛使用的数据集,它提供了大量的物体类别,例如人、动物、交通工具以及各种日常生活物品,用作
D
S
\mathcal{D}_S
DS。其他6个数据集包括ArTaxOr,Clipart1k,DIOR,DeepFish,NEUDET和UODD,用作
D
T
\mathcal{D}_T
DT。这些数据集的部分样本以及对应的风格、ICV和IB级别如图2所示。注意,DeepFish只有一个类别,所以没有ICV值。更多关于数据集的细节请见追加材料。
4 Methodology
4.1 Overview of CD-ViTO
初步认识(Preliminary)。DE-ViT通过使用源于预训练大模型的可视化特征以及解决定位和分类任务的方式构建开放集检测器。基础DE-ViT的流水线如图3(a)的蓝色箭头所示。它主要包括一个预训练的DINOv2 ViT,一个区域候选网络(
M
R
P
N
M_{RPN}
MRPN),一个ROI(Region of Interest,感兴趣区域)对齐模块(
M
R
O
I
M_{ROI}
MROI),一个检测头(
M
D
E
T
M_{DET}
MDET),和一个一对多(one-vs-rest)分类器(
M
C
L
S
M_{CLS}
MCLS)。具体来说,给出查询图像
q
q
q和支持集
S
S
S,DE-ViT首先使用DINOv2提取实例特征
F
i
n
s
=
{
F
i
n
s
o
b
,
F
i
n
s
b
g
}
F_{ins} = \{F_{ins}^{ob}, F_{ins}^{bg}\}
Fins={ Finsob,Finsbg},其中
F
i
n
s
o
b
F_{ins}^{ob}
Finsob表示来自
S
S
F
i
n
s
b
g
F_{ins}^{bg}
Finsbg表示背景的特征。然后
F
i
n
s
o
b
F_{ins}^{ob}
Finsob对目标类别数取平均、
F
i
n
s
b
g
F_{ins}^{bg}
Finsbg保持不变,得到类别原型
F
p
r
o
=
{
F
p
r
o
o
b
,
F
i
n
s
b
g
}
F_{pro} = \{F_{pro}^{ob}, F_{ins}^{bg}\}
Fpro={ Fproob,Finsbg}。对于查询图像
q
q
q,DE-ViT对其使用DINOv2、
M
R
P
N
M_{RPN}
MRPN和
M
R
O
I
M_{ROI}
MROI生成候选区域
R
q
R_{q}
Rq、视觉特征
F
q
F_q
Fq和ROI特征
F
q
r
o
i
F_{q_{roi}}
Fqroi。接着,
R
q
R_q
Rq、
F
q
F_q
Fq和
F
p
r
o
F_{pro}
Fpro作为
M
D
E
T
M_{DET}
MDET的输入,完成定位任务得到
L
l
o
c
\mathcal{L}_{loc}
Lloc。在此期间,
M
C
L
S
M_{CLS}
MCLS基于
F
q
r
o
i
F_{q_{roi}}
Fqroi和
F
p
r
o
F_{pro}
Fpro完成分类任务得到
L
c
l
s
\mathcal{L}_{cls}
Lcls。通过
L
l
o
c
\mathcal{L}_{loc}
Lloc和
L
c
l
s
\mathcal{L}_{cls}
Lcls两个损失函数优化网络。
据说,DE-ViT不需要微调就能检测任何新类物体,但是实验表明它在跨域的目标数据集上不能泛化。这就是提升DE-ViT的跨域识别能力、形成新方法的动机。注意,DE-ViT的基本组件包括:DINOv2、
M
R
P
N
M_{RPN}
MRPN、
M
R
O
I
M_{ROI}
MROI、
M
D
E
T
M_{DET}
MDET、
M
C
L
S
M_{CLS}
MCLS、
L
l
o
c
\mathcal{L}_{loc}
Lloc和
L
c
l
s
\mathcal{L}_{cls}
Lcls,这些在FSOD任务上确实有效并直接应用在本文的框架中。本文提出的方法CD-ViTO如图3(a)中橙色增强高亮部分所示。在小节1部分曾说明CD-FSOD的域差与目标数据集的ICV、IB和风格有密切关系。因此,这启发我们通过处理这些特征设计CD-ViTO。于是,提出了新组件可学习实例特征(
M
L
I
F
M_{LIF}
MLIF)、实例重赋权(
M
I
R
M_{IR}
MIR)、域提示器(
M
D
P
M_{DP}
MDP)分别处理小ICV、重度IB以及变换风格。此外,微调(FT)已经在跨域相关的任务中探索过,但是在本文的基准中还是探讨了它。
具体来说,给出
S
S
S和
q
q
q作为输入,执行与DE-ViT相同的流程获得实例特征
F
i
n
s
=
{
F
i
n
s
o
b
,
F
i
n
s
b
g
}
F_{ins} = \{F_{ins}^{ob}, F_{ins}^{bg}\}
Fins={ Finsob,Finsbg},候选区域
R
q
R_q
Rq,视觉特征
F
q
F_q
Fq和ROI特征
F
q
r
o
i
F_{q_{roi}}
Fqroi。但是不同于直接对
F
i
n
s
o
b
F_{ins}^{ob}
Finsob取平均获得类原型
F
p
r
o
o
b
F_{pro}^{ob}
Fproob,首先使用
M
L
I
F
M_{LIF}
MLIF将已经计算好的
F
i
n
s
F_{ins}
Fins转为可学习的特征,然后通过执行分开的检测任务(即
L
l
o
c
\mathcal{L}_{loc}
Lloc监督的定位任务和
L
c
l
s
\mathcal{L}_cls
Lcls监督的分类任务)将其改变为
F
i
n
s
l
e
a
F_{ins}^{lea}
Finslea1。因为在训练数据打上了类别的标签,这个优化(应该是指
M
L
I
F
M_{LIF}
MLIF)会将实例特征与对应的类别对齐,从而提高特征的辨识度、解决ICV小的问题。接着考虑到图像质量,尤其是目标实例的IB,使用
M
I
R
M_{IR}
MIR给
F
i
n
s
l
e
a
F_{ins}^{lea}
Finslea中的目标权重重新赋值,得到新的原型
F
p
r
o
′
F_{pro}^\prime
Fpro′。一般情况下,
M
I
R
M_{IR}
MIR会给IB级别为轻微的高质量实例分配更高的权重。这样高质量实例对它的类原型贡献更大。
M
I
R
M_{IR}
MIR放置在
M
L
I
F
M_{LIF}
MLIF之后,使用相同的
L
l
o
c
\mathcal{L}_{loc}
Lloc和
L
c
l
s
\mathcal{L}_{cls}
Lcls优化。此外,为使模型在变换的风格上具有更好的鲁棒性,提出了
M
D
P
M_{DP}
MDP用于合成几个虚拟域
F
d
o
m
a
i
n
F_{domain}
Fdomain。
M
D
P
M_{DP}
MDP的目的是引入域扰动并使特征在不同域之间保持一致。为保证引入的域的多样性并约束这些域不会影响特征的语义,引进了另一个损失
L
d
p
\mathcal{L}_{dp}
Ldp。
M
D
P
M_{DP}
MDP放置在被
M
I
R
M_{IR}
MIR重赋权的原型,即
F
p
r
o
′
F_{pro}^\prime
Fpro′之上,而
L
d
p
\mathcal{L}_{dp}
Ldp和
L
l
o
c
\mathcal{L}_{loc}
Lloc、
L
c
l
s
\mathcal{L}_{cls}
Lcls一同作用。
至于微调操作,只微调前2个模块,即
M
D
E
T
M_{DET}
MDET和
M
C
L
S
M_{CLS}
MCLS。尽管这简单,但是它在为CD-FSOD使用开放集检测器的情境下仍值得探讨。实验结果(5.2小节)同样表明了该方法的必要性。总体而言,CD-ViTO通过可学习实例特征、实例重赋权和域提示器等有用的干扰以及微调关键组件解决了跨域问题。所有引进的参数(图3(a)中火焰图标部分)是轻量级的,优化它们的目标函数
L
\mathcal{L}
L是:
L
=
L
l
o
c
+
L
c
l
s
+
L
d
p
(
1
)
\mathcal{L} = \mathcal{L}_{loc} + \mathcal{L}_{cls} + \mathcal{L}_{dp}\quad\quad\quad\quad\quad\quad(1)
L=Lloc+Lcls+Ldp(1)
4.2 Key Components of Our CD-ViTO
可学习实例特征
M
L
I
F
M_{LIF}
MLIF。可学习实例特征
M
L
I
F
M_{LIF}
MLIF的实现十分简单和高效。给出计算好的实例特征
F
i
n
s
∈
R
(
N
×
K
+
N
b
g
)
×
D
F_{ins} \in \mathcal{R}^{(N \times K + N_{bg}) \times D}
Fins∈R(N×K+Nbg)×D,其中
N
N
N、
K
K
K、
N
b
g
N_{bg}
Nbg、
D
D
D分别表示目标类别数、样本数、背景实例数、视觉特征的维度,而
M
L
I
F
M_{LIF}
MLIF定义了新的可学习矩阵
F
i
n
s
l
e
a
F_{ins}^{lea}
Finslea,该矩阵维度与
F
i
n
s
F_{ins}
Fins相同并使用
F
i
n
s
F_{ins}
Fins初始化。数学表达为:
F
i
n
s
l
e
a
∈
R
(
N
×
K
+
N
b
g
)
×
D
F_{ins}^{lea} \in \mathcal{R}^{(N \times K + N_{bg}) \times D}
Finslea∈R(N×K+Nbg)×D,
F
i
n
s
l
e
a
=
F
i
n
s
F_{ins}^{lea} = F_{ins}
Finslea=Fins。通过优化
F
i
n
s
l
e
a
F_{ins}^{lea}
Finslea的值,获得与目标语义信息对齐得更好的实例特征。可学习实例特征的想法与视觉提示学习相对应,视觉提示学习旨在调整输入以更好地适应下游任务。而在本文中,提出了通过设置关键实例特征为可学习参数来调整它们的方法。更重要的是,该模块作为使特征具有更好的辨识度的方法,能够更好地处理低ICV的目标数据。
实例重赋权模块
M
I
R
M_{IR}
MIR。
M
I
R
M_{IR}
MIR使得高质量目标实例,例如IB轻度级别的目标,对类别原型的贡献(影响)更大。
M
I
R
M_{IR}
MIR的结构如图3(b)所示。
M
L
I
F
M_{LIF}
MLIF输出可学习实例特征
F
i
n
s
l
e
a
F_{ins}^{lea}
Finslea,首先拿到
F
i
n
s
l
e
a
F_{ins}^{lea}
Finslea中的目标实例特征,记为
F
i
n
s
0
∈
R
(
N
×
K
×
D
)
F_{ins}^0 \in \mathcal{R}^{(N \times K \times D)}
Fins0∈R(N×K×D)。
M
I
R
M_{IR}
MIR有2条使用残差方式连接的路径。更具体地,居于下方的路径输入
F
i
n
s
0
F_{ins}^0
Fins0,进入MLP模块并得到权重分数,该分数用于下一步与
F
i
n
s
0
F_{ins}^0
Fins0的初始值加权求和,得到半成品的原型
F
p
r
o
a
t
t
∈
R
N
×
D
F_{pro}^{att} \in \mathcal{R}^{N \times D}
Fproatt∈RN×D。居于上方的路径对
F
i
n
s
0
F_{ins}^0
Fins0取平均得到
F
p
r
o
a
v
g
∈
R
N
×
D
F_{pro}^{avg} \in \mathcal{R}^{N \times D}
Fproavg∈RN×D。最后,目标原型
F
p
r
o
o
b
′
F_{pro}^{ob^\prime}
Fproob′计算方式为:
α
f
c
(
F
p
r
o
a
t
t
)
+
(
1
−
α
)
F
p
r
o
a
v
g
\alpha fc(F_{pro}^{att}) + (1 - \alpha) F_{pro}^{avg}
αfc(Fproatt)+(1−α)Fproavg,其中
f
c
(
⋅
)
fc(\cdot)
fc(⋅)是一层全连接层,
α
\alpha
α是超参数。最终利用目标原型
F
p
r
o
o
b
′
F_{pro}^{ob^\prime}
Fproob′和背景特征,形成新的原型
F
p
r
o
′
F_{pro}^\prime
Fpro′。
域提示器(Domain Prompter)
M
D
P
M_{DP}
MDP。为使目标原型特征
F
p
r
o
o
b
′
F_{pro}^{ob^\prime}
Fproob′在不同域上具有鲁棒性,需要达到两个目标:(1)合成几个多样性的“域”;(2)使用这些“域”作用于特征时避免语义漂移。为实现这些目标,
M
D
P
M_{DP}
MDP先引进几个可学习向量
F
d
o
m
a
i
n
∈
R
N
d
o
m
×
D
F_{domain} \in \mathcal{R}^{N_{dom} \times D}
Fdomain∈RNdom×D作为视觉域,然后提出若干损失函数用作监督。该“提示器(prompter)”的设想与提示调优(prompt tuning)相关但又有所不同。值得注意的是,这两种方法都使用可训练参数作为提示器,但是一般的提示调优方法通过高效的调整促进预训练模型的转换,而本文引入提示器是用作扰动。
M
D
P
M_{DP}
MDP的图示如图3(b)所示。
N
d
o
m
N_{dom}
Ndom是超参数。具体来说,给定
F
d
o
m
a
i
n
F_{domain}
Fdomain和
F
p
r
o
o
b
′
F_{pro}^{ob^\prime}
Fproob′,首先提出域域差异性损失
L
d
o
m
a
i
n
\mathcal{L}_{domain}
Ldomain,确保不同域,如
f
d
i
f^{d_i}
fdi和
f
d
j
f^{d_j}
fdj,之间是完全不同的。其次,对于
F
p
r
o
o
b
′
F_{pro}^{ob^\prime}
Fproob′中的一个原型
f
p
i
f_{p_i}
fpi,从
F
d
o
m
a
i
n
F_{domain}
Fdomain采样出两个不同的域
f
d
k
f^{d_k}
fdk和
f
d
m
f^{d_m}
fdm,用来随机扰动
f
p
i
f_{p_i}
fpi形成两个扰动原型
f
p
i
d
k
f_{p_i}^{d_k}
fpidk和
f
p
i
d
m
f_{p_i}^{d_m}
fpidm。扰动操作通过叠加特征,如
f
p
i
d
k
=
f
p
i
+
f
d
k
f_{p_i}^{d_k} = f_{p_i} + f^{d_k}
fpidk=fpi+fdk,完成。域
f
d
m
f^{d_m}
fdm同样地与其他目标原型叠加形成
f
p
j
d
m
f_{p_j}^{d_m}
fpjdm,其中
j
=
1
,
…
,
N
j = 1, \dots, N
j=1,…,N。同时约束
f
p
i
d
k
f_{p_i}^{d_k}
fpidk和
f
p
i
d
m
f_{p_i}^{d_m}
fpidm接近,但是不同类别原型得到的扰动原型之间是不同的。这就引申出原型一致性损失
L
p
r
o
t
o
\mathcal{L}_{proto}
Lproto。
L
d
o
m
a
i
n
\mathcal{L}_{domain}
Ldomain和
L
p
r
o
t
o
\mathcal{L}_{proto}
Lproto均由InfoNCE loss实现,公式如下:
L
d
o
m
a
i
n
=
−
1
N
d
o
m
∑
i
=
1
N
d
o
m
(
log
exp
(
f
d
i
⋅
f
d
i
/
τ
)
∑
j
=
1
N
d
o
m
exp
(
f
d
i
⋅
f
d
j
/
τ
)
)
(
2
)
L
p
r
o
t
o
=
−
1
N
∑
i
=
1
N
(
log
exp
(
f
p
i
d
k
⋅
f
p
i
d
m
/
τ
)
∑
j
=
1
N
exp
(
f
p
i
d
k
⋅
f
p
j
d
m
/
τ
)
)
(
3
)
\mathcal{L}_{domain} = - \frac{1}{N_{dom}} \sum_{i=1}^{N_{dom}} \left(\log \frac{\exp (f^{d_i} \cdot f^{d_i} / \tau)}{\sum_{j=1}^{N_{dom}} \exp(f^{d_i} \cdot f^{d_j} / \tau)}\right)\quad\quad\quad(2)\\ \mathcal{L}_{proto} = - \frac{1}{N} \sum_{i=1}^N \left(\log \frac{\exp(f_{p_i}^{d_k} \cdot f_{p_i}^{d_m} / \tau)}{\sum_{j=1}^N \exp(f_{p_i}^{d_k} \cdot f_{p_j}^{d_m} / \tau)} \right)\quad\quad\quad\quad\quad(3)
Ldomain=−Ndom1i=1∑Ndom(log∑j=1Ndomexp(fdi⋅fdj/τ)exp(fdi⋅fdi/τ))(2)Lproto=−N1i=1∑N(log∑j=1Nexp(fpidk⋅fpjdm/τ)exp(fpidk⋅fpidm/τ))(3)其中
τ
\tau
τ是温度超参数(temperature hyperparameter)。此外,扰动特征也做了分类,如
f
p
i
d
k
f_{p_i}^{d_k}
fpidk和对应的类标签之间引申出新的交叉熵损失函数
L
p
r
o
t
o
c
l
s
\mathcal{L}_{proto_{cls}}
Lprotocls。基于
L
d
o
m
a
i
n
\mathcal{L}_{domain}
Ldomain、
L
p
r
o
t
o
\mathcal{L}_{proto}
Lproto和
L
p
r
o
t
o
c
l
s
\mathcal{L}_{proto_{cls}}
Lprotocls,有:
L
d
p
=
L
d
o
m
a
i
n
+
L
p
r
o
t
o
+
L
p
r
o
t
o
c
l
s
(
4
)
\mathcal{L}_{dp} = \mathcal{L}_{domain} + \mathcal{L}_{proto} + \mathcal{L}_{proto_{cls}}\quad\quad\quad\quad\quad(4)
Ldp=Ldomain+Lproto+Lprotocls(4)
5 Experiments
5.1 Evaluated Methods
5.2 Main Results on CD-FSOD
5.3 Analysis on the Proposed Modules
6 Conclusion
7 Implementation Details(此节开始为追加内容)
我们实施了5.1小节中提到的CD-FSOD的6种方法,包括改自ViTDeT的“ViTDeT-FT”、Detic、改自Detic的“Detic-FT”、DE-ViT、改自“DE-ViT”的“DE-ViT-FT”以及本文的“CD-ViTO”。正如3.1小节中所说,按着“预训练、微调、测试”的流水线进行实验。其中,在COCO上预训练的模型直接作为预训练阶段的结果。微调和测试的相关细节如下。
ViTDeT-FT: 将目标支持集作为训练集微调整个ViTDeT模型。更具体地,优化器为AdamW,训练epoch为100。至于学习率,初始设置为1.0,随着微调进行,学习率先衰减为0.1,最终为0.01。微调后的模型直接用于推理。
Detic: Detic是基于目标检测方法的开放词汇( open-vocabulary )模型,无需微调即可检测新类目标,因此跳过微调阶段直接进行测试阶段。
Detic-FT: Detic-FT和普通的Detic一样,只是使用了目标支持集进行微调。使用学习率为0.02的SGD优化器优化网络。
De-ViT: 虽然未使用类别信息,但DE-ViT为任意目标构建了强大的开放集检测器,在开放词汇任务和小样本任务上都达到了SOTA(State of the Art,先进的)水平。所以使用在COCO上训练好的DE-ViT在CD-FSOD基准上直接进行推理。注意,超参数Top-K(
K
K
K)对DE-ViT的结果影响很大。经过实验,发现在不进行微调、直接推理的情况下,
K
K
K设置为1时在CD-FSOD基准上的结果更好。因此,设置
K
K
K为1,其他设置和普通DE-ViT的配置保持一致。
De-ViT-FT: 通过微调DE-ViT的
M
D
E
T
M_{DET}
MDET和
M
C
L
S
M_{CLS}
MCLS构建DE-ViT-FT(如表5研究所示)。其他实施细节,如优化器、学习率等,均与CD-ViTO的一致。
CD-ViTO: 基于DE-ViT,我们研发出4小节所述的CD-ViTO模型。超参数
N
b
g
N_{bg}
Nbg、
M
I
R
M_{IR}
MIR模块的
α
\alpha
α系数、损失
L
p
r
o
t
o
\mathcal{L}_{proto}
Lproto的温度系数
τ
\tau
τ、损失
L
d
o
m
a
i
n
\mathcal{L}_{domain}
Ldomain的温度系数
τ
\tau
τ在所有目标数据集上分别设置为530、0.7、2、0.1。
N
d
o
m
N_{dom}
Ndom是虚拟域的数量,依赖于目标类的数量,实验中具体为:
N
d
o
m
=
2
×
N
N_{dom} = 2 \times N
Ndom=2×N。DE-ViT的超参数Top-K(
K
K
K)设置为5。类别数小于5的数据集,设置
K
=
N
K = N
K=N。先在1-shot数据上训练约80个epoch,然后在5/10-shot数据上训练约40个epoch。优化器是学习率为0.002的SGD优化器。实验在4块RTX3090 GPU上进行。
8 More Results
8.1 Results on Standard FSOD
8.2 Ablation Results on Each Module
8.3 More Visualization Results
8.4 More Discussion with Related Works
9 More Details of Proposed Benchmark
9.1 Target Datasets
目标数据集的信息已经总结好,如表11所示。目标数据集的简单说明同样给出,如下:
ArTaxOr:节肢动物数据集,包括昆虫类、蜘蛛类、甲壳类和马陆。
Clipart1k:有卡通风格,很适合CD-FSOD任务。 包含大的类别,如日常室内用品。
DIOR:为遥感目标检测而创建,包含大量的卫星标注好的目标,如飞机、船和高尔夫球场。
DeepFish:提供高分辨率的源于不同自然环境的深海鱼图像。
NEU-DET:提供工业表面缺陷数据,汇集了热轧钢带的6种表面缺陷(氧化铁皮压入、裂纹、点蚀面、斑点、杂志、划痕)实例。
UODD:水下收集,包含海胆、海参、扇贝等类别。
9.2 Domain Metrics
为度量域差异,提出了风格、ICV、IB指标。ICV和IB级别的评定方法如下:
ICV: 计算不同类之间的差异,从而衡量ICV。数学形式上,给出目标数据集
D
T
D_T
DT,类别为
c
1
,
c
2
,
…
,
c
N
{c_1, c_2, \dots, c_N}
c1,c2,…,cN,其中
c
c
c是类名,如“猫”,
N
N
N是类别数量,首先使用预训练的CLIP作为提取器提取每个
c
i
c_i
ci的文本特征
f
i
f_i
fi。
f
1
f_1
f1,
f
2
f_2
f2,
…
\dots
…,
f
N
f_N
fN堆叠起来构成文本特征矩阵
F
∈
R
N
×
D
\mathcal{F} \in \mathbb{R}^{N \times D}
F∈RN×D,其中
D
D
D是每个文本特征的维度。于是,有:
S
=
F
⋅
F
T
,
I
C
V
=
1
N
2
∗
D
∑
i
∑
j
S
i
j
(
5
)
S = \mathcal{F} \cdot \mathcal{F}^T,\quad ICV = \frac{1}{N^2 * D} \sum_{i} \sum_{j} S_{ij}\quad\quad\quad\quad\quad(5)
S=F⋅FT,ICV=N2∗D1i∑j∑Sij(5)由此得到分数矩阵
S
1
,
…
,
S
M
S_1, \dots, S_M
S1,…,SM和ICV值
I
C
V
1
,
…
,
I
C
V
M
ICV_1, \dots, ICV_M
ICV1,…,ICVM,其中
M
M
M是目标数据集的数量。为将这些ICV值分割成3个级别,需要计算小值
I
C
V
l
o
w
ICV_{low}
ICVlow和大值
I
C
V
h
i
g
h
ICV_{high}
ICVhigh。具体来说,对于
I
C
V
l
o
w
ICV_{low}
ICVlow,从每个分数矩阵中选择最小值并计算平均值;对于
I
C
V
h
i
g
h
ICV_{high}
ICVhigh,考虑相同类别之间的相似性。因此,对全部分数矩阵的对角线元素取平均,得到
I
C
V
h
i
g
h
ICV_{high}
ICVhigh。公式如下:
I
C
V
l
o
w
=
∑
k
m
i
n
(
S
k
(
i
,
j
)
)
M
∗
D
,
I
C
V
h
i
g
h
=
∑
k
a
v
g
(
d
i
a
g
(
S
k
)
)
M
∗
D
(
6
)
ICV_{low} = \frac{\sum_k min(S_{k(i, j)})}{M * D},\quad ICV_{high} = \frac{\sum_k avg(diag(S_k))}{M * D}\quad\quad\quad(6)
ICVlow=M∗D∑kmin(Sk(i,j)),ICVhigh=M∗D∑kavg(diag(Sk))(6)其中
d
i
a
g
(
)
diag()
diag()表示矩阵的对角线元素,
m
i
n
(
)
min()
min()表示最小化操作,
a
v
g
(
)
avg()
avg()表示求平均操作。按照该方法计算得
I
C
V
l
o
w
=
0.112
ICV_{low} = 0.112
ICVlow=0.112和
I
C
V
h
i
g
h
=
0.190
ICV_{high} = 0.190
ICVhigh=0.190,不同的ICV值可以划分入对应的区间了。实验中计算的ICV值总结在表12中。注意,DeepFish中只有一个类别,因此无需计算ICV值。
IB: 尽管IB值可以通过比较RGB直方图进行分析评估,我们仍选择用户调研的方式来更好的收集人类视觉系统是如何感知目标数据集的信息。于是设计了调差问卷,估计从背景中检测目标物体的困难程度,作为IB的级别。对于每个目标数据集,随机选择10张图像,共60张图像。然后让100位用户将IB值划分成3个级别:轻微(容易检测)、中度(有点难度)、重度(难以检测)。数据结果如图6所示。
IB反映的是区分前景(目标物体)和后景(背景)的困难程度,所以设置轻度的权重
w
s
l
i
w_{sli}
wsli、中度的权重
w
m
o
d
w_{mod}
wmod、重度的权重
w
s
i
g
w_{sig}
wsig分别为0、2、6。通过计算加权百分比,IB的计算如下:
I
B
=
w
s
l
i
∗
p
s
l
i
+
w
m
o
d
∗
p
m
o
d
+
w
s
i
g
∗
p
s
i
g
(
7
)
IB = w_{sli} * p_{sli} + w_{mod} * p_{mod} + w_{sig} * p_{sig}\quad\quad\quad\quad\quad(7)
IB=wsli∗psli+wmod∗pmod+wsig∗psig(7)计算IB分数后,将它们划分到3个区间:
[
0
,
2
]
[0, 2]
[0,2],
[
2
,
4
]
[2, 4]
[2,4],
[
4
,
6
]
[4, 6]
[4,6]。最终的IB值和级别如表13所示:
原文为“But different from directly averaging
F
i
n
s
o
b
F_{ins}^{ob}
Finsob to obtain class prototypes
F
p
r
o
o
b
F_{pro}^{ob}
Fproob for objects, we first utilize our
M
L
I
F
M_{LIF}
MLIF to make the precalculated
F
i
n
s
F_{ins}
Fins learnable and adapt them as
F
i
n
s
l
e
a
F_{ins}^{lea}
Finslea by performing the disentangled detection tasks i.e., the localization task supervised by
L
l
o
c
\mathcal{L}_{loc}
Lloc and the classification task supervised by
L
c
l
s
\mathcal{L}_{cls}
Lcls. ”,这句意思我不确定“by”后面的方式有没有作用到“and”前面的“make learnable”事件。 ↩︎
上一篇: CUDA11.8+cudnn9.2.1 win10安装教程
下一篇: 每个人都能使用的人工智能
本文标签
【论文笔记】Cross-Domain Few-Shot Object Detection via Enhanced Open-Set Object Detector
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。