GLIPv2:统一定位和视觉语言理解.
0. TL; DR
GLIPv2 是一种新型的视觉语言理解模型,能够同时处理视觉定位任务(如目标检测和实例分割)和视觉语言理解任务(如视觉问答和图像标题生成)。通过将这些任务统一为“视觉语言定位”任务,GLIPv2 在多种下游任务中实现了接近 SOTA 的性能,同时简化了预训练流程,降低了预训练成本。此外,GLIPv2 在零样本和少样本学习场景下表现出色,能够快速适应开放词汇表的目标检测任务。
1. 背景介绍
近年来,计算机视觉和自然语言处理领域的发展促使研究者们探索能够同时处理多种视觉任务的通用视觉系统。这些任务包括图像分类、目标检测、实例分割以及视觉问答(VQA)和图像标题生成等视觉语言理解任务。然而,定位任务(如目标检测)和视觉语言理解任务在本质上存在显著差异:定位任务通常只需要视觉信息,输出细粒度的定位结果(如边界框或像素掩码),而视觉语言理解任务则强调视觉和语言模态的融合,输出高级语义信息(如答案或标题)。
为了统一这两种任务,研究者们提出了多种方法,但这些方法往往存在局限性。例如,一些方法通过简单的多任务学习将定位任务和视觉语言理解任务结合在一起,但这种结合方式并没有带来明显的性能提升。GLIPv2 通过引入“视觉语言定位”作为定位和理解任务的“元能力”,成功地统一了这两种任务。
2. GLIPv2 模型
GLIPv2 的核心是一个统一视觉语言理解模型,包括双编码器(视觉编码器和文本编码器)和融合编码器。模型输入图像-文本对,输出经过跨模态融合后的特征,用于后续任务的处理。
- 视觉编码器:使用 Swin Transformer 作为视觉编码器,能够提取图像的视觉特征。
- 文本编码器:使用预训练的文本 Transformer(如 BERT 或 CLIP 类型的预训练模型)作为文本编码器。
- 融合编码器:通过动态头部和深度融合块将视觉特征和文本特征进行融合,使模型能够同时处理视觉和语言信息。
GLIPv2 的预训练包括三个任务:短语定位任务、区域-单词对比学习任务和掩码语言建模任务。这些任务不仅简化了多阶段视觉语言预训练流程,还实现了定位任务和理解任务之间的相互促进。
- 短语定位任务:将目标检测任务重新表述为视觉语言任务,通过将类别名称拼接成句子作为文本输入,使模型学习将图像区域与文本描述对齐。对应的损失包括定位损失$L_{loc}$和分类损失$L_{intra}$。
- 区域-单词对比学习任务:与传统的短语定位任务相比,该任务通过利用同一批次中其他图像文本对中的短语作为负样本,显著增加了负样本的数量,从而增强了模型的对比学习能力。对应的损失为$L_{inter}$。
- 掩码语言建模任务:与 BERT 中的掩码语言建模类似,GLIPv2 使用此任务来学习文本模态的表示。对应的损失为$L_{mlm}$。
其中区域-单词对比学习损失$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(图像标题生成)。
对于定位任务,GLIPv2 在 COCO 目标检测任务上达到了 62.4 AP,在 LVIS 实例分割任务上达到了 59.8 AP,显著优于其他方法。
对于视觉语言理解任务,在 VQA2.0 数据集上,GLIPv2 达到了 74.6% 的准确率,接近 SOTA 模型。在 COCO 图像标题生成任务上,GLIPv2 的 CIDEr 分数达到了 131.0,超过了多个专门的标题生成模型。
GLIPv2 在开放词汇表的目标检测任务上表现出色。例如,在 ODinW 数据集上,GLIPv2 在零样本设置下达到了 48.5 AP。