人工智能

Osprey:使用视觉指令调优实现像素级理解

mm

随着视觉指令调优方法的最近增强,多模态大型语言模型(MLLMs)已经展示了令人印象深刻的一般视觉语言能力。这些能力使它们成为现代通用视觉助手的关键构建块。最近的模型,包括MiniGPT-4、LLaVA、InstructBLIP等,展现了令人印象深刻的视觉推理和指令跟随能力。虽然它们中的大多数依赖于图像-文本对来实现图像级视觉语言对齐,但它们在这个领域表现良好。然而,它们对盒级和图像级理解的依赖是MLLMs在像素级视觉语言对齐任务中无法复制其性能的主要原因。此外,基于掩码的指令数据的有限可用性也给MLLMs的进一步增强带来了挑战。

Osprey是一种掩码-文本指令训练方法,主要目标是扩展MLLMs的能力。它在语言指令中加入细粒度的掩码区域,以实现像素级视觉语言理解。为了实现这一目标,Osprey框架创建了一个包含超过700,000个样本的掩码-区域-文本数据集。它将像素级表示注入大型语言模型中,以设计一个视觉语言模型。值得注意的是,Osprey框架采用了基于卷积的CLIP模型作为其视觉编码器,并将掩码感知视觉提取器集成到其架构中。这使得视觉掩码特征可以从高分辨率输入中精确提取。

在本文中,我们将讨论Osprey框架及其架构。我们还将探讨创建的区域-文本数据集及其在各种区域理解任务中的性能。因此,让我们开始吧。

Osprey:使用视觉指令调优实现像素级理解

多模态大型语言模型,如MiniGPT-4、Otter、Qwen-LV、InstructBLIP等,是开发通用视觉助手的前沿者,它们以其出色的多模态和视觉生成能力而闻名。然而,多模态大型语言模型面临着一个重大挑战,即它们在细粒度图像理解任务(如字幕、区域分类和推理)中表现不佳。多模态大型语言模型在细粒度图像理解任务中表现不佳的主要原因是缺乏区域级对齐。最近的MLLMs,如GPT4RoI、Shikra等,旨在通过处理边界框指定的区域并利用视觉指令调优中的空间特征来实现区域级理解。

虽然这种方法可能会提高性能,但使用稀疏边界框作为引用的输入区域可能会直接引入不相关的背景特征,从而导致视觉指令调优中的区域-文本对齐不准确。推理过程中,盒级引用的输入可能无法准确检测和表示对象,这可能导致语义偏差,如下图所示。

相比之下,使用细粒度掩码而不是粗糙边界框作为引用的输入可能更能准确地表示对象。最近开发的SAM(Segment Anything Model)在数十亿高质量掩码上进行训练,展示了对零样本对象的出色分割质量,并支持使用点或简单边界框作为提示。然而,SAM框架无法生成主要语义标签,也无法提供详细的语义字幕和属性。因此,现有的模型缺乏固有的多模态细粒度信息,并且对现实世界场景的理解有限。

为了解决现有MLLMs面临的挑战,Osprey,一种新型的掩码-文本指令训练方法,旨在通过在语言指令中加入细粒度掩码区域来扩展多模态大型语言模型的能力,以实现像素级视觉语言理解。Osprey框架引入了一个掩码感知视觉提取器组件,以精确地捕获每个对象区域内的像素级特征。该组件编码掩码级视觉特征,并且还收集每个区域的空间位置信息。

为了实现这一点,Osprey首先使用视觉编码器生成的多级图像特征来采用掩码池化操作,对于每个单级特征,框架池化所有位于掩码区域内的特征。然后,框架通过将每个特征传递通过线性投影层来编码不同层的特征,生成区域级嵌入,并通过求和来融合多级特征。然后,框架使用MLP层来生成视觉掩码令牌。此外,Osprey通过实现每个对象区域的二进制掩码来保留对象区域的空间几何形状。最后,Osprey包括视觉掩码令牌及其相应的空间令牌,以便于每个掩码区域嵌入。

Osprey:方法和架构

以下图表展示了Osprey框架的架构概述,包括大型语言模型、像素级掩码感知视觉提取器和图像级视觉编码器。

对于给定的图像、输入语言和引用的掩码区域,框架执行转换和标记化以生成嵌入,然后将语言嵌入序列和交错的掩码特征发送到大型语言模型,以获得细粒度的语义理解。

卷积CLIP视觉编码器

大型语言模型中使用的视觉编码器主要是基于ViT的CLIP模型。因此,框架采用224×224像素或336×336像素的图像分辨率。然而,使用基于ViT的CLIP模型使得模型难以实现细粒度的图像理解,尤其是在小区域中。另外,ViT架构相关的计算负担阻碍了增加输入图像分辨率的可能性。

为了解决这个问题,Osprey框架在其架构中实现了基于卷积的CLIP模型作为视觉编码器。传统上,基于CNN的CLIP模型在不同输入分辨率下表现出出色的泛化能力。使用基于CNN的CLIP模型可以实现快速推理和高效训练,而不会损害模型的性能。此外,基于CNN的CLIP模型可以生成多尺度特征图,该框架直接用于每个后续对象区域的特征提取。

掩码感知视觉提取器

与使用稀疏边界框作为引用的输入的现有区域级模型不同,Osprey框架使用详细的掩码区域来实现基于对象的表示。Osprey模型采用掩码感知视觉提取器组件来捕获每个对象区域内的像素级特征。

LLM标记化

如前所述,模型通过将图像输入预训练的CNN-based视觉编码器来提取图像级嵌入。对于文本信息,模型首先使用预训练的LLM标记化器来标记化文本序列,然后将这些标记化的文本序列投影到文本嵌入中。对于基于掩码的区域,模型定义一个特殊的令牌作为占位符,然后用空间令牌和掩码令牌替换它。当模型在文本输入中引用对象区域时,它在区域名称后追加占位符,这使得掩码区域可以很好地与文本混合,形成完整的句子,而无需标记化空间。

Osprey:三阶段训练过程

Osprey框架采用三阶段训练过程,每个训练阶段都由下一个令牌预测损失的最小化来监督。

阶段1:图像-文本对齐训练

在第一阶段,Osprey框架采用基于CNN的CLIP视觉编码器来训练图像级特征和语言连接器,以训练模型进行图像-文本特征对齐。在第一阶段,框架采用三个组件:预训练的大型语言模型、预训练的视觉编码器和图像级投影器。框架还采用MLP层作为视觉语言连接器,以增强Osprey的多模态生成能力。

阶段2:掩码-文本对齐预训练

在第二阶段,Osprey加载第一阶段训练的权重,并采用其掩码感知视觉提取器组件来捕获像素级区域特征。在第二阶段,框架仅训练掩码感知视觉提取器,以使语言嵌入与基于掩码的区域特征对齐。另外,模型从部分级和公开可用的对象级数据集中收集像素级掩码对和短文本,并将它们转换为指令跟随数据,以进一步训练模型。

阶段3:端到端细化

在第三阶段和最后阶段,模型固定视觉编码器的权重,并在其架构中细化大型语言模型、基于掩码的区域特征提取器和图像级投影器组件。第三阶段训练的主要目标是扩展模型准确跟随用户指令和高效执行像素级区域理解任务的能力。

在实施这三个训练阶段后,Osprey框架能够理解由用户指令定义的复杂场景,并基于像素级掩码区域进行理解。

Osprey:实验结果

为了评估其性能,Osprey开发人员进行了一系列实验,以展示模型在分类、像素级区域识别和复杂描述方面的能力。

开放词汇分割

开放词汇分割的主要目标是显式地生成基于掩码的区域识别及其相应的类别。为了实现开放词汇分割,Osprey首先使用输入文本提示,然后模型采用地面真实掩码区域进行模型干预,以评估模型在开放词汇识别任务中的性能。根据多模态大型语言模型生成的句子响应,Osprey计算词汇列表和每个数据集输出之间的语义相似性。以下图表比较了Osprey与最先进的多模态大型语言模型。

如图所示,Osprey框架在Cityscapes和ADE20K-150数据集上显著优于现有方法。结果表明Osprey能够超越现有方法,并在细粒度对象区域上实现强大的理解和识别。

指向对象分类

在指向对象分类任务中,模型需要对图像中的特定区域内的对象进行分类。为了评估其分类能力,Osprey框架使用两个语义相关度指标,包括语义IoU(S-IoU)和语义相似度(SS)。语义IoU表示ground-truth标签和预测标签之间的词汇重叠,而语义相似度则测量预测标签和ground-truth标签在语义空间中的相似度。以下图表展示了Osprey在指向对象分类任务中的性能,当它与使用盒级和图像级方法的模型进行比较时。

详细区域描述

在详细区域描述任务中,模型评估其在指令跟随详细描述能力方面的性能,以及其他区域级方法。模型从预定义的提示列表中随机选择输入推理提示,并利用GPT-4 LLM框架来衡量模型生成的响应质量与输入引用的区域综合比较。使用指令生成管道,模型生成问题,并寻求GPT-4的答案,然后LLM评估语义的正确性和引用的理解的精度。以下表格展示了Osprey在详细区域描述任务中与最先进模型的性能比较。

区域级字幕

Osprey框架还在区域级字幕任务中优于当前方法,结果包含在以下图表中。

结论

在本文中,我们讨论了Osprey,一种掩码-文本指令训练方法,主要目标是通过在语言指令中加入细粒度掩码区域来扩展多模态大型语言模型的能力,以实现像素级视觉语言理解。为了实现这一目标,Osprey框架创建了一个包含超过700,000个样本的掩码-区域-文本数据集,并将像素级表示注入大型语言模型中,以设计一个视觉语言模型。Osprey框架旨在显著增强多模态大型语言模型的细粒度视觉理解能力,并通过实现基于CNN的CLIP模型和掩码感知视觉提取器,Osprey获得了理解图像中对象级和部分级区域的能力,并提供了详细的对象属性以及复杂场景的增强描述。

专业为工程师,心为作家。 Kunal是一名技术作家,对AI和ML有着深厚的热爱和理解,致力于通过其引人入胜和信息丰富的文档来简化这些领域中的复杂概念。