結束了所有課程,繼續更新博客,爭取做到自我監督,更新論文筆記。
1 問題描述
在語義分割任務中, 識別上下文關系將有助於場景理解,同一類別之間的相關性(類內上下文)和不同類別之間的差異性(類間上下文)使特征表示具有更強的魯棒性,減少了可能類別的搜索空間。當前方法如金字塔(如圖b)、注意力機制(如圖e)等忽略了類間上下文的關系。因此,作者提出上下文優先層可以選擇性地捕獲類內和類間的上下文依賴關系,從而實現健壯的特征表示。
圖1 場景分割中的難分割圖(Hard examples)
論文的主要貢獻在於:
1)構造了一個上下文先驗層,並使用關聯丟失對嵌入在上下文先驗層中的Context Prior進行監督,以顯式捕獲類內和類間的上下文依賴關系。
2)設計了一個有效的上下文先驗網絡(CPNet)用於場景分割,其中包含一個骨干網絡和一個上下文先驗層。
3)模型在ADE20K驗證集上達到46.3%,在PASCAL Context驗證集上達到53.9%,在Cityscapes上達到81.3%,優於最先進的方法。
2內容介紹
先構造一個Context Prior Layer,包含一個由Affinity Loss監督生成的Context Prior Map和一個采用完全可分離的卷積的Aggregation Module,用來獲取空間信息以推理關系。
圖2 Context Prior Layer
Context Prior Layer包含一個聚合模塊和一個上下文由親和損失監督的先驗映射。將主干網絡提取的輸入特征通過聚合模塊聚合空間信息。然后在親和丟失的監督下生成一個點方向的上下文先驗映射。親和損失使用真值圖構造了一個理想的親和圖Ideal Affinity Map,該親和圖表示同一類別的像素,以監督上下文先驗圖的學習。根據上下文先驗圖,我們可以得到intra類內-先驗(P)和inter類間-先驗(1−P)。
將原始特征圖聚合為N×C1大小,其中N = H×w。我們對聚合后的帶有P和(1−P)的特征圖進行矩陣乘法,獲取類內和類間上下文。將類間、類內、原圖進行concat后上采樣得到預測圖。最后將上下文先驗層的表示輸入到最后的卷積層,以生成一個超像素預測。
2.1 Affinity Loss
引入親和損失。對於圖像中的每個像素,這種損失迫使網絡考慮相同類別的像素(類內上下文)和不同類別的像素(類間上下文)。
groudtruth中包含先驗信息,作者考慮使用groudtruth來學習上下文先驗。首先構建了一個理想親和映射用於監督:
圖3 理想親和映射的構建
具體做法:輸入圖片I的特征圖為X,首先將ground truth L向下采樣到與X相同大小,得到一個較小的ground truth ; 然后使用one-hot編碼得到一個矩陣 (H×W×C)大小,其中C為類數。接下來,將經過編碼的ground truth重塑為N×C大小,其中N = H×W。最后進行矩陣乘法得到A,A是我們所期望的理想親和映射N×N,對屬於同一類別的像素進行編碼。用來監督上下文先驗映射的學習。
親和損失定義為:
其中, 采用交叉熵損失,但它只考慮了先驗映射中孤立的像素,忽略了與其他像素的語義相關性。
然后作者考慮將類內像素和類間像素看作兩個整體分別編碼,設計了基於二元交叉熵損失的全局損失:
其中(2) (3)(4)分別表示p中第j行的類內預測值、召回率和靈敏度。
2.2 上下文先驗層
為了將先驗嵌入到網絡中,作者設計了包含親和力損失Affinity Loss的Context Prior Layer,直接監督前層的學習。可以理解為它將上下文先驗構造成一個二分類器,用於區分當前屬於同一類別的像素,而反向的先驗可以聚焦於不同類別的像素。它首先使用一個全卷積網絡來生成feature map和相應的prior map。對於feature map中的每個像素,prior map可以有選擇地突出屬於同一類別的其他像素來聚合類內上下文,而reverse prior用來聚合類間上下文。
具體做法:上下文先驗層輸入特征X(H×W×C0),采用聚合模塊使X變為 (H×W×C1),利用一個1×1卷積層,再加上一個BN層和一個Sigmoid函數來學習先驗映射P(H×W×H×W)。在親和損失的監督下,上下文先驗映射P可以編碼類內像素和類間像素之間的關系。類內由 給出,其中 被reshape為N×C1大小。最后將原始特征和兩種上下文連接起來,輸出最終的預測。通過這兩種上下文推斷出每個像素的語義相關性和場景結構。
2.3 Aggregation Module
Context Prior也需要空間信息來推理關系,設計了一個聚合模塊Aggregation Module,該模塊采用完全可分離的卷積(在空間維度和深度維度上都分離)有效聚合空間信息。為減少計算量,將K*K分為K*1后面接1*K卷積。
圖4 聚合模塊及其感受野
2.4 CPNet
為證明上下文先驗的有效性,作者設計了一個簡單的全卷積網絡,稱為Context Prior Network(CPNet)上下文先驗網絡。根據主干網絡的輸出特征, Context Prior Layer使用聚合模塊聚合空間信息以生成Context Prior Map。在Affinity Loss的監督下,Context Prior Map上下文先驗映射可以捕獲類內上下文和類間上下文,從而優化預測。
3. 實驗結果
3.1 在聚合模塊采用不同大小的卷積核
為了說明了上下文需要適當的局部空間信息來推理關系,而不是僅僅依賴較大的卷積核就可以獲取全局信息,作者設計了該實驗。
表1 不同卷積核下的實驗結果(mIoU)
1.3.2 可視化先驗圖
圖5 可視先驗圖
圖5中 (a) 只使用Aggregation模塊生成注意圖;(b) 在親和損失的監督下,上下文先驗層可以捕獲類內上下文和類間上下文;(c) 從ground truth構建理想的Affinity Map。
注:顏色越深,響應越高。
1.3.3 對比實驗
表2 模型在ADE20K(上)、 PASCAL-Context (下)驗證集進行定量評估