1
動機在2分支結構的網絡中,2個分支基本保持着相對獨立的計算流程。「深網絡+低分辨率輸入」和「淺網絡+高分辨率輸入」的組合可以較好地控制計算開銷,以保證算法的實時性。以下圖所示:2個分支的淺層部分,實際上都是在提取淺層特徵,若能將2個分支的淺層部分合並在一塊兒,則能夠進一步減小計算量。基於此,做者提出了「learning to downsample」模塊,2個分支共用該模塊提取淺層特徵。並以learning to downsample模塊和2個分支爲基礎,構建實時性語義分割網絡Fast-SCNN。以下圖所示:
2
Fast-SCNN
2.1 整體結構
Fast-SCNN的整體結構以下圖所示:從上圖能夠看出,2個分支共享learning to downsample模塊,以進一步減小計算量。整個網絡由learning to downsample模塊、全局特徵提取器、特徵融合模塊和分類器4部分組成,下面分別介紹。
Fast-SCNN使用全局特徵提取器來提取全局特徵,此處的全局特徵提取器相似於傳統2分支結構中的深度分支。傳統的2分支結構中深度分支的輸入是低分辨率的輸入圖像,而Fast-SCNN中全局特徵提取器的輸入爲learning to downsample模塊的輸出feature map。能夠這麼理解:Fast-SCNN中的learning to downsample模塊代替了傳統2分支結構中深度分支的前幾個卷積層。使用MobileNet-v2中提出的bottleneck residual block構建全局特徵提取器,bottleneck residual block中的深度可分離卷積有利於減小全局特徵提取器的參數量和計算量。全局特徵提取器還包含pyramid pooling模塊(PPM),用於提取不一樣尺度的上下文特徵。關於PPM的相關內容可參考論文《Pyramid Scene Parsing Network》。
2.4 特徵融合模塊
特徵融合模塊用於融合2個分支的輸出特徵,Fast-SCNN使用了相對比較簡單的結構完成特徵融合,以最大限度地提升計算效率。特徵融合模塊的結構以下表所示:爲了使得2個分支的輸出特徵尺寸一致,須要對深度分支的特徵作上採樣操做,即上表中的「Upsample x X」操做。兩個分支的最後都有1個卷積核尺寸爲1x1的卷積操做用於調整通道數,將兩個卷積操做的輸出特徵相加,以後使用激活函數進行非線性變換。