擴張卷積在獲取高分辨率最終特徵圖中發揮重要作用,但它也有一些缺陷,比如增加了計算複雜度和內存佔用。近日,來自中科院自動化所以及深睿AI實驗室的研究人員提出一種新型聯合上採樣模塊 Joint Pyramid Upsampling(JPU),可在多種方法中替代擴張卷積,在不損失模型性能的情況下,有效降低計算複雜度和內存佔用。
語義分割是計算機視覺領域的基礎任務之一,其目的是為圖像的每個像素分配語義標籤。現代方法通常採用全卷積網絡(FCN)來解決這一任務,並在多個分割基準上獲得巨大成功。
原版 FCN 由 Long 等人 [22] 提出,它由用於圖像分類的卷積神經網絡(CNN)變換而來。原版 FCN 繼承了 CNN 用於圖像分類的設計,並通過步幅卷積(stride convolution)和/或空間池化層(spatial pooling layer)逐步對輸入圖像進行下采樣,最終得到低分辨率特徵圖。最終的特徵圖編碼了豐富的語義信息,卻丟失了精細的圖像結構信息,導致目標邊界預測不準確。如圖 1a 所示,原版 FCN 通常對輸入圖像進行 5 次下采樣,將最終特徵圖的空間分辨率降低 32 倍。
圖 1:不同類型的語義分割網絡。(a)原版 FCN,(b)編碼器-解碼器樣式的語義分割網絡,(c)利用擴張卷積得到高分辨率的最終特徵圖。
為了得到高分辨的最終特徵圖,[3, 28, 18, 30, 27] 將原版 FCN 作為編碼器來捕獲高級語義信息,而解碼器則通過結合來自編碼器的多級特徵圖來漸進地恢復空間信息。如圖 1b 所示,研究者將這種方法稱為 EncoderDecoder,其中解碼器生成的最終預測具有高分辨率。
此外,DeepLab [5] 從原版 FCN 中移除最後兩個下采樣操作,並引入擴張(空洞)卷積以保持感受野(receptive field)不變。緊隨 DeepLab,[38, 6, 36] 在最終特徵圖之上應用多尺度語境模塊(context module),其性能在多個分割基準上明顯優於大多數 EncoderDecoder 方法。如圖 1c 所示,DilatedFCN 的最終特徵圖的空間分辨率是原版 FCN 的四倍,因而保留了更多結構和位置信息。
擴張卷積在保持最終特徵圖的空間分辨率中發揮重要作用,使模型性能優於大多數 EncoderDecoder 方法。但是,引入的擴張卷積使計算複雜度和內存佔用均大大增加,從而限制了它在眾多實時應用中的使用。以 ResNet-101 [13] 為例,相較於原版 FCN,DilatedFCN 中的 23 個殘差塊(69 個卷積層)需要四倍的計算資源和內存,而 3 個殘差塊(9 個卷積層)需要 16 倍的資源。
在本文中,研究人員旨在解決擴張卷積造成的上述問題。為了實現這一目的,研究人員提出了一種新型聯合上採樣模塊(joint upsampling module)來替代耗時又耗內存的擴張卷積,即 Joint Pyramid Upsampling(JPU)。
因此,新方法將原版 FCN 作為主幹網絡,同時運用 JPU 對輸出步幅(OS)為 32 的低分辨率最終特徵圖執行上採樣,從而生成一個高分辨率特徵圖(OS=8)。因而,整個分割框架的計算時間和內存佔用大幅減少。與此同時,以 JPU 替代擴張卷積時,性能不會出現損失。研究人員將此歸因於 JPU 能夠利用跨多級特徵圖的多尺度語境。
為了驗證該方法的有效性,研究人員首先進行了系統性實驗,證明 JPU 可以取代多種流行方法中的擴張卷積,且不會引起性能損失。之後,研究人員在多個分割基準上對提出的方法進行測試。結果顯示,該方法可以實現當前最佳性能,並且運行速度提高了兩倍以上。
具體來說,該方法在 Pascal Context 數據集上的性能顯著優於所有基線,取得了 53.13% 的 mIoU 最佳性能。在 ADE20K 數據集上,該研究以 ResNet50 作為主幹網絡獲得了 42.75% 的 mIoU,在驗證集上創造了新紀錄。此外,該研究使用 ResNet-101 在 ADE20K 測試集上實現了當前最佳性能。
總之,該研究的貢獻有三:其一,提出了一種計算效率高的聯合上採樣模塊 JPU,以替代主幹網絡中耗時又耗內存時間和內存的擴張卷積;其二,基於 JPU,整個分割框架的計算時間和內存佔用可以減少 3 倍以上,同時獲得更好的性能;其三,提出的方法在 Pascal Context 數據集和 ADE20K 數據集上均實現最佳性能。
論文:FastFCN: Rethinking Dilated Convolution in the Backbone for Semantic Segmentation
論文鏈接:https://arxiv.org/pdf/1903.11816.pdf
現代語義分割方法通常會在主幹網絡中使用擴張卷積來提取高分辨率特徵圖,這帶來了極大的計算複雜度和內存佔用。為了取代耗時又耗內存的擴張卷積,本研究提出了新型聯合上採樣模塊 Joint Pyramid Upsampling (JPU)。JPU 將提取高分辨率特徵圖的任務轉換為聯合上採樣問題。
它在不影響性能的情況下,將計算複雜度降低了三倍多。實驗表明,JPU 優於其它上採樣模塊,它可用於很多現有方法來降低計算複雜度、提高性能。通過用 JPU 模塊替代擴張卷積,該方法在 Pascal Context 數據集(53.13% 的 mIoU)和 ADE20K 數據集(最終分數 0.5584)上都達到了當前最佳水平,同時運行速度快了兩倍。
方法
在這部分中,研究人員首先介紹了最流行的語義分割方法 DilatedFCN,然後用新型聯合上採樣模塊 JPU 改進 DilatedFCN 架構。最後,研究者先簡單介紹了聯合上採樣、擴張卷積和步幅卷積,再詳細討論了 JPU 方法。
圖 2:本文方法的框架概覽。該方法採用了原版 FCN 作為主幹網絡。在主幹之後,研究人員提出了新型上採樣模塊 JPU,該採樣模塊將最後三個特徵圖作為輸入並生成了高分辨率特徵圖。然後使用多尺度/全局上下文模塊來生成最終標籤圖。
實驗
表 1:以 ResNet-50 作為主幹網絡時,多種方法在 Pascal Context 驗證集上的性能。
圖 6:以 ResNet-50 作為主幹網絡且使用 Encoding Head 時,不同上採樣模塊的可視化結果對比。
表 2:計算複雜度對比。FPS 是以 512×512 的圖像作為輸入在 Titan-Xp GPU 上測量的,該結果是 100 次運行的平均值。
表 3:當前最佳方法在 Pascal Context 驗證集上的結果。
表 4:在 ADE20K 驗證集上的結果。
表 5:在 ADE20K 測試集上的結果。前兩項在 2017 年的 COCO-Place 挑戰賽中分別排名第一和第二。
圖 7:本文方法 (ResNet-101) 的可視化結果。第一行來自 Pascal Context 驗證集,第二行來自 ADE20K 驗證集。
閱讀更多 機器之心 的文章