指代表达理解(
REC
)旨在在图像中定位由自由形式自然语言描述指定的目标对象。尽管最先进的方法取得了令人印象深刻的性能,但它们对图像进行了密集感知,包含与语言查询无关的多余视觉区域,导致额外的计算开销。这启发论文探讨一个问题:能否消除与语言无关的多余视觉区域,以提高模型的效率?现有的相关方法主要侧重于基本的视觉任务,在视觉语言领域的探索有限。为了解决这一问题,论文提出了一个称为ScanFormer
的粗到细的迭代感知框架。该框架逐层利用图像尺度金字塔,从上到下提取与语言相关的视觉图像块。在每次迭代中,通过设计的信息预测方法丢弃不相关的图像块。此外,论文提出了一个用于加速推断的被丢弃图像块的选择策略。在广泛使用的数据集RefCOCO
、RefCOCO
+、RefCOCOg
和ReferItGame
上的实验证明了该框架有效性,可以在准确性和效率之间取得平衡。来源:晓飞的算法工程笔记 公众号,转载请注明出处
论文: ScanFormer: Referring Expression Comprehension by Iteratively Scanning
Introduction
作为视觉语言理解中的基本任务,指代表达理解(REC
)依赖于自由形式的自然语言描述来识别所指对象。REC
的发展不仅可以支撑各种视觉语言任务,还有可能有助于实际应用,如人机交互。
在指代表达理解(REC
)中,与高度简洁和信息密集的语言查询形成对比的是,图像通常包含大量冗余信息。例如,如图1
所示,图像中存在大量与语言查询弱相关甚至不相关的冗余视觉区域,例如目标捕手周围的人物以及大面积的低信息背景区域。然而,最先进的方法采用密集感知形式来获取用于后续跨模态交互的视觉特征。这些方法使用诸如ResNet
、DarkNet
、Swin Transformer
等的视觉编码器,并使用滑动窗口或非重叠图像块遍历图像的所有空间位置以提取特征,如图1(a)
所示。尽管取得了令人印象深刻的性能,但密集感知的形式带来大量冗余信息,并增加了整个模型的计算开销。特别是在基于Transformer
的模型中,多头自注意力的计算复杂度是二次的。这引出一个研究问题:是否可能丢弃与语言无关的冗余视觉区域,以提升模型的效率?
值得注意的是,目前出现了一种探索消除冗余视觉特征的新趋势。典型的自下而上融合方法最初将图像分割成细粒度图像块,并逐渐在后续多个阶段中合并这些图像块以减少视觉标记。然而,初始标记的丰富性不可避免地导致了早期阶段的巨大计算成本,特别是在处理高分辨率图像时。此外,自上而下的粗到细方法从粗粒度分割开始,使用大的图像块尺寸,并逐渐减小图像块尺寸以获取细粒度的视觉标记。例如,DVT
级联多个Transformer
,并利用高置信预测来确定是否使用较小的图像块尺寸将整个图像划分为更细粒度的图像块。然而,这种方法通常会带来大量冗余的视觉区域,并增加计算开销。CF-ViT
引入了一个粗到细的两阶段视觉Transformer
,该模型在粗阶段识别信息丰富的图像块,并在第二阶段进一步将它们重新分割为更细的图像块。尽管在分类任务中表现出色,但基于类别注意力的启发式信息丰富区域识别限制了其扩展以及在没有[CLS
]标记的情况下的建模。此外,由于它是非可学习的,应用正则化来控制标记的稀疏性是具有挑战性的。因此,现有的高效Transformer
方法仍然存在局限性,并侧重于视觉任务,而忽视了对视觉语言领域的探索。
为了解决这个问题,论文提出了一种粗到细的迭代感知框架,称为ScanFormer
,如图1(b)
所示。具体而言,利用预构建的图像尺度金字塔,模型从金字塔顶部的粗粒度低分辨率图像开始进行视觉感知。通过预测下一次迭代中更细粒度图像块的信息量,模型自适应地消除冗余的视觉区域,最终达到金字塔底部的细粒度高分辨率图像。此外,通过将先前的标记保留在缓存中而不进行进一步的更新(KVCache
),从而减少计算资源。在每次迭代中提取的新标记,通过自注意力和交叉注意力分别与自身和缓存中包含的先前标记交互。在这个过程中,多尺度图像块分区使模型能够从不同空间位置聚合与尺度相关的信息。此外,论文提出了一种针对被丢弃图像块的图像块选择策略以加速推理。一个可学习的标记参与粗到细的迭代感知过程,并最终用于坐标回归,直接预测目标框。大量实验证明了ScanFormer
的有效性,在广泛使用的数据集上取得了最先进的方法,即RefCOCO
,RefCOCO
+,RefCOCOg
和ReferItGame
。
主要贡献可以总结如下:
-
提出了
ScanFormer
,这是一个粗到细的迭代感知框架,每次迭代逐渐丢弃与语言无关的冗余视觉区域,以增强模型的效率。 -
为了实现图像块选择,提出通过常数标记替换来选择标记,其中未被选中的标记将被常数标记替换,最终合并以真正加速处理。
-
广泛的实验证明了
ScanFormer
的有效性,与最先进的方法相比,在准确性和效率之间取得了平衡。
Method
Framework
ScanFormer
利用一种统一的类Transformer
结构,用于语言和视觉模态,如图2
所示。具体地,该框架由词嵌入、图像块嵌入、位置-尺度嵌入和编码器组成。词嵌入和图像块嵌入分别从文本和图像中提取特征。位置-尺度嵌入用于编码每个图像图像块的空间位置和尺度大小。编码器由N
个层组成,每个层包括一个多头注意力(MHA
)层和一个前馈网络(FFN
)。
此外,每个编码器层都配备有一个缓存来存储输出特征。MHA
的查询来自输入特征,而键和值由输入特征和先前缓存特征组成,如图3
所示。尺度上的因果性不仅减少了计算量,还利用了先前的语言和多尺度视觉信息来更新特征。
语言模态的输入首先由该框架进行编码,并提取的语言特征被存储在缓存中。随后,对于视觉模态,基于输入图像 I I I 构建了一个包含 S S S 个尺度的图像尺度金字塔。自顶向下,对于每次迭代,选择的图像块被提取并通过框架进行处理,中间特征用于生成下一个金字塔层中子图像块的选择。此外,每个编码器层的缓存存储每次迭代后获得的视觉特征。每次迭代中与[REG
]标记对应的特征用于预测对应尺度上指代对象的坐标。对于金字塔顶部的图像,选择所有图像块以确保模型捕获全局信息。随着尺度的增加,ScanFormer
融合了更精细的特征以实现准确的预测,同时丢弃不相关的图像块以节省大量计算资源。
具体而言,对于语言模态,指代文本 t ∈ R L × ∣ V ∣ t\in\mathbb{R}^{L\times|V|} t∈RL×∣V∣ 被嵌入到词嵌入矩阵 T ∈ R ∣ V ∣ × d T\in\mathbb{R}^{|V|\times d} T∈R∣V∣×d 中,前置[CLS
]嵌入 T c l s ∈ R d T^{cls}\in\mathbb{R}^d Tcls∈Rd ,然后与文本位置嵌入矩阵 T p o s ∈ R ( L + 1 ) × d T^{pos}\in\mathbb{R}^{(L+1)\times d} Tpos∈R(L+1)×d 和类型嵌入 T t y p e ∈ R d T^{type}\in\mathbb{R}^d Ttype∈Rd 相加。嵌入的语言特征首先被送入框架中,更新后的语言特征将存储在编码器每层的缓存中。对于视觉模态,在图像尺度金字塔的自顶向下,以第 i i i 层为例,首先从具有 ( P , P ) (P, P) (P,P) 分辨率和 C C C 通道的 N i N_i Ni 个选择的图像块被平铺为 v ∈ R N i × ( P 2 ⋅ C ) v\in\mathbb{R}^{N_i\times (P^2\cdot C)} v∈RNi×(P2⋅C) ,然后通过线性投影层投影到 E ∈ R N i × d E\in\mathbb{R}^{N_i \times d} E∈RNi×d 。之后,图像块特征与空间嵌入 E s p a t i a l ∈ R N i × d E^{spatial}\in\mathbb{R}^{N_i\times d} Espatial∈RNi×d