論文地址:

https://arxiv.org/abs/2002.10120

代碼地址:

https://github.com/donnyyou/torchcv

該論文提出了一種有效且快速的場景解析方法。通常,提高場景解析或語義分割性能的常用方法是 獲得具有強大語義表示的高分辨率特徵圖 。廣泛使用的有兩種策略:使用帶孔(空洞)卷積或特徵金字塔進行多尺度特徵的融合,但會有計算量大、穩定性的考驗。

受光流技術啓發,通常需要在相鄰視頻幀之間進行運動對齊,文章中提出了一種 流對齊模塊(FAM) ,以 學習相鄰層級特徵圖之間的語義流,並有效地將高層特徵傳播到高分辨率特徵當中並進行對齊。 此外,將FAM模塊集成到一個通用的金字塔結構中,使得即使在非常輕量的骨幹網絡(如 ResNet-18 )上,也比其他實時方法具有更高的性能。

實驗方面,在幾個具有挑戰性的數據集上進行了廣泛的實驗,包括Cityscapes,PASCALContext,ADE20K和CamVid。特別是,網絡在Cityscapes上達到 80.4%mIoU,幀速率爲26 FPS。

1. 簡介

場景解析或語義分割是一項基本的視覺任務,旨在對圖像中的每個像素進行正確分類。 語義分割具有兩大需求,即 高分辨率和高層語義, 而這兩個需求和卷積網絡設計是矛盾的。

卷積網絡從輸入到輸出,會經過多個下采樣層(一般爲5個,輸出原圖1/32的特徵圖),從而逐步擴大視野獲取高層語義特徵, 高層語義特徵靠近輸出端但分辨率低,高分率特徵靠近輸入端但語義層次低。 高層特徵和底層特徵都有各自的弱點,各自的分割問題如圖1所示,第二行高層特徵的分割結果保持了大的語義結構,但小結構丟失嚴重;第三行低層特徵的分割結果保留了豐富的細節,但語義類別預測的很差。

圖1:不同層特徵分割結果

FCN(全卷積網絡)由於使用了下采樣池和卷積層的堆疊,因此 缺少對性能至關重要的邊界細節信息 。爲了緩解這個問題,其他方法在其網絡的最後幾個階段應用 空洞卷積 來生成具有強語義表示的特徵圖,同時保持高分辨率。 但是,這樣做不可避免地需要進行大量的額外計算。

爲了不僅維護 詳細的分辨率信息 ,而且獲得表現出 強大語義表示的特徵 ,另一個方向是建立類似於 FPN 的模型,該模型 利用橫向路徑以自上而下的方式融合特徵圖 。這樣,最後幾層的深層特徵以高分辨率增強了淺層特徵,因此,經過細化的特徵有可能滿足上述兩個因素,並有利於精度的提高。然而,與那些在最後幾個階段持有粗大特徵圖的網絡相比,此類方法 仍會遇到精度問題

FPN(Feature Pyramid Network)

將深層信息上採樣,與淺層信息逐元素地相加,從而構建了尺寸不同的特徵金字塔結構, 性能優越,現已成爲目標檢測算法的一個標準組件。FPN的結構如下所示。

  • 自下而上:最左側爲普通的卷積網絡,默認使用ResNet結構,用作提取語義信息。C1代表了ResNet的前幾個卷積與池化層,而C2至C5分別爲不同的ResNet卷積組,這些卷積組包含了多個Bottleneck結構,組內的特徵圖大小相同,組間大小遞減。

  • 自上而下:首先對C5進行1×1卷積降低通道數得到P5,然後依次進行上採樣得到P4、P3和P2,目的是得到與C4、C3與C2長寬相同的特徵,以方便下一步進行逐元素相加。這裏 採用2倍最鄰近上採樣,即直接對臨近元素進行復制,而非線性插值。

  • 橫向連接(Lateral Connection):目的是爲了 將上採樣後的高語義特徵與淺層的定位細節特徵進行融合。 高語義特徵經過上採樣後,其長寬與對應的淺層特徵相同,而通道數固定爲256,因此需要對底層特徵C2至C4進行11卷積使得其通道數變爲256,然後兩者進行逐元素相加得到P4、P3與P2。 由於C1的特徵圖尺寸較大且語義信息不足,因此沒有把C1放到橫向連接中。

  • 卷積融合:在得到相加後的特徵後,利用3×3卷積對生成的P2至P4再進行融合,目的是 消除上採樣過程帶來的重疊效應,以生成最終的特徵圖。

FPN對於不同大小的RoI,使用不同的特徵圖,大尺度的RoI在深層的特徵圖上進行提取,如P5,小尺度的RoI在淺層的特徵圖上進行提取,如P2。

文中認爲, 精度較差的主要原因在於這些方法從較深層到較淺層的 無效語義傳遞 。爲了緩解這個問題,文中建議 學習具有不同分辨率的層之間的語義流 。語義流的靈感來自光流方法, 該方法用於在視頻處理任務中對齊相鄰幀之間的像素

在語義流的基礎上,針對場景解析領域,構造了一種新穎的網絡模塊,稱爲 流對齊模塊(FAM) 。它以相鄰級別的要素爲輸入,生成偏移場,然後 根據偏移場將粗略特徵矯正爲具有更高分辨率的精細特徵。 由於FAM通過非常簡單的操作 將語義信息從深層有效地傳輸到淺層, 因此在提高準確性和保持超高效率方面都顯示出了卓越的功效。而且,所提議的模塊是端到端可訓練的,並且 可以插入任何骨幹網絡以形成稱爲SFNet的新網絡

論文主要貢獻:

  • 提出了一種新穎的 基於流的對齊模塊(FAM) ,以學習相鄰級別的特徵圖之間的語義流,並有效地將高級特徵傳播到高分辨率的特徵。

  • 將FAM模塊插入特徵金字塔網絡(FPN)框架,並構建名爲 SFNet的特徵金字塔對齊網絡,以快速準確地進行場景解析。

  • 詳細的實驗和分析表明,提出的模塊在提高精度和保持輕量化方面均有效。在Cityscapes,Pascal Context,ADE20K和Camvid數據集上取得了最先進的結果。具體來說,網絡在 Cityscapes數據集上實現了80.4%的mIoU,同時在單個GTX 1080Ti GPU上實現了26 FPS的實時速度

2. 背景

對於場景解析,主要有兩種用於高分辨率語義圖預測的方法。一種方法是 將空間和語義信息都保留在主要路徑上, 而另一個方法 將空間和語義信息分佈到網絡中的不同部分,然後通過不同的策略將它們融合合併。

第一個方法主要基於 空洞卷積 ,它在網絡中保留了高分辨率的特徵圖。

第二個方法都 將特徵圖縮小到相當低的分辨率,並以很大的比例對它們進行升採樣, 這會導致結果變差,尤其是對於小物體和物體邊界。

3. 方法

之前的方法中主流的做法是,通過雙線性插值方法來進行上採樣,並且以自上而下的方式將高級特徵圖逐漸融合爲低級特徵圖,該方法最初是爲對象檢測提出的,最近用於場景解析或語義分割鄰域中。

雖然整個設計看起來像具有下采樣編碼器和上採樣解碼器的對稱性,但是一個重要的問題在於 通用和簡單的雙線性插值上採樣算法會破壞對稱性 。雙線性插值上採樣通過對一組統一採樣的位置進行插值來恢復下采樣特徵圖的分辨率(即,它只能處理一種固定的和預定義的未對準),而 由殘差連接導致的特徵圖之間的未對準要複雜得多 。因此, 需要明確建立特徵圖之間的對應關係以解決其真正的未對準問題。

光流對準模塊(FAM)

該任務在形式上 類似於通過光流對齊兩個視頻幀 ,在這基礎上設計了基於流的對齊模塊,並通過預測流場來對齊兩個相鄰級別的特徵圖。首先通過雙線性插值將Fl上採樣到與Fl-1相同的大小,然後 使用空間大小爲3×3的兩個核將它們連接在一起形成一個卷積層 ,並預測Flow Field。然後使用在空間中提出的 可微分雙線性插值機制來 線性插值點 pl周圍4個鄰居的值(左上,右上,左下和右下)。

網絡結構

整個網絡架構包含 自下而上的路徑作爲編碼器和自上而下的路徑 作爲解碼器, 通過 使用上下文建模模塊替換完全連接的層,編碼器具有與圖像分類相同的主幹,並且 解碼器配有FPN(特徵金字塔) FAM(光流對齊模塊)PPM(金字塔池化模塊)

  • backbone

通過刪除最後一個完全連接的層,選擇從ImageNet  預訓練 的用於圖像分類的標準網絡作爲我們的骨幹網絡。具體而言,在實驗中使用了ResNet系列,ShuffleNet v2 等。 所有主幹網絡具有四個帶有殘差塊的階段,並且每個階段在第一卷積層中都有stride=2以對特徵圖進行下采樣,以實現計算效率和更大的感受野

  • 上下文模塊

上下文模塊 在場景解析中 捕獲遠程上下文信息 起着重要的作用,在本文中採用了 金字塔池模塊(PPM)(源自PSPNet經典工作) 。由於PPM輸出的分辨率特徵圖與最後一個殘差模塊相同,因此將PPM和最後一個殘差模塊一起視爲FPN的最後一個階段。其他模塊,例如ASPP 也可以很容易地以類似的方式插入整個網絡的體系結構當中,“實驗”部分進行了驗證。

  • 具有對齊模塊的FPN(特徵金字塔)

編碼器得到特徵圖後送入解碼器階段,並將對齊的特徵金字塔用於最終場景解析語義分割任務。在FPN的自上而下的路徑中 用FAM替換正常的雙線性插值實現上採樣。

4. 實驗

Cityscapes數據集上的實驗

實現細節:使用PyTorch 框架進行以下實驗。所有網絡都在相同的設置下訓練,其中批量大小爲16的隨機梯度下降(SGD)被用作優化器,動量爲0.9,重量衰減爲5e-4。所有模型都經過50K迭代訓練,初始學習率爲0.01。數據擴充包含隨機水平翻轉,縮放範圍爲[0.75,2.0]的隨機大小調整以及裁剪大小爲1024×1024的隨機裁剪。

表1.以ResNet-18爲骨幹的基線方法的消融研究

幾乎可以改善所有類別,特別是 對於卡車而言,mIoU改善了19%以上 。下圖可視化了這兩種方法的預測誤差,其中 FAM極大地解決了大型物體(例如卡車)內部的歧義,併爲較小和較薄的物體(例如杆,牆的邊緣)產生了更精確的邊界。

表. Cityscapes測試集測試效果與最新實時模型的比較。爲了公平比較,還考慮了輸入大小,並且所有模型都使用單比例推斷。

表7. Cityscapes測試集測試效果與最新模型的比較。爲了獲得更高的準確性,所有模型都使用多尺度推斷。

更多實驗細節,可關注原文。

5. 總結

在本文中使用所提出的 流對齊模塊 ,高級特徵可以很好地流向具有高分辨率的低級特徵圖。 通過丟棄無用的卷積以減少計算開銷,並使用流對齊模塊來豐富低級特徵的語義表示,我們的網絡在語義分割精度和運行時間效率之間實現了最佳折衷 。在多個具有挑戰性的數據集上進行的實驗說明了我們方法的有效性。由於我們的網絡非常高效,並且具有與光流方法相同的思路來對齊不同的地圖(即不同視頻幀的特徵圖),因此它可以自然地擴展到視頻語義分割中,從而 在層次上和時間上對齊特徵圖 。此外,也可以將語義流的概念擴展到其他相關領域,例如全景分割等。

當然, 這裏面還要很多問題待探究,比如:

1、用於特徵對齊的最優網絡結構應該怎麼設計?目前是採用了 類似FlowNet-S的結構 ,FlowNet-C結構不適合於該任務,原因是高低層特徵之間不能像前後幀圖像對應層特徵之間算相似性。

2、 高低層特徵對不齊的原因是什麼?

3、能否在對不齊發生時就記錄下來,而不是事後補救(類似SegNet那種記錄Pooling Indices的方式)?

參考

1、目標檢測系列祕籍三:多尺度檢測

2、知乎文章:https://zhuanlan.zhihu.com/p/110667995

備註:分割

圖像分割交流羣

語義分割、實例分割、全景分割、摳圖等技術, 若已爲CV君其他賬號好友請直接私信。

我愛計算機視覺

微信號 : aicvml

QQ羣:805388940

微博/知乎:@我愛計算機視覺

投稿:[email protected]

網站:www.52cv.net

在看,讓更多人看到  

相關文章