CVPR2021 | SETR: 使用 Transformer 從序列到序列的角度重新思考語義分割

2021-12-19 CV技術指南

收錄於話題 #論文分享 72個內容

前言 本文介紹了一篇CVPR2021的語義分割論文,論文將語義分割視為序列到序列的預測任務,基於transformer作為編碼器,介紹了三種解碼器方式,選擇其中效果最好的解碼器方式與transformer編碼器組成了一個新的SOTA模型--SETR。

論文:Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers

代碼:https://fudan-zvg.github.io/SETR

創新思路

現有的語義分割模型基本都基於FCN,FCN是由編碼器和解碼器組成的架構。編碼器用於特徵表示學習,而解碼器用於對編碼器產生的特徵表示進行像素級分類。在這兩者中,特徵表示學習(即編碼器)可以說是最重要的模型組件。與大多數其他為圖像理解而設計的 CNN 一樣,編碼器由堆疊的卷積層組成。由於對計算成本的關注,特徵圖的解析度逐漸降低,因此編碼器能夠學習更多抽象/語義視覺概念,感受野逐漸增加。

然而,編碼器有一個基本限制,即學習遠程依賴信息對於無約束場景圖像中的語義分割至關重要,由於仍然有限的感受野而變得具有挑戰性

為了克服上述限制,最近引入了許多方法。一種方法是直接操縱卷積操作。這包括大內核大小、多孔卷積和圖像/特徵金字塔。另一種方法是將注意力模塊集成到 FCN 架構中。這樣的模塊旨在對特徵圖中所有像素的全局交互進行建模。當應用於語義分割時,一個常見的設計是將注意力模塊與 FCN 架構相結合,注意力層位於頂部。無論採用哪種方法,標準編碼器解碼器 FCN 模型架構都保持不變。最近,已經嘗試完全擺脫卷積並部署注意力模型。

最近,一些SOTA方法表明將 FCN 與注意力機制相結合是學習遠程上下文信息的更有效策略。這些方法將注意力學習限制在更小的輸入尺寸的更高層,因為它的複雜度是特徵張量的像素數的平方。這意味著缺乏對較低級別特徵張量的依賴學習,導致次優表示學習。

為了克服這個限制,論文旨在重新思考語義分割模型設計並貢獻一個替代方案,用純transformer代替基於堆疊卷積層的編碼器,逐漸降低空間解析度,從而產生一種新的分割模型,稱為 SEgmentation TRansformer (SETR)。這種單獨的transformer編碼器將輸入圖像視為由學習的補丁嵌入表示的圖像補丁序列,並使用全局自注意力模型轉換該序列以進行判別特徵表示學習。

 

MethodsSegmentation transformers (SETR)

首先將圖像分解為固定大小的補丁網格,形成補丁序列。將線性嵌入層應用於每個補丁的扁平像素向量,然後獲得一系列特徵嵌入向量作為transformer的輸入。給定從編碼器transformer學習的特徵,然後使用解碼器來恢復原始圖像解析度。至關重要的是,編碼器transformer的每一層都沒有空間解析度的下採樣,而是全局上下文建模,從而為語義分割問題提供了一個全新的視角。

Image to sequence

此處沒什麼創新,將圖像分成16塊,每塊通過flatten操作變成向量,向量的長度為HW/16,分塊的目的是為了縮小向量的長度,否則計算量太大。為了學習到像素之間的空間信息,將對每個像素進行位置編碼,再與向量相加。

transformer encoder

此處沒什麼創新,與原始transformer一樣,由multi-head self-attention (MSA) 和 Multilayer Perceptron(MLP) 塊組成。MSA與MLP是transformer的基本部分,此處對於MSA與MLP的介紹略過。重點介紹下面論文的創新部分。

 

Decoder designer

為了評估編碼器部分的特徵表示,論文設計了三種解碼器方式。在此之前需要將編碼器的輸出Z從向量reshape成H/16 x W/16 x C的形狀。

1. 原始上採樣 (Naive unsampling) 

解碼器將編碼器輸出的特徵映射到類別空間,做法是採用了一個簡單的 2 層網絡將通道數變為類別數量。其架構為:1 × 1 conv + 同步BatchNorm(w/ ReLU)+ 1 × 1 conv。之後,簡單地將輸出雙線性上採樣到完整的圖像解析度,然後是具有像素級交叉熵損失的分類層。當使用這個解碼器時,這種模型表示為 SETR-Naive。

2. Progressive UPsampling (PUP) 

論文考慮一種漸進式上採樣策略,而不是可能會引入嘈雜預測的一步上採樣策略,該策略交替使用 conv 層和上採樣操作。為了最大限度地減輕對抗效應,我們將上採樣限制為 2 倍。因此,總共需要 4 次操作才能從 H/ 16 × W /16 轉換到圖像原解析度。這個過程的更多細節在圖 1(b) 中給出。使用此解碼器時,將模型表示為 SETR-PUP。

3. Multi-Level feature Aggregation (MLA)

 第三種設計的特點是多級特徵聚合(圖 c)與特徵金字塔網絡類似。然而,我們的解碼器根本不同,因為每個 SETR 層的特徵表示 Zl共享相同的解析度,沒有金字塔形狀。

具體來說,我們將來自 M 層的特徵表示 {Zm} (m ∈ { Le /M , 2 Le/ M , · · · , M Le /M }) 作為輸入,這些特徵表示從 M 層均勻分布在具有步驟長為 Le /M 。然後部署 M 個流,每個流都專注於一個特定的選定層。

在每個流中,我們首先將編碼器的特徵 Zl 從 HW /256 × C 的 2D 形狀reshape為 3D 特徵圖 H/ 16 × W/ 16 × C。一個 3 層(kernel大小為 1 × 1、3 × 3 和 3  × 3) 網絡,第一層和第三層的特徵通道分別減半,第三層後通過雙線性操作將空間解析度提升4倍。

為了增強不同流之間的交互,我們在第一層之後通過逐元素添加引入了自上而下的聚合設計。在逐元素添加功能之後應用額外的 3 × 3 conv。在第三層之後,我們通過通道級連接從所有流中獲得融合特徵,然後將其雙線性上採樣 4 倍至全解析度。使用此解碼器時,將模型表示為 SETR-MLA。

 

Conclusion

三種解碼器方式之間的結果對比,結果表明SETR-PUP方式最好。

與其它SOTA模型的對比。SETR 在 ADE20K (50.28% mIoU)、Pascal Context (55.83% mIoU) 和 Cityscapes 上的競爭結果上取得了最新SOTA結果。特別是,在提交當天就在競爭激烈的ADE20K測試伺服器排行榜中獲得了第一名。

效果可視化

若文章對您有幫助的話,請點個讚或「 在看 」吧

關注CV技術指南,持續關注,持續學習

由於公眾號採用亂序推送,設置星標才能及時看到本公眾號更新的文章

相關焦點

  • 重新思考語義分割範式:SETR
    二、論文解讀2.1 動機自全卷積神經網絡(FCN)提出以來,現有的語義分割框架大都是基於編碼器-解碼器(Encoder-Decoder)範式,其中:編碼器用於壓縮原始輸入圖像的空間解析度並逐步地提取更加高級的抽象語義特徵;解碼器則用於將編碼器所提取到的高級特徵上採樣到原始輸入解析度以進行像素級的預測;上下文(context)信息是提升語義分割性能最關鍵的因素
  • 【源頭活水】基於視覺的在線地圖:一種Transformer網絡方法
    「問渠那得清如許,為有源頭活水來」,通過前沿領域知識的學習,從其他研究領域得到啟發,對研究問題的本質有更清晰的認識和理解,是自我提高的不竭源泉。為此,我們特別精
  • 這六大方法如何讓Transformer輕鬆應對高難度長文本序列?
    可以想像的到,稀疏 transformer 之所以起作用,部分原因是它學到的的注意力模式與實際學習的密集注意力模式並沒有什麼不同。在 Kevin Clark 等人發表的文章「What Does BERT Look At?
  • 視覺Transformer綜述
    ViT將一個純粹的transformer直接用於圖像塊序列,並在多個圖像識別基準上獲得SOTA性能。除了基本的圖像分類,transformer還用於解決更多計算機視覺問題,例如目標檢測,語義分割,圖像處理和視頻理解。由於其出色的性能,提出了越來越多基於transformer的模型來改善各種視覺任務。
  • 今日Paper | RevealNet;時間序列預測;無監督問答;實時語義立體...
    from=leiphonecolumn_paperreview0331推薦原因本文使用LSTM對時間序列數據進行預測,為了提高訓練的速度,使用了基於聚類的ABBA表徵方法,對數據集進行預處理轉換為符號的形式,並最終將符號進行數位化,以供LSTM網絡使用。
  • 今日Paper|RevealNet;時間序列預測;無監督問答;實時語義立體匹配等
    from=leiphonecolumn_paperreview0331推薦原因本文使用LSTM對時間序列數據進行預測,為了提高訓練的速度,使用了基於聚類的ABBA表徵方法,對數據集進行預處理轉換為符號的形式,並最終將符號進行數位化,以供LSTM網絡使用。
  • 【論文導讀】DLP-KDD2019|BST---使用Transformer進行序列推薦
    前言本次分享一篇使用Transformer作為用戶行為序列建模的CTR預估文章。論文較短,只有4頁,感興趣的同學可以閱讀下原文[1]。本文約1.7k字,預計閱讀10分鐘。為了解決上述模型缺陷,作者受Transformer的啟發---「可以通過自注意機制更好地捕捉句子中單詞之間的依賴關係」,使用Transformer來提取用戶行為序列中物品之間的「依賴關係」。
  • Funnel-Transformer:讓Transformer更高效地處理長序列
    由於Transformer的空間複雜度和時間複雜度是序列長度的平方級,所以,當序列很長的時候,模型的大小或FLOPs (Floating Point OPerations, 浮點運算量)就會變大,這不但會限制Transformer在一些任務上的應用(比如文檔級別的任務),還會降低訓練、微調的效率。
  • Transformer的七十二變
    該模型在使用中,針對序列的下遊任務使用衛星節點的輸出,而針對語言推理文本分類這種需要整個句子的任務則可以使用中心節點的輸出。作者的實驗中表明,該非直接的聯繫方式同樣能夠學習到長程聯繫,同時在一些任務上的也取得了比 Transformer 更好的表現。
  • CVPR2017精彩論文解讀:結合序列學習和交叉形態卷積的3D生物醫學...
    現在大多數的3D醫學圖像分割方法都只用了一個形態或把多個形態堆起來變成不同的通道,該工作中提出了一個包含交叉形態卷積層(cross-modality convolution layer)的深度編碼-解碼的網絡結構(deep encoder-decoder structure)來合併核磁共振的不同形態,還利用卷積LSTM來對2D切片序列建模,並且把多形態卷積和LSTM網絡結合在一起,做到端到端的學習。
  • CVPR2021|PVT--無卷積密集預測的多功能backbone
    點擊上方藍字,關注我們設置星標可優先看到本公眾號的文章
  • BERT4Rec:使用Bert進行序列推薦
    之前的算法使用序列神經網絡從左向右地編碼用戶的歷史交互信息為隱含表示,進而進行推薦,因此只利用了單向的信息進行建模。儘管它們是有效的,但由於存在以下限制,我們認為這種從左到右的單向模型是次優的:之前的序列神經網絡經常採用嚴格有序的序列,這並不總是可行的;為了解決這些限制,我們提出了一個稱為BERT4Rec的序列推薦模型,該模型採用深層的雙向自注意力來對用戶行為序列進行建模。
  • 計算機視覺中的transformer模型創新思路總結
    絕對方法將輸入tokens的絕對位置從1編碼到最大序列長度**。也就是說,每個位置都有單獨的編碼向量**。然後將編碼向量與輸入Tokens組合,以將位置信息輸入給模型。這些工作對相對位置編碼在模型中的有效性得出了不同的結論,這促使我們重新審視和反思相對位置編碼在Vision Transformer中的應用。另一方面,語言建模採用原始相對位置編碼,輸入數據為一維單詞序列。但對於視覺任務,輸入通常是2D圖像或視頻序列,其中像素具有高度空間結構。
  • 序列推薦模型梳理(Sequential Recommendation)
    ,它通過對用戶(user)行為序列,比如購買商品(item)的序列(sequence)來建模,學到user 興趣的變化,從而能夠對用戶下一個行為進行預測。序列推薦的模型,隨著整個CS research領域的發展,也是一直在不斷變化。從最開始的Markov chain,到後來的RNN,CNN模型,以及現在流行的transformer。每個時期的序列推薦模型,基本上也是對應著該時期用的比較多的NLP模型。本文梳理了序列推薦模型的發展變化,幫助大家理清楚序列推薦系統的設計思路。
  • 為什麼Transformer適合做多模態任務?
    然而self-attention的本質就是對每個token,計算這個token相對於這個句子其他所有token的特徵再concat到一起,無視長度,輸入有多長,特徵就提多遠那麼如果傳入的不是句子,而是普通一維序列(也就是一個數組)呢?
  • Transformer + self-attention
    【1, 3, 0, 5】,當然為了獲取詞在輸入序列中的位置信息,我們在後續的transformer中增加了對應詞的位置信息(positional encoding)內積(點乘)的幾何意義包括:表徵或計算兩個向量之間的夾角a向量在b向量方向上的投影兩向量相乘得一新的向量,即A
  • 【源頭活水】IPT CVPR 2021 | 底層視覺預訓練Transformer | 華為開原始碼解讀
    論文連結:https://openaccess.thecvf.com/content/CVPR2021/papers/Chen_Pre-Trained_Image_Processing_Transformer_CVPR_2021_paper.pdfhttps://github.com/huawei-noah/Pretrained-IPThttps
  • Transformer 在計算機視覺領域瘋狂「內卷」
    為了實現上述目標,作者將所提出模型對 Video Transformer 中使用的全時空注意力做了兩個 approximations:將時間注意力限制在一個局部的時間窗口,並利用Transformer 的深度來獲得視頻序列的全時間覆蓋;使用有效的時空混合來共同關注空間和時間位置,而不會在僅有的空間注意模型上引起任何額外的成本。
  • Transformer+self-attention超詳解(亦個人心得)
    【1, 3, 0, 5】,當然為了獲取詞在輸入序列中的位置信息,我們在後續的transformer中增加了對應詞的位置信息(positional encoding)內積(點乘)的幾何意義包括:表徵或計算兩個向量之間的夾角a向量在b向量方向上的投影兩向量相乘得一新的向量,即A
  • 視覺Transformer最新綜述
    然後,使用 softmax 層將 logits 向量轉換為概率。大多數用於計算機視覺任務的 Transformer 都使用原編碼器模塊。總之,它可以被視為一種不同於 CNN 和遞歸神經網絡 RNN 的新型特徵選擇器。與只關注局部特徵的 CNN 相比,transformer 能夠捕捉到長距離特徵,這意味著 transformer 可以很容易地獲得全局信息。