系列文章目录
文章目录
摘要
在本文中,我们提出了一个整洁而有效的基于Transformer框架的视觉定位,即transVG,解决定位的语言查询到相应的区域到图像上的任务。现有的方法包括两阶段或一阶段的方法,都依赖于一个复杂的模块和人工设计的机制来执行查询推理和多模态融合。然而,融合模块设计中的查询分解、图像场景图等机制的引入,使得模型容易过拟合到特定场景的数据集,限制了视觉-语言上下文之间充分的交互。为了避免这种警告,我们建议通过利用变换器来建立多模态对应关系,并且经验地表明,复杂的融合模块(例如,模块化注意力网络、动态图和多模态树)可以由具有更高性能的简单的transformer编码器层堆栈来代替。此外,我们将视觉基础重新公式化为直接坐标回归问题,并避免从一组候选者中进行预测(即,区域建议或锚框)。在五个广泛使用的数据集上进行了大量的实验,并通过我们的TransVG设置了一系列最先进的记录。我们构建了基于transformer的可视化接地框架的基准测试,并将代码发布在https://github.com/djiajunustc/TransVG.上。
1.引言
视觉基础(也称为指称表达理解[31,60],短语定位[23,38]和自然语言对象检索[21,25])旨在预测语言表达所指区域在图像上的位置。这种技术的发展具有巨大的潜力,可以为人类的自然语言表达和物理世界的视觉组件提供智能接口。现有的解决这一任务的方法可以大致分为两个阶段和一个阶段的管道如图1所示。具体来说,两阶段方法[31,34,46,60]首先生成一组稀疏区域建议,然后利用区域表达式匹配来找到最佳建议。一阶段方法[9,27,56]在对象检测器的中间层执行视觉语言融合,并输出在预定义密集锚点上具有最大分数的框。
图1.比较(a)两级流水线、(B)一级流水线和(c)我们建议的TransVG框架。TransVG以同构的方式利用Transformer层堆栈进行模态内和模态间关系推理,并通过直接回归箱体坐标的方式对对象进行接地。
多模态融合与推理在文献[1,35,49,54,65]中得到了广泛的研究,它是视觉基础中的核心问题。通常,早期的两阶段和一阶段方法以简单的方式解决多模态融合。具体地说,两阶段相似性网络[46]用MLP测量区域和表达式嵌入之间的相似性,一阶段FAOA [56]通过直接连接将语言向量编码为视觉特征。这些简单的设计是有效的,但导致次优的结果,特别是在长而复杂的语言表达式。以下研究提出了不同的架构,以提高性能。在两阶段方法中,模块化注意力网络[59],各种图[48,52,53]和多模态树[28]被设计用于更好地建模多模态关系。单阶段方法[55]还通过提出多轮融合模块来探索更好的查询建模。
尽管有效,这些复杂的融合模块是建立在某些预定义的结构的语言查询或图像场景,灵感来自人类的先验。通常,在融合模块中手动设计的机制的参与使得模型过拟合特定的场景,如某些查询长度和查询关系,并限制了视觉语言上下文之间的充分的交互。此外,即使视觉定位的最终目标是本地化所引用的对象,大多数以前的方法定位查询对象通过一个间接的方式。它们通常定义语言引导的候选预测、选择和细化的代理问题。通常,候选者是稀疏区域建议[60,31,46]或密集锚点[56],从中选择最佳区域并进行优化以获得最终的定位边界框。由于这些方法的预测是由候选人做出的,因此性能很容易受到先验知识的影响,以生成建议(或预定义的锚点)和给候选人分配目标。
在这项研究中,我们探索了一种替代方法来避免上述问题。形式上,我们引入了一个整洁和新颖的基于Transformer的框架,即transVG,有效地解决视觉定位的任务。我们的经验表明,结构化的融合模块可以被替换为一个简单的堆栈的Transformer编码器层。特别是Transformer的核心部件(即,注意力层)准备建立跨视觉和语言输入的模态内和模态间对应,尽管我们没有预定义任何特定的融合机制。此外,我们发现,直接回归边界框坐标的工作比以前的方法间接定位的查询对象更好。我们的TransVG直接输出4-dim坐标来使对象接地,而不是基于一组候选框进行预测。
我们提出的TransVG的流水线如图1(c)所示。我们首先将RGB图像和语言表达式馈送到两个兄弟分支中。在这两个分支中分别采用了视觉Transformer和语言Transformer对视觉和语言域的全局线索进行建模。然后,将抽象的视觉和语言标记融合,利用视觉-语言Transformer进行跨模态关系推理。最后,直接回归所指对象的边界框坐标,进行定位。我们在五个流行的视觉基础数据集上对我们的框架进行了基准测试,包括ReferItGame [23],Flickr 30 K Entities [38],RefCOCO [60],RefCOCO+ [60],RefCOCOg [31],我们的方法创造了一系列最先进的记录。值得注意的是,我们提出的TransVG在ReferItGame,Flickr 30 K和RefCOCO数据集上的测试集上分别达到了70.73%,79.10%和78.35%,与最强的竞争对手相比,分别有6.13%,5.80%,6.05%的绝对改进。
总之,我们做出了三方面的贡献:·我们提出了第一个基于transformer的框架用于视觉基础,它拥有更整洁的架构,但比流行的一阶段和两阶段框架实现了更好的性能。·我们提出了一个优雅的观点,通过transformers均匀地捕获模态内和模态间上下文,并将视觉基础制定为直接坐标回归问题。·我们进行了大量的实验来验证我们的方法的优点,并在几个流行的基准测试中显示出显着的改进结果。
2.相关工作
2.1.视觉定位
视觉定位的最新进展可以大致分为两个方向,即,两步法[19,20,28,46,48,52,59,63,68]和一步法[9,27,42,55,56]。我们在下面简要地回顾一下。
两阶段方法。两阶段方法的特征在于,在第一阶段中生成区域提议,然后在第二阶段中利用语言表达来选择最佳匹配区域。通常,使用无监督方法[37,46]或预先训练的对象检测器[59,63]来生成区域提议。在第二阶段中应用二元分类[46,64]或最大间隔排序[31,34,47]的训练损失,以最大化肯定的对象-查询对之间的相似性。先锋研究[31,47,60]采用两阶段框架获得了良好的结果。MattNet [59]的早期工作引入了模块化设计,并通过更好地对主题、位置和关系相关语言描述进行建模来提高定位精度。最近的一些研究通过更好地建模对象关系[28,48,52]、加强对应学习[29]或利用短语同现[3,7,13]来进一步改进两阶段方法。
单阶段方法。单阶段方法避免了两阶段方法中计算密集的目标方案生成和区域特征提取。相反,语言上下文与视觉特征密集地融合,并且语言相关的特征图被进一步用于以滑动窗口的方式执行边界框预测。开创性的工作FAOA [56]将文本表达式编码为语言向量,并将语言向量融合到YOLOv3检测器[40]中,以使所引用的实例定位。RCCF [27]将视觉定位问题表述为相关滤波过程[4,17],并选取相关热图的峰值作为目标对象的中心。最近的工作ReSC [55]设计了一个递归子查询构造模块,以解决FAOA [56]在基础复杂查询上的局限性。
2.2.Transformer
Transformer在[45]中首次提出,用于解决神经机器翻译(NMT)。Transformer层的主要组件是attention模块,它并行扫描输入序列,并使用自适应权重聚合整个序列的信息。与RNN中的递归单元相比[18,32,44],注意力机制在处理长序列时表现出更好的性能。这种优越性吸引了大量的研究兴趣,将Transformer应用于NLP任务[11,12,39,66]和语音识别[33,50]。
Vision任务中的Transformer。受神经机器翻译中变换器的巨大成功的启发,已经提出了一系列应用于视觉任务的变换器[5,6,8,14,22,51,62,67]。深入的工作DETR [5]将目标检测公式化为集合预测问题。它引入了一小部分可学习的对象查询,利用注意机制推理全局上下文和对象关系,并并行输出最终的预测集。ViT [14]表明,纯Transformer可以在图像分类任务中实现出色的性能。最近,在[6]中引入了预训练的图像处理Transformer(IPT),以解决低级视觉问题,例如,去噪、超分辨率和去噪。
视觉语言任务中的Transformer。受BERT [12]强大的预训练模型的启发,一些研究人员开始研究视觉语言预训练(VLP)[10,26,30,43,57]以联合表示图像和文本。一般来说,这些模型将对象建议和文本作为输入,并设计几个Transformer编码器层用于联合表示学习。介绍了大量的预训练任务,包括图像-文本匹配(ITM),词区域对齐(WRA),掩蔽语言建模(MLM),掩蔽区域建模(MRM)等。
虽然具有类似的基本单元(即Transformer编码器层),但VLP的目标是学习具有大规模数据的可概括的视觉语言表示,以促进下游任务。相比之下,我们专注于开发一种新的基于transformer的视觉定位框架,并学习使用少量的视觉定位数据执行同质多模态推理。
3.用于视觉定位的Transformer
在这项工作中,我们提出了视觉定位变压器(TransVG),这是一种用于视觉定位任务的新型框架,基于一堆具有直接框坐标预测的Transformer编码器。如图2所示,给定图像和语言表达式作为输入,我们首先将它们分成两个兄弟分支,即,视觉分支和语言分支,以生成视觉和语言特征嵌入。然后,我们将多模态特征嵌入在一起,并附加一个可学习的令牌(名为[REG]令牌)来构建视觉语言融合模块的输入。视觉语言转换器Transformer通过自注意机制对模态内和模态间语境进行建模,将来自不同模态的输入标记均匀地嵌入到一个公共的语义空间中。最后,利用[REG]令牌的输出状态直接预测预测头中引用对象的4维坐标。
在下面的小节中,我们首先回顾了Transformer的初步设计,然后详细阐述了我们的视觉定位变压器设计。
图2.我们提议的TransVG框架概述。它由四个主要部分组成:(1)视觉分支,(2)语言分支,(3)视觉-语言融合模块,(4)用于回归框坐标的预测头。
3.1.初步
在详细介绍TransVG的架构之前,我们简要回顾一下[45]中提出的用于机器翻译的传统Transformer。Transformer的核心组件是注意力机制。给定查询嵌入 f q \boldsymbol{f}^{q} fq、键嵌入 f k \boldsymbol{f}^k fk和值嵌入 f v \boldsymbol{f}^v fv,单头注意力层的输出计算为:
其中 d k d^k dk是 f k f^k fk的沟道尺寸。与经典的神经序列转导模型相似,传统的Transformer具有编码器-解码器结构。然而,在我们的方法中,我们仅使用Transformer编码器层。
具体地,每个Transformer编码器层具有两个子层,即,多头自注意层和简单前馈网络(FFN)。多头注意力是单头注意力的变体(如函数1),自注意力表示查询,键和值来自同一个嵌入集。FFN是一个由全连接层和ReLU激活层组成的MLP。
在Transformer编码器层中,每个子层都被放入残差结构中,其中在残差连接之后执行层归一化[2]。让我们将输入表示为xn,Transformer编码器层中的过程是:
其中 L N ( ⋅ ) LN(·) LN(⋅)表示层归一化, F M S A ( ⋅ ) \mathcal{F}_{\mathrm{MSA}}\!\left(\cdot\right) FMSA(⋅)是多头自注意层, F F F N ( ⋅ ) \mathcal{F}_{\mathrm{FFN}}\!\left(\cdot\right) FFFN(⋅)表示前馈网络。
3.2.TransVG架构
如图2所示,TransVG中有四个主要组件:(1)视觉分支,(2)语言分支,(3)视觉-语言融合模块,以及(4)预测头。
视觉分支。视觉分支从卷积主干网络开始,然后是视觉Transformer。我们利用常用的ResNet [16]作为骨干网络。视觉Transformer由6个Transformer编码器层的堆栈组成。每个Transformer编码器层包括多头自注意层和FFN。在多头注意层中有8个头,并且在FFN中有2个FC层,其后是ReLU激活层。这2个FC层的输出通道尺寸分别为2048和256。
给定图像 z 0 ∈ R 3 × H 0 × W c z_{0}\ \in\ \mathbb{R}^{
{3}\times H_{0}\times W_{c}} z0 ∈ R3×H0×W