Loading

Pixel Aligned Language Models论文阅读笔记

Motivation & Abs

近年来,大语言模型在视觉方面取得了极大的进步,但其如何完成定位任务(如word grounding等)仍然不清楚。本文旨在设计一种模型能够将一系列点/边界框作为输入或者输出。当模型接受定位信息作为输入时,可以进行以定位为condition的captioning。当生成位置作为输出时,模型对LLM生成的每个输出单词的像素坐标进行回归,从而进行dense grounding。

Method

方法

截屏2024-08-01 15.30.45

模型输入为图片以及prompt(可选),如果不指定prompt,默认的prompt为(0, 0, H, W)的box。在captioning的过程中,模型除了输出句子外,还需要输出与句子等长的点序列,每个点对应句子中的一个token。与之前的方法不同,本文方法不强制模型忽略非视觉token。

对于视觉端,首先将图像送入image encoder以及将prompt送入prompt encoder,得到图像特征\(\textbf{f}\)以及提示特征\(\mathcal{P}(b)\),之后使用prompt feature extractor \(\mathcal{E}\)得到prompt feature:

\[\textbf{f}_l=\mathcal{E}(\textbf{f},\mathcal{P}(b)) \]

其中prompt feature extractor采用类似Q-Former的结构,通过可学习的query提取特征,整体作用类似ROIAlign。

在拿到location-specific的特征\(\textbf{f}_l\)后,我们可以将其送入语言模型在进行captioning,使用自回归的decoding方式:\(w_i=\mathcal{L}(\textbf{f}_l,\textbf{w}_{1:i-1})\)。语言模型的最后一个linear为vocabulary mapping layer,将语言空间的特征映射为词汇表的坐标:

\[w_i={\rm argmax}(\textbf{v}\cdot\mathcal{L}^-(\textbf{f}_l,\textbf{w}_{1:i-1})) \]

因此为了得到与语言模型输出类似的定位信息,作者在vocabulary mapping layer旁添加了一个并行的mlp层,将特征映射为2维定位输出:

\[p_i={\rm MLP}(\mathcal{L}^-(\textbf{f}_l,\textbf{w}_{1:i-1})) \]

额外添加的MLP并不会将梯度反传回语言模型,从而避免损害解码文本的能力。

训练

模型的训练在人类标注的captionlocation aligned数据集Localized Narrative上面进行。损失:

截屏2024-08-01 16.41.29

下游任务适配

截屏2024-08-01 16.51.43

截屏2024-08-01 16.52.07

Referring localization and segmentation:虽然可以通过轨迹获得边界框,但这是次优的,因为轨迹边界不是严格的实例边界。因此,作者使用相同的回归 MLP 层训练模型在 <EOS> 标记处输出准确的对象边界框:截屏2024-08-01 16.57.47

同时拿到边界框后,还能通过SAM进行分割。

其它下游任务可以参考原文。

实验

截屏2024-08-01 17.09.13

截屏2024-08-01 17.10.59

截屏2024-08-01 17.11.10
posted @ 2024-08-01 17:12  脂环  阅读(20)  评论(0编辑  收藏  举报