PVT:金字塔架構的視覺Transformer,助力稠密視覺任務的高效實現

2021-12-22 將門創投

收錄於話題 #技術乾貨 68個內容

來自南京大學香港大學等研究機構的研究人員提出了一種基於Transformer的無卷積主幹網絡架構,稱為金字塔視覺Transformer(Pyramid Vision Transformer,PVT),它克服了傳統Transformer所面臨的諸多困難,可以作為多功能的主幹模型服務於包括圖像級與像素級預測等多種形式的下遊任務。

更多詳情,請訪問論文原文和項目主頁:

論文連結:

https://arxiv.org/abs/2102.12122

代碼連結:

https://github.com/whai362/PVT

後臺回復【210315】可直接下載論文PDF~

近十年來,卷積神經網絡在計算機視覺領域取得了驚人的成就,同時也成為了幾乎所有計算機視覺任務的主幹網絡。但同時,科學家們還在嘗試著從多個角度探索無卷積的計算機視覺模型,以進一步提高模型的泛化性與適應性。


近四年來,Transformer模型在自然語言處理領域實現了巨大的突破,在此啟發下,視覺領域的研究人員也開始嘗試著利用Transformer解決視覺任務。研究人員將視覺任務視為一個可學習查詢的字典查找問題,或者利用Transformer解碼器在CNN主幹網絡的基礎上對特定任務進行處理。雖然有一系列工作將注意力機制集成到了CNN中,但根據目前的情況來看,關於用無卷積結構的Transformer來實現稠密圖像預測任務的研究還很缺乏。


最近,有研究人員探索了利用Transformer進行圖像分類的工作Vision Transformer(ViT),將模型的主幹結構替換為了無需卷積的操作,實現了有益的探索和嘗試。下圖顯示了幾種不同特徵抽取方式的細節和對比。


ViT使用柱狀結構將粗糙的圖像片元作為輸入,儘管ViT可以實現圖像分類,但卻難以實現像素級的稠密預測任務(包括目標檢測、圖像分割等),這主要是由於其輸出特徵圖僅僅只有單個尺度的低解析度,同時在通常大小的圖像上也需要異常龐大的計算開銷。

為了克服這些問題,本文提出了基於Transformer的無卷積主幹網絡架構,稱為金字塔視覺Transformer (Pyramid Vision Transformer,簡稱PVT),可以作為多功能的主幹模型服務於包括圖像級與像素級預測等多種形式的下遊任務。

具體來講,不同於ViT,PVT克服了傳統Transformer所面臨的困難:

通過細粒度的圖像片元作為輸入,來學習用於稠密預測任務的高解析度表達;

引入了漸進式的金字塔架構,隨著網絡深度加深,減小Transformer的序列長度,大幅度減小了計算開銷;

採樣空間簡約注意力層進一步縮減學習高分辨特徵圖的資源開銷。

總體來看,PVT架構可以帶來下列優勢:

首先,與傳統CNN主幹網絡相比(其感受野隨著網絡深度加深而擴大),PVT總是可以通過注意力機制對所有小圖像片實現全局感受野,比CNN的局域感受野更適合於目標檢測和分割等操作。

其次,與上圖的ViT相比,PVT先進的金字塔架構可以更為容易地插入其他稠密表示任務的流程中去(包括RetinaNet、Mask-RCNN等模型)。


此外,通過與其他Transformer解碼結合,PVT可以構建出適應於多種任務的架構,例如,PVT+DERT用於目標檢測,通過完全非卷積的模型實現高性能的目標檢測性能。

自注意力與視覺Transformer

由於卷積網絡的權重在訓練結束後就被固定下來,它對於動態變化的輸入缺乏靈活性。因此,許多方法通過自注意力機制來緩解這一問題。

其中,非局域模塊嘗試為長程時空依賴性建模,提升了視頻分類的精度;但非局域操作需要大量的內存開銷和計算資源;交錯(Criss-cross)方式僅僅通過交叉路徑生成稀疏注意力圖進一步減少了複雜性;而後獨立的自注意力機制利用局域自注意力單元代替了卷積層。AANet則通過自注意力與卷積的操作實現了優秀的結果。DETR使用Transformer解碼器來為目標檢測建模,將其視為可學習查詢的端到端字典查詢問題,成功地剔除了非極大值抑制等手工操作。在DETR的基礎上,其變種則引入了可變形注意力層聚焦與稀疏紋理元素,實現更為快速的收斂和更高的性能。

近年來,視覺Transformer(ViT)採用了純粹的Transformer模型,通過將圖像分類為一系列圖片元序列實現了圖像分類任務。DeiT模型通過使用先進的蒸餾方法進一步拓展了ViT。但是,與先前的研究任務不同,本文提出的方法將在Transformer中引入金字塔結構,並設計純粹的Transformer主幹網絡用於稠密視覺預測任務(稠密預測任務的目標在特徵圖的基礎上用於實現像素級的分類或回歸,其代表性任務是目標檢測和語義分割)。

金字塔視覺Transformer (PVT)

本研究的目標是將金字塔架構引入Transformer中,生成多尺度特徵圖用於稠密視覺預測任務。PVT的整體架構如下圖所示,其中有四層不同尺度的特徵圖,四層結構共享相同的架構,其中包含了嵌入層和Li層的Transformer編碼層。

本文提出PVT的整體架構,模型分為四個部分,每個部分由片元嵌入層和transformer編碼器構成;隨後是尺寸從1/4到1/32的金字塔結構。

在第一階段,H × W × 3的圖像將被分為4 × 4的片元送入模型以獲得高解析度的特徵圖。隨後將展平的圖像片元送入線性投射並獲取C1通道的嵌入特徵片元。然後,嵌入片元和位置嵌入一同送入L1層的Transformer編碼器中,輸出特徵圖F1,其尺寸為H/4 × W/4 × C1.在同樣的操作下,將前一階段得到的特徵圖送入後續階段得到F2、F3、F4特徵圖,最終得到不同層級的特徵金字塔{F1、F2、F3、F4},可以有效用於下遊的視覺任務。

特徵金字塔操作

CNN主幹網絡使用不同的卷積步長得到多尺度特徵圖,與CNN不同的是,本文提出的PVT方法採用漸進式的壓縮策略通過片層嵌入層來控制特徵圖尺度。第i層的片元尺寸為Pi,首先將前一層特徵圖分為多個Pi × Pi的片元,而後每個片元被展平並映射到Ci維嵌入上,最終得到了H/Pi × W/Pi × Ci大小的特徵圖,其尺寸都比輸入縮小了Pi倍。通過這樣的方式可以靈活地調整每一階段特徵圖的尺度,有效構建Transformer的特徵金字塔。

Transformer編碼器

針對第i階段的Transformer,其擁有Li個編碼層,每個編碼層由一個注意力層和前向傳播層構成。由於本文需要處理高解析度特徵,所以提出了一種空間縮減注意力層(spatial-reduction attention,SRA)來代替編碼器中傳統的多頭注意力層(multi-head attention,MHA)。

多頭注意力與空間減約注意力比較,其中SRA的計算與內存開銷比SRA要少,使其更適合於高解析度特徵圖的操作。

與MHA類似,SRA同樣也需要查詢Q,鍵K和V作為輸入,其輸出則是優化後的特徵。其不同在於SRA會在注意力操作前減小K和V的空間尺度,大幅度減小了計算和內存開銷。其表達式如下所示:

這部分的作用是將K與V的維度縮減,實現平方級數的計算量縮減,讓處理大尺度高解析度的特徵圖成為可能。為了儘可能比較模型的優劣,研究人員設計了Tiny、Small、Medium、Large等一系列PVT模型進行進一步研究。


對比討論

研究人員詳細對比了ViT和PVT的各方面優劣。它們都是純粹的不包含卷積的Transformer模型,其主要的不同在於PVT增加了金字塔架構。與傳統的Tranformer類型相比,ViT的輸出序列長度與輸出相同,這意味著ViT只具有一個特徵尺度。此外由於資源限制,ViT的輸出只能是粗粒度的低解析度結果(16,32像素的),難以將ViT直接應用於需要高解析度多尺度特徵圖的稠密預測任務上。


而PVT則可以通過漸進式的特徵圖縮減來對Transformer的結果進行路由,可以像傳統CNN一樣生成多尺度的特徵圖。此外,研究人員還設計了簡單並有效的注意力層SRA,用於高效處理高解析度特徵圖,減小計算量和內存的消耗。在這些設計的驅動下,本文提出的方法不僅可以實現更為靈活的多尺度特徵圖抽取,同時易於與其他已有模塊集成廣泛應用於不同的下遊任務,對於高解析度輸入具有更加友好的計算與存儲需求。

實驗結果

為了展示新模型的性能,研究人員將這一架構與ResNet和ResNeXt等CNN主幹網絡進行了比較,同時也分析了ViT和Dei等Transformer模型的性能,並在圖像分類、目標檢測和語義分割等任務上進行了具體的分析。

下表展示了PVT模型在相同參數和計算開銷的情況下實現達到了更好的性能。金字塔結構對於稠密預測任務提升很大,但對於圖像分類任務則提升有限。而ViT和DeiT則因為分類任務而定製,所以在稠密預測任務中表現並不好。

針對目標檢測任務,研究人員在coco數據集上對PVT架構進行了測試,在參數規模相似的情況下,PVT架構可以在目標檢測任務上取得優異的結構,這證明了PVT可以有效替代CNN結構。



同樣,在實例分割任務上,Mask R-CNN+PVT-Tiny架構比ask R-CNN+ResNet18高出3.9個點,甚至比ask R-CNN+ResNet50還高出0.7個點。Mask R-CNN+PVT-Large實現了最高40.7的mAP性能。


此外,在語義分割上,PVT架構也顯示出了強大的能力。FPN+PVT-Large在參數量小20%的情況下直接比FPN+ResNeXt101-64x4d高出了1.9mIo,證明它可以利用全局的注意力機制抽取比CNN更優異的特徵。


最後,研究人員還利用純粹的Transformer架構進行稠密視覺任務,包括目標檢測和分割任務。

From: 南京大學等研究機構;編譯:T.R

Illustration by Oleg Shcherba from Icons8

關於我「

將門是一家以專注於發掘、加速及投資技術驅動型創業公司的新型創投機構,旗下涵蓋將門創新服務將門技術社群以及將門創投基金

將門成立於2015年底,創始團隊由微軟創投在中國的創始團隊原班人馬構建而成,曾為微軟優選和深度孵化了126家創新的技術型創業公司。

如果您是技術領域的初創企業,不僅想獲得投資,還希望獲得一系列持續性、有價值的投後服務,歡迎發送或者推薦項目給我「門」: 

bp@thejiangmen.com

    

點擊右上角,把文章分享到朋友圈

微信:thejiangmen

bp@thejiangmen.com

相關焦點

  • 視覺Transformer綜述
    我們還簡要總結了自注意力機制和模型壓縮方法在高效transformer中的應用。多尺度特徵融合模塊(在現代檢測框架中稱為neck),例如特徵金字塔網絡(FPN),已廣泛用於目標檢測中,以實現更好的檢測性能。 張etc 建議傳統方法無法交互跨尺度特徵,因此提出了特徵金字塔transformer(FPT)來充分利用跨空間和尺度的特徵相互作用。
  • Transformer 在計算機視覺領域瘋狂「內卷」
    通過交替應用 attention 內部 patch 和 patchs 之間,實現 cross attention(交叉注意),以較低的計算成本保持性能,並為其他視覺任務建立一個稱為 Cross Attention Transformer(CAT)的層次網絡。
  • 視覺Transformer最新綜述
    這是通過一個線性層和一個 softmax 層來實現的。大多數用於計算機視覺任務的 Transformer 都使用原編碼器模塊。總之,它可以被視為一種不同於 CNN 和遞歸神經網絡 RNN 的新型特徵選擇器。與只關注局部特徵的 CNN 相比,transformer 能夠捕捉到長距離特徵,這意味著 transformer 可以很容易地獲得全局信息。
  • 計算機視覺中的transformer模型創新思路總結
    但對於視覺任務,輸入通常是2D圖像或視頻序列,其中像素具有高度空間結構。目前尚不清楚:從一維到二維的擴展是否適用於視覺模型;方向信息在視覺任務中是否重要?改進思路1.論文分析了相對位置編碼中的幾個關鍵因素,包括相對方向、上下文的重要性、query、key、value和相對位置嵌入之間的交互以及計算代價。
  • 視覺+Transformer最新論文出爐,華為聯合北大、雪梨大學發表
    作者 | CV君來源 | 我愛計算機視覺Transformer 技術最開始起源於自然語言處理領域,但今年5月份Facebook 的一篇文章將其應用於計算機視覺中的目標檢測(DETR算法,目前已有78次引用)使其大放異彩,並迅速得到CV研究社區的關注。
  • NLP攜手Transformer跨界計算機視覺,DETR:目標檢測新範式
    在計算機視覺領域,目標檢測發展迅速,出現了以 R-CNN、Faster R-CNN、Mask RCNN 為代表的 two-stage 網絡架構,以及以 YOLO、SSD 為代表的 one-stage 網絡架構。如果將在 NLP 領域表現超越的 Transformer 用於目標檢測,其效果又如何?
  • CVPR2021|PVT--無卷積密集預測的多功能backbone
    前言:卷積神經網絡(CNN)在計算機視覺領域取得了顯著的成功,幾乎成為所有計算機視覺任務中的一種通用和主導方法。 受transformer在自然語言處理(NLP)的成功,許多研究人員正試圖探索transformer的應用,一些工作模型視覺任務作為字典查找問題可學習查詢,並使用transformer decoder作為一個特定任務的頭的CNN主幹,如VGG和ResNet。而一些現有技術已經將注意力模塊納入到CNNs中。
  • 熱門的模型跨界,Transformer、GPT做CV任務一文大盤點
    《Feature Pyramid Transformer》:南理、南洋理工等聯合發表的論文,提出特徵金字塔 Transformer(FPT),用於視覺識別任務。論文連結:https://arxiv.org/pdf/2005.12872v1.pdf項目地址:https://github.com/facebookresearch/detr算法實現:處理目標檢測任務的全新架構DETR 通過將常見的 CNN 與 Transformer 架構相結合,直接(並行)預測最終的檢測結果。
  • NLP/CV模型跨界,視覺Transformer趕超CNN?
    Transformer 架構早已在自然語言處理任務中得到廣泛應用,但在計算機視覺領域中仍然受到限制。在計算機視覺領域,注意力要麼與卷積網絡結合使用,要麼用來代替卷積網絡的某些組件,同時保持其整體架構不變。
  • NLP/CV模型跨界進行到底,視覺Transformer要趕超CNN?
    Transformer 架構早已在自然語言處理任務中得到廣泛應用,但在計算機視覺領域中仍然受到限制。在計算機視覺領域,注意力要麼與卷積網絡結合使用,要麼用來代替卷積網絡的某些組件,同時保持其整體架構不變。
  • 全球最大人臉數據集;類Transformer模型跨界視覺任務新SOTA
    機器之心 & ArXiv Weekly Radiostation參與:杜偉、楚航、羅若天本周的重要論文包括格靈深瞳等機構開源的全球最大人臉數據集,以及類 Transformer 模型跨界在視覺任務上取得了新 SOTA。
  • 【源頭活水】IPT CVPR 2021 | 底層視覺預訓練Transformer | 華為開原始碼解讀
    地址:https://zhuanlan.zhihu.com/p/384972190來自華為諾亞方舟實驗室,北京大學以及雪梨大學的研究者們提出了一種底層視覺任務上的預訓練Transformer模型IPT,相比於傳統的卷積神經網絡,IPT模型在超解析度、去噪、去雨等多項任務上取得了SOTA表現,並取得了大幅提升。
  • 從金字塔模型的角度認識視覺感知
    背流通道----即周圍系統,它負責產生我們的空間方向感知、雙眼融合/深度感知,以及空間中物體的位置、運動、運動方向和速度,也稱為「where」通路。腹流通道----也就是中心系統,負責識別物體和顏色、閱讀文本、學習和記憶視覺物體的「what」通路。我們通過眼睛接收外界信息,而視覺感知是對於輸入的視覺信息的內在加工理解過程。
  • Pytorch實現28個視覺Transformer,開源庫 timm 了解一下!附代碼
    Transformer 架構早已在自然語言處理任務中得到廣泛應用,但在計算機視覺領域中仍然受到限制。在計算機視覺領域,目前已有大量工作表明模型對 CNN 的依賴不是必需的,當直接應用於圖像塊序列時,Transformer 也能很好地執行圖像分類任務。本文將簡要介紹了優秀的 PyTorch Image Model 庫:timm庫。
  • 計算機視覺學術速遞[10.11]
    和多層感知器(MLP)架構在各種視覺任務上取得了令人印象深刻的成果。一些人工研究的工作將這些操作員結合起來設計可視化網絡體系結構,並在一定程度上實現了令人滿意的性能。在本文中,我們建議聯合搜索卷積、Transformer和MLP的最佳組合,以構建一系列在視覺任務上具有高性能的全運營商網絡體系結構。我們根據經驗發現,當運營商組合成一個網絡時,廣泛使用的基於跨步卷積或池的下採樣模塊成為性能瓶頸。
  • Transformer在CV領域有可能替代CNN嗎?
    當然,對於分類任務來說,我們是希望網絡具備平移不變性的特點,而對於分割任務來說我們則更希望其具備平移等變性,不過這些都是後話,在這裡不展開闡述。因此,這便是CNN如何學習高效的學習出一組更合適的映射規則的關鍵。  雖然CNN具備如此多的優點,但不是一開始就一蹴而就,也並不是完美無瑕的。
  • 【源頭活水】基於視覺的在線地圖:一種Transformer網絡方法
    「問渠那得清如許,為有源頭活水來」,通過前沿領域知識的學習,從其他研究領域得到啟發,對研究問題的本質有更清晰的認識和理解,是自我提高的不竭源泉。為此,我們特別精地址:https://zhuanlan.zhihu.com/p/422992879arXiv在2021年10月3日上傳論文「Translating Images into Maps「,作者來自英國University of Surrey和德國亞馬遜分公司。瞬時地圖,將圖像轉換為俯視世界地圖,作為一個變換問題。
  • Vision Transformer:用於大規模圖像識別的 Transformer
    實現這一突破要歸功於兩個因素:使用商業 GPU 硬體為訓練提供了更強的計算能力。因此,自 2012 年起,CNN 就已成為視覺任務的首選模型。使用 CNN 的好處在於,它們無需手動設計的視覺特徵,而是直接從數據「端到端」執行學習任務。但是儘管 CNN架構本身專為圖像設計,無需手動提取特徵,但其對計算能力要求很高。
  • A Survey on Visual Transformer及引文理解
    Transformer 作為NLP領域的大殺器,目前已經在CV領域逐漸展露鋒芒,大有替代CNN的趨勢,在圖像分類,視頻處理,low/high level的視覺任務都有相應的transformer刷榜。這篇文章在介紹這些工作的同時,討論了他們的challenges和今後可能的研究方向。
  • 為什麼Transformer適合做多模態任務?
    有些任務transformer不見得是最優解吧!transformer敢拿出來在youtube8m上和nextvlad比比嗎?終究還是要看任務目標吧!首先,transformer這個結構最先提出是用在機器翻譯上的,它誕生之初就只是單一模態的模型。並且是經典的encoder decoder結構是設計來為sequence to sequence任務服務的。你很難看出他有什麼針對多模態的特殊設計。