当前位置:   article > 正文

微软提出:多模态视觉语言理解和视觉定位的大一统

多模态视觉

53600bde24ee0591e4398d2c701b7eff.png

作者:金克丝 (在读博士)
方向:多模态学习
学校:南京理工大学

b9f64ff5c5af7995b1e359fcb2ca75c9.png

「收录情况」:NeurIPS-2022

「论文链接」:https://arxiv.org/abs/2206.05836

「代码链接」:https://github.com/microsoft/GLIP

  • 简介

    • 问题

    • 方案

    • 主要贡献

  • 相关工作

    • Localization models

    • Unifying localization and understanding

  • 方法

    • GLIPv2: Unifying Localization and VL Understanding

    • a、 A Unified VL Formulation and Architecture

    • b、GLIPv2 Pre-training

    • c、Transfer GLIPv2 to Localization and VL Tasks

  • 实验

    • One Model Architecture for All

    • One Set of Model Parameters for All

    • GLIPv2 as a Strong Few-Shot Learner

  • 总结


简介

问题

建立一个通用的,可以同时处理vision localization任务(image classification、object detection和segmentation等等)和VL understanding任务(VQA和image captioning等等)的vision language systems在过去一两年广为关注,这需要模型能够有效的统一localizationunderstanding任务。

然而,这两种任务有很大的区别:localization是仅视觉的任务,需要细粒度的输出(例如,bounding boxes或pixel masks),而VL understanding强调不同模态信息之间的融合,需要高级的语义输出(例如,answers或captions)。

方案

本论文提出grounded VL understanding模型GLIPv2,既适用于localization任务(例如,对象检测,实例分割),也适用于VL understanding任务(例如,VQA,image captioning)。GLIPv2将localization预训练和视觉语言预训练(VLP)有效的结合,包含三个预训练任务:phrase grounding作为VL任务以重构检测任务,region-word对比学习任务和MLM任务。这种统一不仅简化了以往的多阶段VLP模型,而且实现了localization和understanding之间的互利共赢。

实验表明,无集成的GLIPv2模型(权值共享)在各种localization和understanding任务中都能达到接近SoTA的性能。该模型对open-vocabulary对象检测任务具有很强的zero/few-shot适应能力,对VL理解任务也具有很强的grounding能力。

主要贡献

「a、Localization + VL understanding = grounded VL understanding」 Localization任务包括定位和语义分类,其中分类可以使用classification-to-matching方法将其转换为VL understanding的问题。因此,作者将Localization任务重新定义为VL grounding任务,其中语言输入是一个由类别名称拼接的合成的sentence。大规模的VL understanding数据(图像文本对)可以通过self-training的方式转化为VL grounding数据,因此,GLIPv2具有统一的预训练过程:将所有任务的数据转化为grounding数据,对GLIPv2进行预训练,进行grounded VL understanding

「b、A stronger VL grounding task: inter-image region-word contrastive learning」 作者引入了图像之间的region-word对比学习任务,利用同一batch中的其他sentences中的phrases作为潜在的负例,这使得GLIPv2能够学习到更多的region-word的判别特征。

相关工作

Localization models

传统目标检测和分割等任务是单个模态的任务,输出bounding box或pixel masked进行分类,这些模型难以泛化到新的类别。GLIPv2建立在MDETRGLIP基础上,使用classification-to-matching技巧将localization任务转换为一个grounded vision-language任务。因此,GLIPv2可以从语义丰富的图文对数据中学习,在open-vocabulary localization任务表现出强大的性能,GLIPv2简化了预训练架构,并支持grounded VL understanding,以获得更好的解释性。

Unifying localization and understanding

Localization任务被视为单模态任务,而VL任务涉及两种模态。GLIPv2将grounded VL understanding定义为localization和理解的meta-task,任务的统一带来了体系结构的统一。GLIPv2 vs GLIP:1)GLIP的grounded pre-training提高了localization的性能和提高了VL understanding的能力,从而形成了localization和VL understanding的统一模型;2)GLIPv2 引入了图像间region-word的对比损失,这是另一个比GLIP中预训练任务更强的grounding任务。

方法

GLIPv2: Unifying Localization and VL Understanding

在GLIP中将目标检测重新定义为广义的phrase grounding任务的基础上,将localization任务和VL understanding任务统一为grounded vision-language任务,将图像和文本同时输入,并输出object-level理解结果(例如,检测、分割)和image-level理解结果(例如,VQA、image captioning)。c27414d8ab9f49bf792880521fa5b235.png

a、 A Unified VL Formulation and Architecture

GLIPv2的关键是classification-to-matching技巧,它将任何task-specific fixed-vocab分类问题重新表述为task-agnostic open-vocabulary视觉语言匹配问题,例如CLIP中将图像分类重新表述为图像-文本匹配,使模型可以直接从原始的大量的图像-文本对数据中学习,实现了强大的zero-shot效果。在GLIPv2中,将传统视觉模型中的语义分类线性层替换为视觉语言匹配点积层。

如图1,GLIPv2由一个双编码器和以及一个融合编码器组成,以图像-文本对(Img, Text)作为输入,提取视觉和文本特征如下,其中,和,分别表示VL融合前和融合后的图像/文本特征:24119c75fd5582127907e61d7b969143.png「Vision-Language understanding tasks」 GLIPv2在文本特征的基础上增加了一个两层MLP作为MLM head,用于MLM预训练。「(Language-guided) object detection and phrase grounding」 继GLIP之后,GLIPv2采用classification-to-matching的方法,实现了detection与grounding的统一。具体来说,只需将类别的概率(其中W是box分类器的权重矩阵)替换为task-agnostic region-word相似度分数(其中文本特征是来语言编码器的label嵌入),即原本的目标检测为分类为k个类别,转化为region和word的匹配分数,words里不仅包含原本所有的目标检测类别,同样包含更多的新的视觉概念。「(Language-guided) instance segmentation and referring image segmentation」 给定目标检测的结果,添加一个实例分割head,将box内的每个像素分类为一个语义类。同样,GLIPv2使用classification-to-matching的技巧,为标准的实例分割任务和referring图像分割任务生成统一的实例分割head,并利用这两种类型的数据进行预训练。

b、GLIPv2 Pre-training

GLIPv2采用三种预训练损失进行预训练:来自目标检测任务的视觉语言重构的phrase grounding损失,region-word对比损失,以及MLM损失:76182b58934ea6e1f72b91ed467a44a0.png与检测任务中的损失类似,由两部分组成:由边界框监督的,例如RPN损失、box regression损失和centerness损失,本质上是每个区域的语义分类/检索损失。

「Intra-image region-word alignment loss」 给定一个图像-文本对(Img, Text),通过跨模态融合得到图像和文本特征和,计算图像内部region-word对齐损失:736954a37e2cd9ea161f45c7c061e02f.png其中为单个图像区域与单词之间的相似度分数,为真值注释确定的目标矩阵,损失函数损失通常为两阶段模型的交叉熵损失和一阶段模型的Focal-loss。然而,由于一个caption所能包含的phrase数量有限,这种单个图像内部region-word的对比学习在对比学习的意义上是相当薄弱的。GLIP通过添加几个否定句来形成包含更多(否定)phrase的较长的文本输入,从而缓解了这个问题,但是,受限于文本token的最大长度(GLIP和GLIPv2中为256),只能添加少量的否定句,否定phrase的数量保持在10的数量级,当输入文本不能包含检测数据集(例如Objects365)中的所有类别名称时,在目标检测数据集中也存在这个仅有少量负例的问题。
961169f10af68e321ca2fcd536ddb7f6.png「Inter-image region-word contrastive loss」 GLIPv2使用同一batch中的其他图像-文本对中的phrase作为负例,有效地将负例的数量增加到1000数量级,而额外的计算成本几乎可以忽略不计。如图1,给定一批图像-文本对和真值,模型跨模态融合前后的图像和文本特征,分别记为,和,。然后如图2(左),考虑整个batch中的所有图像区域和文本短语,构造一个batch的相似矩阵和一个batch的目标矩阵,计算如下:e779b30cf39f9f0d7b74febf17629219.png然后将图像间region-word对比损失定义为应用于该batch所有图像region和phrase的标准双向对比损失:0ef767b37160faadcc2a97213e0b2753.png与单个图像内部的对比损失相比,图像之间对比损失中的负例数量大小要乘以batch大小,要注意的是:1) GLIPv2使用VL融合前的图像文本特征,而不是融合后的特征,避免模型看到成匹配对的信息(因为模型可以很容易地从不匹配的图像文本中剔除负例);2)不像CLIP简单地将所有来自不匹配的图像-文本的区域和文本都归为负例,而是通过label propagation来确定目标矩阵中的非对角块。如图2(左),如果一个region被标注为“person”,那它应该与检测类型文本中的所有“person”短语为正匹配。「Pre-training with both detection and paired-image-text data」 GLIPv2预训练数据是图像-文本-目标三元组格式(Img, Text, T),其中目标矩阵T包含box-label localization注释。作者还使用大量的图像-文本对数据(Img, Text)对进行预训练,极大地提高了GLIPv2的视觉概念多样性。「Second-stage pre-training of the segmentation head」 GLIPv2在实例分割和图像引用分割数据上进行二次语言引导的分割head的预训练,同时固定模型的所有其他部分。

c、Transfer GLIPv2 to Localization and VL Tasks

「One model architecture for all」 通过使用(可选的)task-specific的head对模型进行微调,GLIPv2可以迁移到下游任务:1)检测和分割任务,不需要额外的head,因为预训练架构本身就可以执行检测和分割;2)VL任务:对于VQA,添加一个分类头即可;对于caption生成,使用单向语言模型进行训练,在跨模态融合层中,使用单向attention mask来防止图像关注到文本。

「One set of weight for all」 GLIPv2可以在zero-shotprompt-tuning中迁移到localization任务,其中每个任务只保留少量或不保留参数,对于prompt-tuning的所有localization任务,所有输入图像的文本prompt都是相同的。

「Grounded VL understanding」 GLIPv2还支持grounded VL understanding,在对模型进行下游VL任务微调时,保留了执行grounding的能力,增加了模型的可解释性。

实验

One Model Architecture for All

f40245e8d58ba86d48de5dbac17da1ae.png在表1中,GLIPv2与现有的对象检测和视觉语言预训练方法进行了广泛的比较,在8个不同的下游任务上微调模型。

One Set of Model Parameters for All

9e4eb7b63397bd3a5b7fdd0edf935faa.png预训练的GLIPv2可以在任何对象检测任务和visual grounding任务上直接推理,而无需进一步微调。表2中对COCO、ODinW、LVIS和Flickr30这4种定位任务进行了评估。

GLIPv2 as a Strong Few-Shot Learner

d64e05fa0c3aeeea958b6502fd55dead.png

总结

本文提出了一个统一的VL表示学习框架GLIPv2,它既适用于localization任务,也适用于VL理解任务,实验验证了统一模型和region-word对比学习的有效性,与现有的方法相比,GLIPv2在各种localization和understanding任务上具有接近SoTA的竞争力。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/342584
推荐阅读
相关标签