MDETR 论文翻译及理解

  • 题目
  • Abstract
  • 1. Introduction
  • 2. Method
    • 2.1. Background
    • 2.2. MDETR
      • 2.2.1 Architecture
      • 2.2.2 Training
  • 3. Experiments
    • 3.1. Pre-training Modulated Detection 预训练调制检测
    • 3.2. Downstream Tasks
      • 3.2.1 Few-shot transfer for long-tailed detection
  • 4. Related work
  • 5. Conclusion
  • Acknowledgements 致谢
  • 附录 A. Model details and hyperparameters
  • 附录 B. CLEVR Experiments
  • 附录 C. Dataset constructions

题目

MDETR - Modulated Detection for End-to-End Multi-Modal Understanding

MDETR - 用于端到端多模态理解的调制检测
论文下载地址:https://arxiv.org/abs/2104.12763

Abstract

【发现问题】 多模态推理系统 依靠预先训练的目标检测器从图像中提取感兴趣的区域。然而,这个关键模块通常用作黑匣子,独立于 下游任务 并在对象和属性的固定词汇上进行训练。这使得此类系统很难捕获以自由形式文本表达的视觉概念的长尾。

以自由形式文本表达的视觉概念的长尾,是指有很多不常见的视觉概念,它们可以用各种不同的方式来用文本描述,但是它们的出现频率很低,而且很难用固定的词汇来表示。

  • 例如,如果用户输入的文本是“一只穿着西装的猴子在打电话”,那么这个文本描述了一个不常见的视觉概念,它包含了猴子、西装和电话这三个对象,以及穿着和打电话这两个动作。这个视觉概念的长尾是指,这种组合在图像中很少出现,而且很难用一个固定的标签来表示,比如“猴子-西装-电话”。
  • 这样,如果一个多模态推理系统使用了一个预先训练的目标检测器,它可能无法识别出这个视觉概念,因为它不在目标检测器的词汇表中。这就导致了多模态推理系统的性能下降,因为它无法根据图像和文本的信息来进行推理和回答问题。

【论文目的和贡献】 在本文中,我们提出了 MDETR,这是一种端到端调制检测器,它可以根据一个原始文本查询(如一个标题或一个问题)来检测图像中的对象。我们使用基于变压器的架构,通过在模型的早期阶段融合两种模式来对文本和图像进行联合推理。

MDETR 模型可以根据用户输入的一段文本,比如一个标题或一个问题,来在图像中找出与文本相关的对象,并用边框标出它们的位置。

  • 例如,如果用户输入的文本是“一只狗在草地上玩球”,那么 MDETR 模型可以在图像中检测出狗、草地和球,并用不同颜色的边框分别标出它们。
  • 这样,用户就可以直观地看到文本和图像之间的对应关系。

【论文方法和数据】 我们在 1.3M 个文本-图像对上对网络进行预训练,这些文本-图像对是从预先存在的多模态数据集中挖掘的,这些数据集在文本中的短语和图像中的对象之间具有明确的对齐关系。然后,我们对几个下游任务进行微调,【论文结果和评价】 例如短语基础、指称表达理解和分割,在流行的基准上实现最先进的结果。我们还研究了我们的模型作为给定标签集上的对象检测器在几次镜头设置中进行微调时的实用性。我们表明,我们的预训练方法提供了一种处理具有很少标记实例的对象类别长尾的方法。我们的方法可以轻松扩展到视觉问答,在 GQA 和 CLEVR 上实现有竞争力的表现。

VQA 视觉问答,是一种结合了计算机视觉和自然语言处理的任务,它要求模型能够根据图像的内容来回答问题。

  • GQA 和 CLEVR 是两个用于测试视觉问答(VQA)的数据集,它们都包含了一些图像和与图像相关的问题和答案。

  • GQA 是一个新的数据集,它的特点是包含了一些复合的问题,它们需要对图像中的对象和场景进行推理和分析。GQA 还提供了图像的场景图,它是一种表示图像中对象和关系的结构化数据。GQA 的目的是解决之前的数据集的一些局限性,比如使用语义和语言先验,以及测试模型在不同的问题类型和场景下的性能和行为。

  • CLEVR 是一个早期的数据集,它的特点是包含了一些合成的图像,它们由不同的几何形状和颜色组成。CLEVR 的问题也是合成的,它们涉及到一些逻辑、算术和比较的操作。CLEVR 的目的是测试模型的视觉和语言理解能力,以及它们的推理能力。

【论文可用性和链接】 代码和模型可在 https://github.com/ashkamath/mdetr 获取。

1. Introduction

对象检测构成了大多数最先进的多模态理解系统的组成部分 [6, 28],通常用作黑盒来检测图像中概念的固定词汇,然后进行多模态对齐。这种“管道”方法限制了与其他模式作为上下文的协同训练,并限制下游模型只能访问检测到的对象,而不能访问整个图像。此外,检测系统通常是冻结的,这阻碍了模型感知能力的进一步细化。在视觉语言设置中,它意味着将所得系统的词汇限制为检测器的类别和属性,并且通常是这些任务性能的瓶颈[72]。因此,这样的系统无法识别以自由格式文本表达的概念的新颖组合。

最近的一项工作 [66,45,13] 考虑了文本条件对象检测的问题。这些方法扩展了主流的单级和两级检测架构以实现这一目标。然而,据我们所知,尚未证明此类检测器可以提高需要对检测到的对象进行推理的下游任务的性能,例如视觉问答(VQA)。我们认为这是因为这些检测器不是端到端可微分的,因此无法与下游任务协同训练。

"端到端可微分"是指 整个系统的每个组成部分都是可微分的,这意味着对于系统的输出,可以计算相对于输入的梯度(导数)。这对于使用梯度下降等优化算法来训练模型非常重要,因为这样可以 在整个系统中进行端到端的反向传播,从而更新模型参数以最小化损失函数

  • 一个简单的例子是线性回归模型。考虑一个线性回归模型,其中输入是一个特征向量 x x x,权重是 w w w,偏置是 b b b,输出是预测值 y y y。模型的输出可以表示为 y = w x + b y = wx + b y=wx+b。整个系统是可微分的,因为对于给定的 w w w b b b,我们可以计算输出 y y y 相对于输入 x x x、权重 w w w 和偏置 b b b 的梯度。

  • 具体来说,如果我们有一个损失函数 L L L(比如均方误差),那么我们可以通过计算损失函数对输出的梯度,然后通过链式法则计算输出相对于输入、权重和偏置的梯度。这就允许我们使用梯度下降等优化算法来更新权重和偏置,从而降低损失函数。

  • 在深度学习中,神经网络的每一层通常由可微分的操作组成,因此整个神经网络是端到端可微分的。这使得我们能够使用 反向传播算法 来有效地训练整个网络。

  • 对于端到端可微分的模型,优化算法可以沿着整个模型的梯度路径进行更新,而不需要手动设计每个组件的梯度。这样的性质对于复杂的深度学习模型和多模态任务非常有益。在多模态任务中,例如图像和文本的联合理解,端到端可微分的模型使得两种模态之间的信息流可以通过反向传播进行学习和优化。

"端到端"是一种方法论,它强调整个系统或流程的完整性,从输入到输出,而无需中间步骤的手动干预或多阶段的处理。在计算机科学和机器学习领域,端到端学习或端到端方法通常指的是通过 最小化整个系统的整体目标函数直接从原始输入学习到最终的输出,而无需明确定义中间步骤或特征

  • 之前的工作在文本条件对象检测上的方法,这些方法扩展了传统的单级和两级检测架构。然而,这些方法 可能不是端到端可微分的,这意味着它们的训练过程可能不够协同,特别是在需要对检测到的对象进行推理的下游任务(例如视觉问答)上。

  • 因此,作者提出的 MDETR 方法基于最新的 DETR 检测框架,将对象检测和自然语言理解整合到一个统一的端到端框架中,以实现真正的端到端多模态推理。这样的一体化方法有望提高模型的性能,因为 整个系统可以在一个统一的目标函数下进行联合训练,促使模型更好地学习对象检测和下游任务之间的相互关系。

  • 在论文中提到的 MDETR 方法中,"端到端"的概念表明整个模型,从对象检测到下游任务(如视觉问答),都可以 通过一个统一的框架进行训练,而不需要分开训练对象检测器和下游任务模型。这种一体化的训练方式可以带来多方面的好处,包括更好的模型泛化能力和更简洁的模型设计。

我们的方法 MDETR 是一种基于最新 DETR [2] 检测框架的端到端调制检测器,并结合自然语言理解进行对象检测,从而实现真正的端到端多模态推理。 MDETR 仅依赖文本和对齐的框作为图像中概念的监督形式。因此,与当前的检测方法不同,MDETR 从自由格式文本中检测细微的概念,并概括为看不见的类别和属性组合。我们在图 1 中展示了这种组合以及调制检测。根据设计,我们的预测基于文本,这是视觉推理的关键要求 [65]。当使用包含 200,000 张图像的数据集并将文本与方框注释对齐进行预训练时,我们在用于短语基础的 Flickr30k 数据集、用于指代表达理解的 RefCOCO/+/g 数据集以及用于 PhraseCut 的指代表达分割上获得了最佳报告结果在视觉问答的 GQA 和 CLEVR 基准上具有竞争力的表现。

  • DETR(Detection Transformer)是一种基于 Transformer 的端到端 目标检测 方法,它不使用锚框或区域提议的方法来生成候选框,而是 使用 Transformer 网络直接对整张图片进行编码和解码输出图片中所有目标的类别和位置信息。DETR 的主要贡献是 将目标检测看作一个集合预测的问题使用一个基于二分图匹配的损失函数来强制模型输出唯一的预测,直接输出目标的类别和边界框,而不需要后处理操作,如 NMS。

  • MDETR 通过在 DETR 的基础上添加自然语言理解的组件,使模型能够同时处理图像和文本输入。这样,模型可以通过联合分析图像和文本信息来进行对象检测,而不仅仅是从图像中获取信息。这种融合多模态信息的方式使得 MDETR 能够更全面地理解场景,从而实现更准确的目标检测。

  • MDETR 能实现真正的端到端多模态推理,是因为它不依赖于预训练的对象检测器来从图像中提取感兴趣的区域。预训练的对象检测器通常是作为一个黑盒子使用的,独立于下游任务训练,并且只能识别固定的对象和属性的词汇表。这使得这样的系统难以捕捉自由形式文本中表达的视觉概念的长尾。相反,MDETR 是一个端到端的调制检测器,它根据原始文本查询(如标题或问题)来检测图像中的对象。它使用基于 transformer 的架构,通过在模型的早期阶段融合文本和图像两种模态,来共同推理文本和图像。

  • MDETR 仅依赖于文本和对齐的框作为图像中概念的监督形式:MDETR 只需要用文本和图像中对应的框来训练模型,而不需要用其他的标注信息,比如对象的类别、属性、关系等。这样,MDETR 就可以直接从文本中学习图像中的概念,而不受限于预定义的词汇表或中间表示。

例如,如果文本是“一只猫在沙发上睡觉”,那么 MDETR 只需要知道图像中哪个区域是猫,哪个区域是沙发,而不需要知道猫和沙发的具体类别或属性。这种监督形式使得 MDETR 能够处理更多样化和复杂的文本和图像的对齐任务。因此,MDETR 能够直接从文本中学习视觉概念,而 不需要任何中间表示或固定的词汇表,从而实现真正的端到端多模态推理。

在这里插入图片描述
图1:查询“粉红大象”的 MDETR 输出。颜色不是 分割掩模,而是像素的真实颜色。该模型在训练中从未见过粉色或蓝色大象。

我们的贡献如下:

  • 我们引入了源自 DETR 检测器的端到端 文本调制检测系统
  • 我们证明 调制检测方法 可以无缝地应用于解决短语基础和指代表达理解等任务,使用具有合成图像和真实图像的数据集在这两个任务上设置新的最先进性能。
  • 我们表明,良好的调制检测性能自然会转化为下游任务性能,例如在视觉问答、引用表达分割和少样本长尾目标检测方面实现有竞争力的性能。
  • 论文的第一个贡献是,它提出了一种端到端的文本调制检测系统,叫做 MDETR。这个系统是基于最新的 DETR 检测框架的,它可以根据自然语言查询来检测图像中的对象,而不需要预训练的对象检测器或固定的词汇表。这样,MDETR 就可以直接从文本中学习视觉概念,而不受限于中间表示或标注信息。这是一种 创新 的方法,因为它可以实现真正的端到端多模态推理,而不需要任何模态间的对齐或转换。

  • 论文的第二个贡献是,它证明了调制检测方法可以无缝地应用于解决短语基础和指代表达理解等任务。这些任务都是要求模型能够根据文本来理解和定位图像中的对象或区域。MDETR 在这些任务上使用了两种数据集,一种是合成的,叫做 CLEVR-Ref+ ,一种是真实的,叫做 RefCOCOg 。MDETR 在这两个数据集上都取得了新的最先进的性能,说明了它的泛化能力和鲁棒性。

    调制检测方法是一种用于多模态理解的技术,它可以根据文本查询来检测图像中的对象或区域。调制检测方法 的基本思想是,将文本查询作为一个调制信号,对图像进行变换,从而增强与查询相关的区域,抑制与查询无关的区域。然后,使用一个检测器来输出与查询对应的框或掩码。调制检测方法的优点是,它可以直接从文本中学习视觉概念,而不需要预训练的对象检测器或固定的词汇表。调制检测方法也可以适应不同的文本和图像的对齐任务,例如短语基础、指代表达理解、视觉问答等。MDETR 是一种基于最新 DETR 检测框架的端到端调制检测系统,它在多个数据集上取得了最先进的性能。

    DETR 是一种单模态的目标检测方法,它只需要输入图像,而不需要文本查询。DETR 使用 Transformer 来建模图像中的全局依赖关系,而不是使用文本来调制图像。DETR 的目标是 输出图像中所有的目标,而不是 根据文本来输出特定的目标

  • 论文的第三个贡献是,它表明了良好的调制检测性能自然会转化为下游任务性能,例如在视觉问答、引用表达分割和少样本长尾目标检测方面实现有竞争力的性能。这些任务都是要求模型能够根据文本和图像的交互来回答问题、分割区域或检测对象。MDETR 在这些任务上使用了三种数据集,分别是 VQA 2.0 ,PhraseCut 和 LVIS 。MDETR 在这些数据集上都表现出了优秀的性能,说明了它的多任务学习能力和适应性。

2. Method

在本节中,我们首先简要总结对象检测管道 [2],我们在此基础上在第 2.1 节中构建模型,然后在第 2.2 节中描述如何将其扩展以进行调制检测。

2.1. Background

DETR 我们的调制检测方法建立在 DETR 系统 [2] 的基础上,我们在此对其进行简要回顾。我们建议读者参阅原始论文以了解更多详细信息。 DETR 是一种端到端检测模型,由主干网(通常是卷积残差网络 [12])和 Transformer Encoder-Decoder [59] 组成。

DETR 编码器对来自骨干网的 2D 扁平图像特征进行操作,并应用一系列变换器层。解码器将一组称为对象查询的 N 个学习嵌入作为输入,可以将其视为模型需要用检测到的对象填充的槽。所有对象查询都并行馈送到解码器,解码器使用交叉注意层来查看编码图像并预测每个查询的输出嵌入。使用共享前馈层将每个对象查询的最终表示独立解码为框坐标和类标签。对象查询的数量实际上是模型可以同时检测的对象数量的上限。必须将其设置为给定图像中可能遇到的对象数量的足够大的上限。由于特定图像中的实际对象数量可能小于查询数量 N,因此使用与“无对象”相对应的额外类标签,用∅表示。该模型经过训练,可以为每个不对应于对象的查询输出此类。

DETR 是一个基于 Transformer 的目标检测模型,它的结构分为编码器、解码器和输出层三部分。编码器的作用是从图像中提取特征,解码器的作用是根据一组对象查询来预测目标的位置和类别,输出层的作用是将预测结果转换为框坐标和类标签。对象查询是一种可学习的嵌入向量,它表示了模型需要检测的对象的数量和类型。对象查询的数量是一个超参数,它决定了模型可以同时检测的对象的最大数量。如果图像中的实际对象数量小于对象查询的数量,那么模型会为多余的对象查询输出一个特殊的类标签,表示没有对象。这样,模型可以实现端到端的目标检测。

端到端的目标检测是指使用一个单一的神经网络模型,直接从输入图像中输出目标的位置和类别,而不需要使用其他的后处理步骤,如非极大值抑制。端到端的目标检测模型可以直接学习到每个目标只对应一个框,而不会产生重复的预测。这样可以提高模型的效率和准确性,也可以简化模型的训练和推理过程。一些典型的端到端的目标检测模型有 YOLO,SSD,RetinaNet 端到端的目标检测等。

DETR 使用匈牙利匹配损失进行训练,其中计算 N 个提议对象和真实对象之间的二分匹配。每个匹配的对象都使用相应的目标作为真实值进行监督,而未匹配的对象则受到监督以预测“无对象”标签∅。分类头使用标准交叉熵进行监督,而边界框头使用绝对误差(L1 损失)和广义 IoU 的组合进行监督[48]。

2.2. MDETR

2.2.1 Architecture

我们在图 2 中描述了 MDETR 的架构。与 DETR 一样,图像由卷积主干编码并展平。为了保存空间信息,将二维位置嵌入添加到这个展平的向量中。我们使用预先训练的 Transformer 语言模型对文本进行编码,以生成与输入大小相同的隐藏向量序列。然后,我们对图像和文本特征应用模态相关的线性投影,将它们投影到共享的嵌入空间中。然后,这些特征向量在序列维度上串联起来,生成图像和文本特征的单个序列。该序列被馈送到称为交叉编码器的联合变压器编码器。在 DETR 之后,我们在对象查询上应用转换器解码器,同时交叉关注交叉编码器的最终隐藏状态。解码器的输出用于预测实际的盒子。

在这里插入图片描述

图 2:MDETR 使用卷积主干来提取视觉特征,并使用 RoBERTa 等语言模型来提取文本特征。两种模式的特征都被 投影到共享的嵌入空间,连接并馈送到 变换器编码器-解码器,该变换器编码器-解码器 预测对象的边界框及其在文本中的定位

  • 对图像的处理,通过卷积神经网络(卷积主干)进行编码,并将其展平,即将图像特征转换为一个平面向量。为了保留空间信息,将图像中的二维位置嵌入(即位置编码)加入到展平后的向量中,以便模型能够更好地理解图像中不同位置的信息。

    对应图 2 中的 CNN。卷积神经网络在计算机视觉任务中被广泛用于提取图像的特征。这些特征可以在图像中的不同层次上捕捉到边缘、纹理等信息。在目标检测等任务中,这些特征经过卷积操作,然后通过一个或多个全连接层,最终被展平为一个一维向量。

  • 对文本的处理,使用预训练的 Transformer 语言模型对文本进行编码,生成与输入图像大小相同的隐藏向量序列。

    对应图 2 中的 RoBERTa。RoBERTa 是一个预训练的 Transformer 模型,专注于自然语言处理任务。它采用了与 BERT(Bidirectional Encoder Representations from Transformers)相似的架构,但通过修改训练方式和超参数来改进性能。在论文中,RoBERTa 用于对文本进行编码,生成隐藏向量序列。

    隐藏向量序列(Hidden Vector Sequence)是指在深度学习模型中,经过某些层或模块处理后产生的一系列隐藏状态的向量。这些向量在模型的中间层中生成,包含了输入数据的抽象表示,其中 每个向量通常对应着输入序列中的一个位置或一个时间步

    在很多深度学习任务中,比如自然语言处理(NLP)或计算机视觉中的序列建模任务,模型通常会通过循环神经网络(RNN)、长短时记忆网络(LSTM)、变换器(Transformer)等结构产生隐藏向量序列。这些向量序列可以

  • 对图像和文本特征进行模态相关的线性投影,将它们映射到共享的嵌入空间,以便模型可以在这个共享的嵌入空间中理解图像和文本之间的关系。

    线性投影操作与图 2 中的 Linear 操作对应。Linear 操作通常用于进行线性变换,通过矩阵乘法和偏置项的加法,将输入数据映射到输出数据。在这个上下文中,这个线性投影操作的目的是将图像和文本特征映射到一个共享的嵌入空间,以便模型可以在这个共享的嵌入空间中理解图像和文本之间的关系。这有助于在后续的处理中实现对图像和文本的联合编码和理解。

    在论文中,对于这个共享的嵌入空间,通常会使用矩形框(box)或类似的形状来表示。在图 2 中,有两个矩形框(box)表示图像和文本特征在共享的嵌入空间中的融合或交互。

  • 将处理后的图像和文本特征向量在序列维度上连接成一个单一的序列,为后续处理提供输入。

    可以与图 2 中的 Concatenation(Concat)操作对应。Concatenation 操作通常用于将两个或多个向量在某个维度上连接在一起,形成一个更大的向量或序列。这种连接操作有助于模型同时考虑图像和文本信息,并将它们 融合在一个共享的表示空间中,从而 实现对图像和文本的联合理解

将生成的序列输入到一个称为交叉编码器的联合变压器编码器中,用于联合编码图像和文本信息。

在 DETR 模型之后,对对象查询应用了转换器解码器,同时进行了交叉关注,即模型同时考虑了图像和文本信息,以获取最终的隐藏状态。

解码器的输出用于预测图像中实际对象的边界框。这是模型最终的目标,即从联合编码的图像和文本信息中提取并预测目标对象的位置信息。


从图 2 看,二维位置信息(即位置编码)的嵌入可能发生在经过 Linear 投影并进入共享的嵌入空间之后,我有疑问是位置信息的嵌入也可以发生在 Linear 投影之前呀,位置信息的嵌入时机是一个设计选择。

在某些情况下,先对图像特征进行 Linear 投影,然后再嵌入位置信息,可能更适合模型的整体结构,有助于更好地整合位置信息和其他特征。

如果任务对于准确的空间信息非常敏感,尤其是在目标检测等需要对象位置精确性的任务中,将位置信息嵌入到图像特征之前可能是一种更合适的选择。这样可以确保模型在共享的嵌入空间中更早地考虑到空间信息。

位置信息的嵌入主要是指对图像进行位置编码,而不是文本。位置编码的目的是为了在图像特征中引入关于位置的信息,从而帮助模型更好地理解图像中不同位置的特征。这对于目标检测等任务非常重要,因为这些任务通常需要准确的位置信息。

文本通常使用注意力机制等方式来处理位置信息,因为在文本中,位置可以通过序列的顺序来表示。在这种情况下,通常不需要像在图像中那样明确地嵌入二维位置信息。

2.2.2 Training

我们介绍了 MDETR 使用的两个额外的损失函数,它们鼓励图像和文本之间的对齐。这两个损失函数都使用相同的注释来源:带有对齐边界框的自由文本。我们称 第一个损失函数为软标记预测损失,这是一种非参数对齐损失第二个损失称为文本查询对比对齐,是一种参数化损失函数,强化了对齐的对象查询和标记之间的相似性

带有对齐边界框的自由文本 (free text with aligned bounding boxes) 是指一种数据集的形式,它包含了一些自然语言的文本,以及与文本中的单词或短语对应的图像中的边界框。这种数据集的特点是,文本是自由形式的,不受限于固定的语法或词汇,而边界框是明确的,可以精确地标注出图像中的对象或区域。

软标记预测 对于 调制检测,与标准检测设置不同,我们 不关心为每个检测到的对象预测一个分类类别。相反,我们 预测原始文本中指代每个匹配对象的标记范围。具体而言,我们首先将给定句子的最大标记数设置为 L = 256 L = 256 L=256。对于通过双向匹配与地面实况框匹配的每个预测框,模型被训练以预测相应于对象的所有标记位置的均匀分布。图 2 显示了一个示例,其中猫的框被训练以预测前两个单词上的均匀分布。在图 6 中,我们展示了该示例的损失的简化可视化,以每个框的单词分布为标准,但在实际中,我们使用了 BPE 方案 [52] 进行标记化后的标记范围。任何未与目标匹配的查询都被训练以预测“无对象”标签 ∅ ∅ 。请注意,文本中的多个单词可能对应于图像中的同一对象,反之亦然。例如,在图像中由两个框引用的“一对”可以在同一标题中进一步单独引用。通过以这种方式设计损失函数,我们的模型能够学习来自相同引用表达的共指对象。

软标记考虑到了 标记位置的分布,而 不是简单地对每个对象的分类结果进行硬标记(例如,对每个对象分配一个确定的类别)。这意味着 模型的任务是在文本中确定对象的位置范围,即文本中提到的与每个匹配对象相关的标记的范围。

“地面实况框” 指的是 训练数据中的真实对象边界框,即模型应该学习预测的目标。这些框通常在训练数据集中与相应的图像一起提供。

"双向匹配"是指在模型训练过程中,通过一种方法找到每个预测框和其最佳匹配的地面实况框。这是一个双向的过程,意味着模型尝试找到每个预测框到地面实况框的最佳匹配,同时确保每个地面实况框也有一个最佳匹配的预测框。这个过程的目的是为了 训练模型能够准确地预测图像中对象的位置,使得每个预测框都与地面实况框相对应。这样的匹配过程有助于模型学会如何对图像中的对象进行定位和标记。

在这里插入图片描述

图 6:软标记分类损失的图示。对于每个对象,模型预测输入序列中标记位置的分布。分布的权重应该均匀地分布在引用预测框的所有标记上。

软标记预测:对于每个对象,模型预测输入序列中标记位置的分布。分布的权重应该均匀地分布在引用预测框的所有标记上。这意味着对于一个特定的对象,模型在预测该对象的位置时应该考虑所有可能的标记位置,并在这些位置上分配相对均匀的权重。

  • 标记位置是指文本中的单词或短语在序列中的索引。引用预测框是指模型根据文本查询检测出的图像中的对象或区域的边界框。

  • 例如,如果文本是“一只猫在沙发上睡觉”,那么模型应该预测出两个引用预测框,一个是猫,一个是沙发。对于猫这个对象,模型应该预测出一个分布,它的权重在“一只”和“猫”这两个标记上是相等的,而在其他标记上是零。对于沙发这个对象,模型应该预测出一个分布,它的权重在“沙发”和“上”这两个标记上是相等的,而在其他标记上是零。

对比对齐 虽然软标记预测使用位置信息将对象与文本对齐,对比对齐损失强制在解码器输出的对象嵌入表示和交叉编码器输出的文本表示之间实现对齐。这额外的对比对齐损失确保了(视觉)对象的嵌入和其对应的(文本)标记在特征空间中比与不相关标记的嵌入更靠近。这一约束比软标记预测损失更强,因为它直接作用于表示,而不仅仅基于位置信息。更具体地说,考虑将最大标记数为 L L L 和最大对象数为 N N N。设 T i + T^+_i Ti+ 是给定对象 o i o_i oi 应与之对齐的标记集合,而 O i + O^+_i Oi+ 是与给定标记 t i t_i ti 对齐的对象集合。

受 InfoNCE [40] 的启发,所有对象的对比损失 通过每个对象的正标记数量进行标准化,可以写如下:
l 0 = ∑ i = 0 N − 1 1 ∣ T i + ∣ ∑ j ∈ T i + − l o g ( e x p ( o i T t j / τ ) ∑ k = 0 L − 1 e x p ( o i T t k / τ ) ) (1) l_0 = \sum^{N-1}_{i=0} \frac{1}{|T^+_i|} \sum_{j \in T^+_i} - log \left( \frac{exp(o^T_i t_j/\tau)}{\sum^{L-1}_{k=0}exp(o^T_it_k/\tau)} \right) \tag{1} l0=i=0N1Ti+1jTi+log(k=0L1exp(oiTtk/τ)exp(oiTtj/τ))(1)

其中 τ \tau τ 是温度参数,我们根据文献 [63, 47] 将其设置为 0.07。根据对称性,所有标记的对比损失(通过每个标记的正对象数量标准化)由下式给出:
l t = ∑ i = 0 L − 1 1 ∣ O i + ∣ ∑ j ∈ O i + − l o g ( e x p ( t i T o j / τ ) ∑ k = 0 N − 1 e x p ( t i T o k / τ ) ) (2) l_t = \sum^{L-1}_{i=0} \frac{1}{|O^+_i|} \sum_{j \in O^+_i} - log \left( \frac{exp(t^T_i o_j/\tau)}{\sum^{N-1}_{k=0}exp(t^T_io_k/\tau)} \right) \tag{2} lt=i=0L1Oi+1jOi+log(k=0N1exp(tiTok/τ)exp(tiToj/τ))(2)
我们 取这两个损失函数的平均值作为我们的对比对齐损失

对比对齐损失函数 是一种参数化损失函数,它的目的是增强对齐的对象查询和标记之间的相似性。对象查询 是模型用来检测图像中的对象的一种学习的 位置嵌入标记 是文本中的 单词或短语的嵌入

对比对齐损失函数的计算过程如下:

  • 首先,模型需要知道哪些对象查询和标记是对齐的,哪些是不对齐的。这可以通过使用软标记预测损失的输出来确定。软标记预测损失是一种非参数对齐损失,它的目的是让模型能够预测文本中的每个单词或短语对应的图像中的对象或区域。例如,如果文本是“一只猫在沙发上睡觉”,那么模型应该能够预测出图像中哪个区域是猫,哪个区域是沙发,以及它们分别对应的文本中的位置。这样,模型就可以知道猫这个对象查询应该与“一只”和“猫”这两个标记对齐,沙发这个对象查询应该与“沙发”和“上”这两个标记对齐,而其他的对象查询和标记都是不对齐的。
  • 然后,模型需要 计算对象查询和标记之间的相似度。这可以通过使用一个点积操作来实现。点积操作是一种用来衡量两个向量之间的相似度的方法,它的值越大,表示两个向量越相似。例如,如果猫这个对象查询和“一只”这个标记的嵌入向量的点积是 0.8,而猫这个对象查询和“沙发”这个标记的嵌入向量的点积是 0.2,那么表示猫这个对象查询和“一只”这个标记更相似,而和“沙发”这个标记更不相似。
  • 接着,模型需要使用一个 softmax 函数来 将相似度转化为概率分布。softmax 函数是一种用来将一组数值转化为一组概率的函数,它的特点是,它会 放大数值较大的项,而缩小数值较小的项。例如,如果猫这个对象查询和所有标记的嵌入向量的点积是 [0.8, 0.9, 0.2, 0.1],那么使用 softmax 函数后,它们的概率分布是 [0.24, 0.33, 0.04, 0.02],表示猫这个对象查询和“一只”和“猫”这两个标记的概率较高,而和“沙发”和“上”这两个标记的概率较低。
  • 最后,模型需要使用一个 交叉熵损失函数来衡量模型的预测概率分布和真实的对齐关系之间的差异。交叉熵损失函数是一种用来 衡量两个概率分布之间的差异的函数,它的值越小,表示两个概率分布越接近。例如,如果猫这个对象查询的真实对齐关系是 [0.5, 0.5, 0, 0],表示它应该与“一只”和“猫”这两个标记均匀地对齐,而和其他标记不对齐,那么使用交叉熵损失函数后,它的损失值是 1.28,表示模型的预测概率分布和真实的对齐关系有一定的差异。

对比对齐损失函数的作用是,让模型能够通过 最小化损失值,来 调整对象查询和标记的嵌入向量使得对齐的对象查询和标记在嵌入空间中更加接近,而不对齐的对象查询和标记更加远离

合并所有损失 在 MDETR 中,与 DETR 一样,使用二部图匹配来找到预测和地面实况目标之间的最佳匹配。主要区别在于每个对象没有预测类标签,而是预测与该对象对应的文本中相关位置的均匀分布(软标记预测),并使用软交叉熵进行监督。匹配成本包括这一点,另外还包括预测与目标框之间的 L1 和 GIoU 损失,就像在 DETR 中一样。匹配后,总损失包括框预测损失(L1 和 GIoU)、软标记预测损失和对比对齐损失。

MDETR 的训练过程如下:

  • 首先,MDETR 需要将模型预测的对象和真实的对象进行匹配,这可以通过使用二部图匹配来实现。二部图匹配是一种用来找到两个集合之间的最佳匹配的方法,它的目标是使得匹配的总成本最小

    • 预测与目标框之间的 L1 损失,它是一种用来 衡量两个边界框之间的差异 的函数,它的值越小,表示两个边界框越接近。

    • 预测与目标框之间的 GIoU 损失,它是一种用来 衡量两个边界框之间的重叠程度 的函数,它的值越大,表示两个边界框越重叠。

  • 然后,MDETR 需要计算总损失,它是匹配后的所有对象的损失的平均值。总损失包括三个部分,分别是:

    • 框预测损失,它是匹配后的所有对象的 L1 损失和 GIoU 损失的和,它的目的是让模型能够准确地 预测出图像中的对象或区域的位置和大小
    • 软标记预测损失,它是匹配后的所有对象的软标记预测损失的和,它的目的是让模型能够准确地 预测出文本中的每个单词或短语对应的图像中的对象或区域
    • 对比对齐损失,它是一种参数化损失函数,它的目的是增强对齐的对象查询和标记之间的相似性。这种损失函数的作用是,让对齐的对象查询和标记在嵌入空间中更加接近,而让不对齐的对象查询和标记更加远离。

3. Experiments

在本节中,我们描述用于预训练 MDETR 的数据和训练,并提供用于评估我们的方法的任务的详细信息和结果。 CLEVR 数据集的结果如表 1 所示。有关 CLEVR 结果的讨论以及数据准备和训练的更多详细信息,请参阅附录 B。自然图像上的预训练和下游任务的实验细节详见§3.1 和§3.2。

在这里插入图片描述

表1:基于 CLEVR 的数据集结果。我们报告在 CLEVR 的测试集上的准确性。在 CLEVR-Humans 上,我们报告在微调之前和之后的测试集上的准确性。在 CoGenT 上,我们报告在模型在条件 A 下训练、未在条件 B 上进行微调时的性能。在 CLEVR-Ref+ 上,我们报告所指对象是唯一的子集上的准确性。*表示该方法使用了外部程序注释。附录 B 中提供更多详细信息。

3.1. Pre-training Modulated Detection 预训练调制检测

检测的目标是 在对齐的自由文本中检测所有被提及的对象。我们使用来自 Flickr30k [46]、MS COCO [30] 和 Visual Genome(VG)[24] 数据集的图像创建了一个 合并的数据集。用于训练的注释来自于指称表达式数据集、VG 区域、Flickr 实体和 GQA 训练平衡集。一幅图像可能有多个与之关联的文本注释。有关数据集的详细信息可在附录 C 中找到。

数据组合 对于每个图像,我们提取这些数据集中的所有注释,并合并引用同一图像的文本,同时确保所有在我们所有下游任务的验证或测试集中的图像已从我们的训练集中删除。句子的合并使用图着色算法完成,该算法确保仅组合具有 GIoU ≤ 0.5 的包围框的短语,并且组合句子的总长度不超过250个字符。通过这种方式,我们得到了一个包含1.3百万对齐的图像-文本对的数据集。这个组合步骤有两个重要原因:1)数据效率,通过将更多信息打包到单个训练示例中;2)对于我们的软标记预测损失,它提供了更好的学习信号,因为模型必须学会区分同一对象类别的多个出现,如图 3 所示。在单句情况下,软标记预测任务变得微不足道,因为它总是可以在不看图像的情况下预测句子的根。实验证明,这种密集的注释转化为更好的文本与图像之间的联系,进而提高了下游性能。

在这里插入图片描述

图 3:我们的注释组合产生如下示例:“穿着灰色衬衫、手腕上戴着手表的人。另一个人穿着蓝色毛衣。第三个人穿着灰色外套和围巾。”我们展示了我们的模型对此标题的预测。它能够关注图像中的所有对象,然后根据文本消除它们之间的歧义。该模型经过训练,可以将短语的词根预测为正标记跨度,正如我们在图中看到的那样,它正确地指的是三个不同的人。

模型 我们使用预训练的 RoBERTa-base [32] 作为我们的文本编码器,它具有12个 Transformer 编码器层,每个层的隐藏维度为768,多头注意力中有12个头。我们使用了 HuggingFace [61]的实现和权重。对于视觉骨干,我们尝试了两个选项。第一个是在 ImageNet 上预训练的带有冻结批标准化层的 ResNet-101 [12],取自 Torchvision。这是为了与多模态理解领域的当前文献相比较,在该领域中,流行的方法是使用在 VG 数据集上训练的[1]的 BUTD 对象检测器,其具有 Resnet-101骨干。在我们的工作中,由于没有受预训练检测器的限制,并受到其在目标检测中的成功启发[58],我们选择探索 EfficientNet 家族 [57] 作为我们的骨干。我们使用的模型是通过 Noisy-Student [64]伪标记技术在大量未标记数据和 ImageNet 上训练的。我们选择了 EfficientNetB3,在 ImageNet 上的 Top 1 准确率为84.1%,仅使用了1200万个权重,以及 EfficientB5,在3000万个权重下达到了86.1%的准确率。我们使用了 Timm 库提供的实现,并冻结了批标准化层。我们在32个 V100 gpu 上以有效批量大小为64进行了40个 epoch 的预训练,大约需要一周的时间进行训练。训练超参数详见附录 A。

3.2. Downstream Tasks

我们在4个下游任务上评估了我们的方法:指称表达理解与分割、视觉问答和短语对齐。所有任务的训练超参数可以在附录A中找到。

phrase grounding 短语对齐 鉴于一个或多个可能相互关联的短语,任务是为每个短语提供一组边界框。我们使用 Flickr30k entities 数据集进行此任务,其中训练/验证/测试划分由[46]提供,并根据 Recall@k 来评估我们的性能。对于测试集中的每个句子,我们预测100个边界框,并使用软标记对齐预测根据给定给短语对应的标记位置的分数对框进行排名。我们在两个我们称之为 ANY-BOX [26, 22]和 MERGED-BOXES [44]的协议下进行评估。有关这两个协议的讨论,请参见附录 D。我们将我们的方法与两种类型的方法的现有最先进结果进行比较 - 文本条件检测模型[45, 66]和基于 Transformer 的视觉语言预训练模型[26]。在 ANY-BOX 设置中,我们在验证集上的Recall@1方面相对于当前最先进水平获得了8.5点提升,而没有使用任何预训练(没有额外的数据)。通过预训练,我们进一步在测试集上相对于最佳模型的性能获得了12.1点的提升,同时使用相同的骨干。

“Phrase grounding” 是指将自然语言中的短语(phrase)与图像中的实体或区域进行关联,即找到短语所描述的具体物体在图像中的位置。在计算机视觉和自然语言处理中,这是一种重要的任务,涉及将文本与图像进行对齐,以便理解文本对应的视觉内容。

在这个上下文中,“grounding” 指的是将抽象的语言描述映射到具体的视觉实体或区域上,使其在图像中有具体的"地方"或位置。在提到 “phrase grounding” 时,通常是指通过模型的学习和推理,使模型能够理解 **文本中的短语 **与 图像中的实际物体 之间的关系,实现 文本到图像的语义对齐

Referring expression comprehension 指称表达理解 给定一张图像和一个纯文本的指代表达式,任务是通过返回围绕该对象的边界框来定位被引用的对象。大多数先前工作 [69, 34, 6, 68] 在这个任务上采取的方法是对与图像相关联的一组预先提取的边界框进行排名,这些边界框是使用预训练的对象检测器获得的。在本文中,我们解决了一个更难的任务 - 我们训练我们的模型直接预测给定引用表达式和相关图像的边界框。有三个已建立的用于这个任务的数据集,称为 RefCOCO、RefCOCO+ [70] 和 RefCOCOg [36]。由于在预训练期间我们注释了文本中涉及的每个对象,模型在这个任务中的使用方式略有不同。例如,在预训练期间,对于标题 “The woman wearing a blue dress standing next to the rose bush.”,MDETR 将被训练为预测所有被引用对象的边界框,如女人、蓝色连衣裙和玫瑰丛。然而,对于引用表达式,任务将仅返回一个边界框,表示整个表达式所引用的女人。因此,我们在任务特定的数据集上对模型进行了 5 个 epoch 的微调。在推理时,我们使用 ∅ ∅ 标签对检测到的 100 个边界框进行排名。设 P ( ∅ ) P(∅) P() 是分配给“无对象”标签的概率,我们按照 1 − P ( ∅ ) 1 − P(∅) 1P() 的递减顺序进行排名。我们在表 2 中报告结果,显示在所有数据集上相对于最先进水平的显著提高。

“Referring expression comprehension” 指的是理解指称表达式。在计算机视觉和自然语言处理领域,这是一项任务,要求模型理解自然语言中的表达,这些表达用于引用图像中的特定对象或区域。这些 表达可能是指代性的,例如使用 代词或描述性的短语,用于唯一地标识图像中的对象。任务的目标是使计算机能够准确理解自然语言中的这些表达,并 将其关联到图像中的相应对象,从而实现文本到图像的语义对齐。这对于许多涉及自然语言描述和视觉场景理解的应用非常关键,例如图像标注、视觉问答等。

在这里插入图片描述

表2:指代表达理解的准确性结果。*正如在 UNITER [6]中提到的,使用来自 BUTD检测器[1]的边界框提议的方法存在测试集泄漏问题,因为该检测器是在包括 RE 理解数据集的验证和测试集图像上进行训练的。我们报告了这些方法的论文中使用这些“受污染的特征”的数字,但我们要强调的是,我们所有的预训练都排除了用于任何下游数据集(包括 RE 理解)的验证/测试的图像。CC 是指 Conceptual Captions [53],VG 是指 Visual Genome [24],SBU 是指 SBU Captions [41],COCO 是指 Microsoft COCO [30]。

Referring expression segmentation 指称表达分割 与 DETR 类似,我们展示了我们的方法可以通过在最近的 PhraseCut [62] 数据集上进行评估,执行指代表达分割任务,该数据集包含了来自 VG 的图像,并用于每个指代表达的分割掩模。这些表达包括了广泛的对象、属性和关系词汇,使其成为一个具有挑战性的基准。与其他指代表达分割数据集不同,在 PhraseCut 中,表达可能涉及到多个对象。模型应该找到所有相应的实例。我们的训练分为两个阶段。在第一步中,我们取预训练模型在 40 个 epoch 后,对其进行 10 个 epoch 的在此数据集上的微调,监督模型输出所引用表达的正确边界框。我们使用验证集上的盒子 AP 进行早停。在第二阶段,按照 [2] 的方法,我们冻结网络的权重,并仅对分割头进行 35 个 epoch 的训练,学习率在 25 个 epoch 时下降,使用 Dice/F1 loss[38] 和 Focal loss [29] 的组合进行监督。在推理时,我们为每个预测的边界框分配一个置信度,等于 1 − P ( ∅ ) 1−P(∅) 1P(),其中 P ( ∅ ) P(∅) P() 是分配给“无对象”标记的概率(见§2)。然后,我们过滤掉置信度低于 0.7 的边界框。最后,我们将与这些边界框对应的每个掩模合并成一个对应于这个指代表达的二进制掩模。结果见表 4。我们的模型能够为 PhraseCut 涵盖的各种长尾概念生成清晰的掩模。我们模型在该数据集上的示例预测见附录A。

在这里插入图片描述

表4:按照[62]的做法,我们报告了我们的掩码与地面实况掩码的平均交并比(IoU)。我们还报告了我们模型的精度 Pr@I,其中成功标记为当我们提出的掩码与地面实况的 IoU 高于阈值I时。使用可比较的 ResNet 骨干,我们观察到在所有指标上相对于 HULANet [62](当前的最新技术)的一致增益。EfficientNet 骨干进一步改善了这些结果。

Visual Question Answering 视觉问答 我们通过在 GQA 数据集上微调我们的预训练模型来评估调制检测作为多模态推理有用组件的假设。为了训练 MDETR,我们使用 GQA 中提供的场景图来获取问题单词和边界框之间的对齐关系。我们的模型架构如图 4 所示。对象查询是输入到解码器的学习嵌入,每个查询可以用于检测一个对象。除了用于检测的 100 个查询之外,我们还使用专门用于问题类型的附加查询,以及一个用于预测问题类型的查询,其中类型在 GQA 注释中定义为 REL、OBJ、GLOBAL、CAT 和 ATTR。我们取我们在合并数据集上训练了 40 个 epoch 的预训练模型,将这些查询以及每个查询的头部初始化为随机值,首先在不平衡的全部 GQA 分割上进行 125 个 epoch 的微调,然后进行与先前工作 [28, 5] 中相似的平衡分割的 10 个 epoch 的微调。在前 125 个 epoch 期间,我们训练调制检测损失以及问题回答,但对鼓励模型更专注于这个任务的问题回答损失进行了加权。在平衡微调中,我们只使用问题回答损失。在推理过程中,类型头部预测问题的类型,答案取自该头部。使用 Resnet-101 骨干的我们的模型不仅胜过使用相似数量数据的 LXMERT [55] 和 VL-T5 [7],而且胜过使用更多数据进行预训练的 OSCAR [28],表 5 中报告了在 EfficientNet-B5 骨干下 MDETR 能够进一步提高性能。NSM 模型利用外部场景图生成模型,而 MMN 模型在训练过程中利用场景图和功能程序。

在这里插入图片描述

图 4:在 MDETR 预训练期间,模型被训练以检测问题中提到的所有对象。为了扩展到问题回答,我们除了将对象查询作为输入提供给变压器解码器外,还提供了特定于 QA 的查询。我们为不同的问题类型使用专门的头部。

在这里插入图片描述

图 5:MDETR 提供可解释的预测,如下所示。对于“桌子上有什么?”这个问题,在 GQA 上进行微调的 MDETR 可以预测问题中关键词的框,并能够提供正确的答案“笔记本电脑”。图片来自 COCO val 集。

在这里插入图片描述

表 5:GQA 数据集上的视觉问答。

3.2.1 Few-shot transfer for long-tailed detection

受到 CLIP [47]在图像分类的零样本迁移上取得的成功的启发,我们探索了利用预训练的 MDETR 模型构建给定标签集上有用检测器的机会。与 CLIP 不同,我们并不确保我们的预训练数据集包含所有目标类的平衡表示。通过构建,我们的数据集没有训练实例,其中没有与文本对齐的框,使模型倾向于始终对给定文本预测框。这阻止了在真正的零样本迁移设置中进行评估,因此我们转向了少样本设置,在该设置中,模型在一小部分可用的标记数据上进行训练。我们在 LVIS 数据集 [11] 上进行实验,这是一个包含 1.2k 个类别的检测数据集,其中包含很少的训练样本的长尾部分,使其成为当前方法的一个具有挑战性的数据集。联邦数据集通常对标准检测器提出问题,并需要开发特定的损失函数[56]。然而,这个特性使得训练 MDETR 非常适用:对于每个正类别,我们创建一个训练实例,由图像和类名的文本版本组成,并将该类别的所有实例提供为注释。对于每个负类别,我们提供类名和一组空的注释。对于给定图像的推理,我们查询每个可能的类名,然后合并在每个文本提示上检测到的框集。这个推理方案在 GPU 上的每张图像约耗时 10 秒。

我们在 LVIS 训练集的三个子集上对 MDETR 进行微调,分别包含1%、10%和100%的图像。我们确保对类别进行平衡采样,以便我们的1%集包含每个类别至少一个正例和一个负例。我们与两个基线进行比较:第一个是仅在 LVIS 的完整训练集上进行训练的 Mask-RCNN。另一个是一个在 MSCOCO 上预训练然后在 LVIS 训练集的各个子集上进行微调的 DETR 模型。我们的结果如表 6 所示。遵循最近在大词汇环境中关于 AP 评估的建议[8],我们报告固定的盒子 AP,通过限制每个类别的检测数量而不是每个图像来获得。即使每个类别只有1个样本,MDETR 利用文本预训练并在稀有类别上表现优于完全微调的 DETR。但是我们注意到,在整个训练集上进行完全微调时,稀有对象的性能从10%数据的20.9 AP下降到100%的7.5,可能是由于极端的类别不平衡造成的。我们期望常见的技术,如重复因子采样,将在未来的工作中改善这种情况。

在这里插入图片描述

表 6:LVIS-v1 上的固定盒子 AP 结果。由于 LVIS 的验证集包含一些来自 MSCOCO 的训练图像,我们报告了我们的模型在训练期间从未见过的 5k 验证图像的子集的结果。我们将这个子集称为 minival。所有模型都使用 ResNet 101作为骨干。Mask-RCNN 可以被看作是当前方法在这个数据集上检测性能的一个强大代表,使用了一些技巧来解决类别不平衡,比如重复因子采样(RFS)。我们使用一个在 MSCOCO 上预训练的普通 DETR 作为少样本迁移的基线,并展示了我们在自然文本上的预训练显著提高了性能,特别是在稀有类别上。

4. Related work

CLEVR 数据集[20]是一个用于推理对象、它们之间关系以及关系组合的流行的视觉语言基准。一条突出的研究方向[21, 67, 37, 15]利用了CLEVR 数据集中的功能程序注释。这类方法往往在问答基准上占主导地位,但在合成数据之外很难进行泛化。相反,许多方法[42, 51, 60, 17]直接从图像或预检测的对象中学习,具有各种各样的归纳偏差,适应于问答任务。我们的方法可以看作是介于两者之间的一种方法:虽然没有明确使用程序监督,但它被训练来检测执行中间推理步骤所需的对象。

近年来,在多模态理解方面的进展主要由预训练大型变压器模型来自学习来自大量对齐的图像文本数据的通用多模态表示所推动[53],然后在下游任务上进行微调。这些方法可以分为单流[6, 28, 72, 26]和双流[55, 34, 35, 54]体系结构,具体取决于文本和图像是由单一组合的变压器还是由两个独立的变压器处理,然后是一些交叉注意层。对于这两种类型,主流方法是独立提取视觉和文本特征,然后使用变压器的注意机制学习两者之间的对齐。尽管这种方法在诸如图像文本检索[72]、短语定位[26]、图像字幕[28]和视觉问答[25]等各种任务上改善了最先进的结果,但它为更紧密的体系结构留下了机会,例如 MDETR,在模型的更早阶段两种模态之间的信息流动。一些先前尝试使用调制体系结构来实现这一点的工作,如[42]和[39],在计数任务和视觉问答方面显示出改进。

当前最先进的模型使用外部预训练的检测器[1]提取视觉特征,该检测器输出的区域常常是嘈杂的、过采样的和模糊的。[28]试图通过使用标签作为文本和图像之间的锚点来缓解嘈杂图像特征的问题。然而,这仍然是一种比 MDETR 中明确在文本中的单词或短语与图像中的对象之间进行对齐的监督形式更弱的形式。为了缓解概念的固定词汇所暗示的限制,[72]在更大的对象检测数据集集合上进行训练,以追求更好的覆盖范围。[9]在现有性能出色的模型之上进行对抗训练,将性能推至更高水平。其他方法[68]试图将场景图预测作为其预训练的一部分,以学习更强大的表示。一些最近的工作还尝试构建多用途的多模态体系结构,能够在单一体系结构中处理各种视觉语言[7]以及纯语言任务[16]。另一条攻击与我们类似问题的工作线是单一[66, 4, 27]和两阶段[45, 13]指代表达分割和短语检测模型,这些模型专门设计用于此任务。

5. Conclusion

我们提出了 MDETR,一个完全可微的调制检测器。我们在各种数据集上展示了它在多模态理解任务上的强大性能,并展示了它在其他下游应用(如少样本检测和视觉问答)中的潜力。我们希望这项工作为开发完全集成的多模态架构开辟了新的机会,而无需依赖黑盒子对象检测器。

Acknowledgements 致谢

我们要感谢 Kyunghyun Cho、Ethan Perez、Sergey Zagoruyko 和 Francisco Massa 在该项目的各个方面提供的有益讨论和反馈。我们还要感谢 Alex Kirillov 和 Ross Girshick 在 LVIS 评估方面的帮助,感谢 Justin Johnson 对 CLEVR 的测试集评估,感谢 Bryan Plummer 对短语基础最佳评估实践的讨论,最后感谢 Runtao Liu 和 Chenxi Liu 对CLEVR 引用表达式的数据集构建和评估。

Aishwarya Kamath 获得了 AFOSR 奖 FA9550-19-1-0343 的部分支持,Nicolas Carion 获得了 NVIDIA 的资助。

附录 A. Model details and hyperparameters

Pre-training hyperparameters 预训练超参数 MDETR 遵循预训练然后微调的策略,首先在我们构建的合并数据集上进行40个时期的训练,然后在相应的下游任务上进行微调。我们使用 AdamW [33]进行模型训练,这是 Adam [23]的一种变体,更适用于权重衰减。我们使用指数移动平均(EMA),衰减率为0.9998,权重衰减为1e−4。主干网络和 Transformer 的学习率分别为1e−4和1e−5,持续35个 epoch 之后它们的学习率减小为原来的1/10。对于语言模型的学习率,我们使用线性衰减和热身计划,它在总步数的前1%内线性增加到5e−5,然后在训练的其余部分内线性减小回到0。

在这里插入图片描述

图 6:软标记分类损失的图示。对于每个对象,模型预测输入序列中标记位置的分布。分布的权重应该均匀地分布在引用预测框的所有标记上。

Flickr30k 我们在 Flickr30k 上的结果是使用预训练模型进行评估的,没有任何额外的微调,因为我们发现它没有带来额外的收益。为了进行评估,我们必须对与每个短语相关的框进行排名。由于同一个句子中可能有多个短语,因此我们必须为每个这样的短语提供排名。为此,我们使用软令牌分类损失的预测。在图 6 所示的示例中:为了对短语“a cat”的框进行排名,我们使用每个查询分配给句子“a cat with white paws Jumps over”中与“a cat”相对应的位置的概率质量一棵黄树前的栅栏”(在本例中,是前几个标记)。通过这种方法,发现红色框是排名最高的框。另一方面,如果我们想要与“栅栏”对应的框,我们根据相应的标记位置对它们进行排序,在这种情况下,我们发现绿色框是得分最高的框。

在这里插入图片描述

图 7:Flickr30k 数据集上的短语定位示例

在这里插入图片描述

图 8:phrasecut 数据集上的定性分割示例

在这里插入图片描述

图 9:CLEVR-REF+ 数据集的定性示例。当模型预测出引用的框时,我们将其显示为绿色。其他框是中间推理步骤,用蓝色表示。

在这里插入图片描述

图 10:来自 RefCOCO、RefCOCO+ 和 RefCOCOg 数据集的示例。图(a)取自RefCOCO,图(b)取自RefCOCO+,图©和(d)取自RefCOCOg,其中表达式平均比 RefCOCO 和 RefCOCO+长得多,并且包含更多描述性语言。即使表达式很长,我们也会训练模型将框与短语的根对齐,例如。 © 中的“那个人”。然而,该模型仍然可以访问整个文本,并使用它来消除图像中两个男人之间的歧义。

在这里插入图片描述

表 7:基于 CLEVR 的数据集的结果。我们报告 CLEVR 测试集的准确性,包括按问题类型划分的详细信息。在 CLEVR-Humans 上,我们报告了微调前后测试集的准确性。在 CoGenT 上,我们报告模型在条件 A 下训练时的性能,而不在条件 B 上进行微调。在 CLEVR-Ref+ 上,我们报告所引用对象唯一的子集的准确性。 *表示方法使用外部程序注释

附录 B. CLEVR Experiments

在这里插入图片描述

图 11:在 MDETR 预训练期间,模型经过训练以检测问题中提到的所有对象。为了将其扩展到问答,除了对象查询之外,我们还提供 QA 特定查询作为转换器解码器的输入。我们针对不同的问题类型使用专门的头。

在这里插入图片描述

图 12:使用 MDETR 的调制检测与当前最先进的多模态理解系统的检测输出。图片取自[72]

附录 C. Dataset constructions

在这里插入图片描述

图 13:未见属性组合的定性结果。虽然模型正确地选出了粉红色大象 (a),但当提示蓝色大象 (b) 时,它错误地包含了粉红色大象。在(c)中,我们表明模型不理解“正常大象”的样子。然而,在(d)中,当同时提示所有三头大象时,它能够通过消除过程为每只大象分配正确的标签。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微机原理——定时器8253(8254)学习1

目录 定时类型 8253内部结构框图 8253命令字 六种工作方式及输出波形 计数初值的计算与装入 8253的初始化 定时类型 可编程定时器8253:(内部采用的是16位 减法计数器) 8253内部结构框图 8253命令字 8253有三个命令字:方式命…

HGNN+笔记

1.Title HGNN: General Hypergraph Neural Networks(Yue Gao; Yifan Feng; Shuyi Ji; Rongrong Ji)【IEEE Transactions on Pattern Analysis and Machine Intelligence 2023】 2.Conclusion This paper extend the original conference version HGNN,…

大数据-hive

简介 hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL…

C语言练习题

C语言练习题 文章目录 C语言练习题题目一题目二题目三题目四题目五题目六题目八 题目一 #include <stdio.h> //VS2022,默认对齐数为8字节 union Un {short s[7];int n; };int main() {printf("%zd", sizeof(union Un));return 0; }代码运行结果:> 16 sizeo…

基于Springboot + vue的汽车资讯网站

qq&#xff08;2829419543&#xff09;获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;springboot 前端&#xff1a;采用vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xf…

基于springboot实现的垃圾分类管理系统

一、系统架构 前端&#xff1a;html | layer | jquery | css 后端&#xff1a;springboot | mybatis 环境&#xff1a;jdk1.8 | mysql | maven 二、 代码及数据库 三、功能介绍 01. 登录页 02. 系统设置-用户管理 03. 系统设置-页面管理 04. 系统设置-角色管…

【Openstack Train安装】一、虚拟机创建

Openstack是一个云平台管理的项目&#xff0c;它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。Openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者&#xff0c;这些机构与个人将 Openstack作为…

使用AOS实现网页动画效果

在现代Web开发中&#xff0c;动画效果是提升用户体验和页面交互性的重要因素之一。而AOS&#xff08;Animate On Scroll&#xff09;作为一个强大的动画库&#xff0c;可以帮助我们轻松地实现网页元素的滚动动画效果。 什么是AOS&#xff1f; AOS是一个基于CSS3和JavaScript的…

Transformer

目录 Encoder Add&Norm:&#xff08;LayerNorm&#xff09;Transformer中的归一化(五)&#xff1a;Layer Norm的原理和实现 & 为什么Transformer要用LayerNorm - 知乎 (zhihu.com) LayerNorm怎么做的&#xff1f; Feed Forward: FeedForward代码&#xff1a; 公式…

Android 12 及以上授权精确位置和模糊位置

请求位置信息权限 为了保护用户隐私&#xff0c;使用位置信息服务的应用必须请求位置权限。 请求位置权限时&#xff0c;请遵循与请求任何其他运行时权限相同的最佳做法。请求位置权限时的一个重要区别在于&#xff0c;系统中包含与位置相关的多项权限。具体请求哪项权限以及…

栈和队列的OJ题——14.用栈实现队列

14.用栈实现队列 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; /* 解题思路&#xff1a; 此题可以用两个栈实现&#xff0c;一个栈进行入队操作&#xff0c;另一个栈进行出队操作 出队操作&#xff1a; 当出队的栈不为空是&#xff0c;直接进行出栈操作&#xff…

算法通关村第七关—迭代实现二叉树的遍历(黄金)

迭代实现二叉树的遍历 迭代法实现前序遍历 前序遍历是中左右&#xff0c;如果还有左子树就一直向下找。完了之后再返回从最底层逐步向上向右找。不难写出如下代码&#xff1a;&#xff08;注意代码中&#xff0c;空节点不入栈&#xff09; public List<Integer>preorde…

VSCode 中将头文件和头文件函数分离,编译主函数跳出 undefined reference to 的问题解决

VSCode 编写 C &#xff08;.h&#xff0c;.cpp 文件分离&#xff09;代码&#xff0c;编写完成后&#xff0c;编译遇到了编译错误 undefined reference to xxx。 开始还以为使用了 -stdc20 而不能使用 #include “xxx.h" 方式头文件&#xff0c;但仔细一想虽然引入了 im…

基于YOLOv7算法的的高精度实时通用目标检测识别系统(PyTorch+Pyside6+YOLOv7)

摘要&#xff1a;基于YOLOv7算法的高精度实时检测识别系统可用于日常生活中检测与定位多种目标&#xff0c;此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别&#xff0c;同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标检测算法来训练数据集…

OpenHarmony 应用(HarmonyOS 原生应用)- 写一个 Hello World 并在华为手机上跑起来

OpenHarmony 简介 ArkUI 开发框架 OpenHarmony 提供了一套UI开发框架&#xff0c;即方舟开发框架&#xff08;ArkUI 框架&#xff09;。 两种开发范式 支持两种开发范式&#xff0c;分别是基于ArkTS的声明式开发范式&#xff08;简称“声明式开发范式”&#xff09;和兼容J…

【Leetcode题单】(01 数组篇)刷题关键点总结03【数组的改变、移动】

【Leetcode题单】&#xff08;01 数组篇&#xff09;刷题关键点总结03【数组的改变、移动】&#xff08;3题&#xff09; 数组的改变、移动453. 最小操作次数使数组元素相等 Medium665. 非递减数列 Medium283. 移动零 Easy 大家好&#xff0c;这里是新开的LeetCode刷题系列&…

弦理论的技术探索

弦理论的技术探索 一、引言 弦理论,作为现代物理学中的一个重要分支,旨在揭示宇宙的终极规律。它认为,宇宙中的一切物质和能量都是由微小的弦振动产生的。本文将深入探讨弦理论的技术层面,包括其数学基础、物理应用以及计算机模拟等方面。 二、弦理论的数学基础 弦理论的…

Go连接mysql数据库

package main import ("database/sql""fmt"_ "github.com/go-sql-driver/mysql" ) //go连接数据库示例 func main() {// 数据库信息dsn : "root:roottcp(192.168.169.11:3306)/sql_test"//连接数据库 数据库类型mysql,以及数据库信息d…

【Tkinter 入门教程】

【Tkinter 入门教程】 1. Tkinter库的简介&#xff1a;1.1 GUI编程1.2 Tkinter的定位 2. Hello word! 程序起飞2.1 第⼀个程序2.2 字体颜色主题 3. 组件讲解3.1 tkinter 的核⼼组件3.2 组件的使⽤3.3 标签Label3.3.1 标签显示内容3.3.2 多标签的应⽤程序3.3.3 总结 3.4 按钮but…

Wireshark 协议插件Lua开发 -数据包内嵌协议的解释

概述 因为公司项目涉及的协议打包&#xff0c;协议包内又嵌了一层IP包的奇葩套娃结构&#xff0c;为了方便抓包调试&#xff0c;利用Wireshark的协议插件开发功能&#xff0c;写了一个插件&#xff0c;博文记录以备忘。 环境信息 Wireshark 4.0.3 协议结构体套娃图 插件安装…