浙大李璽團隊:指代表達理解新方法,ScanFormer粗到細迭代消除視覺冗餘
机器之心發表於2024-08-20
AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
該論文作者均來自於浙江大學李璽教授團隊,論文第一作者為博士生蘇偉同學,通訊作者為李璽教授(IET Fellow,國家傑青)。李璽教授團隊近年來在國際權威期刊(如 TPAMI、IJCV 等)和國際頂級學術會議(ICCV、CVPR、ECCV 等)上發表 180 餘篇 CV/AIGC 相關的研究工作,和國內外知名高校、科研機構廣泛開展合作。作為基礎的視覺語言任務,指代表達理解(referring expression comprehension, REC)根據自然語言描述來定點陣圖中被指代的目標。REC 模型通常由三部分組成:視覺編碼器、文字編碼器和跨模態互動,分別用於提取視覺特徵、文字特徵和跨模態特徵特徵互動與增強。目前的研究大多集中在設計高效的跨模態互動模組以提升任務精度,缺少對視覺編碼器探索。常見做法是利用在分類、檢測任務上預訓練的特徵提取器,如 ResNet、DarkNet、Swin Transformer 或 ViT 等。這些模型以滑動視窗或劃分 patch 的方式遍歷影像所有的空間位置來提取特徵,其計算複雜度會隨影像解析度快速增長,在基於 Transformer 的模型中更加明顯。由於影像的空間冗餘特性,影像中存在大量低資訊量的背景區域以及與指代表達無關的區域,以相同的方式在這些區域提取特徵會增加計算量但對有效特徵提取沒有任何幫助。更加高效的方式是提前預測影像區域的文字相關性和內容的豐富程度,對文字相關的前景區域充分提取特徵,對背景區域粗略提取特徵。對於區域預測,一個較為直觀的方式是透過影像金字塔來實現,在金字塔頂層的粗粒度影像中提前辨識背景區域,之後逐步加入高解析度的細粒度前景區域。基於以上分析,我們提出了 coarse-to-fine 的迭代感知框架 ScanFormer,在影像金字塔中逐層 scan,從低解析度的粗尺度影像開始,逐步過濾掉指代表達無關 / 背景區域來降低計算浪費,使模型更多地關注前景 / 任務相關區域。- 論文標題:ScanFormer: Referring Expression Comprehension by Iteratively Scanning
- 論文連結:https://arxiv.org/pdf/2406.18048
為簡化結構,我們採用統一文字和視覺模態的 ViLT [1] 模型,並將其沿深度維度分為 Encoder1 和 Encoder2 兩部分以用於不同的任務。首先,提取文字特徵並將其存入 KV Cache;然後構造影像金字塔並從金字塔頂層依次往下迭代,在每次迭代中,輸入當前尺度被選擇的 patch,Encoder1 用於預測每個 patch 對應的下一個尺度的細粒度 patch 的選擇情況,特別地,頂層影像的 patch 全部被選上,以保證模型能獲得粗粒度的全圖資訊。Encoder2 進一步提取特徵並基於當前尺度的 [cls] token 來預測該尺度的 bounding box。與此同時,Encoder1 和 Encoder2 的中間特徵會被存入 KV Cache 以方便被後續的尺度利用。隨著尺度的增加,細粒度特徵被引入,位置預測會更加準確,同時大部分無關的 patch 被丟棄以節省大量計算。此外,每個尺度內部的 patch 具有雙向注意力,同時會關注前序尺度所有的 patch 和文字特徵。這種尺度間的因果注意力可以進一步降低計算需求。
每個 patch 的選擇情況由前一尺度生成的選擇因子決定,對於應用的位置有兩種方案,其一是用於 Encoder 每層 MHSA 的所有 head 中,然而,對於 N 層 H 頭的 Encoder,很難獲得有效的的梯度資訊來更新,因此學到的選擇因子不太理想;其二是直接用於 Encoder 的輸入,即 patch embedding 上,由於只用在這一個位置,因此更容易學習,本文最終也採用了此方案。另外,需要注意的是,即使輸入 patch embedding 被置 0,由於 MHSA 和 FFN 的存在,該 patch 在後續層的特徵仍然會變為非 0 並影響其餘 patch 的特徵。幸運的是,當 token 序列中存在許多相同 token 時,可以簡化 MHSA 的計算,實現實際的推理加速。此外,為了增強模型的靈活性,本文並沒有直接將 patch embedding 置 0,而是將其替換為一個可學習的常量 token。因此,patch 的選擇問題被轉換成 patch 的替換問題。patch 選擇的過程可以分解為常量 token 替換和 token 合併兩步。未被選擇的 patch 會被替換為同一個常量 token。由於這些未被選擇的 token 是相同的,根據 scaled dot product attention 的計算方式,這些 token 可以被合併為一個 token 並乘上總數,等價於將加到維度上,因此點積注意力的計算方式不變,常見的加速方法依舊可用。本文方法在 RefCOCO、RefCOCO+、RefCOCOg 和 ReferItGame 四個資料集上取得了和 state-of-the-art 相近的效能。透過在大規模資料集上預訓練並在具體資料集上微調,模型的效能可以進一步大幅提升,並達到和預訓練模型如 MDETR [2] 和 OFA [3] 等相近的結果。在推理速度上,提出的方法達到了實時的推理速度,同時能保證較高的任務精度。此外,實驗部分也對模型的 patch 選擇情況以及每個尺度(scale1 和 scale2)定位精度的分佈做了統計。如左圖所示,隨著尺度的增加,細粒度的影像特徵被加入,模型精度逐步提升。因此可以嘗試加入早退機制,在定位精度滿足要求時及時退出,避免進一步在高解析度影像上計算,實現根據樣本自適應選擇合適的解析度的效果。本文也進行了一些初步的嘗試,包括加入 IoU、GIoU 和不確定性等預測分支,迴歸 early exit 的指標,但發現效果不太理想,如何設計合適且準確的 early exit 指標有待繼續探索。右圖展示了不同尺度的 patch 選擇情況,在所有的尺度上,被選擇的 patch 佔均比較小,大部分的 patch 都可以被剔除,因此可以有效地節省計算資源。對於每個樣本(影像 + 指代表達),實際選擇的 patch 數量相對較少,大概佔總數的 65%。最後,實驗部分展示了一些視覺化結果,隨著尺度的增加(紅→綠→藍),模型的定位精度逐步提高。另外,根據由被選擇的 patch 重建的影像,可以看出模型對於背景區域只關注了粗尺度的資訊,對於相關的前景區域,模型能夠關注細粒度的細節資訊。[1].Kim W, Son B, Kim I. Vilt: Vision-and-language transformer without convolution or region supervision [C]//International conference on machine learning. PMLR, 2021: 5583-5594.[2].Kamath A, Singh M, LeCun Y, et al. Mdetr-modulated detection for end-to-end multi-modal understanding [C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021: 1780-1790.[3].Wang P, Yang A, Men R, et al. Ofa: Unifying architectures, tasks, and modalities through a simple sequence-to-sequence learning framework [C]//International conference on machine learning. PMLR, 2022: 23318-23340.