DFANet: Deep Feature Aggregation for Real-Time Semantic Segmentation

擬解決問題:

  1. 隨著5G、移動互聯網等技術的告訴發展,在計算力受限的設備上進行實時語義分割任務成為了當前重要的需求。當面對高解析度的圖像輸入時,傳統的卷積網路很難再運算量與速度之間產生權衡,因此如何在不影響效果的前提下設計出具有較小運算量的分割模型成為了一個難題。
  2. 一些工作通過限制輸入圖像大小或修剪網路中的冗餘信道來提高推理速度,從而降低了計算複雜度。雖然這些方法似乎很有效,但它們很容易丟失邊界和小物體周圍的空間細節。此外,淺層的網路削弱了特徵辨別能力。
  3. 主流語義分割架構中,金字塔型特徵圖融合方法如空間金字塔池化能夠使用淺層的語義信息增強特徵,從而降低計算量,但是多數方法特徵圖的增強是在一個分支的輸出上,沒能充分利用之前的特徵

為瞭解決上述問題,作者提出了DFANet模型,由於深度可分離卷積

被證明是實時推理中最有效的操作之一,因此作者採用輕量級網路作為骨幹結構。

在介紹具體的模型之前,作者提出了傳統的機構總是從單路徑框架即一層層的向下抽取出最後的特徵映射,這種方法中往往會丟失上一層中的空間細節和語義信息,為了提高模型的學習能力並同時增加接受領域,作者才用了特徵重用的思想。作者設計的結構與傳統結構的對比如下:

其中c表示的是在網路級下的特徵重用方法,d表示的是在不同階段下的特徵重用方法,簡單來說就是在網路級下是講最後輸出的特徵信息傳入到下一個網路中,在階段級下是為了讓不同階段下產生維度相同的特徵信息進行融合,從而達到重用的效果。

接下來詳細介紹模型的工作原理,DFANet網路的模型示意圖如下:

為了追求更好的準確性,作者在骨幹的尾部添加了一個完全連接的注意模塊(也就是上圖中的fc attention),以保留最大的接收場。作者主要的目的是為了讓網路中不同深度的特徵進行融合,因此作者提出了兩種融合方式,1、sub-network Aggregation 2、sub-stage Aggregation

--1、sub-network Aggregation

由於模型中有三個骨幹網路,子網路聚合的意思就是將上個骨幹網路中得到的特徵進過上採樣後輸入到下一個骨幹網路中的過程。骨幹過程定義為,編碼器的輸出是編碼器的輸入,因此子網路聚合可以表示為:。

子網路聚合允許下面的網路再次處理這些高級特徵,以進一步評估和重新評估更高階的空間關係。其在模型圖中的表示如下圖:

--2、sub-stage Aggregation

子階段聚合側重於在多個網路之間融合語義和空間信息。由於隨著網路深度的增加,模型得到的特徵中逐漸丟失了原始的空間信息與語義信息,從而作者提出了子階段聚合網路。簡單的來說就是上一個骨幹網路中產生的特徵信息與下一個階段中該過程產生的特徵信息相融合,從而使得較深的網路中引入了可能已經丟失的空間信息與語義信息。

這個過程在模型圖中有很好的展示:

這樣的融合方式可以使較深的網路中引入上階段中的空間信息與語義信息。

解碼階段

最後進入解碼階段,在其解碼階段,作者提出了將高級特徵與低級特徵相融合的方法來進行。由於該模型中含有三個骨幹模型,解碼過程將每個骨幹模型得到的高級特徵進行相應的卷積操作,而對於三個相應的低級特徵也進行相應的卷積操作,最後對於低級特徵進行恆等方式的特徵抽取,最後將所有的高級特徵與重新提取後的低級特徵相加後得到最終的分割結果。

最後將融合後的特徵進行上採樣後得到了最終的分割結果。

其過程在是下圖中的部分。

Experience

本文採用的骨幹是Xception結構。作者在Cityscapes和CamVid兩個數據集上進行了實驗。

首先作者展示了其修改後的Xception結構,見下表:

下面作者比較了在使用或不使用ASPP的不同結構情況下,在Cityscapes val數據集上實驗結果。

下面作者在比較了自己模型在融合幾次下效果最好,也就是其編碼器中具有幾個骨幹網路,這個實驗室在Cityscape上進行的,結果如下:

下面作者在兩個數據集上與其他的輕量級網路進行了對比,其結果如下:


推薦閱讀:
相關文章