ANN:Asymmetric Non-local Neural Networks for Semantic Segmentation
code pytorch
原始的Non-local Block 結構圖
1.Abstract
標準non-local存在的問題:
作者提出了用于語義分割的非對稱非局部神經網絡,它具有兩個突出的組成部分:非對稱金字塔非局部塊(APNB:大大減少了計算量和內存消耗)和非對稱融合非局部塊(AFNB)。
2.Introduction
之前的研究表明:
如果充分利用遠程依賴關系,則可以提高性能。
對于標準的non-local 塊,只要key分支和value分支的輸出保持相同的大小,則非局部塊的輸出大小將保持不變。 考慮到這一點,如果我們只能從key分支和value分支中采樣幾個代表性的點,則有可能在不犧牲性能的情況下大大降低了時間復雜度。 所以將圖中的N改成S(S<<N)。
3.Asymmetric Non-local Neural Network
3.1 Revisiting Non-local Block
θ∈RC?×H×W和γ∈RC?×H×W
V∈RN×N
其中也由1×1卷積實現的Wo用作加權參數,原始輸入X,將通道尺寸從C?恢復到C。
3.2. Asymmetric Pyramid Non-local Block
非局部網絡有效地捕獲了對語義分段至關重要的遠程依賴關系。標準的非局部操作非常耗時且占用內存。顯然,大矩陣乘法是非局部塊效率低下的主要原因。
我們將N更改為另一個數字S(S << N),輸出大小將保持不變,即
將N更改為一個小數S等效于從θ和γ采樣幾個代表點,而不是選擇所有空間點,如圖1所示。因此,計算復雜性可以大大減少
具體描述:
我們在θ和γ之后添加采樣模塊Pθ和Pγ,以采樣幾個稀疏的錨點,分別表示為
θP∈RC?×S和γP∈RC?×S,其中S是采樣的錨點數。
計算φ與錨點θP之間的相似度矩陣VP:
注意,VP是大小為N×S的不對稱矩陣。然后,VP通過與標準非局部塊相同的歸一化函數,得到統一的相似矩陣。
attention輸出:
這種不對稱矩陣乘法會降低時間復雜度。但是,很難確保當S小時,性能不會同時下降太多。
為了解決上述問題,我們在非局部塊中嵌入金字塔池以增強全局表示,同時減少計算開銷。
通過這樣做,我們現在得出了不對稱金字塔非本地塊(APNB)的最終公式,如圖3所示。 一個重要的變化是在θ和γ之后分別添加一個空間金字塔池模塊以采樣錨。 在圖4中清楚地描述了該采樣過程,其中在θ或γ之后應用了幾個合并層,然后將四個合并結果展平并連接起來用作下一層的輸入。
我們將空間金字塔池化模塊表示為和,其中上標n表示池化層輸出大小的寬度(或高度)(經驗上,寬度等于高度)。 在我們的模型中,我們設置n?{1,3,6,8}。 那么錨點的總數是
空間金字塔池提供了有關全局場景語義線索的足夠的特征統計信息,以糾正由于減少的計算而導致的潛在性能下降。
3.3. Asymmetric Fusion Non-local Block
標準非局部塊僅具有一個輸入源,而FNB(Fusion Non-local Block)具有兩個輸入源:高級特征圖Xh∈RCh×Nh和低級特征圖Xl∈RCl×Nl。
同樣,使用1×1卷積和將Xh和Xl變換為
然后,通過矩陣相乘來計算φh與θl之間的相似度矩陣
然后對VF進行歸一化,得到統一的相似度矩陣
。
3.4. Network Architecture
ResNet-101作為我們的骨干網絡,刪除了最后兩個下采樣操作,并使用膨脹卷積來保存輸入圖像的最后兩個階段中的特征圖。我們使用AFNB融合了Stage4和Stage5的功能。 隨后將融合的特征與Stage5之后的特征圖關聯在一起,避免了AFNB無法產生準確的增強特征的情況。
總結
以上是生活随笔為你收集整理的ANN:Asymmetric Non-local Neural Networks for Semantic Segmentation的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一加8T可以升级鸿蒙吗,一加8T为什么值
- 下一篇: Android 原生 TabLayout