Pixel Aligned Language Models論文閱讀筆記

脂环發表於2024-08-01

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

相關文章