摘要
多模态推理系统依靠预先训练的目标检测器从图像中提取感兴趣的区域。 然而,这个关键模块通常被用作黑盒,独立于下游任务,并在固定的目标和属性词汇表上进行训练。 这使得这类系统很难捕捉到以自由形式文本表达的视觉概念的长尾分布。 在本文中,我们提出了MDETR,一个端到端调制检测器,以原始文本查询(如标题或问题)为条件检测图像中的目标。 我们使用基于transformer的架构,通过在模型的早期阶段融合这两种模式,来对文本和图像进行联合推理。 我们在1.3M文本-图像对上预先训练网络,这些文本-图像对来自已有的多模态数据集,文本中的短语和图像中的目标之间有明确的对齐。 然后,我们对一些下游任务进行微调,如短语接地,参考表达理解和分割,在流行的基准上实现最先进的结果。 我们还研究了我们的模型作为给定标签集上的目标检测器的效用,当在少样本设置中进行微调时。 我们表明,我们的训练前方法提供了一种处理目标类别的长尾的方法,这些类别有很少的标记实例。 我们的方法可以很容易地扩展到视觉问答,在GQA和CLEVR上获得有竞争力的表现。
1、介绍
物体检测是大多数最先进的多模态理解系统的一个重要组成部分,通常用作检测图像中固定的概念词汇表的黑盒子。 这种使用检测系统的流行方法没有考虑到下游的多模态理解任务,通常是性能的瓶颈。 此外,该系统通常是冻结的,这不仅阻碍了模型的感知能力的进一步细化,也限制了它只能访问被检测物体,而不能访问整个图像。 这种“流水线式”的方法限制了与其他模式作为背景的联合训练。 在视觉语言设置中,它意味着将结果系统的词汇限制为检测器的类别和属性。 因此,这个系统不能识别可以用自由形式文本表达的概念的新组合。
最近的一项工作考虑了文本条件下的目标检测问题。 这些方法扩展了主流的单阶段和两阶段检测体系结构来实现这一目标。 然而,据我们所知,还没有证明此类检测器能够提高下游任务的性能,这些任务需要对检测到的目标(如VQA)进行推理。 我们认为这是因为这些检测器不是端到端可微分的,因此不能与下游任务协同训练。
我们的方法MDETR是基于最近的DETR检测框架的端到端调制检测器,并结合自然语言理解执行目标检测,实现真正的端到端多模态推理。 MDETR仅依赖文本和对齐框作为监督图像中的概念的一种形式。 因此,与当前的检测方法不同,MDETR检测来自自由形式文本的细微差别概念,并将其推广到类别和属性的不可见组合。 我们在图1中展示了这种组合以及调制检测。 通过设计,我们的预测以文本为基础,这是视觉推理的关键要求。 当使用包含20万张图片的数据集进行预训练,并将文本与框注释对齐时,我们在Flickr30k数据集上获得了最佳的短语基础,RefCOCO/+/g数据集用于参考表达式理解,以及在phrascut上参考表达式分割, 以及在GQA和cleverr的视觉问答基准测试中具有竞争力的表现。
我们的贡献如下:
- 我们介绍了一个端到端的文本调制检测系统,源自于DETR检测器。
- 我们证明,调制检测方法可以无缝地应用于解决任务,如短语接地和参考表达理解,使用具有合成和真实图像的数据集,在这两个任务上设置新的最佳性能。
- 我们表明,良好的调制检测性能自然会转化为下游任务的性能,例如在视觉问题回答、参考表达分割和少样本长尾目标检测上实现竞争性的性能。
2、相关工作
CLEVR数据集是一个流行的视觉语言基准,用于对目标、它们的关系以及这些关系的组成进行推理。 一个突出的工作利用函数式程序注释,这些注释是CLEVR数据集的一部分。 这些方法往往在问答基准测试中占主导地位,但不能推广到合成数据之外。 相反,许多方法直接从图像或预先检测的目标中学习,并根据QA任务进行不同数量的归纳双定向。 我们的方法可以看作是一种介于两者之间的方法:虽然没有明确地使用程序监督,但它被训练为检测执行中间推理步骤所需的目标。
多模态理解的近期进展主要是通过预先训练大型transformer模型,从大量对齐的图像-文本数据中学习通用的多模态表示,然后在下游任务中对它们进行微调。 这些方法可以分为单流和双流架构,这取决于文本和图像是由单个组合transformer处理还是由两个单独的transformer处理,然后再经过一些交叉注意层。 对于这两种类型,普遍的方法是独立提取视觉和文本特征,然后使用transformer的注意机制来学习两者之间的对齐。 虽然这种方法改善了图像-文本检索、短语基础、图像字幕和视觉问题回答等各种任务的最新结果,但它为更紧密的架构留下了机会,如MDETR, 在模型的早期阶段,信息在两种模式之间流动。 之前一些使用调制架构实现这一目标的尝试显示了计数任务和可视化问题回答方面的改进。
目前最先进的模型所使用的视觉特征是通过外部预先训练的检测器提取的,该检测器输出的区域是有噪声的,经常是过采样和模糊的。 [28]试图通过使用标签作为文本和图像之间的锚来缓解图像特征的噪声问题。 与MDETR相比,这仍然是一种较弱的监督形式,在MDETR中,我们在文本中的单词或短语与图像中的目标之间有明确的对齐。 为了减轻固定概念词汇表所隐含的约束,[73]在更大的目标检测数据集上进行训练,以追求更好的覆盖范围。 [9]在现有的高性能模型上进行对抗性训练,推动性能更高。 其他方法[69]试图将场景图预测作为预训练的一部分,以学习更健壮的表示。 最近的一些工作还试图构建多用途的多模态体系结构,这些体系结构能够处理各种视觉语言[7]以及单一体系结构[16]中的纯语言任务。 针对与我们类似的问题,但具有更专门任务的模型架构的单独工作是单独[67,3,27]和两个阶段[45,13],这是专为这一任务设计的表达式分割和短语检测模型。
3、方法
在本节中,我们首先简要总结了在§3.1中构建模型的目标检测流程,然后描述如何将其扩展到§3.2中的调制检测。
3.1、背景
DETR:
我们的调制检测方法建立在DETR系统上,我们在这里简要回顾一下。 我们请读者参阅原文了解更多细节。 DETR是一个端到端的检测模型,由主干(通常是卷积残差网络)和Transformer编解码器组成。
DERT编码器对来自主干的二维扁平图像特征进行操作,并应用一系列Transformer层。 解码器将N个被称为目标查询的学习嵌入集作为输入,可以将其视为模型需要用检测到的目标填充的槽。 所有的目标查询都与解码器并行输入,解码器使用交叉注意层来查看编码图像,并预测每个查询的输出嵌入。 每个目标查询的最终表示使用共享前馈层独立解码为框坐标和类标签。 目标查询的数量实际上是模型可以同时检测的目标数量的上限。 它必须设置为一个足够大的上界,在给定的图像中可能会遇到的目标数量。 由于特定图像中目标的实际数量可能小于查询的数量N,我们使用一个额外的类标签,对应于“no object”,用表示。 模型被训练为为每个不对应于目标的查询输出这个类。
使用匈牙利匹配损失训练DETR,其中N个提出的目标和Ground-truth目标之间计算二部匹配。 对每个匹配的目标进行监督,使用相应的目标作为ground-truth,而对未匹配的目标进行监督,预测“无目标”标签。 分类头使用标准交叉熵进行监督,而边界框头使用绝对误差(L1损失)和广义IoU的组合进行监督。
3.2、MDETR
3.2.1、结构
我们在图2中描述MDETR的体系结构。 就像在DETR中一样,图像由卷积主干进行编码并变平。 二维位置嵌入被添加到这个平面向量中以保存空间信息。 文本使用预先训练过的transformer语言模型进行编码,生成与输入大小相同的隐藏向量序列。 将模态相关的线性投影应用于图像和文本特征,将它们投影到共享的嵌入空间中。 然后将这些特征向量连接到序列维数上,生成一个图像和文本特征序列。 这个序列被输入到称为交叉编码器的联合transformer编码器中。 在DETR之后,我们在目标查询上应用一个transformer解码器,同时交叉处理交叉编码器的最终隐藏状态。 解码器的输出用于预测实际的框。
3.2.2、训练
我们提出了MDETR使用的两个额外的损失函数,它鼓励图像和文本之间的对齐。 它们都使用相同的注释来源:带有对齐边框的自由格式文本。 我们称之为软令牌预测损失的第一个损失函数是非参数对齐损失。 第二种被称为文本查询对比对齐,它是一个参数损失函数,强制对齐的对象查询和标记之间的相似性。
软token预测:
对于调制检测,与标准检测设置不同,我们对预测每个检测目标的分类类别不感兴趣。 相反,我们从引用每个匹配目标的原始文本中预测标记的范围。 具体来说,我们首先设置任意给定句子的最大令牌数为L = 256。 对于每个使用二部匹配与Ground truth匹配的预测框,该模型被训练来预测与目标对应的所有标记位置上的均匀分布。 图2展示了一个例子,在这个例子中,猫的框被训练来预测前两个单词的均匀分布。 在图9中,我们根据每个框的单词分布,展示了本示例损失的简化可视化,但在实践中,我们使用BPE方案进行token化后使用令牌跨度。 任何不匹配目标的查询都被训练为预测“no object”标签。 请注意,文本中的几个单词可能对应于图像中的同一个物体,反之,几个物体也可能对应于同一个文本。 例如,“一对夫妇”指的是图像中的两个框,可以在相同的标题中单独引用。 通过这样设计损失函数,我们的模型能够从相同的引用表达式中了解共同引用的目标。
对比对齐:
软令牌预测使用位置信息将目标与文本对齐,而对比对齐损失则强制在解码器输出的目标的嵌入表示与交叉编码器输出的文本表示之间进行对齐。 这种额外的对比对齐损失确保(视觉)目标及其对应(文本)标记的嵌入比不相关标记的嵌入在特征空间中更接近。 这个约束比软token预测损失更强,因为它直接作用于表示,而不是仅仅基于位置信息。 更具体地说,token的最大数量为L,目标的最大数量为。设
为给定目标
应对齐的token集,
为给定目标
对齐的对象集。
所有目标的对比损失,受InfoNCE启发,由每个目标的正标记数标准化,可以写成如下:
其中是一个温度参数,根据文献,我们将其设置为0.07。 根据对称性,所有token的对比损失,由每个token的正数目标归一化得到:
我们取这两个损失函数的平均值作为对比对准损失。
4、实验
在本节中,我们将描述用于培训前MDETR的数据和培训,并提供关于用于评估我们的方法的任务的详细信息和结果。 §4.1中描述了对来自CLEVR数据集的合成数据的实验和结果,§4.2中描述了对真实世界图像的实验。
4.1、合成图像
CLEVR是一个合成数据集,用于在受控设置下评估多模态模型。 虽然这项任务的视觉理解部分在现代标准下是微不足道的,但主要的挑战是理解问题,这可能包含多达20步的推理,并将其中的关键短语与图像中的正确目标对齐。 不同于CLEVR的几个成功方法,MDETR没有包含任何特殊的归纳偏见来处理如此复杂的推理任务。 在本节中,我们将说明,尽管我们的方法相对直接,但在回答问题的任务上,我们的方法与最先进的模型竞争。
模型
我们使用Torchvision公司的ResNet-18,在ImageNet上进行预训练,作为卷积主干。 对于文本编码器,我们使用HuggingFace预先训练的DistilRoberta。 最后的transformer与DETR相同,有6个编码器层和6个解码器层,在注意层中有8个注意头。 我们将目标查询的数量减少到25,因为要检测的目标的最大数量很低。
监督
训练MDETR所需的第一个成分是图像中目标的边界框注释。 原始的CLEVR数据集没有提供它们,所以我们使用来自数据集的场景图来重新创建它们。 第二个要素是问题中的边界框和标记之间的对齐。 MDETR被训练为只预测问题中提到的目标。 关于边界框和跨度提取的更多细节可以在附录B.1中找到。
训练
我们提取完整数据集的一个子集,其中只有对给定目标的单个引用的问题。 这个子集,我们称之为CLEVR-Medium,大约比整个子集小15%。 我们采用了一种课程学习策略,我们首先在这个精简集上训练调制检测任务30个周期,然后在全智能智能系统上训练30个周期,同时有调制检测和问答损失。 我们发现,如果没有这个课程策略,我们的模型会收敛到局部最小值,在整个CLEVR数据集上的评估表现低于标准。 如图3所示,我们在转换器解码器中使用额外的查询来回答CLEVR中的每种类型的问题:数值、二进制和属性。 我们用标准的交叉熵损失来监督每个磁头。 附录B.2和B.3提供了超参数,以及关于课程策略需求的更多细节,以及关于损失的一些消融。
结果
结果收集在表1中。 在CLEVR上,我们的性能与NS-VQA(一种以ground-truth程序注释的形式使用外部监督的方法)非常接近,明显超过了像我们一样不使用这种额外监督信号的方法的性能。 然后我们评估我们的模型的泛化能力。 CLEVR-Humans是一个关于CLEVR图像的人类生成问题的数据集。 测试了模型对新词汇和不同推理基元的鲁棒性。 在零概率的情况下,我们大大改进了最佳竞争模型。 我们把这种改进归功于我们预先训练的语言模型。 在微调之后,差距缩小了,这表明可能需要进一步的开发来提高性能。
CoGenT是一种组成的一般化测试。 评估协议包含在集合A的训练中,其中球体可以是任何颜色,但立方体是灰色、蓝色、棕色或黄色,圆柱体是红色、绿色、紫色或青色。 然后,我们以零样本的方式评估分裂B,其中立方体和圆柱体有相反的颜色-形状对。 与其他模型类似,我们观察到显著的泛化差距。 仔细观察,准确率下降最大的是询问物体形状的问题(从测试a的99.98%下降到测试b的34.68%),这表明模型学习到了形状和颜色之间强烈的虚假偏差。
最后,我们在基于CLEVR图像的参考表达理解数据集CLEVR-REF+上评估了我们的模型。 对于每个目标查询,我们训练一个额外的二进制头来预测查询是否对应于被引用的目标(与句子中的辅助目标相反,我们也会检测到)。 在[31]之后,我们评估引用唯一目标的表达式子集的准确性,衡量为排名最高的框与目标框的IoU是否至少为0.5。 使用上述的二元预测对框进行排序,我们的模型正确地将验证集的每个示例的有效框排在首位,准确率达到100%,大大优于之前的工作。
4.2、自然图像
4.2.1、预训练调制检测
在训练前,我们专注于调制检测的任务,其目的是检测对齐的自由形式文本中提到的所有对象。 我们使用来自Flickr30k、MS COCO和Visual Genome (VG)数据集的图像创建了一个组合数据集。 使用引用表达式数据集、VG区域、Flickr实体和GQA训练平衡集的注释进行训练。 有关数据集的详细信息可在附录C中找到。
组合
对于每个图像,我们从这些数据集中获取所有注释,并结合指向同一图像的文本,同时确保所有下游任务的验证或测试集中的所有图像都从列车集中删除。 句子的组合采用图着色算法,保证只有GIoU≤0.5的短语组合,且组合的句子总长度小于250个字符。 通过这种方式,我们得到了一个拥有1.3M对齐的图像-文本对的数据集。 这种组合步骤是重要的有两个原因:1)数据效率,通过打包更多的信息到一个训练实例,2)它为我们提供了一个更好的学习信号软token以来损失预测模型必须学会消除歧义之间多次出现同一个目标类别,如图4中所示。 在单个句子的情况下,软标记预测任务变得微不足道,因为它总是可以预测句子的根,而不需要看图像。 实验中,我们发现这种密集的注释转换为更好的文本和图像之间的基础,并随后更好的下游性能。
模型
我们使用预先训练过的RoBERTa-base作为我们的文本编码器,它有12个transformer编码器层,每个层的隐藏维度为768,在多头注意力中有12个头。 我们使用HuggingFace的实现和权重[62]。 对于视觉中枢,我们探索两种选择。 第一个是在ImageNet上预先训练的ResNet-101,使用的是来自Torchvision的冷冻批量规范层。 这可以与多模态理解领域的当前文献相媲美,在多模态理解领域,流行的方法是使用具有ResNet-101骨干的BUTD目标检测器,该骨干来自VG数据集上训练的[1]。 在我们的工作中,我们不受预先训练的检测器的存在的限制,并受到其在目标检测中的成功启发,我们选择探索EfficientNet家族作为我们的骨干。 除了ImageNet,我们还使用了一个在大量未标记数据上训练的模型,使用了一种名为Noisy-Student的伪标记技术。 我们选择了EfficientNetB3,它在ImageNet上仅用12M权重就能达到84.1%的top 1精度。 我们使用Timm库提供的实现,并冻结批规范层。 训练超参数详见附录A。
4.2.2、下游任务
我们评估我们的方法在4下游任务:参考表达理解和分割,视觉问题回答,以及短语接地
。 所有任务的训练超参数可以在附录A中找到。
phrase grounding
给定一个或多个短语,它们可能是相互关联的,任务是为每个短语提供一组包围框。 我们在此任务中使用Flickr30k实体数据集,并使用[46]提供的train/val/test分割,并根据Recall@k评估我们的性能。 对于测试集中的每个句子,我们预测100个包围框,并使用软标记对齐预测,根据对应短语的标记位置的评分对框进行排名。 我们在两个协议下进行评估,我们将其命名为ANY-BOX和MERGEDBOXES。 关于这两个协议的讨论请参见附录D。 我们将我们的方法与两种方法(文本条件检测模型和基于transformer的视觉-语言预训练模型)的现有最先进的结果进行了比较。 在ANY-BOX设置中,我们在不使用任何预训练(没有额外数据)的情况下,通过验证集上的Recall@1衡量,该任务的当前技术水平提高了8.5个点。 通过预训练,我们在使用相同主干的情况下,比测试集中的最佳模型的性能进一步提高了12.1点。
引用表达式的理解
给定一个图像和一个纯文本的引用表达式,任务是通过在它周围返回一个边界框来定位被引用的目标。 在这个任务上,大多数先前的工作采取的方法是对一组预先提取的与图像相关的包围框进行排序,这些包围框是通过预先训练的目标检测器获得的。 在本文中,我们解决了一个更困难的任务——我们训练我们的模型直接预测边界框,给定一个参考表达式和相关的图像。 该任务有三个已建立的数据集,分别为RefCOCO、RefCOCO+和RefCOCOg。 因为在训练前,我们注释了文本中提到的每个目标,所以在这个任务中使用模型的方式有一个轻微的变化。 例如,在训练前,给出的标题是“穿着蓝色裙子站在玫瑰丛旁的女人”。MDETR将接受训练,预测所有涉及目标的框,如女人、蓝色裙子和玫瑰丛。 然而,对于引用表达式,任务将只返回一个边界框,这表示整个表达式引用的女性。 由于这个原因,我们在任务特定的数据集上为5个时期微调模型。 在推理时间,我们用标签对100个检测到的箱子进行排名。 设P(
)为分配给“无目标”标签的概率,按1 - P(
)的递减顺序排序。 我们在表3中报告了结果,显示了在所有数据集上的重大改进。
引用表达式分割
与DETR类似,我们表明,通过评估最近的PhraseCut数据集的参照表达分割任务,我们的方法可以扩展到执行分割。该数据集由来自VG的图像组成,每个参照表达都带有分割遮板注释。 这些表达式包含了目标、属性和关系的广泛词汇表,这使它成为一个具有挑战性的基准。 与其他引用表达式分割数据集相反,在phrascut中表达式可以引用多个目标。 模型期望找到所有相应的实例。 我们的训练分两个阶段进行。 在第一步中,我们在40个epoch之后使用预先训练好的模型,并在这个数据集上对它进行5个epoch的微调,监督模型为引用的表达式输出正确的框。 我们在验证集中使用框AP来提前停止。 在之后的第二阶段,我们冻结网络的权值,只训练一个分割头15个纪元,使用Dice/F1损失和Focal损失的组合进行监督。 在推断时,我们给每个预测框赋一个置信度等于1 - P(),其中P(
)是赋给“无目标”标记的概率(见§3)。 然后我们用低于0.7的置信度过滤框。 最后,我们将每个框对应的掩码合并到一个对应于引用表达式的二进制掩码中。 结果收集于表4。 我们的模型能够为PhraseCut覆盖的各种长尾概念生产干净的面具。 我们的模型对这个数据集的预测示例在附录A中给出。
视觉问题回答
我们通过在GQA数据集上微调我们预先训练的模型来评估我们的假设,即调制检测是多模态推理的有用组件。 我们的模型体系结构如图3所示。 除了100查询,用于检测,我们使用其他目标查询,专注于问题的类型,以及一个用来预测问题的类型,类型中定义的REL, OBJ, GLOBAL, CAT 和ATTR。 我们预训练模型训练40个epoch在我们的数据集相结合,并初始化这些目标查询以及随机他们每个人的脑袋,和调整首先5个epoch的不平衡GQA分裂,紧随其后的是10个epoch平衡分离类似于之前是做什么工作。 在前5个阶段,我们训练了调制检测损耗和问答,但在问答损失上增加了权重,鼓励模型更多地关注这一任务。 对于平衡分割的微调,我们只使用问题回答损失。 在推理过程中,类型头会预测问题的类型,答案就会从这个类型的头中得到。 使用我们的ResNet-101骨干模型,我们不仅优于LXMERT和VL-T5,而且优于OSCAR,后者在训练前使用了更多的数据。 如表5所示,具有EfficientNet-B5骨干的MDETR能够提高性能。 NSM模型使用外部场景图生成模型,而MMN模型在训练过程中使用场景图和函数程序。 为了训练MDETR,我们使用场景图来获得问题词和方框之间的对齐。
4.2.3、长尾检测的小样本迁移
受CLIP在图像分类中的零样本传输的成功启发,我们探索了从预先训练的MDETR模型在给定标签集上构建有用检测器的机会。 与CLIP不同,我们不确保我们的训练前数据集包含所有目标类的均衡表示。 通过构造,我们的数据集没有训练实例,其中没有与文本对齐的框,这使模型总是预测给定文本的框。 这就避免了在真正的零样本传输设置中进行评估,因此我们转而采用少样本设置,在其中,模型根据可用的标记数据的一部分进行训练。 我们在LVIS数据集上进行实验,[11]是一个包含1.2k类别词汇量的大型检测数据集,具有包含很少训练样本的长尾,使其成为当前方法的一个具有挑战性的数据集。 联邦数据集经常给标准检测器带来问题,需要开发特定的损失函数。 然而,这个属性使它非常适合训练MDETR:对于每个正类别,我们创建一个由图像和类名的文本版本组成的训练实例,并作为注释提供该类别的所有实例。 对于每个负面类别,我们提供类名和一组空的注释。 对于给定图像的推断,我们查询每个可能的类名,然后合并在每个文本提示中检测到的框集。 这种推理方案在GPU上每图像花费10秒左右。
我们在LVIS训练集的三个子集上微调MDETR,每个子集分别包含1%、10%和100%的图像。 我们确保类别的均衡抽样,这样我们的1%集合包含每个类别中至少一个正样本和一个负样本。 我们比较了两个基线:第一个是在LVIS的完整训练集上专门训练的Mask-RCNN。 另一种是预先在MSCOCO上训练的DETR模型,然后在LVIS训练集的各个子集上进行微调。 结果如表6所示。 根据最近关于大词汇量背景下的AP评估的建议,我们报告了通过限制每个类别而不是每个图像的检测数量而获得的固定框AP。 即使每个类只有一个示例,MDETR也利用了文本预训练,并在罕见类别上优于完全微调的DETR。 然而,我们注意到,在对整个训练集进行全面微调时,小目标的性能显著下降,从10%数据时的20.9 AP下降到100%数据时的7.5 AP,这可能是由于极端的类失衡。 我们期望重复因子抽样等常用技术能在今后的工作中改善这种情况。
5、结论
我们提出了MDETR,一个完全可微分调制检测器。 我们建立了它在各种数据集上的多模态理解任务的强大性能,并展示了它在其他下游应用的潜力,如少样本检测和视觉问答。 我们希望这项工作为开发完全集成的多模式架构提供新的机会,而不依赖于黑箱目标检测器。
QQ:战、血舞皇朝、2125364717