GLIPv2:统一定位和视觉语言理解.

0. TL; DR

GLIPv2 是一种新型的视觉语言理解模型,能够同时处理视觉定位任务(如目标检测和实例分割)和视觉语言理解任务(如视觉问答和图像标题生成)。通过将这些任务统一为“视觉语言定位”任务,GLIPv2 在多种下游任务中实现了接近 SOTA 的性能,同时简化了预训练流程,降低了预训练成本。此外,GLIPv2 在零样本和少样本学习场景下表现出色,能够快速适应开放词汇表的目标检测任务。

1. 背景介绍

近年来,计算机视觉和自然语言处理领域的发展促使研究者们探索能够同时处理多种视觉任务的通用视觉系统。这些任务包括图像分类、目标检测、实例分割以及视觉问答(VQA)和图像标题生成等视觉语言理解任务。然而,定位任务(如目标检测)和视觉语言理解任务在本质上存在显著差异:定位任务通常只需要视觉信息,输出细粒度的定位结果(如边界框或像素掩码),而视觉语言理解任务则强调视觉和语言模态的融合,输出高级语义信息(如答案或标题)。

为了统一这两种任务,研究者们提出了多种方法,但这些方法往往存在局限性。例如,一些方法通过简单的多任务学习将定位任务和视觉语言理解任务结合在一起,但这种结合方式并没有带来明显的性能提升。GLIPv2 通过引入“视觉语言定位”作为定位和理解任务的“元能力”,成功地统一了这两种任务。

2. GLIPv2 模型

GLIPv2 的核心是一个统一视觉语言理解模型,包括双编码器(视觉编码器和文本编码器)和融合编码器。模型输入图像-文本对,输出经过跨模态融合后的特征,用于后续任务的处理。

GLIPv2 的预训练包括三个任务:短语定位任务、区域-单词对比学习任务和掩码语言建模任务。这些任务不仅简化了多阶段视觉语言预训练流程,还实现了定位任务和理解任务之间的相互促进。

其中区域-单词对比学习损失$L_{inter}$:

\[L_{inter} =\text{cross\_entropy\_loss}(S^{batch}_{ground},T^{batch},axis=0)\\+\text{cross\_entropy\_loss}(S^{batch}_{ground},T^{batch},axis=1)\]

其中$S^{batch}_{ground}$是批次内所有图像区域和文本短语之间的相似度矩阵,$T^{batch}$是目标亲和度矩阵。

3. 实验分析

GLIPv2 在多个数据集上进行了评估,包括 COCO 目标检测、LVIS 实例分割、Flickr30K 实体短语定位、VQA2.0 视觉问答和 COCO 图像标题生成等。评估指标包括 mAP(目标检测和实例分割)、Recall@1/5/10(短语定位)、准确率(VQA)和 BLEU-4、CIDEr、SPICE(图像标题生成)。

对于定位任务,GLIPv2COCO 目标检测任务上达到了 62.4 AP,在 LVIS 实例分割任务上达到了 59.8 AP,显著优于其他方法。

对于视觉语言理解任务,在 VQA2.0 数据集上,GLIPv2 达到了 74.6% 的准确率,接近 SOTA 模型。在 COCO 图像标题生成任务上,GLIPv2CIDEr 分数达到了 131.0,超过了多个专门的标题生成模型。

GLIPv2 在开放词汇表的目标检测任务上表现出色。例如,在 ODinW 数据集上,GLIPv2 在零样本设置下达到了 48.5 AP