Transformer 在計算機視覺領域走到哪了?

編者按:Transformer 模型在自然語言處理(NLP)領域已然成爲一個新範式,如今越來越多的研究在嘗試將 Transformer 模型強大的建模能力應用到計算機視覺(CV)領域。那麼未來,Transformer 會不會如同在 NLP 領域的應用一樣革新 CV 領域?今後的研究思路又有哪些?微軟亞洲研究院多媒體搜索與挖掘組的研究員們基於 Vision Transformer 模型在圖像和視頻理解領域的最新工作,可能會帶給你一些新的理解。

端到端的視覺和語言跨模態預訓練模型

視覺 - 語言預訓練任務屬於圖像領域,其目標是利用大規模圖片和語言對應的數據集,通過設計預訓練任務學習更加魯棒且具有代表性的跨模態特徵,從而提高下游視覺 - 語言任務的性能。

現有的視覺 - 語言預訓練工作大都沿用傳統視覺 - 語言任務的視覺特徵表示,即基於目標檢測網絡離線抽取的區域視覺特徵,將研究重點放到了視覺 - 語言(vision-language,VL)的特徵融合以及預訓練上,卻忽略了視覺特徵的優化對於跨模態模型的重要性。這種傳統的視覺特徵對於 VL 任務的學習主要有兩點問題:

1)視覺特徵受限於原本視覺檢測任務的目標類別

2)忽略了非目標區域中對於上下文理解的重要信息

爲了在 VL 模型中優化視覺特徵,微軟亞洲研究院多媒體搜索與挖掘組的研究員們提出了一種端到端的 VL 預訓練網絡 SOHO,爲 VL 訓練模型提供了一條全新的探索路徑。 該工作的相關論文 “Seeing Out of tHe bOx: End-to-End Pre-training for Vision-Language Representation Learning” 已收錄於 CVPR 2021 Oral。

論文鏈接:https://arxiv.org/abs/2104.03135

GitHub 地址:https://github.com/researchmm/soho

SOHO 模型的主要思路是:將視覺編碼器整合到 VL 的訓練網絡中,依靠 VL 預訓練任務優化整個網絡,從而簡化訓練流程,緩解依賴人工標註數據的問題,同時使得視覺編碼器能夠在 VL 預訓練任務的指導下在線更新,提供更好的視覺表徵。

經驗證,SOHO 模型不僅降低了對人工標註數據的需求,而且在下游多個視覺 - 語言任務(包括視覺問答、圖片語言檢索、自然語言圖像推理等)的公平比較下,都取得了 SOTA 的成績。

圖 1:端到端的視覺語言預訓練網絡 SOHO

如圖 1 所示,SOHO 由三部分組成:1)基於卷積網絡的視覺編碼器(可在線更新);2)基於視覺字典(Visual Dictionary)的視覺嵌入層;3)由多層 Transformer 組成的 VL 融合網絡。三個部分 “各司其職”,卷積網絡負責將一張圖像表徵爲一組向量,然後利用視覺字典對圖像中相近的特徵向量進行表徵,最後利用 Transformer 組成的網絡將基於字典嵌入的視覺特徵與文本特徵融合到一起。

爲了優化整個網絡,研究員們利用 MVM、MLM(Masked Language Modeling) 以及 ITM(Image-Text Matching) 三個預訓練任務進行了模型訓練,並將得到的參數應用到了四個相關的 VL 下游任務上,均取得了較好的結果(如表格 1-4 所示)。

表格 1:SOHO 在 MSCOCO 數據集上與其他方法的 text retrieval(TR)和 image retrieval(IR)的性能比較

表格 2:SOHO 在 VQA 2.0 數據集上的 VQA 性能表現

表格 3:SOHO 在 NLVR2 數據集上的 Visual Reasoning 性能表現 

表格 4:SOHO 在 SNLI-VE 數據集上的 Visual Entailment 性能表現

最後,通過對視覺字典中部分 ID 對應的圖片內容進行可視化(如圖 2 所示),研究員們發現即使沒有強監督的視覺類別標註,SOHO 也可以將具有相似語義的視覺內容聚類到同一個字典項中。相對於使用基於目標檢測的視覺語言模型,SOHO 擺脫了圖片框的迴歸需求,推理時間(inference time)也加快了 10 倍,在真實場景應用中更加實際和便捷。

圖 2:Visual Dictionary 部分 ID 對應圖片內容的可視化 

基於紋理 Transformer 模型的圖像超分辯率技術

從古老的膠片照相機到今天的數碼時代,人類拍攝和保存了大量的圖片信息,但這些圖片不可避免地存在各種不同程度的瑕疵。將圖片變得更清晰、更鮮活,一直是計算機視覺領域的重要話題。針對於圖像超分辨率的問題,微軟亞洲研究院的研究員們創新性地將 Transformer 結構應用在了圖像生成領域,提出了一種基於紋理 Transformer 模型的圖像超分辯率方法 TTSR。

該模型可以有效地搜索與遷移高清的紋理信息,最大程度地利用參考圖像的信息,並可以正確地將高清紋理遷移到生成的超分辨率結果當中,從而解決了紋理模糊和紋理失真的問題。 該工作 “Learning Texture Transformer Network for Image Super-Resolution” 發表在 CVPR 2020。

論文鏈接:https://arxiv.org/pdf/2006.04139.pdf

GitHub 地址:https://github.com/researchmm/TTSR

與先前盲猜圖片細節的方法不同,研究員們通過引入一張高分辨率參考圖像來指引整個超分辨率過程。高分辨率參考圖像的引入,將圖像超分辨率問題由較爲困難的紋理恢復 / 生成轉化爲了相對簡單的紋理搜索與遷移,使得超分辨率結果在指標以及視覺效果上有了顯著的提升。如圖 3 所示,TTSR 模型包括:可學習的紋理提取器模塊(Learnable Texture Extractor)、相關性嵌入模塊(Relevance Embedding)、硬注意力模塊(Hard Attention)、軟注意力模塊(Soft Attention)。 

圖 3:紋理 Transformer 模型

傳統 Transformer 通過堆疊使得模型具有更強的表達能力,然而在圖像生成問題中,簡單的堆疊很難產生很好的效果。爲了進一步提升模型對參考圖像信息的提取和利用,研究員們提出了跨層級的特徵融合機制——將所提出的紋理 Transformer 應用於 x1、x2、x4 三個不同的層級,並將不同層級間的特徵通過上採樣或帶步長的卷積進行交叉融合。因此,不同粒度的參考圖像信息會滲透到不同的層級,使得網絡的特徵表達能力增強,提高生成圖像的質量。

圖 4:多個紋理 Transformer 跨層級堆疊模型 

研究員們在 CUFED5、Sun80、Urban100、Manga109 數據集上針對 TTSR 方法進行了量化比較,具體如表格 5 所示。圖 5 展示了 TTSR 與現有的方法在不同數據集上的視覺比較結果,可以發現 TTSR 顯著領先於其他方法的結果。

表格 5:TTSR 與現有方法在不同數據集上的量化比較結果

圖 5:TTSR 與現有方法在不同數據集上的視覺比較結果

瞭解更多 TTSR 細節,可點擊查看此前的文章:CVPR 2020 丨圖像超清化 + 老照片修復技術,拯救你所有的模糊、破損照片

Transformer“跨界” 視頻任務

相對於圖像的空間信息,視頻還增加了時序維度的信息。Transformer 可以很好地在空間 - 時序維度上進行建模,進而更好地學習圖像與特徵中的長距離依賴關係,有利於視頻相關任務的增強與提高。

**視頻修復:Transformer 初嘗試 **

視頻修復(video inpainting)是一個旨在通過視頻中已知內容來推斷並填補缺失內容的經典任務。它在老舊視頻恢復、去除水印等視頻編輯中有着廣泛應用。儘管視頻修復技術有很大的應用價值,然而在複雜變化的多個視頻幀中找到相關信息,並生成在圖像空間和時序上看起來和諧、一致的內容,仍然面臨着巨大的挑戰。

爲了解決這樣的問題,微軟亞洲研究院的研究員們利用並重新設計了 Transformer 結構,提出了 Spatial-Temporal Transformer Network (STTN)。 相關論文 “Learning Joint Spatial-Temporal Transformations for Video Inpainting” 發表在了 ECCV 2020。

論文鏈接:https://arxiv.org/abs/2007.10247

GitHub 地址:https://github.com/researchmm/STTN

STTN 模型的輸入是帶有缺失內容的視頻幀以及每一幀的掩碼,輸出則是對應的修復好的視頻幀。如圖 6 所示,STTN 模型的輸入是帶有缺失內容的視頻幀以及每一幀的掩碼,輸出則是對應的修復好的視頻幀。如圖 6 所示,STTN 模型採用了 CNN-Transformer 的混合結構。其中,frame-level encoder 以及 frame-level decoder 採用了 CNN,分別將每個視頻幀從像素編碼成特徵以及將特徵解碼成視頻幀。Transformer 則作爲模型的主幹,它將輸入的視頻幀特徵切成塊,並對塊的序列進行建模,再通過多層時空 Transformer 層挖掘輸入幀中的已知信息來推斷缺失內容。

圖 6: Spatial-Temporal Transformer Network (STTN) 模型結構示意圖

時空 Transformer 層繼承了經典 Transformer 層強大的注意力機制,能聚焦於與缺失內容相關的信息上,通過多層的堆疊不斷更新優化預測的內容。同時,不同於經典 Transformer 層中每個頭部的是模型採用了固定的塊大小,STTN 爲了捕捉到儘可能多的上下文信息,在不同的頭部上採用了不同大小的塊切取方式。因此,當缺失區域的特徵不夠豐富時,基於大的塊的注意力機制可以有效利用較多的已知信息;當缺失區域的特徵豐富之後,基於小的塊的注意力機制有助於模型聚焦更細微的變化。如圖 7 所示,通過可視化 STTN 最後一層 Transformer 的注意力圖,可以發現 STTN 爲了填補目標幀中狗身上的缺失區域,能夠 “精準追蹤” 到其他幀裏的信息,來修復缺失區域。 

圖 7:Attention map 的可視化(attention 的部分用黃色高亮)。儘管視頻裏狗由於奔跑,在不同的幀裏形態和位置差異較大,但爲了填補目標幀(target frame)中狗身上缺失的部分,STTN 可以 “精準追蹤” 到相關的幀裏這隻跑動的狗。 

除了 STTN 模型,該論文還提出了用動態和靜態兩種不同的視頻掩碼來模擬實際應用。動態掩碼指視頻每一幀的掩碼是連續變化的,用來模擬移除運動物體的應用;而靜態掩碼不會隨着視頻變化,用來模擬水印移除。論文通過在 DAVIS 和 Youtube-VOS 數據集上定性和定量的分析,驗證了 STTN 在視頻修復任務上的優越性。如視頻 1 所示,STTN 能夠生成視覺上更真實的修復結果。同時得益於 STTN 強大的並行建模能力,它也加快了運行速度(24.10 fps VS. 3.84 fps)。 

視頻詳情

視頻 1:左上爲輸入的視頻,其中黃色表示需要掩蓋並重新填補的區域。右下爲 STTN 的結果。 

目標跟蹤新範式:基於時空 Transformer

視頻目標跟蹤(Visual Object Tracking)是計算機視覺領域中的一項基礎且頗具挑戰性的任務。在過去幾年中,基於卷積神經網絡,目標跟蹤迎來了快速的發展。然而卷積神經網絡並不擅長建模圖像與特徵中的長距離依賴關係,同時現有的目標跟蹤器或是僅利用了空間信息,亦或是並未考慮到時間與空間之間的聯繫,造成跟蹤器在複雜場景下性能的下降。

如何解決以上問題?微軟亞洲研究院的研究員們提出了一種名爲 STARK 的基於時空 Transformer 的目標跟蹤器新範式,將目標跟蹤建模爲一種端到端的邊界框預測問題,從而徹底擺脫以往跟蹤器使用的超參敏感的後處理,該方法在多個短時與長時跟蹤數據集上都取得了當前最優的性能。

相關論文 “Learning Spatio-Temporal Transformer for Visual Tracking”

鏈接:https://arxiv.org/abs/2103.17154

GitHub 地址:https://github.com/researchmm/stark

STARK 包括 Spatial-Only 和 Spatio-Temporal 兩個版本,其中 Spatial-Only 版本僅使用空間信息,Spatio-Temporal 版本則同時利用了時間和空間信息。 

Spatial-Only 版本的框架圖如圖 8 所示。首先,第一幀的模板和當前幀的搜索區域會一同送入骨幹網絡提取視覺特徵,然後特徵圖沿空間維度展開並拼接,進而得到一個特徵序列。之後,Transformer 編碼器會建模序列元素之間的全局關聯,並利用學習到的全局信息來強化原始特徵,使得新的特徵序列對目標具有更強的判別力。受 DETR 的啓發,研究員們使用了一個解碼器以及一個目標查詢(Target Query)來對編碼器的輸出進行譯碼。目標查詢與前面提到的編碼器輸出的特徵序列進行交互,從而學習到和目標相關的重要信息。最後,編碼器輸出的特徵序列以及譯碼器輸出的新的目標查詢特徵再一同送入邊界框預測模塊,得到最終的邊界框座標。 

圖 8:Spatial-Only 版本的框架圖 

邊界框預測模塊的結構如圖 9 所示,首先從編碼器的輸出序列中取出搜索區域相關的特徵,用該特徵序列與譯碼器輸出的目標查詢特徵計算一次注意力機制,強化目標所在區域的特徵,削弱非目標區域的特徵。然後,經注意力機制強化後的搜索區域特徵序列的空間結構被還原,並通過簡單的全卷積網絡預測目標左上角和右下角一對角點 (corners) 的熱力圖,最終的角點座標則通過計算角點座標的數學期望得到。不同於之前的 Siamese 和 DCF 方法,該框架將目標跟蹤建模爲一個直接的邊界框預測問題,每一幀上都可直接預測一個邊界框座標,無需使用任何超參敏感的後處理。

圖 9:邊界框預測模塊的結構

Spatio-Temporal 版本的框架圖如圖 10 所示,粉色區域展示了爲了利用時序信息而新加入的結構。新框架額外加入了一個 “動態模板” 作爲新輸入。動態模板是根據中間幀跟蹤結果裁剪得到的,並隨着跟蹤的進行動態更新,爲整個框架補充了之前缺少的時序信息。利用第一幀模板、當前幀搜索區域、動態模板同時作爲 Transformer 編碼器的輸入,編碼器能夠從全局視角提取時空信息,學習到魯棒的時空聯合表示。除動態模板之外,研究員們還引入了由多層感知機實現的更新控制器來更新動態模板,它與邊界框預測頭並聯,以預測當前幀可靠程度的置信度分數。 

圖 10:Spatio-Temporal 版本框架圖 

STARK 在多個短時跟蹤與長時跟蹤數據集上都取得了目前最先進的性能,並且運行速度可達 30FPS 到 40FPS。其中,在 LaSOT, GOT-10K, TrackingNet 三個大規模目標跟蹤數據集上的結果如下所示。 

圖 11:LaSOT 數據集上的結果比較

表格 6:GOT-10K 數據集上的結果比較

表格 7:TrackingNet 數據集上的結果比較 

上述四個工作將 Transformer 結構成功地應用於圖像內容增強和視頻內容分析, 充分地展現了 Transformer 的優勢和潛力。目前研究員們已經看到,無論是在圖像分類、物體檢測與分割等基礎視覺任務上,還是在 3D 點雲分析、圖像視頻內容生成等新興課題中,Transformer 都大放異彩。未來,視覺 Transformer 結構的設計和自動化搜索將會是一個非常具有前景的研究課題。相信 Transformer 結構在計算機視覺領域會繼續展現其強大的模型潛力。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/eyVQ7VrkPQ_29xhPvNtVpg