赞
踩
目标任务:refering/zero-shot/one-shot segmentation
目标数据集: PhraseCut
本文基于CLIP强大的零样本的文本编码和图像编码能力, 设计了一个新的系统, 基于测试时任意的Prompt信息(任意的文本或者图像提示), 来生成图像分割, 整体的形式非常类似于Few-shot的Segmentation形式.
这种策略解决现有基于固定类别的分割学习范式的局限性, 即现有图像分割任务的使用固定的目标类别来训练模型, 对于之后扩展额外的类或者更加复杂的查询信息时, 不够灵活和方便, 需要重新训练模型来包含这些表达.
这样的设计可以方便地构建一个统一模型, 通过一次训练可以应对三类常见的分割任务, 即:
注意, 这里提到的类别未知指的是模型不知道可能存在的类别, 但可以通过人为提供目标类别的信息来指导模型的分割.
整个方法构建在CLIP之上, 使用CLIP(ViT-B/16)作为backbone, 扩展了一个小的基于Transformer的条件分割解码器来实现密集预测任务. 如图所示, 这里将CLIP的两个编码器参数冻结了, 只有绿色部分是可学习的.
模型使用CLIP的联合文本视觉嵌入空间来指导模型的学习, 确保了可以处理文本和图像形式的Prompt. 这里的想法是教解码器将CLIP内部的激活与输出的分割联系起来, 同时尽可能减少数据集偏置, 并保持CLIP的杰出和广泛的预测能力.
在通过PhraseCut数据集的扩展版本上的训练后, 整个模型可以获得一个二值分割图, 这会对应于输入端提供的query, 即任意文本或者提示图像的信息.
这里作者提到:这种混合输入的形式, 使得对于三类分割任务具有了动态适应的能力, 同时也使得模型可以适应那些可以通过特定的文本或者图像来表述的二值分割任务.
这里其实反映了很重要的一点, 文字描述本身具有一定的主观性和模糊性, 而用特定图像作为指导又必然会受限于图像的形式和目标的状态. 它们对于被用来指导模型进行确定性分割的需求而言, 并不能完全胜任.
整体流程可见图2中的解释. 所有CLIP的参数都是冻结的. 模型整体仅需训练一个紧凑的界面奥奇, 所以CLIPSeg在特征嵌入维度为64的时候, 整体可学习的参数只有1M多.
PhraseCut原本只有340000个有着对应图像分割的短语, 并不包含任何的visual support. 作者们扩展了这个数据集:
短语使用一组固定前缀随机增强(正如CLIP作者所建议的那样). 在图像上, 我们在考虑对象位置的情况下应用随机裁剪, 确保对象至少保持部分可见. 本文将此扩展数据集称为PhraseCut+(缩写为PC+).
与原始的 PhraseCut 数据集只使用文本来指定目标相反, PC+支持使用image-text interpolation的方式训练. 通过这种方式可以训练一个联合模型来处理文本和视觉输入.
这里倒是没有提到, 测试时同时输入文本和图像时, 如何插值处理?
基于Prompt的学习, 实际上本质目的在于将特定目标信息引入作为指导. 所以如何获取特定目标信息也是一个关键. 这里从特征层面和输入层面两个角度进行了讨论.
为了评估不同的masking策略, 这里在LVIS数据集上, 基于CLIP的对齐关系进行了一些评估.
使用CLIP来计算与图像中目标名称对应的文本嵌入ti. 然后将它们与原始图像视觉嵌入so, 以及使用修改后图像或注意力mask来突出目标物体后的视觉嵌入sh, 分别进行比较. 通过softmax归一化对齐向量(可以理解为成对相似度), 得到的分布如图3所示.
这里将不同masking策略的评估指标定义为 Δ P ( o b j e c t ) = s h t 0 − s o t 0 \Delta P(object) = s_h t_0 - s_o t_0 ΔP(object)=sht0−sot0, 这里将目标类别的文本嵌入定义为 t 0 t_0 t0. 所以这里表示了不同的图像嵌入与目标文本嵌入的相似性, 相对于原始图像对应的相似性的差异.
作者们首先讨论了传统基于卷积的方案中, 为了计算prototype vector常使用的Masked Pooling的技术, 这一技术作用于support图像特征上. 而本文中为了提取特定目标信息的prompt信息的过程与此概念颇为类似.
但由于整体结构基于Transformer, 语义信息不仅在特征图中分散存在, 在其内部参与了层次聚合过程的CLS token也有. 而绕过CLS token并直接从特征映射的mask pooling中派生条件向量也是不可能的, 因为它会破坏CLIP的文本嵌入和视觉嵌入之间的兼容性.
在Transformer中, 与masked pooling等效的直接方法是直接在tokens应用mask. 通常, visual transformer由一组固定的token组成, 这些令牌可以通过多头注意在每层进行交互. 其中有用于读出的CLS token和最初从图像patch中获得的与图像区域相关的token.
mask可以通过将一个(例如最后一层)或多个transformer层的限制为mask内的patch token仅和CLS令牌之间的交互. 表2左表中展示了实验结果. 可以看到这种masking策略效果一般, 相较于完全masking有小幅度提升.
替代在模型内部使用使用masking, 可以直接组合mask和image来获得一个新的图像, 从而可以被visual transformer处理. 相似于(analogous to)NLP中的prompt engineering, 这里将其称之为visual prompt engineering. 由于这种prompt设计, 在NLP中新颖且在上下文未知的情况下表现最佳, 这里通过设计了多种形式来评估不同的变体, 如表2中所示. 可以发现mask和image结合的形式非常重要. 这里确定了三种图像操作来改善文本prompt与图像之间的对齐: 降低背景亮度, 使用高斯滤波器模糊背景, 和对目标裁剪. 表二中可以看到, 三种操作的组合获得了最好的效果. 本文使用这种形式.
实验中, 由于涉及到单通道预测图像的二值化的问题, 所以作者对于阈值的设定进行了一些特殊化的设定: 在二值分割中, IoU需要指定一个阈值. 虽然大多数情况下会使用自然的选择0.5, 但如果对象匹配查询的概率在训练和推理之间不同, 则最优值可能会严重偏离0.5(查询匹配场景中一个或多个对象的先验概率高度依赖于内容和数据集). 因此, 本文报告了使用阈值对每个任务和模型进行优化的one-shot分割的性能.
这里的实验中设计了两种baseline变体:
对比中可以看到:
这里是直接评估, 训练是在排除了Pascal中的unseen类别的PhraseCat+上开展的. 这是通过将 Pascal 类分配给 WordNet 同义词集并通过遍历下位词(例如, 不同的狗品种表示狗)来生成一组无效词来实现的. 包含这样一个词的提示将从数据集中删除.
作者在这里提到, 试验所关注的数据集Pascal-VOC的设定是多标签的. 提出的模型由于本身是二值预测的形式, 所以对于这种多标签的需求, 直接为20个Pascal类别分别预测一个独立的二值图. 从所有的20个预测中, 为每个像素预测概率最大的类别.
或许可以理解为, 每个图像中包含的类别不止一个, 所以实际上这是一个多类别的任务. 对于本文的设定, 每个输入可能无法事先知道存在哪些类别, 所以直接一次性生成20个类别的预测.
实验结果中非常有趣的一点是提出的CLIPSeg在unseen类上的性能要比在seen上的好. 作者任务这可能是因为实际的seen类要比unseen更难一些. 例如, 对于unseen-4的设定, 四个类分别是airplane/cow/motorbike/sofa, 他们多为大且相对独特的目标.
这类任务中, 目标的识别需要借助于提示图像和对应的mask, 所以也就无法依赖于文本标签了.
这里使用前面提到的三种操作处理提示图像来突出目标.
这里使用相同的策略移除了和Pascal重叠的类别.
这里探究了对于三种不同文本prompt下的预测效果.
提示中的细节信息(蓝色框中)和颜色信息(橙色框中)对预测对象的判定影响很大.
为了定量评估generalized prompt的性能, 作者构建了 LVIS 测试数据集的子集, 其中仅包含与affordance或者attribute相对应的类的图像. 然后要求模型以这些作为prompt进行分割. 例如, 当使用"sit on"作为提示时, 计算与扶手椅、沙发和双人沙发目标之间的前景IoU. 类别映射的完整列表可见论文的附表.
实验发现 PC+ 上训练的 CLIPSeg 版本比 CLIP-Deconv 基线, 和在 LVIS 上训练的CLIPSeg表现更好(它只包含对象标签而不是复杂的短语).
这一结果表明, 数据集的多变性和模型的复杂性对于泛化都是必要的.
ViTSeg 表现更差, 这是意料之中的, 因为它没有使用以泛化能力而闻名的强大的 CLIP backbone.
从图中可以看到, CLIP的预训练权重对于提出的CLIPSeg非常重要. 混合prompt形式的训练使得模型对于不同输入的独立性能更加平衡.
由于多头注意力不需要固定数量的标记, CLIP 中的transformer可以处理任意大小输入. 然而, 公开可用的 CLIP 模型(ViT-B/16 和 ViT-B/32)是在 224×224 图像上训练的. 这里在分类任务中测量了 CLIP 性能与输入图像大小的相关性.
从两个 CLIP 编码器中, 提取最后一层的 CLS 向量. 使用此向量作为输入, 在 ImageNet 子集上训练逻辑回归分类器以区分 67 类车辆.
结果表明 CLIP 通常可以很好地处理大图像尺寸, ViT-B/16版本在大约 350×350 的尺寸下表现出更好的性能.
为了更好理解模型的表现, 这里比较了不同形式的文本prompt、目标大小和类别.
实验是通过PC+上预训练的CLIPSeg. 在所有情况下训练期间随机抽取不同的提示形式. 这里评估了 PhraseCut 测试集 5000 个样本的性能.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。