Press "Enter" to skip to content

CVPR2021 用更好的目标检测器提取视觉特征!微软提出VinVL,基于更好的视觉特征,达到更强的多模态…

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

0

 

写在前面

 

本文详细研究了视觉语言(VL)任务中更好的视觉表示,并开发了一种目标检测模型,来提供以对象为中心的图像表示。与最广泛使用的bottom-up and top-down模型相比,新模型更大,更适用于VL任务,并在结合多个公共目标检测数据集的更大训练语料库上进行预训练。

 

因此,它可以生成更丰富的视觉对象和概念集合的表示。 虽然之前的VL研究主要集中在改进视觉语言融合模型,而不涉及目标检测模型的改进,但作者发现视觉特征在VL模型中起着重要作用。

 

在本文的实验中,作者将新的目标检测模型生成的视觉特征输入到基于Transformer的VL融合模型OSCAR中,并利用改进的方法OSCAR+对VL模型进行预训练,然后在多个下游VL任务中对其进行微调。结果表明,新的视觉特征显着提高了所有VL任务的性能,在多个基准数据集上达到SOTA的结果。

 

01

 

论文和代码地址

 

 

VinVL: Revisiting Visual Representations in Vision-Language Models

 

论文地址:https://arxiv.org/abs/2101.00529

 

代码地址:https://github.com/pzzhang/VinVL

 

02

 

Motivation

 

视觉语言预训练(VLP)已被证明对广泛的视觉语言(VL)任务是有效的。VLP通常包括两个部分:

 

1) 预训练目标检测模型,用于将图像和图像中的视觉对象编码为特征向量;

 

2) 预训练跨模态融合模型,用于混合文本和视觉特征。现有的VLP研究主要集中在改进跨模态融合模型上,而 本文着重于改进以对象为中心的视觉表示,并进行了全面的研究来证明视觉特征在VL模型中的重要性 。

 

 

在目前的多模态预训练工作中,大多使用的目标检测(OD)模型是在Visual Genome数据集上训练的。OD模型提供了一种以对象为中心的图像表示。在这项工作中,作者预训练了一个基于ResNeXt-152 C4结构(简称X152-C4)的大规模对象属性检测模型。

 

与以前的OD模型相比,新模型对VL任务进行了专门的设计,并且模型更大,训练的数据量更大,训练的数据结合了多个公共目标检测数据集,包括COCO、OpenImages(OI)、Objects365、Visual Genome (VG)。因此,本文的OD模型在广泛的VL任务上取得了更好的结果,如上表所示。

 

 

与其他OD模型(如在OpenImages上训练的X152-FPN)相比,本文的新模型可以对视觉对象和概念的集合进行更精细的编码,如上图中的示例所示(作图为OpenImages上训练的X152-FPN结果,右图为本文模型的结果)。

 

为了验证新OD模型的有效性,作者在由885万对文本图像组成的公共数据集上预训练了一个基于Transformer的跨模态融合模型OSCAR+,其中这些图像的视觉表示由新OD模型生成,并在OSCAR+预训练期间固定。

 

然后,通过在广泛的下游任务上微调,包括VL理解任务(如VQA、GQA、NLVR2和COCO文本图像检索),以及VL生成任务(如COCO图像字幕和NoCaps),确定最终的OSCAR+参数。

 

03

 

方法

 

3.1. Improving Vision (V) in Vision Language (VL)

 

基于深度学习的VL模型通常包括两个模块:图像理解模块 Vision 和跨模态理解模块 VL :

 

其中,Img和w分别是视觉和语言模态的输入。视觉模块的输出由q和v组成。q是图像的语义表示,如标签或检测到的对象,v是图像在高维潜在空间中的特征表示。大多数VL模型仅使用视觉特征v,而最近OSCAR模型提出,q可以作为学习更好的视觉语言联合表示的anchor,因此可以提高各种VL任务的性能。

 

上面式子中的w和y因不同VL任务而不同。在VQA中,w是一个问题,y是要预测的答案。在文本图像检索中,w是句子,y是句子图像对的匹配分数。在图像字幕中,w是不给定的,y是要生成的字幕。

 

视觉语言预训练(VLP)的性能提升主要来自两个方面:

 

1) 将视觉和语言建模与Transformer统一起来

 

2) 使用大规模的图像文本语料库进行预训练

 

然而,目前的VLP工作将图像理解模块视觉视为一个黑盒,自bottom-up and top-down模型以来,视觉特征的改进未被触及,然而目标检测方面已经取得了很多研究进展:

 

1) 开发了更多样化、更丰富、更大的训练数据集(如OpenImages和Objects 365)

 

2) 在目标检测算法方面获得新的进展,如特征金字塔网络、one-stage密集预测和anchor-free检测器

 

3) 利用更强大的GPU训练更大的模型

 

本文的重点是改善视觉模态,以获得更好的视觉表现。作者设计了一个新的OD模型,通过丰富视觉对象和属性类别,扩大模型大小和在更大的数据集上进行训练,从而提升多模态预训练模型的性能。

 

3.1.1. Object Detection Pre-training

 

为了改进VL任务的OD模型,作者使用了四个目标检测数据集。由于大多数数据集没有属性标注,作者采用预训练和微调策略来构建OD模型。首先在由四个公共数据集组成的大规模语料库上预训练OD模型,然后在Visual Genome上用附加属性分支对模型进行微调,使其能够检测对象和属性。

 

Data

 

 

上表展示了本文目标检测器的训练数据的细节,这些数据集在一定程度上互补的。例如,VG数据集为对象及其属性提供了丰富多样的注释集,并具有开放的词汇表。

 

但是它的注释非常嘈杂,并且存在注释缺失的问题。而COCO数据集的注释非常好,但是视觉对象和属性的覆盖率远低于VG中的覆盖率。作者采取以下步骤通过组合四个数据集来构建统一的语料库:

 

1) 首先,为了增强尾部类的视觉概念,作者对OpenImages和Objects365执行类感知采样,以获得每个类至少2000个实例,分别得到2.2M和0.8M的图像。

 

2) 为了平衡每个数据集的贡献,作者根据数量合并了四个数据集(8×COCO(8×0.11M)、8×VG(8×0.1M)、2×类感知采样Object 365(2×0.8M)和1×类感知采样OpenImages(2.2M))。

 

3) 为了统一它们的对象词汇表,作者使用VG词汇表及其对象别名作为基本词汇表,如果和它们的类名或别名匹配,则将其他三个数据集中的类合并到VG类中,如果找不到匹配,则添加一个新类。

 

4) 最后,作者保留1594个VG类和来自其他三个数据集的254个无法映射的类,最终数据集包含1848个类。

 

Model Architecture (FPN vs C4)

 

尽管最近的工作表明FPN模型在目标检测方面优于C4模型,但FPN没有为VL任务提供比C4更有效的区域特征。作者提出了两个原因:

 

首先,C4模型中用于区域特征提取的所有层都使用ImageNet数据集进行预训练,而FPN模型的MLP头则没有进行预训练;

 

第二个原因是不同的网络架构(CNN与MLP)。C4中使用的卷积头在编码视觉信息方面比FPN的MLP头具有更好的假设偏置。因此,作者使用C4架构进行VLP。

 

Model Pre-Training

 

按照目标检测训练中的常见做法,首先冻结第一个卷积层、第一个残差块和所有BN层。作者还使用了几种数据增强方法,包括horizontal flipping和multi-scale training。训练具有X152-C4结构的检测模型时,作者用ImageNet-5K的checkpoint初始化模型的backbone,并训练180万次迭代,Batch Size为16。

 

3.1.2. Injecting attribute information into the model

 

作者将属性分支添加到预训练好的OD模型中,然后在VG上微调OD模型以注入属性信息(524个类)。由于对象表示在目标检测预训练阶段进行了预训练,因此作者将属性损失权重设为1.25。本文的模型在检测VG上的对象和属性方面明显优于以前的模型。

 

3.1.3. Efficient region feature extractor for VL tasks

 

由于视觉对象和属性集更丰富,经典的类感知非极大抑制(NMS)后处理需要大量时间来移除重叠的边界框,使得特征提取过程非常缓慢。为了提高效率,作者用类无关NMS取代了类感知NMS。作者还将dilation=2的卷积换成了正常的卷积。这两种替换使得区域特征提取过程快得多,而VL下游任务的精度没有任何下降。

 

预训练的OD模型用作图像理解模块,为VL任务生成,q是检测到的对象名称集(文本),v是区域特征集。每个区域特征表示为,其中是检测头最后一个线性分类层输入的P维特征(P = 2048),是区域的R维位置编码(R = 6)。

 

3.2. OSCAR + Pre-training

 

3.2.1.  Pre-training corpus

 

作者基于三种类型的VL数据集构建预训练语料库:

 

1) 图像字幕数据集,人工标注的字幕为w,自动生成5图像标签为q,包括COCO, Conceptual Captions (CC), SBU captions 和 flicker30k;

 

2) VQA数据集,问题为w,人工标注的答案为q,包括GQA、VQA和VG-QAs

 

3) 图像标记数据集,机器生成6个标题作为w,人工标注的tag作为q,包括OpenImages的子集(1.67M图像)。

 

 

语料库总共包含565万张不同的图片,885万张文本-标签-图片三元组,细节如上表所示。

 

3.2.2. Pre-training Objectives

 

OSCAR +预训练的损失函数如下所示:

 

 

其中,是文本模态(w和q)上的Masked Token Loss。是三向对比损失(3-way Contrastive Loss)。

 

 

如上面的公式所示,考虑了两种类型的训练样本x:图像字幕和图像标签数据的{caption,image tags,image features}三元组,以及VQA数据的{question,answer,image features}三元组。

 

为了计算对比损失,需要构建负例。作者分别为这两种类型的训练样本构建了两种类型的负例:即一个是被污染的“标题”,另一个是被污染的“答案”。

 

由于的特征可以看做三元组的整体表示,作者用了一个全连接层作为三向分类器来预测三元组是否匹配(c=0)、是否包含污染的w(c=1)或是否包含污染的q(c=2)。三向对比损失表示如下:

 

 

其中数据集包含50%的匹配三元组、25%的w污染三元组和25%的q污染三元组。

 

3.2.3. Pre-trained models

 

作者预训练了两个模型变体,分别表示为OSCAR+B和OSCAR+L,它们分别用BERT base和large的参数初始化,其中L是层数,H是隐藏大小,A是自注意头的数量。

 

04

 

实验

 

4.1. Main Results

 

 

上表展示了本文方法和SOTA方法在不同下游任务上性能的对比。

 

 

上表为不同模型在VQA任务上的结果。

 

 

上表为不同模型在GQA任务上的结果。

 

 

上表为不同模型在Image Captioning任务Karpathy测试集的结果。

 

 

上表为不同模型在Image Captioning任务上线上测试集的结果。

 

 

上表为不同模型在NoCaps上的结果。

 

 

上表为不同模型在Text and Image retrieval任务上的结果。

 

 

上表为不同模型在NLVR2任务上的结果。

 

4.2. Ablation Analysis

 

How much do the V and VL matter to the SoTA?

 

 

上表展示了VQA任务上不同视觉模型的结果,可以看出VinVL达到了更高的性能。

 

How much do data and model sizes matter to the new vision model?

 

 

上表展示了不同的目标检测训练数据量的实验结果,可以看出更大的数据量可以达到更好的结果。

 

How much does OD model architecture matter?

 

 

上表展示了不同检测模型的结果,可以看出X152-C4的性能更好。

 

How much does the diversity of visual concepts, i.e., object and attribute vocabularies, matter?

 

 

上表展示了目标词汇和属性词汇信息对结果的影响,可以看出目标词汇和属性词汇信息有利于性能的提升。

 

05

 

总结

 

在本文中,作者提出了一种新的方法来预训练VL任务的OD模型。与广泛使用的bottom-up and top-down模型相比,新模型更大,更适用于VL任务,并在更大的文本图像语料库上进行预训练,因此可以为VL任务生成更丰富的视觉对象和概念集合的视觉特征。

 

VL任务的流程为:将新的视觉特征输入到VL融合模型中,该模型在大规模成对文本图像语料库上预训练,然后在七个VL任务上进行微调。结果表明,新的OD模型可以在多个公共基准数据集上大大提高所有七个VL任务的SoTA结果。

 

目前大多数的工作都在更好的融合多模态信息的方向上努力,而本文的作者则换了一种思考方式,认为目前VL中视觉特征并没有被很好的提取,因此作者提了一个更大的数据集来预训练更好的OD模型,从而提取更好的视觉特征。

 

本文也揭示了,更好的视觉特征确实有利于更好的性能,特征也是目前VL模型的一个瓶颈。但是ICML2021 ViLT这篇文章指出,在推理的时候,模型的很大一部分视觉都用在了提取视觉特征上,那幺问题来了: 有没有办法既能提高模型性能,又能不用复杂的目标检测模型呢?

 

▊  作者简介

 

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

 

知乎/ 公 众号: FightingCV

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注