GLIP - 统一物体检测与短语定位的语言

GLIP - 统一物体检测与短语定位的语言-图像预训练

在这里插入图片描述

简介

GLIP (Grounded Language-Image Pretraining) 是一个新颖的模型,通过将物体检测视为上下文化的短语定位任务,将物体检测和短语定位统一起来。这种方法实现了一个灵活的、开放词汇的物体检测框架,将图像中的区域与文本描述对齐。这种方法克服了传统物体检测系统的局限性,后者通常只训练于固定的物体类别集。

GLIP 的核心贡献在于将物体检测重构为短语定位、深度语言感知的视觉与文本信息融合,以及利用大量人类标注和自监督的图像-文本数据进行预训练。


GLIP 的关键特性

  1. 统一物体检测和短语定位(Unified Object Detection and Phrase Grounding)
    GLIP 将传统的物体检测重构为一个定位任务,使模型能够基于自由文本查询检测物体。这种重构使 GLIP 能够泛化到未见过的物体类别,而无需重新训练。

  2. 深度语言感知的融合 (Language-Aware Deep Fusion)
    GLIP 通过跨模态融合层深度整合视觉和文本信息。这种融合使模型能够同时学习语言感知和物体级别的表示,提升了短语定位和开放词汇检测等任务的表现。

  3. 大规模预训练(Large-Scale Pretraining)
    GLIP 在由 300 万人类标注的数据和 2400 万自动生成的图像-文本对上进行了预训练。通过在语义丰富的大规模数据集上进行预训练,GLIP 在零样本少样本学习场景中表现出色。


GLIP 的架构

在这里插入图片描述

GLIP 的架构由两部分组成:

  • 视觉编码器:通常为**Vision Transformer(ViT)**或 CNN 主干网络(如 Swin Transformer),用于从输入图像中提取视觉特征。视觉编码器输出物体或区域的特征。

  • 文本编码器:基于 BERT 的模块,用于处理文本查询(或短语),生成词嵌入。这些嵌入与视觉编码器提取的视觉特征对齐。

  • 词-区域对齐模块:该模块通过计算视觉嵌入和文本嵌入的点积,来计算词(或短语)和图像区域之间的对齐分数。对齐分数用于确定图像中的哪些区域对应于输入文本中的特定单词。


数学方法

物体检测作为短语定位

GLIP 将物体检测重构为一个定位任务。设:

  • ( x ):图像,
  • ( y ):定位框(区域),
  • ( t ):文本查询或短语,
  • ( \theta ):模型参数。

模型预测 ( P(y \mid x, t; \theta) ),即在给定图像 ( x ) 和短语 ( t ) 的情况下,边界框 ( y ) 的概率。这与传统物体检测不同,后者基于固定的类别集预测 ( P(y \mid x) )。

深度融合注意力机制

GLIP 采用了视觉和语言特征的深度融合。图像区域和文本标记之间的注意力机制可以表示为:

Attention ( F v , F t ) = softmax ( ( F v W q ) ( F t W k ) T d ) ( F t W v ) \text{Attention}(F_v, F_t) = \text{softmax}\left( \frac{(F_v W_q)(F_t W_k)^T}{\sqrt{d}} \right) (F_t W_v) Attention(Fv,Ft)=softmax(d (FvWq)(FtWk)T)(FtWv)

其中:

  • ( F_v ) 是视觉特征,
  • ( F_t ) 是文本特征,
  • ( W_q )、( W_k ) 和 ( W_v ) 是可学习的矩阵。

这种注意力机制帮助 GLIP 在细粒度层面上对齐视觉和文本特征。

在这里插入图片描述

深度融合过程:
  • 深度融合方法:在 GLIP 中,引入了图像编码器与语言编码器之间的深度融合。这种融合发生在最后几层编码器中,以便有效地合并图像和文本信息。

  • DyHead 模块:图像编码器使用 DyHead 模块来处理视觉特征,文本编码器则使用 BERT 进行文本特征编码。深度融合编码器的操作可通过以下数学公式进行总结:

    1. 跨模态多头注意力机制 (X-MHA)

    图像特征 ( O^i ) 和文本特征 ( P^i ) 首先通过跨模态多头注意力机制进行融合。公式为:

    O t 2 i i , P i 2 t i = X-MHA ( O i , P i ) , i ∈ { 0 , 1 , . . . , L − 1 } O^i_{t2i}, P^i_{i2t} = \text{X-MHA}(O^i, P^i), \quad i \in \{0, 1, ..., L-1\} Ot2ii,Pi2ti=X-MHA(Oi,Pi),i{0,1,...,L1}

    其中 ( O^i ) 表示第 ( i ) 层的图像特征,( P^i ) 表示第 ( i ) 层的文本特征,X-MHA 代表跨模态多头注意力机制。这个机制将视觉和语言特征在各自的上下文中进行注意力加权融合。

    1. DyHead 模块

    然后,图像特征通过 DyHead 模块进行更新。DyHead 模块专门处理视觉特征的融合。公式为:

    O i + 1 = DyHeadModule ( O i + O t 2 i i ) O^{i+1} = \text{DyHeadModule}(O^i + O^i_{t2i}) Oi+1=DyHeadModule(Oi+Ot2ii)

    其中,( O^{i+1} ) 表示 DyHead 模块更新后的图像特征,DyHead 模块负责生成最终的视觉特征。

    1. BERT 层

    文本特征通过新增的 BERT 层进行更新,更新后的文本特征通过以下公式计算:

    P i + 1 = BERTLayer ( P i + P i 2 t i ) P^{i+1} = \text{BERTLayer}(P^i + P^i_{i2t}) Pi+1=BERTLayer(Pi+Pi2ti)

    ( P^{i+1} ) 是 BERT 层更新后的文本特征,通过与视觉信息的融合更新。

跨模态的交互是通过跨模态多头注意力机制 (X-MHA) 实现的,随后通过单模态的 DyHead 模块(图像)和 BERT 层(文本)进行各自特征的更新。

跨模态多头注意力机制 (X-MHA) 的公式解释:

在跨模态多头注意力模块中,每个头通过关注另一模态中的特征来计算一个模态的上下文向量。具体公式如下:

O ( q ) = O W ( q , I ) , P ( q ) = P W ( q , L ) , Attn = O ( q ) ( P ( q ) ) ⊤ d O^{(q)} = O W^{(q,I)}, P^{(q)} = P W^{(q,L)}, \text{Attn} = \frac{O^{(q)} (P^{(q)})^\top}{\sqrt{d}} O(q)=OW(q,I),P(q)=PW(q,L),Attn=d O(q)(P(q))

其中 ( O^{(q)} ) 和 ( P^{(q)} ) 分别为视觉和文本特征的查询矩阵,( W^{(q,I)} ) 和 ( W^{(q,L)} ) 是学习到的权重矩阵,( d ) 是特征维度。

接下来,将上下文向量与对应模态的值矩阵相乘,以获得融合后的特征:

O t 2 i = SoftMax ( Attn ) P ( v ) W ( o u t , I ) O_{t2i} = \text{SoftMax}(\text{Attn}) P^{(v)} W^{(out,I)} Ot2i=SoftMax(Attn)P(v)W(out,I)
P i 2 t = SoftMax ( Attn ⊤ ) O ( v ) W ( o u t , L ) P_{i2t} = \text{SoftMax}(\text{Attn}^\top) O^{(v)} W^{(out,L)} Pi2t=SoftMax(Attn)O(v)W(out,L)

这里 ( W^{(out,I)} ) 和 ( W^{(out,L)} ) 是输出的线性投影矩阵,通过对注意力权重进行加权求和来生成更新的视觉和文本特征。


跨模态多头注意力机制 (X-MHA) 中,查询 (Query, Q)键 (Key, K)值 (Value, V) 的作用与传统的自注意力机制相似,但在这里,它们是跨越不同模态(图像和文本)的。以下是查询、键和值在该机制中的定义:

查询 (Q)、键 (K) 和值 (V) 的解释:

  1. 查询 (Query, Q)

    • 在该跨模态注意力机制中,图像特征文本特征可分别作为查询矩阵,取决于注意力的方向。
    • 对于文本关注图像的情况:
      • 图像特征 ( O^{(q)} = O W^{(q,I)} ) 作为查询矩阵 (Query),用于查找相关的文本信息。
    • 对于图像关注文本的情况:
      • 文本特征 ( P^{(q)} = P W^{(q,L)} ) 作为查询矩阵,用于查找相关的图像信息。
  2. 键 (Key, K)

    • 键 (Key) 是来自另一模态的特征,用于与查询矩阵进行匹配,以计算注意力分数。
    • 对于文本关注图像的情况:
      • 文本特征 ( P^{(q)} ) 作为注意力机制中的键矩阵 (Key)
    • 对于图像关注文本的情况:
      • 图像特征 ( O^{(q)} ) 作为键矩阵
  3. 值 (Value, V)

    • 值 (Value, V) 包含的是基于注意力分数聚合的实际信息,通常与查询和键不同,并最终转化为输出。
    • 对于文本关注图像的情况:
      • 值矩阵来自文本模态:( P^{(v)} = P W^{(v,L)} ),其中包含经过可学习权重矩阵转换的文本特征。
    • 对于图像关注文本的情况:
      • 值矩阵来自图像模态:( O^{(v)} = O W^{(v,I)} )。

公式中的关键点:

  • 查询 (Q) 是在积极查找另一模态中相关信息的特征矩阵。比如,在图像关注文本时,图像特征是查询矩阵 (Query)
  • 键 (K) 表示的是来自另一模态的特征,这些特征用于与查询进行匹配,以计算注意力分数。
  • 值 (V) 则包含来自另一模态的实际信息,注意力机制通过它来更新查询模态的特征。

核心要点:

跨模态注意力允许一个模态(图像或文本)关注另一模态中最相关的部分。这个注意力机制在诸如短语定位这样的任务中至关重要,在这种任务中,单词(作为查询)需要关注与之对应的图像区域(作为键和值),反之亦然。

这种方法的优势:
  1. 改进短语定位性能:视觉特征与文本特征的深度融合,有助于提升短语定位任务的表现。
  2. 语言感知的预测:模型的预测基于文本提示,赋予了学习到的视觉特征语言感知能力。

这种融合方法对于 GLIP 实现其目标至关重要,即通过统一的模型服务于物体检测和短语定位任务。


GLIP 的损失函数

GLIP 使用了一个统一的损失函数,结合了词-区域对齐边界框回归的损失。

1. 词-区域对齐损失

此损失将视觉特征(图像区域)与文本特征(单词/短语)对齐。目标是最大化正确对齐的图像区域和单词之间的相似性,同时最小化错误匹配对的相似性。对齐分数 ( S_{\text{ground}} ) 的计算公式为:

S ground = O ⋅ P ⊤ S_{\text{ground}} = O \cdot P^\top Sground=OP

其中:

  • ( O ) 表示区域/边界框特征,
  • ( P ) 表示来自文本编码器的词嵌入。

损失函数为:

L a l i g n = − log ⁡ P ( aligned ∣ x , t ) \mathcal{L}_{align} = -\log P(\text{aligned} \mid x, t) Lalign=logP(alignedx,t)

2. 边界框回归损失

为了确保准确的定位,GLIP 使用了边界框回归损失,该损失惩罚预测框和真实框之间的差异。损失函数为平滑 L1 损失:

L bbox = ∑ i = 1 N smooth L 1 ( y i pred , y i true ) \mathcal{L}_{\text{bbox}} = \sum_{i=1}^N \text{smooth}_{L1}(y_i^{\text{pred}}, y_i^{\text{true}}) Lbbox=i=1NsmoothL1(yipred,yitrue)

其中 ( y_i^{\text{pred}} ) 是预测的边界框,( y_i^{\text{true}} ) 是真实框。


GLIP 的应用

  1. 开放词汇物体检测
    GLIP 通过自由文本查询检测物体的能力使其非常适合开放词汇检测,在物体类别经常变化的应用场景中,如电商或自动驾驶中,表现优异。

  2. 视觉问答(VQA)
    GLIP 可以定位图像中的特定短语,使其在视觉问答任务中表现出色,尤其是在需要对图像区域进行细粒度理解的场景下。

  3. 图像描述生成与检索
    GLIP 的词-区域对齐能力使其在任务如图像描述生成图像-文本检索中极具价值,在这些任务中,准确定位物体或概念是至关重要的。


与 CLIP 和 BLIP 的比较

  • CLIP 专注于图像与文本之间的对比学习,擅长零样本分类和检索任务,但缺乏物体检测所需的细粒度定位能力。

  • BLIP 构建在对比学习的基础上,加入了图像描述生成和图像-文本匹配,但它并不专为物体检测任务设计。

  • GLIP 则专为物体检测和短语定位任务设计。它通过视觉和语言特征的深度融合,实现了开放词汇物体检测,在细粒度的检测和短语定位任务中表现更加出色。


结论

GLIP 通过将物体检测与短语定位统一,开创了视觉-语言预训练领域的重要进步。其基于自由文本查询检测物体的能力,加上大规模预训练,使其成为开放词汇物体检测到视觉问答等多种任务的强大工具。GLIP 的成功建立在其创新的深度融合机制和统一损失函数之上,使其在检测和定位任务中表现出色。

如需更详细地了解 GLIP 的架构、损失函数和性能,请参阅官方研究论文 链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值