CVPR2021 用更好的目标检测器提取视觉特征!微软提出VinVL,基于更好的视觉特征,达到更强的多模态性能
写在前面
本文详细研究了视觉语言(VL)任务中更好的视觉表示,并开发了一种目标检测模型,来提供以对象为中心的图像表示。与最广泛使用的bottom-up and top-down模型相比,新模型更大,更适用于VL任务,并在结合多个公共目标检测数据集的更大训练语料库上进行预训练。
论文和代码地址
论文地址:https://arxiv.org/abs/2101.00529
代码地址:https://github.com/pzzhang/VinVL
Motivation
视觉语言预训练(VLP)已被证明对广泛的视觉语言(VL)任务是有效的。VLP通常包括两个部分:
2)预训练跨模态融合模型,用于混合文本和视觉特征。现有的VLP研究主要集中在改进跨模态融合模型上,而本文着重于改进以对象为中心的视觉表示,并进行了全面的研究来证明视觉特征在VL模型中的重要性 。
在目前的多模态预训练工作中,大多使用的目标检测(OD)模型是在Visual Genome数据集上训练的。OD模型提供了一种以对象为中心的图像表示。在这项工作中,作者预训练了一个基于ResNeXt-152 C4结构(简称X152-C4)的大规模对象属性检测模型。
与其他OD模型(如在OpenImages上训练的X152-FPN)相比,本文的新模型可以对视觉对象和概念的集合进行更精细的编码,如上图中的示例所示(作图为OpenImages上训练的X152-FPN结果,右图为本文模型的结果)。
方法
3.1. Improving Vision (V) in Vision Language (VL)
基于深度学习的VL模型通常包括两个模块:图像理解模块Vision 和跨模态理解模块VL :
其中,Img和w分别是视觉和语言模态的输入。视觉模块的输出由q和v组成。q是图像的语义表示,如标签或检测到的对象,v是图像在高维潜在空间中的特征表示。大多数VL模型仅使用视觉特征v,而最近OSCAR模型提出,q可以作为学习更好的视觉语言联合表示的anchor,因此可以提高各种VL任务的性能。
2)使用大规模的图像文本语料库进行预训练
2)在目标检测算法方面获得新的进展,如特征金字塔网络、one-stage密集预测和anchor-free检测器
3)利用更强大的GPU训练更大的模型
3.1.1. Object Detection Pre-training
为了改进VL任务的OD模型,作者使用了四个目标检测数据集。由于大多数数据集没有属性标注,作者采用预训练和微调策略来构建OD模型。首先在由四个公共数据集组成的大规模语料库上预训练OD模型,然后在Visual Genome上用附加属性分支对模型进行微调,使其能够检测对象和属性。
Data
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更有效的区域特征。作者提出了两个原因:
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下游任务的精度没有任何下降。
3.2. OSCAR + Pre-training
3.2.1. Pre-training corpus
作者基于三种类型的VL数据集构建预训练语料库:
2)VQA数据集,问题为w,人工标注的答案为q,包括GQA、VQA和VG-QAs
3)图像标记数据集,机器生成6个标题作为w,人工标注的tag作为q,包括OpenImages的子集(1.67M图像)。
3.2.2. Pre-training Objectives
OSCAR +预训练的损失函数如下所示:
3.2.3. Pre-trained models
作者预训练了两个模型变体,分别表示为OSCAR+B和OSCAR+L,它们分别用BERT base和large的参数初始化,其中L是层数,H是隐藏大小,A是自注意头的数量。
实验
4.1. Main Results
上表展示了本文方法和SOTA方法在不同下游任务上性能的对比。
上表为不同模型在VQA任务上的结果。
上表为不同模型在GQA任务上的结果。
上表为不同模型在Image Captioning任务Karpathy测试集的结果。
上表为不同模型在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?
How much does the diversity of visual concepts, i.e., object and attribute vocabularies, matter?
总结
在本文中,作者提出了一种新的方法来预训练VL任务的OD模型。与广泛使用的bottom-up and top-down模型相比,新模型更大,更适用于VL任务,并在更大的文本图像语料库上进行预训练,因此可以为VL任务生成更丰富的视觉对象和概念集合的视觉特征。
▊ 作者简介
知乎/公众号:FightingCV
END