摘要
开放词汇语义分割旨在为每个像素分配语义标签,而无需依赖预定义的类别集。
对比语言图像预训练 (CLIP) 出色的零样本分类能力,但在像素级分割任务中却难以胜任,因为捕获的图像块间相关性并不对应于任何特定的视觉概念。
尽管之前的基于CLIP的工作通过自注意力机制改进了图像块间的相关性,但它们仍然面临着图像块往往与异常值具有高度相似性的固有局限性。
在这项工作中,我们介绍了CorrCLIP,这是一种用于开放词汇语义分割的免训练方法,它利用基础模型重建了显著连贯的图像块间相关性。
具体来说,它采用分割任何模型 (SAM) 来定义图像块交互的范围,确保图像块仅与语义相似的图像块交互。
此外,CorrCLIP 通过自监督模型获得图像语义布局的理解,以确定图像块之间的具体相似度值,从而解决了上述受限图像块交互机制造成的相似度不规则问题。
最后,CorrCLIP 重用 SAM 生成的区域掩码来更新分割图。
作为一种免训练方法,CorrCLIP 在八个具有挑战性的基准测试中取得了显著的改进,平均交并比 (mIoU) 从 44.4% 提升到 51.0%。
1
引言
开放词汇语义分割 (OVSS)
[4, 46, 59]
旨在将图像分割成多个片段,并根据文本描述为每个片段分配相应的类别。
此挑战要求模型展现强大的泛化能力,并有效地将视觉表示与文本描述对齐。
在大规模图像文本对数据集上训练的对比语言图像预训练 (CLIP)
[35]
模型已显示出卓越的零样本分类能力,为 OVSS 提供了一种可行的解决方案。
(a)
选定图像块的注意力图(红星符号)。
(b)
CLIP的分割性能。
图1
:
我们提出的设计在使用ViT-L的COCO数据集上取得了定性(a)和定量(b)的改进。
原始CLIP
表示保留查询-键,
基线
表示将查询-键转换为查询-查询,用于CLIP中ViT的最终层注意力图。
SR*
表示在我们预备实验中使用标签进行的范围重建,
SR
表示我们使用SAM进行的范围重建。
VR
表示我们的值重建。
然而,图像-文本对齐的目标迫使CLIP关注图像的整体视觉表示,阻止了建立对定位特定视觉概念所需的连贯的块间相关性。
为此,最近的研究修改了CLIP图像编码器中使用的视觉Transformer (ViT)
[13]
的最后一层注意力图的计算,将原始查询-键转换为查询-查询
[23]
、键-键、值-值
[27]
,或它们的组合
[3, 42]
。
尽管这些方法在一定程度上提高了CLIP中块间相关性,但它们仍然面临一个固有的局限性:
补丁经常与语义上不相关的补丁表现出高度相似性
,被称为异常值补丁
[11]
。
如
图
1(a)
(第二列)所示,CLIP中选择的补丁与某些语义上不相关的补丁显示出高度相似性,导致块间相关性混乱。
为了解决上述挑战,我们提出范围重建,以迫使补丁仅与语义相似的补丁交互。
为了验证该方法的有效性,我们使用图像标签进行了预备实验。
具体来说,我们将所有补丁之间的相似度设置为相等,但限制补丁仅与属于同一语义类别的补丁交互。
此调整导致分割性能显着提高,如
图
1(b)
所示。
因此,我们提供了我们的关键见解:
将补丁交互的范围限制在语义相似的区域可以有效改善补丁间的相关性并显着增强 CLIP 的分割能力
。
仅依靠 CLIP 来准确评估补丁之间的语义相似性是具有挑战性的。
为此,我们根据分段任意模型 (SAM)
[22]
令人印象深刻的零样本与类别无关的分割功能来定义语义相似的区域。
特别地,我们使用SAM将图像分割成多个区域,并将图像块之间的交互限制在这些区域内。
然而,它面临着两个挑战。
首先,分割区域往往支离破碎。
为了解决这个问题,我们应用聚类算法来合并区域。
其次,由于阈值设定,一些区域仍然未被分割。
我们将相似度大于阈值的未分割区域中的图像块定义为具有相似的语义。
如
图
1(b)
所示,结合上述两种策略,范围重建显著提高了CLIP的分割能力。
如
图
1(a)
(第三列)所示,范围重建后区域内图像块之间的相似性可能是不规则的,因为图像块与某些图像块具有高度相似性,但彼此之间相似性较低。
我们进一步提出值重建来解决上述相似性不规则问题,并构建更连贯的图像块间相关性。
特别地,我们使用自监督模型DINO
[6, 11, 40]
中包含的语义布局信息来确定相似度值。
受先前工作
[42, 38]
的启发,该工作将CLIP中的查询和键结合起来,我们采用DINO的查询和键的总和来获得更全面的相似度值。
图
1
展示了我们提出的范围重建和值重建对CLIP改进的效果。
此外,我们提出了两种简单而有效的方案来纠正CLIP分割过程中的缺陷。
我们重用区域掩码来纠正空间不一致性,并将类别名称与其复数形式结合起来以纠正概念模糊性。
通过结合这四个提出的方案,我们提出了一种无需训练的方法,称为CorrCLIP,它有效地重建了连贯的图像块间相关性,并大大增强了CLIP的分割能力。
广泛的实验已经证实了CorrCLIP的有效性,它在八个基准测试中的平均mIoU上超过了最先进的方法,幅度达到6.6%。
随着 CLIP 系列、SAM 系列和自监督模型的发展,CorrCLIP 将持续改进,只需替换模型即可。
我们的贡献总结如下:(1)我们发现,将图像块交互的范围限制在语义相似的区域可以有效地改善图像块间的相关性,并大幅增强 CLIP 的分割能力。
(2)我们提出了范围重建和值重建来重建 CLIP 中连贯的图像块间相关性。
(3)我们提出了分割图校正和类别名称校正,以确保空间一致性并增强概念理解。
(4)我们将 CorrCLIP 用于 OVSS。
广泛的实验表明,CorrCLIP 的性能优于最先进的方法。
2
相关工作
开放词汇语义分割。
OVSS 的目标是根据文本描述的类别分割图像。
OVSS 的最新进展很大程度上归功于大规模视觉语言模型 (VLMs) 的发展
[35, 8, 51]
。
OVSS 方法可分为两类:基于训练的和免训练的。
基于训练的方法依赖于掩码标注
[47, 9, 53, 52, 28, 29, 43]
、图像
[45, 39]
或文本
[7, 44, 48, 57, 31]
。
虽然基于训练的方法通常在特定数据集上更有效,但正如 CaR
[41]
中所述,它们可能降低 VLMs 固有的开放词汇能力。
相反,免训练的方法
[41, 38, 1, 24]
不需要任何训练,并充分利用 VLMs 提供的开放词汇能力。
为了使 CLIP 具有图像块-文本匹配能力,一些免训练的 OVSS 方法
[62, 42, 27, 23]
修改了 CLIP 的图像编码器中使用的 ViT 的最后一层的注意力图计算,但这并没有考虑其固有的局限性。
在本文中,我们使用 SAM 来克服这一局限性。
视觉语言预训练。
视觉语言预训练旨在使模型能够通过对图像文本对进行弱监督训练来学习跨模态信息。
此预训练过程允许模型理解图像和相应文本之间的关联。
早期研究
[26, 30, 25]
的性能受到数据集规模有限的限制。
最近的研究
[35, 20, 54]
利用大规模网络数据,从而开发出更鲁棒的表示。
其中,CLIP
[35]
作为最流行的视觉语言模型脱颖而出。
它采用对比学习将图像与相应的标题对齐,在未见数据上实现了令人印象深刻的泛化能力。
后续研究
[8, 51, 17, 55, 50, 32, 16]
通过优化训练数据和过程进一步增强了CLIP。
视觉基础模型。
视觉基础模型 (VFM) 在大规模数据集上进行预训练,以捕获视觉世界的一般特征表示。
VFMs 学习丰富的底层视觉模式,这些模式可以微调或直接应用于各种视觉任务。
一种类型的 VFMs 是自监督模型
[18, 6, 34, 64]
,其目标是仅从图像中学习通用视觉特征。
其中,DINO
[6]
算法已被证明可以生成捕获图像语义布局显式细节的模型
[11, 40]
。
另一种类型的 VFMs 是 SAM
[22]
系列,专为通用图像分割而设计。
SAM 已经展示了令人印象深刻的零样本、与类别无关的分割能力。
近期的进展集中在提高生成的掩码质量
[21, 19]
和提高效率,以支持在现实世界和移动场景中的更广泛应用
[49, 56, 60, 63, 58, 36]
。
通过利用SAM卓越的分割能力,我们可以精确定义CLIP中图像块交互的范围。
3
方法
在本节中,我们首先介绍在
Sec.
3.1
中将CLIP适配到OVSS的整体过程。
然后,我们在
Sec.
3.2
中重建图像块交互的范围,并在
Sec.
3.3
中重建相似性值。
最后,我们在
Sec.
3.4
中重用区域掩码以确保空间一致性,并使用类名的复数形式来增强概念理解。
整体框架如图
Fig.
2
所示。
图2
:
我们方法的整体框架。
一张图像通过CLIP图像编码器获得最后一层的数值
V
C
,并通过DINO获得最后一层查询和键的组合
Q
D
+
K
D
。
SAM分割此图像以获得区域掩码,这些掩码根据使用区域平均池化生成的区域特征的聚类算法进行合并。
然后,使用
Q
D
+
K
D
计算注意力图,并使用合并的区域掩码来限制图像块交互的范围并获得重建的注意力图。
最终的注意力图应用于
V
C
以获得图像特征
F
i
m
g
,并通过其参数为类嵌入的分类器以获得分割图。
最后,重用区域掩码来校正分割图。
3.1
预备知识
图像首先被分割成图像块,然后使用线性层将其转换为符元嵌入。
这些符元被展平以形成表示为
X
C
∈
ℝ
N
×
d
的符元序列,其中
N
是序列长度,
d
是符元的维度。
这里,我们排除了原始 CLIP 中使用的类别符元,因为它在分割任务中未使用。
接下来,添加位置编码以提供位置信息。
然后将符元序列输入到 CLIP 的图像编码器的 ViT 中。
在最后一层之前的每一层中,符元序列依次通过多头注意力网络和前馈网络,并在每个子层之后应用残差连接。
在最后一层,符元序列
X
C
被映射到查询、键和值嵌入,分别表示为
Q
C
、
K
C
和
V
C
∈
ℝ
N
×
d
。
为简便起见,我们只显示单头注意力。
接下来,计算相似度矩阵
S
∈
ℝ
N
×
N
。
S
表示块间的相关性,其计算是提高 CLIP 定位能力的关键。
先前的研究
[42, 23, 27]
通过
F
S
的内积来计算
S
,其中
F
S
可以是
Q
C
、
K
C
、
V
C
或它们的组合。
他们没有考虑 CLIP 的固有局限性。
在以下小节中,我们将介绍如何消除此限制并重建连贯的块间相关性。
通过应用 softmax 运算从相似度矩阵中导出注意力图。
然后,将注意力图应用于
V
C
以捕获输入序列中不同符元之间的相关性。
为减少噪声对分割结果的不利影响(如先前工作
[23, 27]
所示),我们去除了残差连接和前馈神经网络。
随后,符元序列被投影到图像特征
F
i
m
g
∈
ℝ
N
×
d
:
将
K
个类别名称与标准 ImageNet 提示
[35]
组合以构建文本描述,这些描述通过 CLIP 的文本编码器传递以获得类别嵌入
F
t
e
x
t
∈
ℝ
K
×
d
。
图像特征
F
i
m
g
被投影以与类别嵌入对齐。
最后,类别嵌入被用作分类器的参数以获得分割图:
3.2
范围重建
如上所述,将CLIP应用于分割任务会遇到一个限制,即图像块往往与异常值图像块表现出高度相似性,这不利于建立连贯的图像块间相关性。
为了解决这个限制,我们重建了图像块交互的范围,确保图像块只与语义相似的图像块交互。
SAM基于其卓越的零样本分割能力提供了一种可行的实现方案。
SAM为整张图像生成区域掩码,然后对这些掩码进行阈值处理,以丢弃置信度和稳定性较低的掩码。
因此,我们得到
Z
不重叠的区域掩码
M
=
{
m
1
,
m
2
,
…
,
m
Z
}
∈
ℝ
Z
×
N
,其中
m
i
∈
ℝ
N
代表第
i
个区域掩码。
我们将所有未分割的区域掩码表示为
m
0
。
此外,生成的区域代表单独的实例,并且具有相似语义的不同实例可以合并。
我们通过对
F
S
执行掩码平均池化来获取所有分割区域
F
r
e
g
i
o
n
=
{
f
1
,
f
2
,
…
,
f
Z
}
∈
ℝ
Z
×
d
的特征。
随后,我们使用聚类算法根据这些区域特征合并语义相似的区域:
其中
M
^
=
{
m
^
1
,
m
^
2
,
…
,
m
^
z
}
∈
ℝ
z
×
N
是合并后的区域掩码,
z
是合并后的区域掩码的数量。
⊙
表示逐元素乘积。
然后,我们使用这些合并后的区域掩码来计算语义矩阵
E
∈
ℝ
N
×
N
,其中
E
i
,
j
=
1
表示第
i
个图像块和第
j
个图像块具有相似的语义。
值得注意的是,属于
m
0
的图像块不能被认为是语义相似的。
然而,由于其潜在的较大面积,不能完全忽略它们。
为了解决这个问题,我们将相似度大于相似度矩阵平均值的块定义为语义相似:
注意
公式
6
使用了广播机制。
最后,我们通过忽略语义不相似块之间的注意力分数来限制块交互的范围:
3.3
值重建
限制块交互的范围会导致相似性不规则问题,因为块对某些块显示高相似性,而对其他块显示低相似性。
为了在区域内建立块之间更连贯的相关性,我们利用DINO识别语义布局信息的能力来计算相似度矩阵
S
。受先前工作
[27, 42, 38]
的启发,该工作将CLIP中的查询和键结合起来,我们同样在DINO中使用这种组合来获得更全面的相似度矩阵。
与CLIP类似,DINO最终层的符元序列分别映射到
Q
D
、
K
D
和
V
D
∈
ℝ
N
×
d
。
在实践中,由于块大小的不同,CLIP和DINO的符元序列长度可能不同,这可以通过插值来解决。
然后通过
Q
D
和
K
D
的组合计算相似度矩阵
S
:
其中
τ
<
1
是用于锐化注意力分数的温度系数,以便当块语义相似时,块具有更高的注意力分数。
注意,使用DINO的特征来计算注意力分数有一个不可避免的缺陷:需要将多头注意力替换为单头注意力。
原因是DINO中每个注意力头学习到的视觉概念与CLIP中学习到的视觉概念不同。
3.4
分割校正
在本小节中,我们提出了两种策略来纠正图像分割过程中CLIP的缺陷。
分割图校正。
空间一致性在分割任务中至关重要,它指的是保持空间上的连续性。
简单来说,这意味着确保相邻像素的预测在逻辑上是一致的,避免出现突变,例如在一个连贯的对象中没有其他对象的预测。
使用掩码标注的全监督方法可以学习这种特性,但由于CLIP的弱监督,它缺乏这种特性。
虽然我们的方法在某种程度上改善了这种情况,但它仍然不如全监督训练。
我们重用上面生成的区域掩码以确保空间一致性并校正分割图。
具体来说,我们将一个区域内所有块的类别更改为该区域内最常见的类别:
类名修正。
对于CLIP来说,“背景”类别过于宽泛,难以准确分类;因此,常见的做法
[24, 38, 42, 41]
是用更具体的类别替换“背景”,例如“天空”、“云”、“墙壁”等。
受此方法的启发,我们提出了一种简单而有效的策略来解决CLIP中概念模糊的问题。
例如,CLIP经常将“山丘”与“人”混淆,错误地将人的图像归类为山丘。
在这项研究中,我们将“人”类与它的复数形式“人们”结合起来,略微提高了分类精度。
这表明,将类名与其复数形式结合起来可以使CLIP更全面地理解类别概念。
更多细节见补充材料。
4
实验
Method
Size
VOC21
VOC20
PC60
PC59
Object
Stuff
ADE
City
Avg
Training-based
TCL
[7]
ViT-B/16
55.0
83.2
30.4
33.9
31.6
22.4
17.1
24.0
37.2
CLIP-DINOiser
[45]
62.1
80.9
32.4
35.9
34.8
24.6
20.0
31.7
40.3
CoDe
[44]
57.7
-
30.5
-
32.3
23.9
17.7
28.9
-
Training-free
MaskCLIP
[62]
ViT-B/16
38.8
74.9
23.6
26.4
20.6
16.4
9.8
12.6
27.9
ClearCLIP
[23]
51.8
80.9
32.6
35.9
33.0
23.9
16.7
30.0
38.1
SCLIP
[42]
59.1
80.4
30.4
34.2
30.5
22.4
16.1
32.2
38.2
ProxyCLIP
[24]
61.3
80.3
35.3
39.1
37.5
26.5
20.2
38.1
42.3
CLIPtrase
[38]
53.0
81.2
30.8
34.9
44.8
24.1
17.0
-
-
CorrCLIP (Ours)
72.5
88.7
42.0
46.2
43.7
30.6
25.3
48.3
49.7
Training-free
SCLIP
[42]
ViT-L/14
43.5
69.1
22.3
25.2
25.0
17.6
10.9
18.6
29.0
ProxyCLIP
[24]
60.6
83.2
34.5
37.7
39.2
25.6
22.6
40.1
43.0
FreeDA
[1]
55.4
87.9
38.3
43.5
37.4
28.8
23.2
36.7
43.9
CaR
[41]
67.6
91.4
30.5
39.5
36.6
-
17.7
-
-
CorrCLIP (Ours)
73.2
90.6
41.0
47.5
46.0
32.0
29.1
49.0
51.0
Training-free
SCLIP
[42]
ViT-H/14
43.8
67.5
23.5
25.6
24.6
16.8
11.3
19.5
29.1
ProxyCLIP
[24]
65.0
83.3
35.4
39.6
38.6
26.8
24.2
42.0
44.4
CorrCLIP (Ours)
74.1
91.6
40.3
45.5
43.6
30.6
27.0
47.7
50.0
表1
:
在三种不同大小的CLIP的八个基准测试中与最先进的OVSS方法进行比较。
粗体字体表示最佳方法,下划线字体表示次优方法。
“Avg”表示八个基准测试的平均mIoU。
4.1
数据集和评估指标
我们在五个数据集的验证集上评估我们的方法,遵循
[45, 24, 23, 42]
。
具体来说,
Pascal VOC
[15]
包含1449张图像,用于两个基准配置:包含21个类别(包括背景类别)的VOC21和包含20个类别(不包括背景类别)的VOC20。
Pascal Context
[33]
包含5104张图像,也用于与Pascal VOC类似的两个基准配置:包含60个类别的PC60和包含59个类别的PC59。
COCO Stuff
[5]
(Stuff) 包含5000张图像,分为171个类别,其中包含素材和物体类别,不包括背景类别。
COCO Object (Object) 是COCO Stuff的衍生数据集,它将所有素材类别合并到背景类别中,共有81个类别。
ADE20k
[61]
(ADE) 包含2000张图像和150个类别,不包括背景类别。
Cityscapes
[10]
(City) 包含500张图像和19个类别,不包括背景类别。
以上五个数据集共生成八个基准测试。
我们使用平均交并比 (mIoU) 作为指标,将我们的方法与之前的最先进方法进行比较。
4.2
实现细节
我们的模型基于CLIP具有三种不同的尺寸:ViT-B/16
[51]
、ViT-L/14
[51]
和 ViT-H/14
[8]
。
三个变体的其他所有配置都相同。
DINO 的主干是 ViT-B/8
[6]
。
我们使用预训练的基于MAE
[18]
的SAM2
[36]
Hiera-L
[37, 2]
。
我们以网格方式收集32
×
32个提示点来生成图像的区域掩码。
掩码阈值化有两个参数:“pred_iou_thresh”和“stability_score_thresh”。
我们将所有数据集的这两个参数都设置为0.7。
用于区域合并的聚类算法是DBSCAN
[14]
。
DBSCAN有两个参数:邻域半径(eps)和半径内的最小样本数(samples)。
我们将所有数据集的“eps”设置为0.2,“samples”设置为1。
温度系数设置为0.25。
更多关于实现的细节在补充材料中提供。
我们调整图像大小以满足不同数据集的不同规格:Pascal VOC、Pascal Context和COCO的较短边为336像素,Cityscapes和ADE20K为448像素。
我们使用336
×
336窗口和112
×
112步长进行滑动推理。
4.3
与最先进方法的比较
我们将CorrCLIP与八个基准测试中的最先进的免训练OVSS方法进行了比较。
具体来说,这些方法包括MaskCLIP
[62]
、SCLIP
[42]
、ClearCLIP
[23]
和CLIPtrase
[38]
,它们仅使用CLIP来改进块间的相关性。
此外,CaR
[41]
逐步过滤掉不相关的文本,并增强CLIP的掩码质量。
ProxyCLIP
[24]
使用各种VFM的特征作为一种代理注意力来增强CLIP。
FreeDA
[1]
利用扩散模型对生成的语义概念进行视觉定位,并利用局部-全局相似性将与语义类别无关的区域与语义类别匹配。
与这些方法的比较结果总结在
表
1
中。
CorrCLIP 的三个变体在八个基准测试中均表现出优越的性能,显著优于其他方法。
特别是,我们的 CorrCLIP 在三个变体的平均 mIoU 上分别提高了 7.4%、7.1% 和 5.6%。
我们还将我们的方法与几种最先进的基于训练的方法进行了比较,这些方法由图像或文本进行监督。
这些弱监督方法的性能比一些免训练的方法(例如 ProxyCLIP、FreeDA 和我们的 CorrCLIP)差。
我们将其归因于 CLIP 由特定数据集训练导致的开放词汇能力下降。
以上结果证明了我们的方法在重建块间相关性和增强 CLIP 分割能力方面的有效性。
在
图
3
中,我们提供了我们的方法和 ProxyCLIP 之间的定性比较,两者都使用带 ViT-H/14
[8]
的 CLIP。
我们的方法准确识别目标类别并保持空间一致性。
图 3
:
分割图的定性比较。
“GT” 表示真实值。
4.4
消融研究
我们进行了一系列消融研究,以调查我们方法中每个组件的影响。
除非另有说明,否则我们使用带 ViT-B/16
[35]
的 CLIP,并将 VOC21 简写为 VOC,将 PC60 简写为 PC。
集成不同组件的影响。
我们研究了
表
2
中概述的CorrCLIP的四个组件的影响。
这些组件包括范围重建 (SR)、值重建 (VR)、分割图校正 (MC) 和类别名称校正 (NC)。
我们使用将查询-键替换为查询-查询的方法作为基线。
限制补丁交互的范围显著提高了CLIP的分割性能,在VOC、PC、Object和ADE基准测试中分别提高了6.6%、3.8%、4.4%和2.4%的mIoU。
集成值重建后,我们观察到mIoU分别进一步提高了3.8%、1.7%、2.4%和0.9%。
并入分割图校正和类别名称校正也导致性能提升。
这些结果证明了每个组件的有效性。