VLT:用于引用细分的视觉语言转换器和查询生成
丁恒辉、刘昌、王素辰、江旭东,IEEE Fellow
摘要:我们提出了一个视觉语言转换器 (VLT) 框架来引用分割,以促进多模态信息之间的深度交互并增强对视觉语言特征的整体理解。有不同的方法来理解语言表达的动态重点,特别是在与图像交互时。然而,现有转换器工作中学习到的查询是在训练后固定的,无法应对语言表达的随机性和巨大的多样性。为了解决这个问题,我们提出了一个查询生成模块,它可以动态地生成多组特定于输入的查询来表示语言表达的不同理解。为了在这些不同的理解中找到最好的,从而生成更好的掩码,我们提出了一个查询平衡模块来选择性地融合查询集的相应响应。此外,为了增强模型处理不同语言表达的能力,我们考虑样本间学习,以明确赋予模型理解同一对象的不同语言表达的知识。我们引入了掩蔽对比学习,以缩小同一目标物体的不同表情特征,同时区分不同物体的特征。所提出的方法是轻量级的,并在五个数据集上一致地实现了新的最先进的参考分割结果。
索引词——样本间学习、掩蔽对比学习、查询平衡、查询生成、引用分割、空间动态融合、视觉语言转换器
1 介绍
引用分割旨在为自然语言中给定查询表达式所引用的目标对象生成分割蒙版 [1],[2]。引用分割是最基本但具有挑战性的多模态任务之一,涉及自然语言处理和计算机视觉。它通过提供用户友好的交互方式在许多实际应用中受到强烈需求,例如视频 / 图像编辑。最近,许多基于深度学习的方法出现在该领域并取得了显著的成果。然而,巨大的挑战仍然存在:虽然查询表达式通过描述目标对象的属性及其与其他对象的关系来暗示目标对象,但引用分割图像中的对象以复杂的方式相互关联。因此,需要对图像和语言表达有整体的理解。另一个挑战是,多样化的对象 / 图像和不受约束的语言表达带来了高度的随机性,这要求模态在理解不同类型的图像和语言表达方面具有很高的泛化能力。
首先,为了应对输入图像和查询表达中复杂关联的挑战,我们建议通过设计一个具有全局操作的框架来增强对多模态信息的整体理解,其中所有元素之间建立直接交互,例如字-字、像素-像素和像素-字。全卷积网络(FCN)类框架 [3] 通常用于现有的参考分割方法 [1],[4]。它们通常对融合的(例如连接或相乘)视觉语言特征执行卷积运算,以预测目标对象的分割蒙版。然而,常规卷积操作无法实现长距离依赖建模,因为它的较大感受野是通过堆叠许多小核卷积来实现的。这种间接过程使长距离像素/单词之间的信息交互效率低下[5],因此不利于指称分割模型理解输入图像和语言所表达的全局上下文[6]。近年来,注意力机制由于其在建立所有元素之间直接交互的优势,在计算机视觉界获得了相当的普及,这极大地帮助了模型捕获全局语义信息。之前有一些指称分割研究使用注意力来缓解长距离依赖问题,例如[6]、[7]、[8]。然而,它们中的大多数依赖于类似FCN的流程,并且仅将注意力机制作为辅助模块,这限制了它们建模全局上下文的能力。在这项工作中,我们将指称分割问题重新表述为直接注意力问题,并使用Transformer重新构建当前的类似FCN的框架[9]。我们使用视觉引导注意力从语言特征中生成一组查询向量,并使用这些向量“查询”给定的
图 1. 所提出的方法动态生成多组特定于输入的查询向量,以表示语言表达的不同理解。我们使用每个向量来“查询”输入图像,生成对每个查询的响应。然后网络有选择地聚合对这些查询的响应,以便突出显示提供更好理解的查询。
图像并根据查询响应预测分割掩码,如图1所示。这种基于注意的框架使我们能够在每个计算阶段实现多模态特征之间的全局操作,并增强网络捕捉视觉和语言信息的全局上下文的能力。
其次,为了处理由各种对象 / 图像和不受限制的语言表达所造成的随机性,我们提出结合视觉特征以不同的方式理解输入的语言表达。在许多现有的引用分割方法中,例如 [10]、[11],通常使用语言自注意力来提取语言表达中最有用的部分和强调的词。然而,对于这些方法,它们的语言理解仅仅来自于语言表达本身,而没有与视觉信息的交互。作为一个序列,它们无法区分哪种强调更合适、更有效,可以更好地适合特定的图像。因此,它们检测到的强调可能不准确或低效。另一方面,在大多数现有的视觉转换器工作 [12] 中,转换器解码器的查询是一组固定的和学习到的向量,每个向量预测一个对象。然而实验表明每个查询向量都有自己的工作模式,并且专门针对某类物体[12],例如专门针对某一类型或位于某一区域的物体。这些工作中的固定查询隐式地假设输入图像中的物体服从一定的统计规律,这没有很好地考虑到所指分割的随机性和巨大的多样性,尤其是无约束的语言表达带来的随机性。此外,可学习的查询是为了检测整幅图像中的所有物体,而不是专注于语言表达所指示的目标物体,因此不能有效地提取包含目标物体线索的信息表示。为了解决这些问题,我们建议生成针对输入的特定查询,这些查询可以专注于与所指目标物体相关的线索。我们在此提出了一个查询生成模块(QGM),它根据输入的语言表达和视觉特征动态地生成多个查询向量。每个查询向量代表对语言表达的特定理解,并分别查询具有不同重点信息的视觉特征。这些生成的查询向量在 Transformer 解码器中产生一组相应的掩码,尽管我们只需要从中选择一个掩码。此外,我们还希望从这些查询向量中选择一种更合理、更好的理解方式。因此,我们进一步提出了一个查询平衡模块 (QBM),它为每个查询向量分配一个置信度度量以控制其对掩码解码的影响,然后自适应地选择这些查询的输出特征以更好地生成最终的掩码。所提出的 QGM 动态地生成针对特定输入的查询,这些查询关注与目标对象相关的不同信息线索,而所提出的 QBM 有选择地融合这些查询的相应响应。这两个模块协同工作,显著改善了理解图像和查询语言的多样化方式,并增强了网络对高度随机输入的鲁棒性。
第三,我们引入了带掩码的对比表示学习,进一步增强模型的泛化能力和对无约束语言表达的鲁棒性。通过提出的查询生成模块和查询平衡模块,我们提供了对给定表达的不同理解,这可以看作是一种样本内学习。在这里,我们进一步考虑样本间学习,明确地赋予模型对一个对象的不同语言表达的知识。对于同一个目标对象,有多种描述方式,但预测目标掩码的最终表示应该是相同的,也就是说,查询平衡模块对同一对象的不同表达的输出特征应该是相同的。为此,我们利用对比学习来缩小同一目标对象的不同表达的特征范围,同时区分不同对象的特征。此外,我们观察到模型倾向于过度依赖提供最具辨别力的线索或在训练样本中频繁出现的特定词,而忽略其他补充信息。过度依赖特定词语会损害模型的泛化能力,比如模型可能无法很好地理解训练样本中不包含共同判别线索的测试表达。针对这一问题,我们在对比表示学习中引入了掩码语言表达,即从原始语言表达中随机删除一些特定词语。掩码语言表达与原始表达指的是同一目标对象,在对比表示学习中作为正对相互接近并达到同一表示。掩码对比表示学习显著提升了模型处理自然界多样化语言表达的能力。
所提出的方法在不同层次上建立了语言和视觉信息之间的深度交互,大大提高了多模态特征的利用率和融合能力。此外,所提出的网络是轻量级的,其参数规模大致相当于七个卷积层。总之,我们的主要贡献如下:
我们设计了一个视觉语言转换器 (VLT) 框架,以促进多模态信息并增强对视觉语言特征的整体理解。我们提出了一个查询生成模块(QGM),它可以动态生成代表不同语言理解的多个输入特定查询,以及一个查询平衡模块(QBM)来选择性地融合这些查询的相应响应。我们引入了一种掩蔽对比表示学习,通过学习样本间关系来增强模型的泛化能力和鲁棒性,以处理不受约束的语言表达。所提出的方法是轻量级的,并且在三个引用图像分割数据集 RefCOCO、 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+、G-Ref 和两个引用视频对象分割数据集 YouTube-RVOS 和 Ref-DAVIS17 上始终如一地实现了新的最佳性能。
2 相关作品
在本节中,我们讨论与所提出的方法密切相关的工作,包括指称分割、指称理解和转换器。
2.1 引用细分
指称分割是最基本但又具有挑战性的多模态任务之一,涉及语言和视觉信息。给定一个描述给定图像中目标对象属性的自然语言表达,指称分割的目标是确定语言所指称的目标对象并生成相应的分割蒙版。受指称理解任务的启发[13]、[14]、[15]、[16]、[17],
[18],参考分割是由Hu等人在[1]中引入的。
[1] 将长短期记忆网络 (LSTM) 提取的语言特征与卷积神经网络 (CNN) 提取的视觉特征连接起来,将融合的视觉-语言特征输入到全卷积网络 (FCN) [3] 中生成目标分割掩码。在 [19] 中,为了更好地利用语言表达中每个词的信息,刘等人提出了一种多模态长短期记忆网络 (mLSTM),在每个循环阶段对每个词进行建模,将词特征与视觉特征融合。李等人 [20] 逐步利用主干中不同层次的特征,进一步提高了性能。为了更好地利用语言信息,Edgar 等人 [4] 提出一种方法,在提取语言特征时使用语言表达中每个词的特征,而不仅仅是 RNN 的最终状态。陈等人[21] 使用字幕生成网络来生成描述目标对象的字幕句子,并强制字幕与输入表情一致。在 [10] 中,Luo 等人提出了一个多任务框架来联合学习指称表情理解和分割。他们构建了一个包含指称表情理解分支和指称表情分割分支的网络,每个分支可以在训练过程中相互加强。Jing 等人 [22] 将指称分割与定位和分割解耦,并提出一种先定位再分割 (LTS) 方案,先定位目标对象,然后生成细粒度分割掩码。Feng 等人 [23] 建议在编码器阶段尽早使用语言特征。Hui 等人 [24] 引入了一种语言结构引导的上下文建模来分析语言结构,从而更好地理解语言。Yang 等人 [25] [25] 提出一种自下而上的转移方法(BUS),通过对给定的表达式进行分层推理,逐步定位目标对象。
随着基于注意机制的方法 [5]、[9] 的引入,研究者发现注意机制适用于指称分割的制定。例如,叶等人提出跨模态自注意(CMSA)模型 [6] 来动态地在语言句子和信息图像区域中查找最重要的单词。胡等人 [7] 提出了一个双向注意模块来进一步利用单词的特征。这些工作大多建立在类似 FCN 的网络上,仅将注意力作为辅助模块。我们的并行工作 MDETR [26] 使用 DETR [12] 构建端到端调制检测器,并对语言和图像进行联合推理。在 VLT [27] 被提出之后,基于 Transformer 的指称分割架构受到了更多的关注 [28]、[29]、[30]、[31]、[32]。 MaIL [28] 遵循了变换器架构 ViLT [33],并利用 Mask R-CNN [34] 预测的实例掩码作为附加输入。Yang 等人 [29] 提出了语言感知视觉变换器 (LAVT),在网络的中间层进行多模态融合。CRIS [30] 使用在 400M 图像文本对上预训练的 CLIP [35],将 CLIP 从文本到图像的匹配转换为文本到像素的匹配。
在本研究中,我们采用了一种完全基于注意力的架构,并提出了一种视觉语言转换器 (VLT) [27] 来对图像中的长距离依赖关系进行建模,如图 2 所示。我们进一步提出为转换器的解码器生成输入条件查询,以便从不同方面更好地理解不受约束的语言表达。
2.2 指称理解
指称理解是与指称分割高度相关的任务。指称理解也将图像和语言表达作为输入,并识别语言表达所指称的目标对象。然而,指称分割旨在输出目标对象的分割掩码,而指称理解输出的是基础框。与指称分割的 FCN 类流程不同,大多数早期的指称理解工作基于多阶段流程 [14]、[15]、[16]、[36]、[37]、[38]。在这些工作中,通常首先将开箱即用的实例分割网络(例如 Mask R-CNN [34])应用于图像并生成一组实例提议,而不管语言输入如何。接下来,将候选提议与语言表达进行比较,以找到最佳匹配。例如,Yu 等人。 [11] 提出了一种两阶段方法,首先使用 Mask R-CNN [34] 提取图像中的所有实例,然后使用模块化网络从 Mask R-CNN 检测到的所有实例中匹配并选择目标对象。近年来,单阶段方法 [18]、[39]、[40] 也在指称理解领域得到越来越多的采用,例如,Sadhu 等人提出了一种用于指称理解的“Zero-Shot Grounding”网络 [41],Yang 等人提出了一种用于指称理解的“Zero-Shot Grounding”网络 [42]。
图 2. 所提出的视觉语言转换器 (VLT) 的概览架构。首先,给定的图像和语言表达分别被投影到视觉和语言特征空间中。然后采用空间动态融合模块融合视觉和语言特征,生成输入到转换器编码器的多模态特征。所提出的查询生成模块根据视觉和语言特征生成一组特定于输入的查询。这些特定于输入的查询被发送到解码器,产生相应的查询响应。查询平衡模块选择这些结果响应,然后通过掩码解码器解码以输出目标掩码。“Pos. Emb.”:位置嵌入。“MCL”:掩码对比学习。
设计一个递归子查询构建框架,在图像和查询语言之间进行逐步推理[17]。
2.3 Transformer
Transformer 最早由 Vaswani 等人在 [9] 中提出,用于机器翻译,是一种具有注意机制的序列到序列深度网络架构。最近,Transformer 在自然语言处理 (NLP) 领域引起了广泛关注,并在许多 NLP 任务上取得了巨大成功,例如机器翻译 [9]、问答 [42] 和语言建模 [43]。除了 NLP,Transformer 还被用于许多计算机视觉任务,并在各种视觉任务上取得了可喜的成果,例如物体检测 [12]、图像识别 [44]、语义分割 [45]、[46] 和人机交互 [47]。
在视觉-语言领域,Transformer 架构在许多任务中取得了巨大成功,例如视觉和语言预训练 [33]、[48]、[49]、图像生成 [50]、视觉问答 [51]、开放词汇检测 [52]、图像检索 [53]、视觉和语言导航 [54] 等。Lu 等人 [48] 设计了一种共同注意机制,将语言关注的视觉特征合并到语言特征中。Kim 等人 [33] 建议在单个统一的 Transformer 架构中处理这两种模态。Huang 等人 [51] 提出了一种 Pixel-BERT,通过以统一的 Transformer 方式联合学习视觉和文本嵌入来将视觉特征与文本特征对齐。基于 Pixel-BERT,Zareian 等人 [52] 设计了一个视觉到语言的投影,以在 Transformer 之前处理视觉特征。Radford 等人 [35] 提出了一种对比语言-图像预训练(CLIP)方案来联合训练图像语言编码器。王等人 [30] 通过文本到像素对齐将 CLIP 应用于参考图像分割。雷等人 [55] 将 CLIPBERT 引入文本到视频检索和视频问答。胡等人 [56] 提出了一种统一 Transformer(UniT)模型,以使用统一的多模态架构学习多种视觉语言任务。与以前使用少量固定数量的学习到的位置嵌入作为对象查询的研究不同,我们建议动态生成表示不同语言理解的特定输入查询,并有选择地融合这些特定输入查询的相应响应。通过针对特定输入的查询,提出的 VLT 可以更好地捕获隐藏在语言表达中的信息线索,并解决指称分割中的高度多样性问题。
3 方法论
所提出的视觉-语言转换器 (VLT) 的整体架构如图 2 所示。该网络以语言表达和图像作为输入。首先,将输入图像和语言表达分别投影到语言和视觉特征空间。然后,将视觉和语言特征输入到所提出的查询生成模块 (QGM) 以生成一组特定于输入的查询向量,这些查询向量表示在视觉线索指导下对语言表达的不同理解。同时,通过所提出的空间动态融合 (SDF) 将视觉和语言特征融合为多模态特征,并将多模态特征发送到 Transformer 编码器以产生一组记忆特征。我们提出的 QGM 生成的 Q 中的查询向量用于“查询”Transformer 解码器中从记忆特征中得出的 K 和 V,即 Attentio n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V , \begin{array}{r}{\mathrm{n}(Q,K,V)=\mathrm{softmax}\big(\frac{QK^{T}}{\sqrt{d_{k}}}\big)V,}\end{array} n(Q,K,V)=softmax(dkQKT)V, ffiffiffiffi 其中 d k d_{k} dk 是 K K K 的维数。然后,查询平衡模块 (QBM) 用不同的置信度权重选择来自 Transformer 解码器的结果响应。最后,掩码解码器将来自 QBM 的加权响应和来自 Transformer 编码器的输出特征作为输入并输出目标对象的掩码。掩码对比学习 (MCL) 用于监督掩码解码器中的特征以缩小
图 3. 拼贴和连接融合。语言特征被完全相同地复制到
H
×
W
H\times W
H×W 图上的每个位置。
同一目标物体的不同表情特征,同时区分不同物体的特征。位置嵌入用于补充排列不变变换器架构中的像素位置信息。
3.1 空间动态多模态融合
提取出语言和图像的主干特征后,第一步是将它们初步融合在一起并生成多模态特征。对于指称分割,有效的多模态信息融合至关重要且具有挑战性,因为自然语言表达的无约束性和场景图像中对象的多样性给多模态特征的理解和融合带来了巨大的不确定性。然而,现有的方法只是通过将视觉特征和语言特征进行连接[1]、[6]、[7]、[19]或逐点乘以[10]、[22]、[27]来进行多模态特征融合。语言特征是一个一维向量,通常被平铺到视觉特征[1]、[6]的每个位置,如图3所示。在“平铺和连接”操作下,语言特征被相同地复制到 H × W H\times W H×W图上的每个位置。
尽管这类融合技术简单且取得了不错的效果,但也存在一些缺点。首先,单个单词的特征在此步骤中没有得到充分利用。其次,平铺的语言特征对于图像特征的所有像素都是相同的,这削弱了语言信息与视觉信息之间的相关性所携带的位置信息。由于输入图像中的对象多种多样,图像通常包含各种信息,这些信息可能非常复杂,其中不同区域可能包含不同的语义信息。同时,语言表达可以从不同的角度以不同的重点进行解释。我们在这里强调像素/对象之间的差异,即整个图像的视觉信息因地而异。因此,给定句子中的信息词在各个像素之间是不同的。平铺的方式忽略了这种差异,只是将相同的语言特征向量分配给每个像素,从而导致一些混乱。最好针对每个单独的像素进行量身定制的特征融合。在本文中,我们提出了一个空间动态融合(SDF)模块,该模块根据语言信息和相应像素信息的相互作用,为图像特征的不同位置生成不同的语言特征向量。每个位置选择其感兴趣的单词,并在多模态融合过程中更加关注这些单词。
图 4 显示了所提出的空间动态融合 (SDF) 模块的示意图。所提出的 SDF 模块以语言特征 F t , F_{t}, Ft,(包括每个单词和整个句子的特征)和图像特征 F v r F_{vr} Fvr 作为输入。我们首先使用语言特征和视觉特征通过以下方式生成空间动态注意力矩阵:
A s d = softmax ( 1 C C o n v ( F v r ) C o n v ( F t ) T ) , A_{\mathrm{sd}}=\operatorname{softmax}\biggl(\frac{1}{\sqrt{C}}\mathrm{Conv}\bigl(F_{vr}\bigr)\mathrm{Conv}\bigl(F_{t}\bigr)^{T}\biggr), Asd=softmax(C1Conv(Fvr)Conv(Ft)T),
其中 C C C 是特征通道数, 1 C \textstyle{\frac{1}{\sqrt{C}}} C1 ffiffiffi 是缩放因子。 A s d A_{\mathrm{sd}} Asd 的形状为 H × W × N t , H\times W\times N_{t}, H×W×Nt,,其中 H H H 和 W W W 分别是高度和宽度, N t N_{t} Nt 是 F t F_{t} Ft 中语言特征向量的数量。沿注意矩阵 A s d A_{\mathrm{sd}} Asd 的 N t N_{t} Nt 轴应用 Softmax 正则化。空间动态注意 A s d A_{\mathrm{sd}} Asd 的每个位置都是一个加权向量,表示该位置上 N t N_{t} Nt 个语言特征的不同重要性。因此,空间动态语言特征 F s d l F_{\mathrm{sdl}} Fsdl 由以下公式生成:
F s d l = A s d C o n v ( F t ) , F_{\mathrm{sdl}}=A_{\mathrm{sd}}\mathrm{Conv}(F_{t}), Fsdl=AsdConv(Ft),
其中 F s d l F_{\mathrm{sdl}} Fsdl n 为 H × W × C H\times W\times C H×W×C 形状, F s d l F_{sdl} Fsdl 中每个横跨 H × W H\times W H×W 的向量都是语言特征向量,该向量通过其与像素位置处的图像上下文的相关性加权。融合多模态特征 F f u s e d F_{\mathrm{fused}} Ffused 由以下方式生成:
F f u s e d = C o n v ( F s d l ( C ^ F v r ) , F_{\mathrm{fused}}=\mathrm{Conv}(F_{\mathrm{sdl}}(\widehat{\mathbb{C}}~F_{vr}), Ffused=Conv(Fsdl(C Fvr),
其中 © \copyright c◯ 表示连接。根据之前的 Transformer 工作 [12]、[57],我们使用固定正弦空间位置嵌入来补充排列不变 Transformer 中的像素位置信息。融合的多模态特征和位置嵌入被输入到 Transformer 编码器(见图 2)。
3.2 查询生成模块
在大多数现有的 Vision Transformer 工作中,例如 [12]、[45]、[46]、[58],Transformer 解码器的查询通常是一组固定的学习向量,每个向量用于预测一个物体并有自己的操作模式,例如指定某一类物体或位于某个区域。这些使用固定查询的工作有一个隐含的假设,即输入图像中的物体服从某些统计规律。然而,这样的假设并没有考虑到所指分割的巨大多样性。此外,可学习的查询被设计用于检测整个图像中的所有物体,而不是关注语言表达所指示的目标物体,因此不能有效地提取包含目标物体线索的信息表示。
对于指称分割,给定表达式描述的目标对象可以是图像的任何部分。由于输入图像和语言表达都不受约束,目标对象属性的随机性非常高。因此,固定查询向量(如大多数现有 ViT 作品中)不能很好地表示目标对象的属性。相反,目标对象的属性隐藏在输入语言表达中,例如关键字“蓝色/黄色”、“小/大”、“右/左”等。为了捕捉信息线索并解决指称分割中的高度随机性,我们提出了一个查询
图 4. 所提出的空间动态融合 (SDF) 的说明。与传统的“平铺和连接”融合不同,所提出的 SDF 找到一个单词注意集,并为图像特征中的每个像素导出一个定制的语言特征向量。
生成模块(QGM)根据给定的图像和语言表达,自适应地在线生成指定输入的查询向量。另外,众所周知,对于一个语言表达,不同词的重要性是不同的。一些现有的研究通过衡量每个词的重要性来解决这一问题。例如,[10] 赋予每个词一个权重,[11]、[59] 定义一组组,例如位置、属性、实体,并找到每个词属于不同组的程度。大多数研究通过语言自注意力来得出权重,它不利用图像中的信息,只输出一组权重。但在实践中,同样的句子可能有不同的理解视角和侧重点,只有借助图像才能知道最合适、最有效的侧重点。我们在图 5 中给出了一个直观的例子。对于同样的输入句子“左边的大气球”,单词“左边”对第一张图片更具信息量,而单词“大”对第二张图片更有用。在这种情况下,语言自注意力无法区分“大”和“左边”的重要性,使得注意力过程不那么有效。为了让网络学习不同方面的信息并增强查询的鲁棒性,我们在视觉信息的帮助下生成多个查询,尽管只有一个目标实例。每个查询都代表对给定语言表达的特定理解,并带有不同的强调词。
查询生成模块的架构如图所示。年龄特征 F t ∈ R N t × C F_{t}\in\mathbb{R}^{N_{t}\times C} Ft∈RNt×C 和原始视觉特征 F v r ∈ R H × W × C F_{vr}\in\mathbb{R}^{H\times W\times C} Fvr∈RH×W×C 2 为 i ts。在 F t , F_{t}, Ft, 中,第 i i i 个向量是单词 w i , w_{i}, wi, 的特征向量,该单词是输入语言表达式中的第 i 个单词。 N t N_{t} Nt 表示句子长度
图 5. 不同强调程度的句子示例。对于不同的图像,“大”和“左”这两个词的信息量程度是不同的。
并通过零填充固定在所有输入上。该模块旨在输出 N q N_{q} Nq个查询向量,每个查询向量都是一个语言特征,具有由视觉信息引导的不同注意权重。具体而言,首先准备视觉特征,如图7所示。我们通过三个卷积层将原始视觉特征 F v r F_{vr} Fvr的特征通道维度大小降低到查询数 N q N_{q} Nq,从而得到 N q N_{q} Nq个特征图。它们每个都将参与一个查询向量的生成。然后在空间域中将特征图展平,形成大小为 N q × ( H W ) N_{q}\times(HW) Nq×(HW)的特征矩阵 F v q F_{vq} Fvq,即
F v q = F l a t t e n ( C o n v ( F v r ) ) T 。 F_{vq}=\mathrm{Flatten}(\mathrm{Conv}(F_{vr}))^{T}。 Fvq=Flatten(Conv(Fvr))T。
接下来,我们从多个方面理解图像中的语言表达,形成来自语言的 N q N_{q} Nq 个查询。我们通过结合视觉特征 F v q , F_{vq}, Fvq, 得出语言特征 F t F_{t} Ft 的注意力权重
A q d = s o f t m a x ( 1 C σ ( F v q W v ) σ ( F t W a ) T ) , A_{\mathrm{{qd}}}={\mathrm{softmax}}\bigg(\frac{1}{\sqrt{C}}\sigma(F_{vq}W_{v})\sigma(F_{t}W_{a})^{T}\bigg), Aqd=softmax(C1σ(FvqWv)σ(FtWa)T),
图 6. 查询生成模块 (QGM)。QGM 将顺序视觉特征
F
v
q
F_{vq}
Fvq 和语言特征
F
t
F_{t}
Ft 作为输入,并生成一组输入特定的查询向量
F
q
F_{q}
Fq,然后将其发送到我们的 VLT 的转换器解码器
图 7. 我们的查询生成模块的顺序视觉特征的准备过程。
其中 A q d ∈ R N q × N t A_{\mathrm{{qd}}}\!\in\!\mathbb{R}^{N_{q}\times N_{t}} Aqd∈RNq×Nt 是与 F t F_{t} Ft 不同的查询动态 tt 注意向量。 W v ∈ R ( H W ) × C W_{v}\in\mathbb{R}^{(HW)\times C} Wv∈R(HW)×C 2 和 W a ∈ R ˉ C × C W_{a}\in\bar{\mathbb{R}}^{C\times C} Wa∈RˉC×C 2 是可学习参数,s 是激活函数 Rectified Linear Unit (ReLU)。softmax 函数应用于每个查询的所有单词作为规范化。在注意矩阵 A q d , \ {A_{\mathrm{{qd}}}}, Aqd, 中,每个 N q N_{q} Nq 向量都包含一组针对不同单词的注意权重。不同的查询关注语言表达的不同部分。因此, N q N_{q} Nq个查询向量关注语言表达的不同重点或不同的理解方式。值得注意的是,在此步骤之后,对于较长的句子,我们会随机屏蔽其中一个最重要的单词,以增强网络的泛化能力。详细信息见第 3.5 节。
接下来,将导出的注意权重应用于语言特征:
F q = A q q σ ( F t W t ) + σ ( F v q W v ) , F_{q}=A_{\mathrm{qq}}\sigma(F_{t}W_{t})+\sigma(F_{vq}W_{v}), Fq=Aqqσ(FtWt)+σ(FvqWv),
W t ∈ R C × C W_{t}\in\mathbb{R}^{C\times C} Wt∈RC×C 和 W v W_{v} Wv 是 l F q ∈ F_{q}\in Fq∈ R N q × C \mathbb{R}^{N_{q}\times C} RNq×C 包含 N q N_{q} Nq 个查询向量 f { F q 1 , . . . , F q n , . . . F q N q } \{F_{q1},.\,.\,.\,,F_{qn},.\,.\,.\,F_{q N_{q}}\} {Fq1,...,Fqn,...FqNq} g 。我们从视觉特征 F v q F_{vq} Fvq 添加残差连接以丰富查询向量中的信息。每个 F q n F_{\boldsymbol{q}n} Fqn 都是由视觉信息引导的参与语言特征向量,并作为 Transformer 解码器的一个查询向量。
3.3 查询余额模块
我们从提出的查询生成模块中得到 N q N_{q} Nq 个不同的查询向量。每个查询代表在输入图像信息的交互式指导下对输入语言表达的特定理解。如前所述,输入图像和语言表达都具有很高的任意性。因此,需要自适应地选择更好的理解方式,并让网络专注于更合理、更合适的理解方式。另一方面,由于每个查询向量的独立性在 Transformer 解码器 [12] 中保持,但我们只需要一个 mask 输出,因此需要平衡不同查询对最终输出的影响。因此,我们提出一个查询平衡模块 (QBM) 来动态地为每个查询向量分配一个置信度度量,该度量反映它与图像的预测和上下文的拟合程度。
所提出的 QBM 的架构如图 8 所示。具体而言,查询平衡模块的输入是来自查询生成模块的查询向量 F q F_{q} Fq 及其来自 Transformer 解码器的相应响应 F r , F_{r}, Fr,,其大小与 F q F_{q} Fq 相同。在查询平衡模块中,经过线性层后的查询向量及其对应的响应首先被连接在一起。线性层用于根据查询向量 F q F_{q} Fq 及其对应的响应 F r F_{r} Fr 得出置信度。然后,由两个连续的线性层生成一组形状为 N q × 1 , N_{q}\times1, Nq×1, 的查询置信度 C q , C_{q}, Cq,。 Sigmoid, S ( x ) = S(x)= S(x)= ð Þ ¼ Γ ~ 1 1 + e − x . \begin{array}{r}{\frac{\widetilde{\mathbf{\Gamma}}_{1}}{1+e^{-x}}.}\end{array} 1+e−xΓ 1.,在最后一行之后用作激活函数,以控制输出范围。令 F r n F_{rn} Frn 和 C q n C_{\boldsymbol{q}n} Cqn 分别表示对第 n n n 个查询 F q n , F_{\mathit{qn}}, Fqn, 的相应响应和查询置信度。每个标量 C q n C_{\boldsymbol{q}n} Cqn 均显示查询 F q n F_{\mathit{qn}} Fqn 与其预测上下文的匹配程度,并控制其响应 F r n F_{rn} Frn 对掩码解码的影响。每个响应 F r n F_{rn} Frn 都与相应的查询置信度 C q n , C_{\boldsymbol{q}n}, Cqn, 相乘,即 F b n = F r n C q n F_{bn}=F_{rn}C_{qn} Fbn=FrnCqn 。平衡响应 F b = F_{b}= Fb= { F b 1 , . . . , F b n , . . . , F b N q } \{F_{b1},.\,.\,.\,,F_{bn},.\,.\,.\,,F_{b N_{q}}\} {Fb1,...,Fbn,...,FbNq} 被发送进行掩码解码。所提出的 QGM 动态地生成针对特定输入的查询,这些查询侧重于与目标对象相关的不同信息线索,而所提出的 QBM 则选择性地融合对这些查询的相应响应。这两个模块协同工作,显著提高了理解图像和查询语言的多样性,并增强了模型对高度随机输入的鲁棒性。
3.4 掩码解码器
查询平衡模块 F b F_{b} Fb的输出大小为 N q × C N_{q}\times C Nq×C,被送往掩码编码器,如图9所示。在掩码解码器模块中, F b F_{b} Fb作为一组掩码生成核,对来自Transformer编码器的视觉主导特征 F v e F_{ve} Fve进行处理,生成掩码特征 F m F_{m} Fm,即:
F m = F v e F b T , F_{m}=F_{ve}F_{b}^{T}, Fm=FveFbT,
计算
C
q
C_{q}
Cq 以反映其与图像的预测和上下文的匹配程度。转换器响应
F
r
F_{r}
Fr 由相应的置信度
C
q
C_{q}
Cq 加权,以控制每个查询向量的影响,从而生成平衡响应
F
b
F_{b}
Fb 。
图 9. 掩码解码器采用查询平衡模块 (QBM)
F
b
F_{b}
Fb 和 Transformer 编码器
F
v
e
F_{ve}
Fve 的输出来生成输出掩码。
其中 F v e F_{ve} Fve 的大小为 H W × C HW\times C HW×C,因此 F m F_{m} Fm 的大小为 H W × N q HW\times N_{q} HW×Nq。然后我们将 F m F_{m} Fm 重塑为 H × W × N q H\times W\times N_{q} H×W×Nq 以生成最终的掩码。我们使用三个 sta 3 × 3 3\times3 3×3 卷积层进行解码,然后使用一个 1 × 1 1\times1 1×1 卷积层输出最终预测的分割掩码。为了控制输出大小并生成更高分辨率的掩码,在三个 3 × 3 3\times3 3×3 卷积层之后都放置了上采样层。为了更好地证明所提出的 Transformer 模块的有效性,我们实现中的掩码解码模块不使用任何 CNN 特征。我们对预测的掩码采用二元交叉熵损失来监督网络训练。
3.5 掩蔽对比学习
这里我们进一步考虑样本间学习,明确地赋予模型对一个对象的不同语言表达的知识。自然语言中给定的表达是不受约束的,有多种方式来描述同一个目标对象,这给理解这些表达带来了挑战。给定一个包含 N O N_{O} NO 个对象 { O 1 , . . , O i , . . . , O N O } , \{O_{1},.\,.\,,O_{i},.\,.\,.\,,O_{N_{O}}\}, {O1,..,Oi,...,ONO}, 的图像 I I I,I I I I 中的每个对象 O i O_{i} Oi 都可以通过 N E N_{E} NE 个不同的表达式 { E i 1 , . . . , E i j , . . . , E i N E } \{E_{i}^{1},.\,.\,.\,,E_{i}^{j},.\,.\,.\,,E_{i}^{N_{E}}\} {Ei1,...,Eij,...,EiNE} g 来引用。一个指涉分割的样本 S ( I , O i , E i j ) S(I,O_{i},E_{i}^{j}) S(I,Oi,Eij)Þ定义了从表情到目标对象的映射: { E i j → O i ∣ I } \{E_{i}^{j}\to O_{i}|I\} {Eij→Oi∣I}!jg。 E i E_{i} Ei和 O i O_{i} Oi之间的映射一般是多对一的。图像中的一个对象可以用许多不同的语言表达式来描述,但是一个语言表达式应该明确地指向一个且仅一个实例。因此,无论给予目标对象何种表达式,最终的掩码都是相同的,即等式(7)中用于生成最终掩码的特征 F m F_{m} Fm是相同的。受此启发,我们引入对比学习,迫使网络缩小同一目标对象的不同表情特征之间的距离,同时扩大不同对象特征之间的距离。此外,为了提供更多的正样本对,增强模型对输入语言的泛化能力,我们随机屏蔽语言表达式中的某些特定单词,并将这些被屏蔽的表达式添加到原始表达式的正样本中。
为了对训练对进行抽样以进行对比学习,我们将样本间关系总结为三类:1)不同图像(DI),2)相同图像不同对象(SIDO),3)相同图像相同对象(SISO),如图 10 所示。与以完全随机的方式构建训练批次的现有方法不同,我们打算让一个批次具有各种样本间关系。首先,我们随机选择一个初始样本 S i n i t , S_{init}, Sinit,,如图 11 所示。
图 10. 不同类型的样本间关系。SISO:相同图像,相同对象(但表达方式不同)。SIDO:相同图像,不同对象。DI:不同图像。我们删除长句中的一些常用词,并将此类样本添加到 SISO 中。
图 11. 样本间学习中的一个训练批次。
我们将其 SISO 图像记为 S S O , S_{SO}, SSO,,其图像 I I I 和对象 O i O_{i} Oi 与 S i n i t S_{init} Sinit 相同,但表达式 E i j E_{i}^{j} Eij 与 S i n i t , S_{init}, Sinit, 不同;将其 SIDO 图像记为 S D O , S_{DO}, SDO,,其图像 I I I 与初始样本相同,但目标对象 O i O_{i} Oi 不同。在构造小批量时,我们首先将初始样本放入其中。接下来我们有意放入最多 N S O N_{SO} NSO 个来自 S S O , S_{SO}, SSO, 的样本和最多 N D O N_{DO} NDO 个来自 S D O S_{DO} SDO 的样本。剩余的批次则用随机选择的 DI 样本填充。在这种机制下,每个训练批次将包含各种样本间关系,如图 11 所示。
如前所述,用于生成最终掩码的 SISO 样本的特征应该相同。相反,对于 SIDO 项目,虽然它们共享相同的输入图像,因此 Transformer 的输出特征可能趋于相似,但是由于它们的目标输出不同,因此用于生成掩码预测的特征应该不同。从这一点出发,我们引入对比学习作为特征级监督。在我们的方法中,Mask Decoder 模块起着生成输出掩码的作用,因此我们在 Mask Decoder 模块的特征 F m F_{m} Fm 上添加了对比学习,参见公式 (7)。受到 InfoNCE 损失 [60] 的启发,我们的损失定义如下:
L C L = − 1 N S O ∑ S + ∈ S S O log exp ( 1 τ ⟨ f S + , f S i n i t ⟩ ) ∑ S ∈ S D O , S + exp ( 1 τ ⟨ f S , f S i n i t ⟩ ) , \mathcal{L}_{CL}=-\frac{1}{N_{SO}}\sum_{S_{+}\in S_{SO}}\log\frac{\exp\left(\frac{1}{\tau}\ \langle f_{S_{+}},f_{S_{init}}\rangle\right)}{\sum_{S\in S_{DO},S_{+}}\exp\left(\frac{1}{\tau}\langle f_{S},f_{S_{init}}\rangle\right)}, LCL=−NSO1S+∈SSO∑log∑S∈SDO,S+exp(τ1⟨fS,fSinit⟩)exp(τ1 ⟨fS+,fSinit⟩),
其中 S + S_{+} S+ 表示初始样本的 SISO 样本, τ \tau τ 是温度常数, f S f_{S} fS 是 Mask Decoder 模块中的特征 F m F_{m} Fm, ⟨ , ⟩ \langle,\rangle ⟨,⟩ 表示余弦相似度函数。此损失函数强制初始样本的 mask 特征更接近其应该具有相同输出特征和 mask 的 SISO 样本,并强制其远离其应该具有不重叠 mask 的 SIDO 样本。
而且,一个句子通常包含不止一个信息线索。然而,网络倾向于捕获最具辨别性或最容易达到训练目标的线索,从而低估甚至忽略其他信息。例如,给定图 10 中的图像和表达式“左边的穿绿衣服的男人”,我们通过实验观察到网络受到单词“左边”的过度影响,因为它在数据集中更常见。我们认为过度依赖辨别性/常用词会损害模型的泛化能力。为了解决这个问题,我们建议随机屏蔽语言表达中的一些突出单词,并将这些被屏蔽的样本作为 SISO 样本添加到我们的对比学习中。具体而言,我们在评估 QGM 中的语言注意力时衡量每个单词的重要性,如等式 (5) 中所述。对于长度超过 N m N_{m} Nm 个词的语言表达,我们将所有 N q N_{q} Nq 个查询的单词注意向量相加,得到每个单词的全局注意权重: a i = a_{i}= ai= ∑ n = 1 N q a n i , \sum_{n=1}^{N_{q}}a_{ni}, ∑n=1Nqani, P 其中 a n i ∈ A q d a_{ni}\in A_{\mathrm{{qd}}} ani∈Aqd 表示第 n 个查询的注意向量中第 i 个单词的注意权重¼,a 表示第 i i i 个单词的全局注意权重。全局注意权重 { a 1 , a 2 , . . . , a N t } \{a_{1},a_{2},.\,.\,.\,,a_{N_{t}}\} {a1,a2,...,aNt} 揭示了每个单词的重要性。为了增强训练样本的多样性,以概率 p m p_{m} pm选择要掩盖的单词,其中概率 p m p_{m} pm由全局注意权重确定,即 p m i ˇ = e a i / ∑ j = 1 N t e a j \begin{array}{r}{\check{p_{mi}}=e^{a_{i}}/\sum_{j=1}^{N_{t}}e^{a_{j}}}\end{array} pmiˇ=eai/∑j=1Nteaj。这种概率引导的随机设置可让更重要的单词具有更高的掩盖机会,同时保持训练句子的多样性。如果一个单词被掩盖,它在 F t F_{t} Ft中的对应特征就会改变。因此,我们再次应用等式 (5) 中的 softmax 函数来重新规范化它。结果,生成了一组新的查询向量和查询响应。通过将此被删除的句子添加为等式中的正样本 S + S_{+} S+,Mask Decoder 的特征经过训练后接近原始特征。 (8)这样,网络就可以鼓励从更难或不太具区分性的词中提取信息,而不是总是依赖于一些高频关键词,这可以增强网络在实际使用中的多功能性。
3.6 网络架构
特征提取器。由于 Transformer 架构仅接受顺序输入,因此原始图像和语言输入必须先转换到特征空间,然后再发送到 Transformer。对于视觉特征,我们按照 [12] 的方法使用 CNN 主干进行图像编码。我们将主干中最后三层的特征作为编码器的输入。通过将三组特征图调整为相同大小并将它们相加,我们得到原始视觉特征 F v r ∈ R H × W × C ˇ . F_{vr}\in\mathbb{R}^{H\times W\times\check{C}}. Fvr∈RH×W×Cˇ.,其中 H , W H,W H,W 是特征的空间大小,C 是特征通道数。对于语言特征,我们首先使用查找表将每个单词转换为词向量 [61],然后利用 RNN 模块实现对输入句子的上下文理解,并将词向量转换为与视觉特征相同的通道数,得到一组语言特征 F t ∈ R N t × C F_{t}\in\mathbb{R}^{N_{t}\times C} Ft∈RNt×C 。随后将 F v r F_{vr} Fvr 和 F t F_{t} Ft 作为视觉和语言特征发送到空间动态融合模块和查询生成模块。
Transformer 模块。我们使用一个完整但浅层的 Transformer 将注意力操作应用于输入特征。该网络有一个 Transformer 编码器和一个解码器,每个编码器和解码器都有两层。我们使用 Vaswani 等人 [9] 定义的标准 Transformer 架构,其中每个编码器层由一个多头注意力模块和一个前馈网络 (FFN) 组成,每个解码器层由两个多头注意力模块和一个 FFN 组成。我们将融合多模态特征 F f u s e d F_{fused} Ffused 的空间域展平为一个序列,形成多模态特征 F f u s e d ′ ⃗ ∈ R N v × C , N v ^ = H W \vec{F_{fused}^{\prime}}\in\mathbb{R}^{N_{v}\times C},\hat{N_{v}}=HW Ffused′∈RNv×C,Nv^=HW ¼ 。 transformer 编码器以 F ˙ f u s e d ′ \dot{F}_{fused}^{\prime} F˙fused′ 作为输入,导出关于视觉信息 F ˙ m e m ∈ R N ˇ v × C \dot{F}_{mem}\in\mathbb{R}^{\check{N}_{v}\times C} F˙mem∈RNˇv×C 的记忆特征。在将其发送到
表 1 与包含七个
3
×
3
_{3\times3}
3×3 卷积层的卷积网络在参数大小和性能方面的比较
编码器,我们在 F f u s e d ′ F_{fused}^{\prime} Ffused′ 上添加一个固定的正弦空间位置嵌入。然后,将 F m e m F_{mem} Fmem 作为键和值发送到 Transformer 解码器,以及查询生成模块生成的 N q N_{q} Nq 个查询向量。解码器使用语言查询向量查询视觉记忆特征,并输出 N q N_{q} Nq 个响应以进行掩码解码。
4 实验
我们进行了大量实验,以证明我们提出的视觉语言转换器 (VLT) 对于指称分割的有效性。在本节中,我们将介绍我们的方法的实现细节、我们在实验中使用的基准,并报告我们提出的方法与其他最先进方法相比的定量和定性结果。
4.1 实现细节
实验设置。遵循先前的研究 [10]、[11],我们使用相同的实验设置。我们的框架利用在部分 MSCOCO 上预训练的 Darknet-53 [62] 作为视觉 CNN 主干。在预训练中排除了 RefCOCO 系列的验证集和测试集图像。我们使用 bi-GRU [63] 作为 RNN 实现,并使用 Glove Common Crawl 840B [64] 进行词嵌入。训练图像大小设置为 416 × 416 416\times416 416×416 像素。每个 Transformer 块有 8 个头,所有头中的隐藏层大小设置为 256。对于 RefCOCO 和 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+,我们将最大字数设置为 15,对于 G-Ref,我们将其设置为 20,因为有更多长句子。使用 Adam 优化器训练网络 50 个 epoch,学习率设置为 λ = 0.001 \lambda=0.001 λ=0.001 。在一块 32G V100 GPU 上,batch size 为 32。
指标。我们在实验中使用两个指标:掩码交并比 (IoU) 和带阈值的精度 ( Pr @ X ) (\operatorname*{Pr}@X) (Pr@X)。掩码 IoU 展示了掩码质量,它强调了模型的整体性能并揭示了定位和分割能力。 Pr @ X \operatorname*{Pr}@X Pr@X 指标计算使用不同 IoU 阈值成功预测样本的比例。低阈值精度(如 Pr @ 0.5 \operatorname*{Pr}@0.5 Pr@0.5)反映了该方法的识别性能,而高阈值精度(如 Pr @ 0.9 \operatorname*{Pr}@0.9 Pr@0.9)则揭示了生成高质量掩码的能力。
4.2 数据集
所提出的 VLT 在三个公共引用分割数据集上进行了评估:RefCOCO、RefCOCO + ^+ + [65] 和 G-Ref [66] , [67] 。
RefCOCO 和 RefCOCO+ [65] 是用于指称分割的最大两个图像数据集。在一些文献中,它们也称为 UNC 和 UNC+ 数据集。RefCOCO 数据集收集了描述 19,992 幅图像中的 50,000 个对象的 142,209 个指称语言表达,而 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+ 数据集收集了描述 19,992 幅图像中的 49,856 个对象的 141,564 个指称语言表达。两个数据集的不同之处在于 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+ 限制了语言句子的表达方式。例如,关于绝对位置的描述,如“最左边”,在 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+ 数据集中是被禁止的。
G-Ref [66],[67]。也称为 R e f C O O o g \mathrm{RefCOOog} RefCOOog,是另一个著名且公认的指称分割数据集。G-Ref 中使用了 26,711 幅图像中 54,822 个对象的 104,560 个指称语言表达。与 RefCOCO 和 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+ 不同,G-Ref 中的语言使用更加随意但复杂,G-Ref 的句子长度平均也更长。值得注意的是,G-Ref 有两个版本:一个称为 UMD 拆分 [67],另一个称为 Google 拆分 [66]。UMD 拆分的验证集和测试集均公开,但 Google 拆分仅公开其验证集。我们报告了在 UMD 和 Google 版本上提出的 VLT 的结果。
4.3 消融研究
在本节中,我们对 RefCOCO 的测试 B 进行消融研究,以证明我们在视觉语言转换器框架中提出的模块的有效性。
Transformer 与 ConvNet。为了展示我们提出的网络的规模并验证 Transformer 模块的有效性,我们在表 1 中就性能和参数大小将我们的方法与常规 ConvNet 进行了比较。在实验中,我们用七个堆叠的 3 × 3 3\times3 3×3 卷积层替换整个基于 Transformer 的模块,包括 Transformer 编码器-解码器、查询生成模块和查询平衡模块,这些卷积层具有与我们基于 Transformer 的模块相似的参数大小。它表明,基于 Transformer 的模块的参数大小仅等于 7 个卷积层,却实现了更优异的性能。Transformer 模块在 IoU 方面比 7 个卷积模块有 ∼ 5 % {\sim}5\% ∼5% 的裕度,在准确率 $@0.5 $方面有 ∼ 7 % {\sim}7\% ∼7% 的裕度。这证明了所提出的 Transformer 模块的有效性。
查询生成。在表 2 中,我们比较了不同类型的查询生成方法,包括我们提出的查询生成模块 (QGM)、语言特征 F t F_{t} Ft 作为查询和学习到的参数作为查询。查询生成模块在 IoU 方面的表现优于其他两种方法,约为 5 % − 7 % 5\%-7\% 5%−7%,在 Pr @ 0.5 \operatorname*{Pr}@0.5 Pr@0.5 方面的表现优于其他两种方法,约为 4 % - 6 % 4\%\textrm{-}6\% 4%-6%。首先,我们直接利用语言特征 F t F_{t} Ft 作为查询向量,并将它们发送到转换器解码器中。具体来说,给定的语言表达由 RNN 网络处理,然后使用每个单词的输出和整个句子的输出作为查询向量。从表 2 中可以看出,性能
表 2 提出的查询生成模块(QGM)与其他类型的查询生成方法的比较
′
′
F
t
′
′
:
{}^{\prime\prime}F_{t}{}^{\prime\prime}\colon
′′Ft′′:直接使用语言特征
F
t
F_{t}
Ft作为查询向量。“Learnt”:可学习的参数查询,在测试中是固定的,与[12]类似。
F t F_{t} Ft作为查询的性能比 QGM 差 ∼ 5 % {\sim}5\% ∼5%,这是因为单词之间的信息交换不充分,而且对语言的理解源于语言本身,正如我们在第 3.2 节中讨论的那样。所提出的查询生成模块比 ′ ′ F t ′ ′ ^{\prime\prime}F_{t}^{\;\prime\prime} ′′Ft′′作为查询的性能要好得多。这表明所提出的 QGM 能够有效地理解语言表达,并在视觉信息的指导下产生有效的注意语言特征。在实验中,我们在训练开始时设置了 16 个以均匀分布初始化的查询向量,并与网络一起训练这些查询参数。如表 2 中的“learned”所示,这些学习到的固定查询向量的性能并不令人满意,只有 58.50 58.50% 58.50,这表明这种学习到的查询参数不能像所提出的 QGM 在线生成的针对特定输入的查询那样有效地表示目标对象。
查询数量 N q N_{q} Nq。为了展示查询数量 N q N_{q} Nq对结果的影响,我们用不同数量的查询向量评估网络的结果。如表3和图12所示,虽然最终预测只需要一个分割蒙版,但多个查询可以提供不同的线索,并且可以比单个查询获得更好的结果。如表3和图12所示,通过增加查询数量 N q N_{q} Nq,性能逐渐提高,从1个查询到16个查询,性能提升了约 8 % 8\% 8%。查询数 N q N_{q} Nq大于8后,性能增益减慢,因此我们选择 N q = 16 N_{q}=16 Nq=16作为默认设置。更大的 N q N_{q} Nq 所带来的性能提升验证了所提出的 QGM 生成的多个特定于输入的查询动态地表示了语言表达的不同理解。当去掉查询平衡模块 (QBM) 时,在表 3 中标记为 ‡ \ddagger ‡,可以观察到性能下降了 1.44% IoU,这证明了所提出的 QBM 的优势。
表 3 查询数
N
q
N_{q}
Nq 的消融研究
平铺与空间动态融合。在表 4 中,我们比较了“平铺和连接”融合和我们提出的空间动态融合 (SDF)。正如我们在第 3.1 节中讨论的那样,“平铺”操作不考虑每个像素的差异,而是对图像上的所有像素使用相同的句子特征。相反,所提出的空间动态融合根据语言信息和相应像素信息之间的相互作用为每个像素定制一个独特的语言特征。如表 4 所示,与 ′ ′ T i l e ′ ′ \prime\prime\mathrm{Tile}\prime\prime ′′Tile′′ 相比,SDF 模块的性能增益为 0.84 % 0.84\% 0.84% IoU 和 1.23 % 1.23\% 1.23% Pr @ 0.5 \operatorname*{Pr}@0.5 Pr@0.5。所提出的 SDF 强调像素 / 对象之间的差异,并允许每个位置选择更具信息量的词语,从而增强多模态融合并产生更好的多模态特征。表 4 中的“Tile + C o n v × 4 ′ ′ \mathbf{+\,\,Conv}\!\times\!4^{\prime\prime} +Conv×4′′”具有与所提出的 SDF 相同数量的参数,但并未带来比“Tile”更好的性能,因为我们的网络在特征融合后已经具有连续的卷积层。
样本间学习。这里我们证明了我们提出的样本间学习方法——掩蔽对比学习(MCL)的有效性。结果如表 5 所示。首先,我们在网络训练中添加对比学习(CL)。CL 不包含被掩蔽的句子作为 SISO 样本。从表 5 a , 5\,\mathrm{a}_{,} 5a, 可以看出,在原始测试集上,CL 在 IoU 方面带来了 1.27 % 1.27\% 1.27% 的性能提升,在 Pr @ 0.5 , \operatorname*{Pr}@0.5, Pr@0.5, 方面带来了 1.04 % 1.04\% 1.04% 的性能提升,这表明样本间学习确实提高了模型的性能。此外,我们引入带有掩蔽句子的样本作为 SISO 样本,即对比学习中的正对。与没有 CL 相比,MCL 在原始数据集上带来了 1.81 % 1.81\% 1.81% IoU 的巨大性能提升。与$\mathrm{CL}相比,MCL在IoU方面进一步带来了 0.54 % 0.54\% 0.54%的性能增益
图 12. 通过增加查询数
N
q
N_{q}
Nq 来获得性能提升。
z:无查询平衡模块(QBM)。
表 5 样本间学习的消融研究
表 6 MCL 中的词语选择机制消融研究
而 Pr @ 0.5 \operatorname*{Pr}@0.5 Pr@0.5则为 0.51 % 0.51\% 0.51%,这表明在训练中引入带有掩蔽表情的样本所带来的好处。为了更好地展示模型在处理自然界中不受约束的多样化语言表达的能力,我们做了另外两个测试:1)在这些测试样本中删除给定语言表达的一些信息词,见表5a中的“Masked”;2)在两个具有不同共同线索的数据集之间进行跨数据集验证,即在RefCOCO上进行训练,而在验证集 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+上进行测试,$标为w/o C L † \mathrm{CL}^{\dagger} CL†,等等,如表 5 b ^{5\,\mathrm{b}} 5b所示。首先,如表 5 a , ^{5\;\mathrm{a,}} 5a, 所示,与原始数据集相比,w/o CL 在 Masked 测试样本上的 IoU 下降了 3.9 % 3.9\% 3.9%, Pr @ 0.5 \operatorname*{Pr}@0.5 Pr@0.5 下降了 4.82 % 4.82\% 4.82%。结果表明,w/o CL 模型过度依赖常见关键词,并且受到这些常见线索缺失的严重影响。而对于 w/
M C L , \mathrm{MCL}, MCL, Masked 验证的性能下降是
1.04 % 1.04\% 1.04%,远小于没有 C L \mathrm{CL} CL时的性能损失,证明了引入掩蔽对比学习给模型带来的鲁棒性和泛化能力。接下来,我们在表 5 b ^{5\,\mathrm{b}} 5b中的RefCOCO和 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+上做跨数据集验证。在RefCOCO中,大量样本使用绝对位置(例如“左边”、“右边”等)来描述目标物体,但在 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+中不允许这样的表述。因此,跨数据集验证很好地模拟了实际情况中训练信息和测试不一致,只有部分线索可供测试的场景。如表 5b 所示,w/ MCL y 在 IoU 方面优于 w/o C L † 3.19 % \mathrm{CL}^{\dagger}\,3.19\% CL†3.19%,在 Pr @ 0.5 , \operatorname*{Pr}@0.5, Pr@0.5, 方面优于 4.35 % 4.35\% 4.35%,这证明了该模型在处理不同于训练样本的多种语言表达时的鲁棒性和泛化能力。表 5b ^\textrm{\scriptsize5b} 5b 中的“Native”表示在 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+ 上进行训练和测试。与 w/ MCL y 和“Native”相比,我们可以看到使用 MCL 在 RefCOCO 上训练的模型实现了
图 13. MCL 中
N
D
O
N_{DO}
NDO 百分比的消融研究。
图 14. 掩蔽对比学习的示例结果。
与在 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+ 上训练的模型相比,我们在 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+ 验证集上取得了具有竞争力的结果,证明了所提出的掩蔽对比学习增强了模型在开放世界实际场景下的泛化能力。
接下来,我们对掩蔽构造学习中的单词选择机制进行消融研究。除了禁用 M C L \mathrm{MCL} MCL 的基线模型外,我们还测试了三种掩蔽单词选择方法:1)随机选择一个单词进行掩蔽,2)随机选择一个权重 a i a_{i} ai 大于阈值 θ \theta θ 的单词进行掩蔽,3)根据概率 p m p_{m} pm 掩蔽单词的建议方法。表 6 显示我们的方法优于其他掩蔽单词选择机制。
对于 M C L , \mathrm{MCL}, MCL, 中的 N D O N_{DO} NDO 设置,图 13 中的消融研究表明,当 N D O N_{DO} NDO 设置为批大小的 10 % 10\% 10% 时,网络性能达到峰值。对于 N S O , N_{SO,} NSO, ,由于对象的平均表达数量约为 3,因此在大多数情况下我们可以包含所有可用的相同对象 (SO) 样本。
在图 14 中,我们给出了定性的例子来展示掩蔽对比学习的有效性。原始输入的语言表达包含两个方面的信息:颜色 ( ′ ′ b l a c k ′ ′ ˉ ) (^{\prime\prime}black^{\bar{\prime\prime}}) (′′black′′ˉ) 和属性 ( ′ ′ c o a t ′ ′ ) (^{\prime\prime}coat^{\prime\prime}) (′′coat′′) 。没有 MCL 的模型过度依赖更明显的颜色信息 ( ′ ′ b l a c k ′ ′ ) , (^{\prime\prime}black^{\prime\prime})_{,} (′′black′′), ,因此无法预测单词何时被擦除。相比之下,具有 MCL 的模型成功地利用部分信息找到了目标,表明 MCL 增强了模型对各种语言表达的泛化能力。
我们进一步测试了我们的掩模对比学习方法的训练效率。我们在有和没有 MCL 的情况下训练网络,并报告训练期间的 GPU 内存使用情况以及批大小为
表 7 根据 IoU 和 Prec $@0.5 $对参考图像分割的结果
U:UMD 分割。G:Google 分割。在大规模视觉语言训练数据集上预训练的方法以 标记。
设置为 16。启用 MCL 后,GPU 内存使用量和平均训练速度分别为 18496MB 和 0.479 s 0.479s 0.479s /iter。未启用 MCL 时,分别为 17842MB 和 0.471s/iter。MCL 增加的训练内存和时间分别小于 4 % 4\% 4% 和 2 % , 2\%, 2%,。
4.4 与最先进的方法的比较
在这里,我们在三个常用的基准 RefCOCO、 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+ 和 G-Ref 上将所提出的视觉语言变换器 (VLT) 框架与之前最先进的参考图像分割方法进行了比较。结果报告在表 7 中。可以看出,所提出的 VLT 在这三个基准上都优于以前最先进的方法。在 RefCOCO 上,所提出的 VLT 的 IoU 性能优于其他方法,例如 LTS [22],在三个不同的测试分割上增益为 ∼ 2 % {\sim}2\% ∼2%。然后在 R e f C O C O + \mathrm{RefCOCO+} RefCOCO+ 上,所提出的 VLT 实现了新的最先进的结果,并且比以前最先进的方法好大约 2 % 2\% 2%。在具有较长语言表达的硬基准 G-Ref 上,所提出的 VLT 始终如一地实现了最新的指称分割性能,IoU 改进了约 0.5 % – 3 % 0.5\%–3\% 0.5%–3%,这表明所提出的 VLT 具有处理困难情况和长表达的良好能力。我们假设原因是,一方面,长而复杂的表达通常包含更多线索和更多强调,而我们提出的查询生成模块和查询平衡模块可以产生具有不同强调的多个理解并找到更合适的理解。另一方面,更难的案例也包含复杂的场景,需要对给定的语言表达和图像有整体的视野和理解,多头注意力作为全局运算符更适合这种复杂场景。同时,与其他具有更强主干模型的方法(例如 DeepLab-R101 [71]、MaskRCNN-R101 [34]、ResNet101 [72])相比,我们的主干模型 Darknet53 和我们提出的模块都是轻量级的。
为了与使用更强主干的方法进行比较,我们在表 7 中进一步提供了使用更强的视觉和文本编码器的结果。我们使用流行的视觉转换器主干 Swin-B [73] 作为视觉编码器,使用 BERT [42] 作为文本编码器,分别替换 Darknet53 [62] 和 bi-GRU [63]。在大规模视觉语言数据集上预训练的方法以 † , ^\dag, †, 标记,例如,MaIL [28] 采用在四个大规模视觉语言预训练数据集上预训练的 ViLT [33],CRIS [30] 采用在 400M 图像-文本对上预训练的 CLIP [35]。如表 7 所示,在预训练中未使用大规模视觉语言数据集,所提出的方法比 MaIL 和 CRIS 的性能高出约 2 % ∼ 4 % 2\%\!\sim\!4\% 2%∼4% IoU,这证明了我们提出的具有更强大的视觉和文本编码器的模块的有效性。特别地,所提出的方法 VLT 在更困难的数据集 G-Ref 上取得了更高的性能增益,该数据集具有更长的平均句子长度以及更复杂和多样化的词汇用法,例如,在 G-Ref 测试中,VLT 比 MaIL [28] 和 LAVT [29] 的 IoU 高出 ∼ 4 % {\sim}4\% ∼4% IoU。它证明了所提出的模型在处理具有大量差异的长而复杂的表达方面具有良好的能力,这主要归因于输入条件查询生成和选择能够很好地处理多样化的单词/表达,以及增强模型泛化能力的掩蔽对比学习。
4.5 定性结果与可视化
在图 15a 中,我们从 Transformer 编码器的第二层提取并可视化位置 ′ ′ P ′ ′ ^{\prime\prime}P^{\prime\prime} ′′P′′ 的注意力图。
它表明,在 Transformer 的单层中,一个输出像素的注意力全局扩展到远处的其他输入像素。我们还看到一个实例上的像素会关注其他实例,这表明我们的网络能够捕获实例之间的长距离交互。在图 15b 中,我们可视化了四个查询向量 F q F_{q} Fq(见图 6 和等式 (6))。这四个查询向量彼此不同,并且具有不同的响应峰值分布,这表明这些特定于输入的查询向量具有多样性。
然后,我们在图 16 中可视化了所提出的 VLT 的一些定性例子。为了展示我们的 VLT 的识别能力,我们展示了每个例子的两个不同输入语言表达的掩码预测。图像(a)和(c)是语言表达直接提供目标对象位置或颜色线索的两个典型例子。在图像(c)的第二个表达“浅色猫”中,可以看出所提出的 VLT 能够处理通过将目标对象与其他对象进行比较来指示目标对象的表达,例如“浅色”。图像(b)和(d)的例子展示了模型理解属性词(例如“条纹”)和相对较少见的词(例如“花卉”)的能力。在图像(e)的第二个表达中,我们的 VLT 成功地识别了描述对象之间关系的表达式所指的目标对象,即“带骑手的大象”。图像 (f) 包含一群人,其中所有实例都密集分布在复杂的布局中。所提出的方法
表 8 引用视频对象分割的结果
设法用包含多个线索方面的困难语言表达来识别目标实例,例如方向 ( ′ ′ 9 o ′ c l o c k ′ ′ ) (^{\prime\prime}9\;o^{\prime}clock^{\prime\prime}) (′′9o′clock′′)、属性(“白大褂”和“灰色西装”)和姿势(“跪下”)。
4.6 引用视频对象分割的结果
我们提出的方法也可以应用于参考视频对象分割 (RVOS) 任务,只需稍加调整即可。我们将模型应用于输入视频片段的每一帧。我们使用视频片段所有帧的平均视觉特征作为 QGM 中的视觉特征(图 6 中的 F v q F_{vq} Fvq)。这使得查询输入对于视频片段中的所有帧保持相同,从而实现跨帧的时间一致性。在对视频数据进行对比学习时,我们在初始对象的 ± 2 \pm2 ±2 个相邻帧中采样不同的对象 S D O S_{DO} SDO。由于相邻帧与原始帧共享相似的图像结构,我们可以扩大负样本的数量,同时保持与我们的图像模型相似的行为。根据实验,当仅在同一视频中采样 S D O S_{DO} SDO
图 16.(彩色效果最佳)所提出的 VLT 的定性示例。对于每个示例,第一幅图像是输入图像,第二幅和第三幅图像下的标题是给定的语言表达。
帧时, I & F \mathcal{I}\&\mathcal{F} I&F性能为 63.5,而添加 ± 2 \pm2 ±2 个相邻帧时,性能增加到 63.8。
在表 8 中,我们报告了所提出的 VLT 在 YouTube-RVOS [74] 数据集和 Ref-DAVIS17 [78] 数据集的验证集上的定量结果。YouTube-RVOS 是一个大规模引用视频对象分割基准,包含 3,978 个视频片段,约有 15K 种语言表达。基于 DAVIS17 [79] 构建的 Ref-DAVIS17 包含 90 个视频片段。结果以三个标准评估指标报告:区域相似度 I \mathcal{I} I、轮廓精度 F \mathcal{F} F,以及两个指标的平均值 I & F = ( I + F ) / 2 \mathcal{I}\&\mathcal{F}=(\mathcal{I}+\mathcal{F})/2 I&F=(I+F)/2。
为了确保公平比较,我们使用 Video Swin Transformer(V-Swin-B)[73]、[80] 的基本模型作为主干,与 ReferFormer [77] 相同。“Ensemble”表示三个主干的视觉编码器集成,包括 ResNet101 [72]、HRNet [81] 和 ResNeSt101 [82]。如表 8 所示,虽然我们没有像 ReferFormer [77] 那样为 RVOS 设计特定的模块和训练损失,但所提出的 VLT 在 YouTube-RVOS 和 Ref-DAVIS17 上均一致地实现了新的最佳 RVOS 结果,这证明了所提出的 VLT 在参考视频对象分割方面的有效性。
#5 结论
在本研究中,我们通过引入变换器来促进传统卷积网络难以实现的长距离信息交换,从而解决了指称分割这一具有挑战性的多模态任务。我们将指称分割重新表述为直接注意问题,并提出了一个利用变换器执行注意操作的视觉语言变换器(VLT)框架。为了强调像素/对象之间的差异,我们引入了一种空间动态多模态融合,根据语言信息和相应像素信息之间的相互作用,为图像特征的每个位置生成特定的语言特征向量。为了解决由于重点不明而导致指称表达歧义的问题,我们提出了一个查询生成模块和一个查询平衡模块,以便借助指称图像信息更好地理解指称句子。这两个模块协同工作,显著提高了理解图像和查询语言的方式的多样性。我们进一步考虑样本间学习,明确地赋予模型理解一个对象的不同语言表达的知识。提出了掩蔽对比表征学习,以缩小同一目标对象的不同表达特征,同时区分不同对象的特征,从而显著增强模型处理自然界中多种语言表达的能力。提出的模型轻量级,在三个公共指称图像分割数据集和两个指称视频对象分割数据集上实现了新的最佳性能。