Stronger, Fewer, & Superior: Harnessing Vision Foundation Models for Domain Generalized Semantic Segmentation
本人阅读该论文后的论文笔记
知识补充
DGSS
领域泛化语义分割(Domain Generalized Semantic Segmentation,DGSS)
领域泛化(Domain Generalization, DG): 研究的问题是从若干个具有不同数据分布的数据集(领域)中学习一个泛化能力强的模型,以便在未知(unseen)的测试集上取得较好的结果。(研究的问题是如何利用源领域数据训练一个模型,其目的是使得该模型能够泛化到其他不同数据分布的目标领域。)
Stronger, Fewer, & Superior: Harnessing Vision Foundation Models for Domain Generalized Semantic Segmentation
Zhixiang Wei、 Lin Chen、Yi Jin、iaoxiao Ma、ianle Liu、engyang Ling、Ben Wang、Huaian Chen1† Jinjin Zheng
中国科学技术大学、上海AI实验室
Paper: https://arxiv.org/abs/2312.04265
Code: https://github.com/w1oves/Rein
摘要
翻译: 在本文中,我们首先评估和利用领域广义语义分割(Domain Generalized Semantic Segmentation, DGSS)背景下的各种视觉基础模型(Vision Foundation Models, VFMs)。利用更强的预训练模型和更少的可训练参数来获得更好的泛化性,我们引入了一种鲁棒微调方法,即Rein,以参数有效地利用DGSS的VFMs。Rein建立在一组可训练的令牌之上,每个令牌都与不同的实例相关联,它精确地将特征映射从骨干网络的每一层细化并转发到下一层。这个过程在一张图像中为不同的类别产生不同的细化。使用更少的可训练参数,Rein有效地微调了DGSS任务的VFMs,令人惊讶地超过了全参数微调。在各种环境下进行的大量实验表明,Rein明显优于最先进的方法。值得注意的是,在冷冻主干中仅额外增加1%的可训练参数,Rein在不访问任何真实城市场景数据集的情况下,在cityscape上实现了68.1%的mIoU。
- 评估和利用领域泛化的语义分割(DGSS)背景下的各种视觉基础模型(VFMs)。
- 引入一种鲁棒微调方法——Rein,以更少的可训练参数有效地利用DGSS的VFMs。
- Rein建立在一组可训练的token上,每个token都与不同的实例相关联,能精确地将特征映射从骨干网络的每一层细化并转发到下一层。这个过程在一张图像中为不同的类别产生不同的细化。使Rein使用更好的可训练参数,有效地微调了DGSS任务的VFMs, 并超过了全参数微调。
- 实验表明,Rein明显优于最先进的方法。在冷冻主干中仅额外增加1%的可训练参数,Rein在不访问任何真实城市场景数据集的情况下,在cityscape上实现了68.1%的mIoU。
引言
- 之前的工作在领域泛化语义分割中的工作侧重于在多个不可见领域的情况下提高预测精度,而不访问他们的数据,从而使实际应用高泛化。
- 由于模型使用数据集进行微调,这些数据集的规模有限,或者图像风格与目标与不同,复杂数据增强方法和域不变特征提取策略在以前的DGSS中得到了广泛的探索。这些网络在应用于经典骨干时,会产生了增强泛化。
- 大规模的视觉基础模型在各种计算机视觉挑战中显著提高了性能。
- 鉴于这些VFMs在各种不可见的场景中的显著概括,将回答下面两个问题:VFMs在DGSS环境中表现如何?VFMs如何应用到DGSS中?
- Stronger:
- 评估和比较各种VFMs与现有DGSS方法的性能
- 使用各种VFMs的图像编码器作为所有情况下的特征提取backbone,这些backbone与广泛使用的解码头相结合,即mask2Former,以生成语义预测。
- 以前的DGSS方法与冻结的VFMs相比,效果更差。这一发现证明了VFMs在DGSS中的强大潜力由于传统的backbone,从而建立了VFMs作为该领域的一个有意义的基准
- Fewer:
- 尽管VFMs显示出了令人印象深刻的泛化能力,但针对DGSS任务对它们进行微调是一个挑战。
- 与ImageNet相比,DGSS任务中常用的数据集的规模要小得多,在这些数据集上使用大量的可训练参数进行微调,导致有限的通用性。为了解决该问题,使用更少的可训练参数来微调VFMs。
- 然而,大多数现有的参数高效微调策略,即微调可训练参数较少的大规模模型,主要为适应大型语言模型或分类网络而设计的。这些方法在细化单个图像中不同实例的特征时往往缺乏精度,因此限制了他们在DGSS上下文中的有效性。
- Superior:
- 引入了一种鲁棒和高效的微调方法,即Rein。
- Rein为DGSS任务量身定制,使用更少的可训练参数来利用更强的VFMs来实现更好地泛化。
- 在其核心上,Rein包括一组随机初始化的token,每个令牌直接链接到不同的实例
- 这些token通过与具有VFMs特征进行点乘操作,生成一个类似注意力的相似图。该映射使Rein能够针对图像中的每个实例执行定制的精确细化,显著提高了DGSS上下文中的VFMs。
- 为了减少可训练参数的数量,在不同层的MLP之间使用共享权重,并通过将两个低秩矩阵相乘来设计可学习的token
- 在各种DGSS设置上进行的大量实验表明,Rein在较少的可训练参数下大大优于现有DGSS方法。
- Stronger:
- 文章贡献
- 首次在DGSS的背景下评估了各种视觉基础模型(VFMs)。在DGSS框架中进行的广泛实验突出了VFMs令人深刻的泛化能力。研究结果证实了VFMs作为更强的backbone, 从而在这一领域建立了一个重要的基准。
- 提出了一种鲁棒的微调方法,即Rein,有效利用VFMs的参数。在其核心上,Rein由一组可学习的token组成,每个token都直接链接到不同的实例。这种链接使Rein能够在每个backbone层的实例高度上细化特征映射。因此,Rein增强了VFMs再DGSS任务中的能力,在保留预训练知识的同时,以更少的可训练参数来实现这一点。
- 在不同的DGSS设置下进行的综合实验表明,Rein使用了更少的可训练参数来有效地利用更强的VFMs来实现优越的通用性。这种性能大大超过了现有的DGSS方法。Rein的设计是为了与现有普通visual transformer顺利集成,提高其泛化能力,使训练更有效。
相关工作
Domain Generalized Semantic Segmentation(DGSS)
- DGSS侧重于增强模型的通用性。该领域通常涉及到在一组源域数据上的训练模型,以提高他们在不同的并且看不见的目标域数据集上的性能
- 在DGSS中提出了各种方法来解决这个问题,具有代表性的方法包括将学习的特征分割成领域不变和领域特定组件或训练更鲁棒的模型。
- DGSS的一个标准场景是从一个城市场景数据集推广到另一个,例如从合成的GTAV数据集到现实世界的城市景观(Cityscapes)。
- 某些技术通过学习特征归一化/增白方案取得了显著的性能;而其他技术则通过特征级的风格转移和引入额外的数据进一步改进了分割结果。
- 强数据增强通常简单而有效地增强了模型的鲁棒性。然而,以前的大多数DGSS方法通常使用过时的backbone, 如ResNet、VGGNet、MobileNetV2和ShuffleNetV2, 因此使得更强的视觉基础模型(VFMs)在DGSS中的有效性相对未被探索。
Vision Foundation Models(VFMs)
- 基础模型概念: 以自监督或半监督的方式训练的基础模型,可以适应其他几个下游任务
- 虽然像Vit和Swin Transformer这样的模型已经表现了出色的性能,但对与NLP模型类似的视觉基础模型(VFM)的探索扔就在进行中。
- 随着CLIP等模型的出现,这一追求得到了重大进展,该模型通过探索大规模的图像文本对的对比性来学习高质量的视觉表示;
- 这些VFMs在各种下游应用程序中显示出了显著的性能,展示了它们令人深刻的泛化能力。然而,对它们在DGSS任务的特定背景下的表现的专门研究至今未被探索。
Parameter-Efficient Fine-tuning(PEFT)
- 在NLP领域,参数高效微调通过冻结基础模型的大部分参数和微调少数参数,取得了显著成功
- 引入了各种策略
- BitFit, 只调整模型的偏差项,或者知识这些术语的一个子集
- Prompt-tuning, 它学习软提示条件冻结语言模型以执行特定的下游任务
- Adapter-tuning, 它在每个Transformer层中包含额外的轻量级模块
- LoRA它将可训练的秩分解矩阵注入每一层的Transformer体系结构,产生显著的效果。
- PEFT方法在计算机视觉中也得到了关注
- Visual Prompt Tuning, 它将提示提前到Transformer层的输入序列中进行微调
- AdaptFormer, 它用由两个子分支组成的AdaptMLP替换Transformer中的MLP模块
- 然而,这些方法主要是针对分类任务进行调整的,其中每个只包含一个要识别的目标。本文是为分割任务量身定制的,在图像中的每个实例的对象级别上细化特征映射,从而获得优越的性能。
Methods
Preliminary(准备工作)
动机: 利用更强的预训练模型和更少的可训练参数来获得优越的泛化性。
本文选择使用一个简化的参数集来微调VFM。一个简单的方法可能涉及一个更小的解码头;然而,这种方法只是作为来自backbone的特征映射的被动接收器。缺乏有效地调整冻结的backbone以生成特定任务或特定场景的特征的灵活性。相反,本文建议在backbone中的层之间嵌入一种名为Rein的机制。Rein积极地细化并将特征映射从每一层转发到后一层。这种方法允许我们更有效地利用VFM的强大功能。
给定一个参数为
Φ
M
\Phi_M
ΦM的预训练CFM, 包括一些列层
L
1
,
L
2
,
.
.
.
,
L
N
L_1, L_2, ..., L_N
L1,L2,...,LN, 一个参数为
θ
h
\theta_h
θh的解码头
H
\mathcal{H}
H以及参数为
θ
r
\theta_r
θr, 优化目标可以写成:
arg
min
θ
R
,
θ
h
∑
i
=
1
N
d
L
o
s
s
(
H
θ
h
(
F
Φ
M
,
θ
R
(
x
i
)
)
,
y
i
)
,
\arg\min_{\theta_R,\theta_h}\sum^{N_d}_{i=1}Loss(\mathcal{H}_{\theta_h}(\mathcal{F}_{\Phi_M,\theta_R}(x_i)), y_i),
argθR,θhmini=1∑NdLoss(Hθh(FΦM,θR(xi)),yi),
其中,
x
i
x_i
xi和
y
i
y_i
yi分别表示输入图像及其对应的地面真实值(corresponding ground truth),
N
d
N_d
Nd表示输入的数据集的总数,
F
Φ
M
,
θ
r
\mathcal{F}_{\Phi_M, \theta_r}
FΦM,θr表示应用Rein策略后VFM的正向过程。
Core of Rein(Rein的核心)
为了在不同的VFM之间简单实现,本文选择不在[5, 21]中描述的特定位置修改MLP权重。相反,本文的方法侧重于细化VFM中每一层的输出特征映射,如图所示。准确地说,对于第i层
L
i
L_i
Li产生的特征
f
i
f_i
fi, Rein为下一层生成增强的特征图如下:
f
1
=
L
1
(
E
m
b
e
d
(
x
)
)
,
f
1
∈
R
n
×
c
f
i
+
1
=
L
i
+
1
(
f
i
+
Δ
f
i
)
,
i
=
1
,
2
,
…
,
N
−
1
f
o
u
t
=
f
N
+
Δ
f
N
,
\begin{aligned} f_1 &=L_1(Embed(x)),&f_1\in \mathbb{R}^{n\times c}\\ f_{i+1} &= L_{i+1}(f_i+ \Delta f_i),&i=1,2,\dots,N-1\\ f_{out}&=f_N+\Delta f_N, \end{aligned}
f1fi+1fout=L1(Embed(x)),=Li+1(fi+Δfi),=fN+ΔfN,f1∈Rn×ci=1,2,…,N−1
其中,
f
i
′
=
f
i
+
Δ
f
i
f'_i=f_i+\Delta f_i
fi′=fi+Δfi表示细化的特征图,
x
x
x为输入图像,
E
m
b
e
d
Embed
Embed表示VFMs中的patch嵌入层,
n
n
n表示patch的数量,
c
c
c为
f
1
,
f
2
,
…
,
f
N
f_1, f_2, \dots,f_N
f1,f2,…,fN的维数。注意,层
L
1
,
L
2
,
…
,
L
N
L_1, L_2,\dots, L_N
L1,L2,…,LN依旧保持冻结。我们的重点是训练一个有效的模块Rein, 来生成
Δ
f
i
\Delta f_i
Δfi:
Δ
f
i
=
R
e
i
n
(
f
i
)
Δ
f
i
=
∈
R
n
×
c
,
i
=
1
,
2
,
…
,
N
\Delta f_i=Rein(f_i)\quad \Delta f_i=\in \mathbb{R}^{n\times c}, i=1,2,\dots,N
Δfi=Rein(fi)Δfi=∈Rn×c,i=1,2,…,N
在DGSS的背景下,一个理想的 Δ f i \Delta f_i Δfi应该帮助VFMs来弥补两种类型的差距。
- 训练前的数据集和目标场景之间的场景差距,例如ImageNet和urban-scene images(城市场景图像)
- 预训练和微调之间的任务差距,如mask图像建模和语义分割任务之间的差异
为了搭建这两个桥梁,Rein从一组可学习的token T = { T i ∈ R m × c ∣ i ∈ N , 1 ≤ i ≤ N } T=\{T_i\in \mathbb{R}^{m\times c} | i\in \mathbb{N}, 1\leq i \leq N\} T={Ti∈Rm×c∣i∈N,1≤i≤N}, 其中每个token序列 T i T_i Ti被随机初始化, m m m表示 T i T_i Ti的序列长度。
Rein冻结了主干,并将从微调数据集学习到的知识嵌入到这些标记中,从而弥补了场景中相对于训练前数据集的差距。此外,考虑到语义分割在单个图像中识别多个实例的基本需要,Rein实现了一种注意力激发机制,是VFMs能够对不同实例的特征进行实例的调整,从而帮助vfm适应语义分割和训练前的任务之间的差异。具体地说,Rein使用了一个点积操作来生成一个相似度映射
S
i
S_i
Si, 它捕获了
f
i
f_i
fi中的特征向量和
T
T
T中的token之间的关联:
S
i
=
f
i
×
T
i
T
S
i
∈
R
n
×
m
S_i=f_i\times T^T_i\quad S_i\in \mathbb{R}^{n\times m}
Si=fi×TiTSi∈Rn×m
其中,
T
i
T_i
Ti表示第
i
i
i层token,
m
m
m表示
T
i
T_i
Ti中token的数量。当
S
S
S定量地评估各种标记和特征向量之间的关系时,Rein可以应用一个softmax函数来将每个patch与一个位移的实例对齐:
S
i
=
S
o
f
t
m
a
x
(
f
i
×
T
i
T
c
)
S_i=Softmax(\frac{f_i\times T^T_i}{\sqrt{c}})
Si=Softmax(cfi×TiT)
利用特征到标记的相似度映射
S
i
S_i
Si, 可以使用一下以下公式初步估算
Δ
f
i
\Delta f_i
Δfi:
Δ
f
i
ˉ
=
S
i
(
:
,
2
:
m
)
×
[
T
i
(
2
:
m
)
×
W
T
i
+
b
T
i
]
\Delta\bar{f_i}=S_i(:,2:m)\times[T_i(2:m)\times W_{T_i}+b_{T_i}]
Δfiˉ=Si(:,2:m)×[Ti(2:m)×WTi+bTi]
其中,
W
T
i
W_{T_i}
WTi和
b
T
i
b_{T_i}
bTi分别表示一个MLP的权重和偏差。该MLP允许在计算
S
i
S_i
Si和
Δ
f
i
ˉ
\Delta \bar{f_i}
Δfiˉ的过程中,
T
i
T_i
Ti在不同的特征空间上进行变换。Rein还可以预算计算
T
i
×
W
T
i
+
b
T
i
T_i\times W_{T_i}+b_{T_i}
Ti×WTi+bTi, 以减少推理时间。值得注意的是,
S
i
(
:
,
2
:
m
)
S_i(:, 2:m)
Si(:,2:m)选择
S
i
S_i
Si的第2到
m
m
m列,而
T
i
(
2
:
m
)
T_i(2:m)
Ti(2:m)表示
T
i
T_i
Ti的第2到
m
m
m行。这种选择在处理在
T
i
T_i
Ti可能没有相应token的具有挑战性的样例时特别有用。在这些情况下,
S
i
S_i
Si每一行的相似度总和仍为1,这可能导致错误的修改。为了解决这一点,Rein排除了
T
i
T_i
Ti的第一个标记和
S
i
S_i
Si的第一列,使
S
i
S_i
Si的每一行的和都在0和1之间,从而减少了不适当改变的风险。
为了增强调整特征的灵活性,Rein利用了一个由
W
f
i
W_{f_i}
Wfi和
b
f
i
b_{f_i}
bfi组成的MLP来产生最终的特征修改
Δ
f
i
\Delta f_i
Δfi
Δ
f
i
=
(
Δ
f
i
ˉ
+
f
i
)
×
W
f
i
+
b
f
i
\Delta f_i=(\Delta \bar{f_i} + f_i)\times W_{f_i}+b_{f_i}
Δfi=(Δfiˉ+fi)×Wfi+bfi
得益于这些实例级的
Δ
f
i
\Delta f_i
Δfi的调整,Rein能够在单个图像中为不同的类别生成不同的修改。
Details of Rein(Rein的细节)
Linking tokens to instances(将token链接到实例)
通过使用DETR风格解码头中的关键组件object queries作为媒介,进一步加强了链接。具体的说,通过线性变换从可学习的token
T
i
T_i
Ti中生成层架queries
Q
i
Q_i
Qi:
Q
i
=
T
i
×
W
Q
i
+
b
Q
i
,
Q
i
∈
R
m
×
c
′
Q_i=T_i\times W_{Q_i}+b_{Q_i}, \quad Q_i\in\mathbb{R}^{m\times c'}
Qi=Ti×WQi+bQi,Qi∈Rm×c′
其中,
W
Q
i
W_{Q_i}
WQi和
b
Q
i
b_{Q_i}
bQi分别表示权重和偏差,
c
′
c'
c′表示
Q
i
Q_i
Qi的维度。然而,由于VFMs中大量不同层产生的复杂性,将不同的
Q
i
Q_i
Qi转换为单一的query
Q
Q
Q, 给计算带来了挑战。为了解决这个问题,Rein计算了最大分量
Q
m
a
x
∈
R
m
×
c
′
Q_{max}\in\mathbb{R}^{m\times c'}
Qmax∈Rm×c′和平均分量
Q
a
v
g
∈
R
m
×
c
′
Q_{avg}\in\mathbb{R}^{m\times c'}
Qavg∈Rm×c′, 计算公式如下:
Q
m
a
x
(
j
,
k
)
=
max
i
=
1
,
2
,
…
,
N
Q
i
(
j
,
k
)
,
Q
a
v
g
(
j
,
k
)
=
1
N
∑
i
=
1
N
Q
i
(
j
,
k
)
\begin{aligned} Q_{max}(j,k)&=\max_{i=1,2,\dots,N}Q_i(j,k),\\ Q_{avg}(j, k)&=\frac1N\sum^{N}_{i=1}Q_i(j,k) \end{aligned}
Qmax(j,k)Qavg(j,k)=i=1,2,…,NmaxQi(j,k),=N1i=1∑NQi(j,k)
随后,
Q
Q
Q被推到出:
Q
=
C
o
n
c
a
t
(
[
Q
m
a
x
,
Q
a
v
g
,
Q
N
]
)
×
W
q
+
b
Q
Q=Concat([Q_{max}, Q_{avg}, Q_N])\times W_q+b_Q
Q=Concat([Qmax,Qavg,QN])×Wq+bQ
通过将
T
T
T映射到
Q
Q
Q上,
Q
Q
Q随后链接到实例,Rein通过参数的边缘增长实现了更强的性能。
Layer-shared MLP weights(层共享的MLP权重)
为了解决特定层MLP权重中参数的冗余问题,特别是
W
T
i
W_{T_i}
WTi、
W
f
i
W_{f_i}
Wfi和
W
Q
i
W_{Q_i}
WQi, 这共同提供了大量的可训练参数,我们采用了一种新的策略。由于可学习的
T
i
T_i
Ti能够为每一层产生不同的
Δ
f
i
\Delta f_i
Δfi, 我们设计MLP的角色主要是主干内的每一层的不同特征空间之间执行一致的线性转换。为此,采用了跨层共享的MLP权重,如公式所示:
[
W
T
1
,
b
T
1
]
=
[
W
T
2
,
b
T
2
]
=
…
=
[
W
T
N
,
b
T
N
]
[
W
f
1
,
b
f
1
]
=
[
W
f
2
,
b
f
2
]
=
…
=
[
W
f
N
,
b
f
N
]
[
W
Q
1
,
b
Q
1
]
=
[
W
Q
2
,
b
Q
2
]
=
…
=
[
W
Q
N
,
b
Q
N
]
\begin{aligned} [W_{T_1}, b_{T_1}]&=[W_{T_2}, b_{T_2}]&=\dots&=[W_{T_N}, b_{T_N}]\\ [W_{f_1}, b_{f_1}]&=[W_{f_2}, b_{f_2}]&=\dots&=[W_{f_N}, b_{f_N}]\\ [W_{Q_1}, b_{Q_1}]&=[W_{Q_2}, b_{Q_2}]&=\dots&=[W_{Q_N}, b_{Q_N}] \end{aligned}
[WT1,bT1][Wf1,bf1][WQ1,bQ1]=[WT2,bT2]=[Wf2,bf2]=[WQ2,bQ2]=…=…=…=[WTN,bTN]=[WfN,bfN]=[WQN,bQN]
Low-rank token sequence(低秩token序列)
考虑到不同可学习的token之间的信息重叠的可能性,例如代表汽车前灯和自行车前灯的token之间的高度相似性,Rein采用了生成低秩token序列
T
T
T的策略:
T
i
=
A
i
×
B
i
,
A
∈
R
m
×
r
,
B
∈
R
r
×
c
T_i=A_i\times B_i, \quad A\in\mathbb{R}^{m\times r}, B\in\mathbb{R}^{r\times c}
Ti=Ai×Bi,A∈Rm×r,B∈Rr×c
其中,
c
c
c表示
T
i
T_i
Ti的维数,
m
m
m为序列
T
i
T_i
Ti的长度,
r
r
r表示秩,
r
≪
c
r\ll c
r≪c。矩阵
A
A
A和矩阵
B
B
B被构造为低秩矩阵。为了减少推理时间,Rein可以预先计算和存储
T
T
T。通过实现这种低秩标记序列方法,Rein显著减少了参数的数量。
实验
Settings
Visual Foundation Models(视觉基础模型)
为了彻底评估视觉基础模型(VFMs)在DGSS背景下的影响,分析了五中不同的VFMs, 每个模型都有不同的训练策略和数据集。主要包括:
- CLIP
- MAE
- SAM
- EVA02
- DINOv2
为了平衡精度和效率,本文对这些VFMs采用了Vit-Large架构,除了SAM, 它使用了一个Vit-Huge图像编码器(如其原始论文所述)。本文对VFMs建立了两个基本的极限:
- Full: 对整个网络进行微调
- Freeze: 其中所有的backbone参数都是固定的,只在分割头部分进行训练。
Datasets
本文评估了VFMs和提出的方法在真实世界数据集(Cityscapes、BDD100K和Mapillary)和合成数据集(GTAV和Synthia)。
- Cityscaps(Citys): 自动驾驶数据集,包含2975张训练图像和500张验证图像,每个图像的分辨率是 2048 × 1024 2048\times 1024 2048×1024
- DBB100K(BDD)和Mapilary(Map): 分别包含1000张( 1280 × 720 1280\times 720 1280×720)和2000张( 1902 × 1080 1902\times1080 1902×1080)验证数据图像
Implementation details(实施细节)
本文利用MMSegmentation库来实现相关工作。为了获得优越的性能,使用mask2former作为分割头与各种作为backbone的VFMs集成。设计其他解码头的实验在补充材料中详细说明。在训练阶段,使用AdamW优化器,将backbone的学习率设置为1e-5,解码头的学习率设置为1e-4。为了实现高效地训练过程,使用了40000次的迭代配置,batch size设置为4,裁剪图像的分辨率为 512 × 512 512\times512 512×512。使用的方法只包括基本的数据增强,遵循Mask2Former。由于简化的训练配置和较少的可训练参数数量,Rein可以在单个RTX 3090Ti GPU上微调像DINOv2-Large和EVA02-Large这样的大模型来获得优越的泛化能力。
Comparison with State-of-The-Art Methods(与最先进方法的比较)
本文在三个泛化设置中总和评估了超过五个数据集:
- G T A V → C i t y s + B D D + M a p GTAV\to Citys+BDD+Map GTAV→Citys+BDD+Map
- G T A V + S y n t h i a → C i t y s + B D D + M a p GTAV+Synthia\to Citys+BDD+Map GTAV+Synthia→Citys+BDD+Map
- C i t y s → B D D + M a p Citys \to BDD+Map Citys→BDD+Map
Rein以最先进的方法为基准,该方法分为两组,包括DGSS方法和参数高效微调(PEFT)方法。
Investigation and comparison of various VFMs(各种VFMs的调查和比较)
G
T
A
V
→
C
i
t
y
s
+
B
D
D
+
M
a
p
GTAV\to Citys+BDD+Map
GTAV→Citys+BDD+Map的结果:
在此设置中,使用GTAV对模型进行了微调,并在Cityscapes、BDD100K和Mapillary上进行了评估。由于解码头的可训练参数数量较少(20.6M), 表中给出的可训练参数的计数仅集中在backbone和PEFT模块上。
表1表明冻结的VFMs明显优于以前没有专门设计的DGSS方法。表2表明具有完全参数微调的VFMs相对于冻结对应的VFMs表现出更高的性能。值得注意的是, Rein甚至实现了更优越的泛化能力,与原始backbone相比,仅超过了额外1%的可训练参数的全参数微调。
定性比较的可视化样本:
Comparing Rein with SOTA on identical backbones(比较Rein和SOTA在相同的backbone上)
在
G
T
A
V
→
C
i
t
y
s
+
B
D
D
+
M
a
p
GTAV\to Citys+BDD+Map
GTAV→Citys+BDD+Map设置下,将所提出的Rein与现有的DGSS和PEFT方法进行了全面的性能比较:
由于VFMs中固有的强大的特征提取能力,DGSS方法通常通过强数据增强或一致性约束(如AdvStyle, PASTA和GTR)来增强通用性,但并没有表现出显著的性能改进。另一方面,PEFT方法已经取得了显著的进步。采用相同的backbone(DINOv2和EVA02), 所提出的Rein取得了优越的性能,超过了以前的DGSS和PEFT
Multi-source generalization(多元泛化)
比较KaTeX parse error: Undefined control sequence: \toCitys at position 13: GTAV+Synthia\̲t̲o̲C̲i̲t̲y̲s̲+BDD+Map设置下的结果:
使用GTAV和Synthia数据集细化网络,并在Cityscapes、BDD100K和Mapillary上进行了测试。使用两个VFMs——EVA02和DINOv2的Rein性能。结果表明Rein在平均mIoU上显著超过了现有的DGSS方法(从45.9%到65.2%)
Cityscapes-to-other datasets generalization(Cityscapes到其他数据集的泛化)
从一个真实数据集到其他数据集的泛化对该领域的实际应用至关重要。为此,本文在
C
i
t
y
s
→
B
D
D
+
M
a
p
Citys\to BDD+Map
Citys→BDD+Map设置下进行了实验。在这种情况下,当Rein与DINOv2-Large结合时,在所有数据集上都显示了优越的性能。这强调了Rein在各个版本中推广到不同的现实世界场景的有效性。
Ablation Studies and Analysis(消融研究和分析)
本文在两种情况下进行了广泛的消融研究: G T A V → C i t y s GTAV\to Citys GTAV→Citys和 G T A V → C i t y s + B D D + M a p GTAV\to Citys+BDD+Map GTAV→Citys+BDD+Map。在所有的实验中,Rein都应用于两个VFMs, 即EVA02和DINOv2。
Analysis of the key components(关键部件的分析)
Rein中每个组件的有效性:
重点关注它们如何影响不同语义类别中的识别性能。在
G
T
A
V
→
C
i
t
y
s
GTAV\to Citys
GTAV→Citys的泛化设置中依次合并Rein的不同组件,并评估他们在应用于两个VFMs时对提高性能的影响。有趣的是,与"Full"相比,“Freeze"偶尔会对特定类别表现出更好的识别,例如"道路”、“人行道”。这表明,VFMs在微调过程中失去了一些训练前的知识,而"Freeze"有助于预防。同样的,本文的方法还提高了对19个类别中大多数的识别能力。例如,在识别"墙"、“摩托车”、“自行车"方面,本文的方法显著优于"Full"和"Freeze”。
总的来说,"Rein-core"提高了19个类别的平均性能。"Rein-link"进一步提高了对某些物体的准确性,特别是当DINOv2作为backbone时,采用层共享MLP权重的策略可以有效地将可训练参数的数量从59.33M减少到5.02M。最后,低秩标记序列的加入不仅进一步减少了可训练参数的数量,而且对模型的性能有了积极的影响。
Study on token length m m m(关于token长度 m m m的研究)
Rein的核心组件是一组可学习的token
T
∈
R
m
×
c
T\in \mathbb{R}^{m\times c}
T∈Rm×c。本文探索了token序列的不同长度
m
m
m,范围从25到200。
使用 m = 100 m=100 m=100和 m = 150 m=150 m=150的模型mIoU均为64.3%, 使用,=100的模型使用EVA02的最佳IoU为63.6%。最终,选择了m=100作为最合适的参数,这在后续的实验中得到了一致的应用。
Study on rank r r r(关于秩 r r r的研究)
秩
r
r
r对模型性能的影响
当以EVA02作为backbone时,在
r
=
16
r=16
r=16时性能达到峰值。同样,以DINOv2作为backbone时,在
r
=
16
r=16
r=16和
r
=
32
r=32
r=32处观察到最佳结果。因此,与LoRa不同,本文选择了相对较高的
r
=
16
r=16
r=16
Speed, memory, and storage.(速度、内存和存储)
训练速度、GPU内存使用情况和存储需求:
较低的训练速度和较少的GPU内存使用有利于新方法的开发和新任务的适应。与"Full"相比, Rein提高了训练速度,并减少了GPU内存的使用。此外,Rein仅略微增加了0.01GB的存储需求。Rein的一个显著优点是,在不同设置下训练的模型可以共享相同的backbone参数。这意味着,对于不同的任务和设置进行部署,只需要交换rein权重(0.01GB)和head权重(0.08GB), 而不是交换所有参数。
Conclusion(总结)
- 在DGSS的背景下评估和利用视觉基础模型(VFMs)。利用更强的预训练模型和更少的可训练参数来提高泛化性。
- 首先研究了在DGSS设置下的性能,随后引入了一种鲁棒的微调方法,即Rein,以参数有效地利用DGSS的VFMs。通过更少的额外可训练参数显著增强了VFMs的泛化能力,大大优于SOTA方法。
- Rein可以无缝集成为现有的VFMs的即插即用适配器,提高泛化,同时提高训练效率。
- 在不同环境下的广泛实验证明了VFMs在DGSS领域的巨大潜力,验证了Rein的参数有效利用在DGSS方面的效果。
未来工作
- 利用高质量的生成样本来接近真实数据集上经过监督训练的模型的性能
- 研究在各种恶劣天气条件喜爱或特殊道路类型的真实数据集上训练的语义分割模型的性能
- 需要进一步探究如何将Rein扩展到实例分割、全景分割、开放词汇表分割甚至目标检测等任务