极市导读
本文提出在一个共享的冻结卷积CLIP主干上构建掩码生成器和CLIP分类器,形成一个单阶段的框架FCCLIP,能够在在没有预定义词汇表的情况下进行语义分割。FCCLIP 在单阶段的框架下实现了与现有两阶段方法相媲美甚至更好的性能。>>加入极市CV技术交流群,走在计算机视觉的最前沿
论文地址:https://arxiv.org/abs/2308.02487
简介
开放词汇分割是一项具有挑战性的任务,需要从多样化的环境中对开放类别的对象进行分割和识别。解决这个挑战的一种方法是利用多模态模型,例如CLIP,以在共享的嵌入空间中提供图像和文本特征,从而有效地弥合了封闭词汇和开放词汇识别之间的差距。现有的方法通常采用two-stage的框架来解决这个问题,其中输入首先经过一个掩码生成器,然后与预测的掩码一起通过CLIP模型。作者注意到这个过程涉及多次从原始图像中提取特征,导致运算效率低下。
针对这个问题,作者提出了一个single-stage框架,将所有内容都构建在一个共享的骨干网络中,这不仅极大地简化了当前的两阶段流程,而且在准确性和成本之间取得了显著的平衡。 CLIP保持了开放词汇分类的能力,同时也可以作为一个强大的掩码生成器; CLIP在比对比图像-文本预训练时使用的输入分辨率更大的情况下具有良好的泛化能力。
FCCLIP在各种基准测试中取得了最先进的结果,同时运行速度也非常快。具体来说,在仅使用COCO全景数据进行训练并以零样本方式进行测试时,FCCLIP 在ADE20K上达到了26.8 PQ,16.8 AP和34.1 mIoU,在Mapillary Vistas上达到了18.2 PQ,27.9 mIoU,在Cityscapes上达到了44.0 PQ,26.8 AP和56.2 mIoU,分别在相同设置下的先前方法上提高了+4.2 PQ,+2.4 AP,+4.2 mIoU(ADE20K),+4.0 PQ(Mapillary Vistas)和+20.1 PQ(Cityscapes)。此外,FCCLIP 的训练和测试时间分别比相同的先前方法快了7.5倍和6.6倍,同时使用了5.9倍更少的模型参数。与此同时,FCCLIP 在各种开放词汇语义分割数据集上也达到了最佳水平。
Introduction
全景分割是一项复杂的计算机视觉任务,旨在预测一组非重叠的掩码,每个掩码都带有其对应的类别标签。
它结合了语义分割和实例分割的任务,使得问题变得具有挑战性。许多方法已经被提出来解决这个问题,并在全景质量(PQ)方面取得了重大进展。然而,由于注释这样细粒度数据集的成本很高,语义类别的数量通常限制在几十个或几百个。这种限制阻碍了现有方法在实际环境中的进一步应用,因为实际环境中可能存在无限数量的语义类别。为了克服封闭词汇分割的限制,人们提出了开放词汇分割。这些方法使用自然语言表示的类别名字的文本嵌入作为标签嵌入,而不是从训练数据集中学习它们。通过这样做,模型可以对更宽泛的词汇进行分类,从而提高处理更广泛类别的能力。为了确保提供有意义的嵌入,通常使用预训练的文本编码器。这个编码器可以有效地捕捉单词和短语的语义含义,这对于开放词汇分割非常关键。
多模态模型(例如CLIP和ALIGN)已经展现出在开放词汇分割方面的潜力,因为它们能够从大规模互联网数据中学习对齐的图像文本特征表示。
SimBaseline和OVSeg是两种最近的方法,它们使用two-stage来将CLIP用于开放词汇分割。在这些方法中,首先使用掩码生成器处理图像,以获得掩码建议,然后生成每个带有掩码的图像裁剪,并将其输入到冻结的CLIP模型进行分类。
MaskCLIP将这种方法扩展到开放词汇全景分割,但额外利用掩码建议作为CLIP主干中的注意力掩码,以有效地避免对掩码裁剪进行多次前向传递。
ODISE使用稳定的扩散UNet作为冻结的掩码生成器的主干,显著提升了最先进的性能。然而,尽管取得了这些进展,它们仍然依赖于two-stage的框架,其中掩码生成器和CLIP分类器分别从原始图像中提取特征,导致效率和有效性仍然不如人意。
因此,一个自然的问题是,是否可能将掩码生成器和CLIP分类器统一到一个单阶段的框架中进行开放词汇分割。它们之间共享特征提取器是一个简单直接的解决方案,但它带来了两个挑战:
首先,微调CLIP主干可能破坏图像和文本特征之间的对齐,导致在超出词汇范围的类别上性能大幅下降。
现有的方法依赖于另一个独立的主干用于掩码生成器,增加了模型的大小和计算成本。
其次,CLIP模型通常在相对较低分辨率的输入上进行预训练,而密集预测任务需要更高分辨率才能达到最佳性能。这使得将CLIP预训练的主干直接应用于下游的密集预测任务变得困难,特别是基于ViT的CLIP模型,需要仔细处理。因此,现有的方法在不同的输入尺度上执行掩码分割和CLIP分类,导致性能亚优。
为了缓解这两个挑战,作者提出在一个共享的冻结卷积CLIP主干上构建掩码生成器和CLIP分类器,形成一个单阶段的框架FCCLIP。冻结的CLIP主干确保预训练的图像文本特征对齐完好,可以进行超出词汇范围的类别分类。作者通过将高分辨率的图像缩小到CLIP主干预训练的分辨率来解决第二个挑战,以适应CLIP分类器的要求。然后,作者使用一个轻量级的解码器来生成密集的掩码预测,并将其与图像特征进行融合,以实现开放词汇分割。为了提高模型的性能,作者还提出一种自适应的特征融合策略,通过学习特定类别的注意力权重,来加强与类别相关的特征。具体来说,作者通过全局平均池化层和全连接层从图像特征中生成类别注意力权重,然后将其应用于特征融合过程。
作者在几个常见的开放词汇分割基准数据集上进行了广泛的实验评估。实验结果表明,FCCLIP 在单阶段的框架下实现了与现有两阶段方法相媲美甚至更好的性能。与此同时,FCCLIP 的参数量和计算成本大大减少,使其在实际应用中更具可行性。作者还进行了详细的消融实验,验证了每个组件对最终性能的贡献,并进行了可视化分析,展示了模型对于不同类别的开放词汇分割的能力。
总的来说,FCCLIP 是一个高效而强大的单阶段框架,用于开放词汇分割任务,将掩码生成器和CLIP分类器统一在一个共享的冻结卷积CLIP主干上。它提供了一种简单而有效的方法来实现高性能的开放词汇分割,并具有较低的计算成本和参数量。
Method
1. Problem Definition
首先是对问题的定义,开放词汇分割的目标是将图像 分割成一组带有语义标签的掩码:
其中, 个真实掩码 包含相应的真实类别标签 。在训练过程中,使用一组固定的类别标签 ,而在推断过程中,使用另一组类别 。在开放词汇设置中, 可能包含在训练过程中未见过的新类别,即 。
2. Two-Stage Open-Vocabulary Segmentation
现有的研究大都采用了一个Two-Stage的流程来进行开放词汇分割。第一阶段包含一个无类别限制的掩码生成器 ,带有参数 ,它根据输入图像 生成一组 个掩码提案 :
在第二阶段,CLIP适配器 将图像 和掩码提案 作为输入,其中后者用于指导冻结的CLIP模型 ( 表示冻结状态)。适配器通过前向过程进行掩码分类,可以使用带有掩码的裁剪区域或带有掩码的注意力:
其中 表示 个预测掩码的预测类别概率, 取决于训练阶段或测试阶段, 是类别数量。
尽管该框架在开放词汇分割方面取得了令人印象深刻的性能,但它存在两个限制。首先,图像特征被提取了两次,一次用于掩码生成,另一次用于掩码分类。双重特征提取会带来大量的计算开销,使得增加主干参数成本高昂。其次,掩码生成器通常需要高分辨率的输入(例如 ),而CLIP模型通常是用较低分辨率的图像(例如 )预训练的。因此,两阶段流程需要将高分辨率图像输入到掩码生成器中,并将低分辨率图像输入到CLIP分类器中,使得模型效率低下。
3. Naive Single-Stage Open-Vocabulary Segmentation
为了避免增加重复特征提取的模型大小和计算成本,可以将所有内容朴素地组合成一个单阶段框架 ,其中掩码生成器和掩码分类器共享相同的CLIP预训练骨干网络 (非冻结状态),用于从输入图像 中提取特征:
然而,作者经验性地发现,对这个朴素的单阶段框架进行微调会导致预训练的CLIP模型中图像和文本特征之间的不对齐,从而导致性能不佳,尤其是对于新的未见类别。这还会增加训练成本,增加了2.1倍至52.8个GPU天的训练时间。有趣的是,作者的实验证明,冻结的CLIP骨干网络可以为掩码生成提供足够的特征,同时保持图像和文本的对齐表示。然而,作者仍然面临另一个挑战,即CLIP模型通常在低分辨率图像(例如 )上进行预训练,而分割模型更喜欢较高分辨率的输入(例如COCO的 或Cityscapes的 )。当将冻结的CLIP应用于大尺寸输入图像时,这种差异会导致性能显著下降。深入研究后,作者发现这与CLIP中使用的流行ViT骨干网络不适应不同输入尺寸有关,这可以通过额外的精心设计来缓解另一方面,基于CNN的CLIP模型由于其完全卷积的特性,在适应不同输入尺寸方面具有更好的泛化能力。此外,基于CNN的CLIP骨干网络提取多尺度特征图,可以作为简单的插件模块应用于现代的封闭词汇分割模型。受到这些观察的启发,作者提出了 FCCLIP,一个简单而有效的单阶段开放词汇分割框架,完全基于一个\textit{单个冻结卷积}的CLIP骨干网络 :
4. FC-CLIP
前面既然介绍了“Naive”的Single-Stage,那这里自然要展示自己“Discerning”的Single-Stage模型。作者提出的 FCCLIP 利用了冻结的基于CNN的CLIP骨干网络的语义特征,用于掩码生成和CLIP分类。与先前的工作不同,这些工作通常训练单独的掩码生成器并忽视了CLIP的语义特征的重用潜力,作者将基于CNN的CLIP骨干网络整合到最先进的分割方法Mask2Former中。FCCLIP 是一个通用的元架构,可以建立在几种现代分割方法的基础上。作者的方法具有以下几个优点:通过冻结和共享骨干特征,我们的模型在训练和测试过程中显著提高了效率(即避免了特征重复)。基于CNN的CLIP骨干网络不仅能够很好地适应不同的输入分辨率(从其预训练的图像尺寸开始),而且能够生成多尺度的特征图,与现代分割方法无缝兼容。在高层次上,FCCLIP 由三个组件组成:无类别掩码生成器、词汇内分类器和词汇外分类器。我在下面详细介绍每个组件。
无类别掩码生成器:作者按照Mask2Former的方法,使用增强的像素解码器和多尺度可变形注意力来改善从冻结的基于CNN的CLIP骨干网络提取的特征。增强的像素特征与一组目标查询(object queries)\cite一起通过一系列掩码解码器传递,其中每个解码器由掩码交叉注意力(masked cross-attention)、自注意力(self-attention)和前馈网络组成。通过目标查询和像素特征之间的矩阵乘法得到分割logits。通过匈牙利匹配(Hungarian matching)以一对一的方式将预测的掩码与真实掩码进行匹配,并进行相应的监督。此外,由于目标查询的数量通常大于标记掩码的数量,只有预测的掩码的子集会通过此匹配过程进行优化。对于其余的未匹配的提议,作者不施加惩罚,以确保获得更多的掩码提议。
词汇内分类器:一旦预测出掩码提议,它们将以对比的方式与类别文本嵌入进行分类,其中每个掩码的类别嵌入和类别文本嵌入被投影到一个共享的嵌入空间中。也就是说,词汇内分类器通过以下方式定义了预测的类别概率:对于所有 ,
其中 是第 个掩码的嵌入向量, 是第 个类别的嵌入向量, 是类别的总数, 是余弦相似度函数, 是温度参数, 是softmax函数。
词汇外分类器:为了处理那些不在词汇表中的类别,我们引入了一个词汇外分类器。词汇外分类器使用基于CNN的CLIP骨干网络的图像特征和类别文本嵌入来预测掩码的类别。具体来说,我们将图像特征和类别文本嵌入进行拼接,并通过一个线性层进行投影。然后,通过对比图像特征和投影后的文本嵌入之间的余弦相似度进行分类。对于未在词汇表中的类别,词汇外分类器通过以下方式定义了预测的类别概率:对于所有 ,
其中 是类别文本嵌入的投影向量。
综上所述,FCCLIP 在无类别掩码生成器、词汇内分类器和词汇外分类器之间建立了一个多任务框架,以实现语义分割和类别分类。通过共享基于CNN的CLIP骨干网络的语义特征,FCCLIP 能够有效地利用语义信息进行分割和分类,提高了效率和性能。
讨论
在这项工作中,作者提出了FCCLIP,这是一个简单但有效的单阶段开放词汇分割框架。FC-CLIP通过在共享的冻结卷积CLIP骨干网络上构建整个框架,展现了巨大的潜力。这不仅显著减少了训练和测试成本,还在多个基准测试中建立了强大的基准。作者的研究展示了如何更好地适应预训练的CLIP模型用于下游的密集预测任务,并希望能够为释放CLIP在其他不同下游任务中的潜力提供启示。在不久的将来,还有一些有趣的研究课题需要探索,例如如何更好地发挥CLIP在掩码分割和分类中的潜力,如何处理冲突或重叠的词汇(例如,猫与猫头之间的区别),等等。
公众号后台回复“数据集”获取100+深度学习各方向资源整理
极市干货
# 极市平台签约作者#
米格
武汉大学计算机学院本科生
研究领域:少样本,零样本学习,以及开放世界中的视觉问题。
点击阅读原文进入CV社区
收获更多技术干货

