作者

Abstract

在本文中,我们提出了一个简洁而有效的基于转换的视觉基础框架,即TransVG,以解决将语言查询与图像上相应区域的基础任务。最先进的方法,包括两阶段或一阶段的方法,依赖于一个复杂的模块和手动设计的机制来执行查询推理和多模式融合。然而,在融合模块设计中,由于查询分解和图像场景图等机制的参与,使得模型很容易过度适应特定场景的数据集,限制了视觉语言环境之间的充分交互。为了避免这种警告,我们建议通过利用Transformer建立多模态对应关系,并通过经验证明,复杂的融合模块(例如,模块化注意网络、动态图和多模态树)可以被具有更高性能的Transformer-encoder层的简单堆栈所取代。此外,我们将视觉基础重新表述为一个直接坐标回归问题,并避免对一组候选对象(即区域建议或锚定框)进行预测。在五个广泛使用的数据集上进行了广泛的实验,我们的TransVG创造了一系列最先进的记录。我们构建了基于Transformer的可视化接地框架的基准,并使代码在https://github. com/djiajunustc/TransVG。

Introduction

Visual Grounding(也称为指称expression comprehension[31,60]、phrase localization [23,38]和natural language object retrieval [21,25])旨在预测语言表达式所指区域在图像上的位置。这项技术的发展有很大潜力为自然语言表达和物质世界的视觉成分提供智能接口。
解决此任务的现有方法可以大致分为两阶段和一阶段管道,如图1所示。具体而言,两阶段方法[31,34,46,60]首先生成一组稀疏区域建议,然后利用区域表达式匹配找到最佳建议。单阶段方法[9,27,56]在对象检测器的中间层执行视觉语言融合,并在预定义的密集anchors上以最大分数输出框。

多模态融合与推理在文献[1,35,49,54,65]中得到了广泛的研究,是视觉基础研究的核心问题。一般来说,早期的两阶段和两阶段方法以简单的方式处理多模态融合。具体而言,两阶段相似网络[46]使用MLP测量区域和表达式嵌入之间的相似性,一阶段FAOA[56]通过直接级联将语言向量编码为视觉特征。这些简单的设计是有效的,但会导致次优结果,特别是在长而复杂的语言表达式上。下面的研究提出了不同的体系结构来提高性能。在两阶段方法中,模块化注意网络[59]、各种图[48,52,53]和多模态树[28]被设计用于更好地建模多模态关系。单阶段方法[55]还通过提出多轮融合模块探索了更好的查询建模。
尽管效果很好,但这些复杂的融合模块是基于特定预定义的语言查询或图像场景结构构建的,其灵感来自于人类的先验知识。通常,人工设计的机制参与到融合模块中会使模型过度适应特定场景,例如特定的查询长度和查询关系,并限制可视化语言上下文之间的充分交互。此外,尽管视觉基础的最终目标是定位所引用的对象,但以前的大多数方法都以间接方式将查询对象基础化。它们通常定义语言引导的候选预测、选择和细化的代理问题。通常,候选区域为稀疏区域方案[60,31,46]或密集锚[56],从中选择并优化最佳区域以获得最终接地盒。由于这些方法的预测是由候选对象做出的,因此性能很容易受到生成建议(或预定义锚)的先验知识和为候选对象分配目标的启发式方法的影响。
在本研究中,我们探索了一种避免上述问题的替代方法。形式上,我们引入了一个简洁新颖的基于转换器的框架,即TransVG,以有效地解决Visual grounding的任务。我们的经验表明,结构化的融合模块可以被transformer encoder层的简单堆栈所取代。特别是,Transformer的核心部分(即attention层)已经准备好跨视觉和语言输入建立模态内和模态间的对应关系,尽管我们没有预先定义任何特定的融合机制。此外,我们发现直接回归盒坐标比以前的方法更能间接地对查询对象进行grounding处理。我们的TransVG直接输出4维坐标以使对象接地,而不是基于一组候选框进行预测。
我们提议的TransVG管道如图1(c)所示。我们首先将RGB图像和语言表达式输入到两个兄弟分支中。在这两个分支中分别应用视觉transformer和语言transformer对视觉域和语言域中的全局线索进行建模。然后,将抽象的视觉标记和语言标记进行融合,利用视觉语言transformer进行跨模态关系推理。最后,将参考对象的盒坐标直接回归,进行grounding。我们在五个流行的视觉基础数据集上对我们的框架进行基准测试,包括ReferItGame[23]、Flickr30K实体[38]、RefCOCO[60]、RefCOCO[60]、Refcolog[31],我们的方法设置了一系列最先进的记录。值得注意的是,我们提出的TransVG达到了70.73%, 79. 10%和78.35%在ReferItGame、Flickr30K和RefCOCO数据集的测试集,与实力最强的竞争对手相比,提高了6.13%,5.80%和6.05%。

  • In all,我们的贡献有以下三点:

    • 我们提出了第一个基于transformer的可视接地框架,该框架拥有更整洁的体系结构,但比流行的单阶段和两阶段框架实现了更好的性能。
    • 我们提出了一个优雅的观点,即通过transformer均匀地捕获模态内和模态间的上下文,并将视觉接地描述为一个直接坐标回归问题。
    • 我们进行了大量的实验来验证我们的方法的优点,并在几个流行的基准上显示了显著改进的结果。

Related work

2.1Visual Grounding

视觉基础的最新进展可以大致分为两个方向,即:两阶段法[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.2Transformer

Transformer首次提出在[45],以解决神经机器翻译(NMT)。Transformer层的主要组件是attention模块,它并行扫描输入序列,并使用自适应权重聚合整个序列的信息。与RNN中的循环单元相比[18,32,44],注意机制在处理长序列时表现出更好的性能。这种优势引起了人们对Transformer在NLP任务[11,12,39,66]和语音识别[33,50]中应用的研究兴趣。

Transformer In Vision tasks

受Transformer在神经机器翻译中的巨大成功的启发,提出了一系列适用于视觉任务的Transformer[5、6、8、14、22、51、62、67 ]。深入的工作DETR[5]将目标检测作为一个集预测问题。它引入了一小组可学习的对象查询,利用注意机制解释全局上下文和对象关系,并并行输出最终的预测集。ViT[14]表明,纯Transformer可以在图像分类任务上实现优异的性能。最近,在[6]中引入了预训练图像处理转换器(IPT),以解决低级视觉问题,例如: denoising, super-resolution and deraining。

Transformer in Vision-Language Tasks

在BERT[12]强大的预训练模型的推动下,一些研究人员开始研究视觉语言预训练(VLP)[10,26,30,43,57],以联合表示图像和文本。通常,这些模型将对象建议和文本作为输入,并设计多个transformer-encoder层用于联合表示学习。引入了大量的预训练任务,包括图像文本匹配(ITM)、词区域对齐(WRA)、蒙蔽语言建模(MLM)、蒙蔽区域建模(MRM)等,尽管基本单元(即transformer编码器层)相似,VLP的目标是学习具有大规模数据的通用视觉语言表示,以促进下游任务。相比之下,我们专注于开发一种新的基于transformer的可视接地框架,并学习使用少量可视接地数据执行同构多模态推理。

3 Transformers for Visual grounding

这项工作中,我们提出了Visual grounding Transformer(TransVG),这是一种基于transformer编码器堆栈和直接盒坐标预测的Visual grounding任务的新框架。如图2所示,给定一个图像和一个语言表达式作为输入,我们首先将它们分成两个兄弟分支,即。视觉分支和语言分支,生成视觉和语言特征嵌入。然后,我们将多模态特征嵌入到一起,并附加一个可学习标记(称为[REG]标记)来构造视觉语言融合模块的输入。视觉语言Transformer利用自我注意机制对语内和语间语境进行建模,将不同语态的输入标记均匀地嵌入到一个共同的语义空间中。最后,利用[REG]token的输出状态直接预测预测头中参考对象的4维坐标。
在下面的小节中,我们首先回顾了Transformer的初步设计,然后详细阐述了用于视觉接地的Transformer设计。

3.1Preliminary准备

在详细介绍TransVG的体系结构之前,我们简要回顾了[45]中提出的用于机器翻译的传统Transformer。Transformer的核心部件是注意力机制。给定查询嵌入fq、密钥嵌入fk和值嵌入fv,单个头部注意层的输出计算如下:
式中dkd^{k}dk为fkf^{k}fk的channel dimension。与经典的神经序列转导模型类似,传统的Transformer具有编码器-解码器结构。然而,在我们的方法中,我们只使用transformer编码器层。

具体地说,每个Transformer编码器层有两个子层,即,一个多头自我注意层和一个简单的前馈网络(FFN)。多头注意是单头注意的一种变体(如函数1),selfattention表示查询、键和值来自同一个嵌入集。FFN是由完全连接层和ReLU激活层组成的MLP。
在Transformer Encoder层中,每个子层被放入residual structure残余结构中,其中在残余连接之后执行层归一化[2]。让我们将输入表示为xn,Transformer Encoder层中的过程为:
LN(·)表示层规范化,FMSA(·)表示多头自注意层,FFFN(·)表示前馈网络。

3.2TransVG Architecture

如图2所示,TransVG中有四个主要组件:(1)视觉分支,(2)语言分支,(3)视觉语言融合模块,(4)预测头。

Visual Branch

可视分支从卷积主干网络开始,然后是可视转换器。我们利用常用的ResNet[16]作为骨干网络。视觉Transformer由6个Transformer encoder层组成。每个Transformer encoder层包括一个多头自关注层和一个FFN。在多头注意层中有8个头,在FFN中有2个FC层,后面是ReLU激活层。这两个FC层的输出通道尺寸分别为2048和256。
给定一个图像z0∈R3×H0×W0z_{0}∈R^{3×H0×W0}z0​∈R3×H0×W0作为该分支的输入,我们利用主干网络生成二维特征映射z∈RC×H×Wz∈R^{C×H×W}z∈RC×H×W。通常,通道尺寸CIS2048以及2D特征图的宽度和高度为原始图像尺寸(H=H032,W=W032)的132。然后,我们利用a1×1共旋层来减小ZTOCV=256的通道尺寸,得到z0∈RCv×H×Wz0∈RCv×H×Wz0∈RCv×H×W。由于Transformer Encoder层的输入预期为1D矢量序列,因此我们进一步将Z‘’展平Zv∈RCv×NvZ_{v}∈R^{Cv×N_{v}}Zv​∈RCv×Nv​,其中Nv=H×w是输入token的数量。为了使视觉变换器对输入标记的原始2D位置敏感,我们按照[5,36]使用正弦空间位置编码作为视觉特征的补充。具体地说,位置编码与查询和密钥嵌入一起添加到每个Transformer Encoder层。视觉转换器并行进行全局视觉上下文推理,并输出与ZV形状相同的高级视觉嵌入FV。

Linguistic Branch

语言分支是视觉分支的兄弟。我们的语言分支包括一个标记嵌入层和一个语言转换器。为了充分利用预训练的Bert模型[12],该分支的体系结构遵循Bert系列基本模型的设计。通常,语言转换器中有12个转换器编码器层。语言转换器的输出通道维度是Cl=768。
给定一个语言表达式作为该分支的输入,我们首先将每个单词ID转换为one-hot向量。然后,在token嵌入层,我们通过查找token表将每个热向量标记为语言token。我们遵循机器翻译[11,12,39,45]中的常见做法,在标记化语言表达式的开始和结束位置添加[CLS]标记和[SEP]标记。然后,我们将语言标记作为语言转换器的输入,生成高级语言嵌入fl∈RCl×Nlf_{l}∈\R^{C_{l}×N_{l}}fl​∈RCl​×Nl​,其中Nl是语言标记的数量。

Visual-linguistic Fusion Module

视觉语言融合模块(简称V-L模块)作为我们模型中融合多模态语境的核心组件,其体系结构简单而优雅。具体而言,V-L模块包括两个线性投影层(每个模态一个)和一个视觉语言转换器(具有6个转换器-编码器层的堆栈)。
给定Advanced visual token fv∈R256×Nvf_{v}∈\R^{256×N_{v}}fv​∈R256×Nv​脱离视觉分支和Advanced linguistic tokenfl∈R768×Nlf_{l}∈\R^{768×N_{l}}fl​∈R768×Nl​在语言分支之外,我们应用线性投影层将它们投影到具有相同通道维数的嵌入中。我们表示投影视觉嵌入和语言嵌入pv∈RCp×Nvp_{v}∈\R^{C_{p}×N_{v}}pv​∈RCp​×Nv​和pl∈RCp×Nlp_{l}∈\R^{C_{p}×N_{l}}pl​∈RCp​×Nl​,其中Cp=256C_{p}=256Cp​=256。然后,我们预先将可学习嵌入(即[REG]标记)添加到pvp_{v}pv​和plp_{l}pl​,并将视觉语言转换器的联合输入标记表示为:
其中pr∈RCp×1p_{r}∈\R^{C_{p}×1}pr​∈RCp​×1表示[REG]token。[REG]token在训练阶段开始时随机初始化,并使用整个模型进行优化。
在获得输入x0∈RCp×(Nv+Nl+1)x_{0}∈\R^{Cp×(N_{v}+N_{l}+1)}x0​∈RCp×(Nv​+Nl​+1)之后,在如上所述的联合嵌入空间中,我们通过同构方式执行模态内和模态间关系推理,将视觉语言转换器嵌入到公共语义空间中。为了保留位置和模态信息,我们将可学习的位置编码添加到每个transformer编码器层的输入中。
由于注意机制,可以在来自联合实体的每对token之间自由地建立对应关系,而不管它们的模态如何。例如,视觉标记可以关注视觉标记,也可以自由关注语言标记。典型地,[REG]标记的输出状态发展了一种通过视觉和语言上下文丰富的统一表示,并进一步用于框坐标预测。

Prediction Head

我们利用来自V-L模块的[REG]token的输出状态作为预测头的输入。为了执行框坐标预测,我们将回归块附加到[REG]标记。回归块由具有两个ReLU激活的256dim隐藏层和一个线性输出层的MLP实现。预测头的输出是4维框坐标。

3.2 Training Objective

与许多以前基于一组候选对象(即两阶段方法中的区域建议和一阶段方法中的锚定框)对参考对象进行接地的方法不同,TransVG直接推断一个4维向量作为要接地框的坐标。这简化了培训阶段的目标分配和正负示例挖掘过程,但也涉及到规模问题。具体地说,广泛使用的平滑L1损失往往是一个较大的预测误差,而当我们试图预测一个较小的损失时,即使它们的预测具有相似的相对误差,它也会变小。
为了解决这个问题,我们通过图像的比例标准化地面真值框的坐标,并涉及广义IoU损失[41](GIoU损失),它不受比例的影响。
让我们用b=(x,y,w,h)b=(x,y,w,h)b=(x,y,w,h)表示预测,用b^=(x^,y^,w^,h^)\hat{b}=(\hat{x},\hat{y},\hat{w},\hat{h})b^=(x^,y^​,w^,h^)表示归一化地面真值框。我们TransVG的训练目标是:

其中,Lsmooth−l1(⋅)L_{smooth-l1}(·)Lsmooth−l1​(⋅)和Lgiou(⋅)L_{giou}(·)Lgiou​(⋅)分别是平滑l1损失和GIoU损失。λλλ是GIoU损失的权重系数,用于平衡这两种损失。

Experiment

Ablation Study

我们展示了图3中RefCOCOg[31]测试集的四个示例的定性结果。我们观察到,我们的方法可以成功地建模具有复杂关系的查询,例如。G图3(c)中的“橙子夹在其他橙子和香蕉之间”。图3的第一行显示了[REG]标记对视觉语言转换器中视觉标记的注意。TransVG在与整体对象形状和位置相对应的参考对象上生成可解释的注意。

基于视觉注意和预测区域之间的对应关系,我们将[REG]标记的注意分数可视化到视觉语言转换器中间层的视觉标记上,以更好地理解TransVG。图4显示了[REG]标记在来自第二、第四和第六transformer编码器层的可视标记上的注意分数。在早期层(layer2),我们观察到[REG]标记捕获了全局上下文通过关注整个图像中的多个区域。在中间层(Layer-4)中,[Reg ]token趋向于参加与参考对象密切相关的判别区域(例如,在第一示例中的人后面的总线,指示场景在道路上)。在最后一层(第6层),TransVG关注参考对象,并为对象的形状生成更准确的注意力预测,从而使模型能够正确回归目标的坐标。

Conclusion

在本文中,我们提出了TransVG,一个基于Transformer的可视化接地框架。TransVG没有利用复杂的手动设计的融合模块,而是使用一个简单的Transformer编码器堆栈来执行多模式融合,并对视觉接地任务进行推理。大量实验表明,TransVG的多模态Transformer层有效地执行了逐步融合和推理,使TransVG能够在多个数据集上设置一系列新的最新记录。我们的TransVG作为一个新的框架,展示了未来研究的巨大潜力。

论文:TransVG: End-to-End Visual Grounding with Transformers相关推荐

  1. Dynamic MDETR: A Dynamic Multimodal Transformer Decoder for Visual Grounding 论文阅读笔记

    Dynamic MDETR: A Dynamic Multimodal Transformer Decoder for Visual Grounding 论文阅读笔记 一.Abstract 二.引言 ...

  2. One-Stage Visual Grounding via Semantic-Aware Feature Filter

    **本文内容仅代表个人理解,如有错误,欢迎指正** 隐约感觉到最近看的几篇论文都指出之前One-stage visual grounding methods大多利用pre-trained BERT将q ...

  3. One-Stage Visual Grounding论文汇总

    目录 现有方法 2017 arXiv 题目 动机 简介 2017 CVPR 题目 动机 简介 2017 CVPR 题目 动机 简介 2017 IJCAI 题目 动机 简介 2018 arXiv 题目 ...

  4. ECCV 2020 《Propagating Over Phrase Relations for One-Stage Visual Grounding》论文笔记

    目录 简介 动机 贡献 方法 实验 简介 本文出自香港大学的sibei,二作是中山大学李冠斌老师 下载链接 动机 Phrase level visual grounding具有两个challenge: ...

  5. ECCV 2020 《Improving One-stage Visual Grounding by Recursive Sub-query Construction》论文笔记

    目录 简介 动机 贡献 方法 实验 简介 本文出自罗彻斯特大学+腾讯AI Lab 下载链接 动机 现有的visual grounding方法可以分为两类:一阶段.两阶段.本文面向一阶段方法,提升现有方 ...

  6. 国科大港中文提出带视觉语言验证和迭代推理的Visual Grounding框架,性能SOTA,代码已开源!(CVPR2022)...

    关注公众号,发现CV技术之美 本文分享 CVPR 2022 的一篇论文『Improving features Visual Grounding with Visual-Linguistic Verifi ...

  7. One-Stage Visual Grounding之一种快速准确的单阶段视觉定位

    One-Stage Visual Grounding之一种快速.准确的单阶段视觉定位方法 前言 两阶段框架存在的缺陷 单阶段视觉定位的优点 单阶段视觉定位的方法 视觉和文本特征编码 空间特征编码 融合 ...

  8. CVPR2013一些论文集合供下载(visual tracking相关)

    CVPR2013一些论文集合供下载(visual tracking相关) zouxy09@qq.com http://blog.csdn.net/zouxy09 看到CVPR2013很多作者都开放了他 ...

  9. CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》

    CLIP论文笔记--<Learning Transferable Visual Models From Natural Language Supervision> 1.Introducti ...

最新文章

  1. 爬虫实战:要不是热爱学习,谁会爬小姐姐。分析Ajax来爬取今日头条街拍美图(python)
  2. 看到腾讯反驳360的文章,笑死我了。
  3. 我如何看Spring5?
  4. black.lst 丢失或被破坏,怎么解决
  5. LAMP部署脚本--安装篇
  6. EasyUI 验证框使用方法
  7. pytorch学习笔记(三十四):MiniBatch-SGD
  8. python—模块-sys
  9. 设计没有标准,只有目标
  10. 操作系统Clock算法
  11. JDK 动态代理和CGLIB 动态代理
  12. 谈一谈今年的移动互联网寒冬
  13. 智能合约漏洞,公链的阿喀琉斯之踵
  14. Eureka Client 源码解析
  15. fastdfs断点续传
  16. python 获取图像亮度和锐度,pytesseract 获取图片上字符串,及增加亮度,色感,对比度,锐度...
  17. 金山wps支持java接口开发吗_金山wps开放平台使用踩坑实录
  18. R语言的饼图 Pie Chart
  19. 光谱相似指数Spectral Similarity Index(SSI)计算
  20. mysql数据库表插入数据

热门文章

  1. 【TED】How to get better at the things you care about?
  2. iOS启动优化之——如何使用Xcode Log、App Launch、代码来计算启动时间 Launch Time
  3. FormData对象用法
  4. 安全合规/GDPR--21--我们是如何开展PTA、PIA、DPIA风险评估的
  5. android am 拨打电话,adb 之android的神器am
  6. 解决Max retries exceeded with url的问题
  7. 摄影测量-后方交会与前方交会,相对定向与绝对定向,光束法
  8. Diffusion-weighted in MRI 学习笔记
  9. c++继承---私有继承
  10. Modelsim中do文件的使用、读写文件数据